/* latin-ext */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHQEj6M7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHoEjw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHQEj6M7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHoEjw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHQEj6M7.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Familjen Grotesk';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(../fonts/familjen-grotesk-Qw3GZR9ZHiDnImG6-NEMQ41wby8WbHoEjw.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNIfJ7Cww.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNIfJ7Cww.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNIfJ7Cww.woff2) format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Public Sans';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(../fonts/public-sans-ijwRs572Xtc6ZYQws9YVwnNGfJ4.woff2) format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* shared technical base: no visual design lives here */
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
body{margin:0}
picture{display:contents}
[hidden]{display:none!important}
.v-mob{display:none}
@media (max-width:859.98px){.v-desk{display:none}.v-mob{display:block;overflow-x:clip}}
@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
.v main:focus{outline:none}
.skip{position:absolute;left:8px;top:-60px;z-index:1000;padding:10px 14px;background:#000;color:#fff;text-decoration:none}
.skip:focus{top:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
body.menu-open{overflow:hidden}
.demo-inline{box-sizing:border-box;max-width:100%;overflow-wrap:anywhere}

/* desktop composition */
.v-desk{margin:0;background:#FAF8F3}
.v-desk a{color:#1E3A2F}
.v-desk a:hover{color:#3D6B57}
.v-desk .wrap{max-width:1296px;margin:0 auto;padding:0 48px;box-sizing:border-box}
.v-desk .d{font-family:'Familjen Grotesk',sans-serif}
.v-desk .tag{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 13px/1 'Public Sans',sans-serif;color:#1E3A2F}
.v-desk .tag::before{content:"";width:10px;height:10px;border-radius:3px;background:#F5D547;box-shadow:inset 0 0 0 1.5px #1E3A2F}
.v-desk .h2{margin:0;font:700 52px/1.04 'Familjen Grotesk',sans-serif;letter-spacing:-.02em}
.v-desk .mk{background:linear-gradient(transparent 58%,#F5D547 58%,#F5D547 92%,transparent 92%);padding:0 .08em}
.v-desk .ph{position:relative;overflow:hidden;border-radius:16px;background:#E6E2D6}
.v-desk .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.v-desk .card{background:#FFFFFF;border:1px solid #E3DED1;border-radius:16px}
.v-desk .btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:54px;padding:0 26px;border-radius:12px;text-decoration:none;font:600 16px 'Public Sans',sans-serif;white-space:nowrap}
.v-desk .b-main{background:#1E3A2F;color:#FAF8F3}
.v-desk .b-main:hover{background:#3D6B57;color:#fff}
.v-desk .b-yel{background:#F5D547;color:#1E3A2F}
.v-desk .b-line{border:1.5px solid #1E3A2F;color:#1E3A2F}
.v-desk .chk{display:flex;gap:12px;align-items:flex-start}
.v-desk .chk::before{content:"✓";flex-shrink:0;width:20px;height:20px;margin-top:2px;border-radius:6px;background:#F5D547;color:#1E3A2F;font:700 13px/20px 'Public Sans',sans-serif;text-align:center}
.v-desk .g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.v-desk .g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.v-desk .g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.v-desk .split{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,6fr);gap:64px;align-items:center}
.v-desk .split-l{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:64px;align-items:start}
.v-desk details{border-bottom:1px solid #E3DED1;padding:20px 0}
.v-desk summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;font:600 21px/1.3 'Familjen Grotesk',sans-serif}
.v-desk summary::-webkit-details-marker{display:none}
.v-desk summary::after{content:"+";flex-shrink:0;width:32px;height:32px;border-radius:8px;background:#EFEBE0;display:flex;align-items:center;justify-content:center;font:500 20px 'Public Sans',sans-serif}
.v-desk details[open] summary::after{content:"–";background:#F5D547}
.v-desk .field{display:flex;flex-direction:column;gap:8px}
.v-desk .field label{font:600 14px 'Public Sans',sans-serif;color:#E9EFEA}
.v-desk .field input,.v-desk .field select{height:52px;border-radius:12px;border:1.5px solid #4C6E5F;background:#25463A;color:#FAF8F3;padding:0 16px;font:400 16px 'Public Sans',sans-serif;box-sizing:border-box}
.v-desk .nav a{text-decoration:none}
@media (max-width:860px){.v-desk .wrap{padding:0 20px}
.v-desk .g2,.v-desk .g3,.v-desk .g4,.v-desk .split,.v-desk .split-l{grid-template-columns:minmax(0,1fr);gap:32px}
.v-desk .nav{display:none}
.v-desk .h2{font-size:36px}}
/* mobile composition */
.v-mob{margin:0}
.v-mob a{color:#1E3A2F}
.v-mob .d{font-family:'Familjen Grotesk',sans-serif}
.v-mob .tag{display:inline-flex;align-items:center;gap:8px;margin:0;font:600 12px/1 'Public Sans',sans-serif;color:#1E3A2F}
.v-mob .tag::before{content:"";width:9px;height:9px;border-radius:3px;background:#F5D547;box-shadow:inset 0 0 0 1.5px #1E3A2F}
.v-mob .h2{margin:0;font:700 34px/1.05 'Familjen Grotesk',sans-serif;letter-spacing:-.02em}
.v-mob .mk{background:linear-gradient(transparent 58%,#F5D547 58%,#F5D547 92%,transparent 92%);padding:0 .06em;white-space:nowrap}
.v-mob .ph{position:relative;overflow:hidden;border-radius:14px;background:#E6E2D6}
.v-mob .ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.v-mob .card{background:#FFFFFF;border:1px solid #E3DED1;border-radius:14px}
.v-mob .btn{display:flex;align-items:center;justify-content:center;gap:10px;height:52px;padding:0 20px;border-radius:12px;text-decoration:none;font:600 16px 'Public Sans',sans-serif}
.v-mob .b-main{background:#1E3A2F;color:#FAF8F3}
.v-mob .b-yel{background:#F5D547;color:#1E3A2F}
.v-mob .b-line{border:1.5px solid #1E3A2F;color:#1E3A2F}
.v-mob .chk{display:flex;gap:10px;align-items:flex-start}
.v-mob .chk::before{content:"✓";flex-shrink:0;width:18px;height:18px;margin-top:2px;border-radius:5px;background:#F5D547;color:#1E3A2F;font:700 12px/18px 'Public Sans',sans-serif;text-align:center}
.v-mob details{border-bottom:1px solid #D8D2C3;padding:15px 0}
.v-mob summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;font:600 17px/1.3 'Familjen Grotesk',sans-serif}
.v-mob summary::-webkit-details-marker{display:none}
.v-mob summary::after{content:"+";flex-shrink:0;width:28px;height:28px;border-radius:7px;background:#E3DED1;display:flex;align-items:center;justify-content:center;font:500 18px 'Public Sans',sans-serif}
.v-mob details[open] summary::after{content:"–";background:#F5D547}
.v-mob .field{display:flex;flex-direction:column;gap:6px}
.v-mob .field label{font:600 13px 'Public Sans',sans-serif;color:#E9EFEA}
.v-mob .field input,.v-mob .field select{height:50px;border-radius:12px;border:1.5px solid #4C6E5F;background:#25463A;color:#FAF8F3;padding:0 14px;font:400 16px 'Public Sans',sans-serif;box-sizing:border-box;width:100%}
/* site */
/* Cuadra — site-specific additions */
.site-cuadra{background:#FAF8F3}
.site-cuadra :focus-visible{outline:2px solid #1E3A2F;outline-offset:3px;border-radius:4px}
.site-cuadra .skip{background:#F5D547;color:#1E3A2F;font:600 14px 'Public Sans',sans-serif;border-radius:12px}
.site-cuadra .v .btn{transition:background-color .15s}

.v-mob .mbar{position:fixed;left:0;right:0;bottom:0;z-index:50;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important}
.v-mob footer{padding-bottom:calc(110px + env(safe-area-inset-bottom))!important}

/* mobile menu: a tidy notebook page — card rows with yellow tick boxes */
.v-mob .mmenu{position:fixed;inset:0;z-index:100;background:#FAF8F3;color:#1E3A2F;display:flex;flex-direction:column;padding:0 20px calc(24px + env(safe-area-inset-bottom));overflow-y:auto}
.v-mob .mmenu-top{display:flex;justify-content:space-between;align-items:center;height:60px;border-bottom:1px solid #E3DED1;margin:0 -20px;padding:0 20px}
.v-mob .mmenu-brand{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:700}
.v-mob .mmenu-top button{width:44px;height:44px;border-radius:10px;border:1px solid #E3DED1;background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.v-mob .mmenu-tag{margin:28px 0 14px}
.v-mob .mmenu nav{display:flex;flex-direction:column;gap:10px}
.v-mob .mmenu nav a{display:flex;align-items:center;gap:14px;min-height:60px;padding:0 18px;background:#fff;border:1px solid #E3DED1;border-radius:14px;text-decoration:none;color:#1E3A2F;font:600 21px 'Familjen Grotesk',sans-serif}
.v-mob .mmenu nav a::before{content:"";width:18px;height:18px;flex-shrink:0;border-radius:5px;background:#F5D547;box-shadow:inset 0 0 0 1.5px #1E3A2F}
.v-mob .mmenu-cta{margin-top:auto;padding-top:0}
.v-mob .mmenu nav+.mmenu-cta{margin-top:28px}

.site-cuadra .demo-note{margin:0;padding:14px 16px;border-radius:12px;background:#FFF7D6;border:1px solid #EAD889;color:#1E3A2F;font:600 14px/1.45 'Public Sans',sans-serif}

/* narrow desktop (860–1180px): keep the header on one line */
@media (max-width:1180px){
  .v-desk header .nav{gap:20px!important}
  .v-desk header a{white-space:nowrap}
  .v-desk header a[href="./"]>span:not(:first-of-type){display:none}
}
@media (max-width:1100px){.v-desk header a[data-demo]{display:none}}

/* demo status note (in page flow, below the control used) */
.site-cuadra .demo-inline{margin:12px 0 0;padding:12px 16px;border-radius:12px;background:#FFF7D6;border:1px solid #EAD889;color:#1E3A2F;font:600 14px/1.45 'Public Sans',sans-serif}
