:root,[data-theme=light]{
--text-xs:clamp(.75rem,.7rem + .25vw,.875rem);--text-sm:clamp(.875rem,.8rem + .35vw,1rem);--text-base:clamp(1rem,.95rem + .25vw,1.125rem);--text-lg:clamp(1.125rem,1rem + .75vw,1.5rem);--text-xl:clamp(1.5rem,1.2rem + 1.25vw,2.25rem);--text-hero:clamp(2.25rem,1rem + 4.2vw,4.5rem);
--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;
--font-display:'Boska',Georgia,serif;--font-body:'Satoshi','Helvetica Neue',sans-serif;
--color-bg:#f5f3ec;--color-surface:#faf9f4;--color-surface-offset:#ebe8de;--color-border:#d8d4c6;--color-text:#1d2622;--color-text-muted:#5a625d;--color-text-inverse:#f7f5ee;
--color-primary:#1f4d43;--color-primary-hover:#163a32;--color-primary-highlight:#dbe5df;--color-error:#9b2c2c;--color-success:#2f6b3a;
--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;
--shadow-sm:0 1px 2px oklch(.2 .01 150/.06),0 4px 16px oklch(.2 .01 150/.04);--shadow-md:0 2px 4px oklch(.2 .01 150/.08),0 12px 32px oklch(.2 .01 150/.07);
--content:1120px;--narrow:680px}
[data-theme=dark]{--color-bg:#121816;--color-surface:#18201d;--color-surface-offset:#1f2926;--color-border:#2f3b37;--color-text:#e3e6e1;--color-text-muted:#9aa49e;--color-text-inverse:#121816;--color-primary:#7fb5a5;--color-primary-hover:#9ac8ba;--color-primary-highlight:#25332f;--color-error:#e08a8a;--color-success:#86c28f;--shadow-sm:0 1px 2px #0004;--shadow-md:0 8px 24px #0006}
.wrap{max-width:var(--content);margin-inline:auto;padding-inline:clamp(var(--space-4),4vw,var(--space-8))}
.narrow{max-width:var(--narrow);margin-inline:auto}
.skip{position:absolute;left:-999px;top:0;background:var(--color-primary);color:var(--color-text-inverse);padding:var(--space-2) var(--space-4);z-index:100}.skip:focus{left:var(--space-4);top:var(--space-4)}
header.site{border-bottom:1px solid var(--color-border);background:var(--color-bg)}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);min-height:4rem}
.brand{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--color-text);font-family:var(--font-display);font-weight:700;font-size:var(--text-lg)}
nav.main{display:flex;align-items:center;gap:var(--space-6);font-size:var(--text-sm)}
nav.main a{color:var(--color-text-muted);text-decoration:none;padding:var(--space-3) 0}nav.main a:hover,nav.main a[aria-current]{color:var(--color-text)}
.theme{width:44px;height:44px;display:grid;place-items:center;border-radius:var(--radius-md);color:var(--color-text-muted)}.theme:hover{background:var(--color-surface-offset)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:48px;padding:var(--space-3) var(--space-6);background:var(--color-primary);color:var(--color-text-inverse);font-weight:600;font-size:var(--text-sm);text-decoration:none;border-radius:var(--radius-md)}
.btn:hover{background:var(--color-primary-hover)}.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border)}.btn.ghost:hover{background:var(--color-surface-offset)}
h1.hero{font-family:var(--font-display);font-size:var(--text-hero);font-weight:700;letter-spacing:-.02em}
h1.page{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700}
h2.sec{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;margin-bottom:var(--space-4)}
h3{font-size:var(--text-lg);font-weight:700;margin-bottom:var(--space-2)}
.lede{font-size:var(--text-lg);color:var(--color-text-muted);margin-top:var(--space-5)}
.muted{color:var(--color-text-muted)}.small{font-size:var(--text-sm)}
.hero-sec{padding-block:clamp(var(--space-12),9vw,var(--space-24)) clamp(var(--space-10),6vw,var(--space-16))}
.paths{display:grid;grid-template-columns:1.25fr 1fr;gap:var(--space-5);margin-top:var(--space-10)}
.path{display:flex;flex-direction:column;gap:var(--space-3);padding:clamp(var(--space-5),3vw,var(--space-8));background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}
.path p{color:var(--color-text-muted)}.path .btn{align-self:flex-start;margin-top:auto}
.sec-pad{padding-block:clamp(var(--space-10),6vw,var(--space-20))}.alt{background:var(--color-surface-offset)}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-8);counter-reset:s;list-style:none}
.steps li{counter-increment:s;max-width:none}.steps li::before{content:counter(s,decimal-leading-zero);display:block;font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-primary);margin-bottom:var(--space-2)}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(var(--space-6),5vw,var(--space-16))}
.list{list-style:none;display:grid;gap:var(--space-3)}.list li{padding-left:var(--space-6);position:relative}.list li::before{content:"";position:absolute;left:0;top:.7em;width:10px;height:2px;background:var(--color-primary)}
.svc{display:grid;gap:var(--space-5)}.svc div{padding-bottom:var(--space-5);border-bottom:1px solid var(--color-border)}.svc div:last-child{border:0}
.notice{padding:var(--space-4) var(--space-5);background:var(--color-primary-highlight);border-radius:var(--radius-md);font-size:var(--text-sm)}
footer.site{border-top:1px solid var(--color-border);padding-block:var(--space-8);font-size:var(--text-xs);color:var(--color-text-muted)}footer.site p{max-width:90ch;margin-bottom:var(--space-2)}footer.site a{color:inherit}
/* questionnaire */
.qwrap{padding-block:clamp(var(--space-8),5vw,var(--space-16))}
.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:clamp(var(--space-5),4vw,var(--space-10))}
.progress{height:4px;background:var(--color-surface-offset);border-radius:99px;overflow:hidden;margin-bottom:var(--space-2)}.progress i{display:block;height:100%;background:var(--color-primary);transition:width 300ms cubic-bezier(.16,1,.3,1)}
.pmeta{font-size:var(--text-xs);color:var(--color-text-muted);margin-bottom:var(--space-6)}
fieldset{border:0}legend{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;line-height:1.2;margin-bottom:var(--space-2)}
.hint{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-5)}
.opts{display:grid;gap:var(--space-3)}
.opt{display:flex;gap:var(--space-3);align-items:flex-start;min-height:52px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;background:var(--color-bg)}
.opt:hover{border-color:var(--color-primary)}.opt:has(input:checked){border-color:var(--color-primary);background:var(--color-primary-highlight)}
.opt input{margin-top:.3em;accent-color:var(--color-primary);width:18px;height:18px;flex:none}
.opt span{font-size:var(--text-base)}.opt small{display:block;color:var(--color-text-muted);font-size:var(--text-sm)}
.nav{display:flex;justify-content:space-between;gap:var(--space-3);margin-top:var(--space-8)}
.nav .btn[disabled]{opacity:.45;cursor:not-allowed}
.warn{margin-bottom:var(--space-6)}
.field{display:grid;gap:var(--space-2);margin-bottom:var(--space-4)}.field label{font-weight:600;font-size:var(--text-sm)}
.field input[type=text],.field input[type=email],.field input[type=date],.field textarea{min-height:48px;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);width:100%}
.field textarea{min-height:110px}
.err{color:var(--color-error);font-size:var(--text-sm)}
.check{display:flex;gap:var(--space-3);align-items:flex-start;font-size:var(--text-sm);margin:var(--space-4) 0}.check input{margin-top:.25em;width:18px;height:18px;accent-color:var(--color-primary);flex:none}
.rec{padding:var(--space-5);border:1px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-highlight);margin:var(--space-5) 0}.rec h3{font-family:var(--font-display);font-size:var(--text-lg)}
.rec ul{margin-top:var(--space-3);padding-left:var(--space-5);display:grid;gap:var(--space-1)}
.hp{position:absolute;left:-9999px;opacity:0;height:0;overflow:hidden}
.previewbar{background:var(--color-surface-offset);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);text-align:center;padding:var(--space-2) var(--space-4)}
@media(max-width:820px){.paths,.cols,.steps{grid-template-columns:1fr}nav.main a.hide-sm{display:none}nav.main{gap:var(--space-3)}}
main a:not(.btn){color:var(--color-primary)}
main a:not(.btn):hover{color:var(--color-primary-hover)}
.brand svg{flex:none}nav.main a{white-space:nowrap}
.short{display:none}
@media(max-width:560px){.long{display:none}.short{display:inline}.brand span{font-size:var(--text-base)}}

/* v2 additions */
.hd-cta{min-height:40px;padding:var(--space-2) var(--space-4)}
.trust{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-6);list-style:none}
.trust li{max-width:none;padding-top:var(--space-4);border-top:2px solid var(--color-primary)}
.trust strong{display:block;font-family:var(--font-display);font-size:var(--text-lg);margin-bottom:var(--space-1)}
.svc3{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}
.svc3>div{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3)}
.svc3>div.flag{border-color:var(--color-primary);box-shadow:var(--shadow-md)}
.svc3 .tag{font-size:var(--text-xs);font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-primary)}
.svc3 p{max-width:none}.svc3 ul{padding-left:var(--space-5);display:grid;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-muted)}
.answer{font-size:var(--text-lg);max-width:68ch}
.faq details{border-bottom:1px solid var(--color-border);padding-block:var(--space-4)}
.faq summary{cursor:pointer;font-weight:700;font-size:var(--text-base);list-style:none;display:flex;justify-content:space-between;gap:var(--space-4);align-items:center;min-height:44px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";font-size:1.5rem;color:var(--color-primary);flex:none}
.faq details[open] summary::after{content:"\2212"}
.faq details p{margin-top:var(--space-3);color:var(--color-text-muted)}
.tabs{display:flex;gap:var(--space-2);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-8)}
.tab{min-height:48px;padding:var(--space-3) var(--space-5);font-weight:700;border-bottom:3px solid transparent;color:var(--color-text-muted);margin-bottom:-1px}
.tab[aria-selected=true]{color:var(--color-text);border-bottom-color:var(--color-primary)}
.tab:hover{color:var(--color-text)}
.cta-band{background:var(--color-primary);color:var(--color-text-inverse);border-radius:var(--radius-lg);padding:clamp(var(--space-6),4vw,var(--space-12));display:flex;flex-wrap:wrap;gap:var(--space-5);justify-content:space-between;align-items:center}
.cta-band h2{font-family:var(--font-display);font-size:var(--text-xl);max-width:22ch}.cta-band p{color:inherit;opacity:.9}
.cta-band .btn{background:var(--color-text-inverse);color:var(--color-primary)}.cta-band .btn:hover{background:#fff}
.cta-band .btn.ghost{background:transparent;color:inherit;border-color:currentColor}
.legal h2{font-family:var(--font-display);font-size:var(--text-lg);margin:var(--space-8) 0 var(--space-3)}
.legal p,.legal li{margin-bottom:var(--space-3)}.legal ul{padding-left:var(--space-6)}
.legal table{border-collapse:collapse;width:100%;font-size:var(--text-sm);margin:var(--space-3) 0}.legal th,.legal td{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}
.fcols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-8);margin-bottom:var(--space-6)}
.fcols h2{font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text);margin-bottom:var(--space-3)}
.fcols ul{list-style:none;display:grid;gap:var(--space-2)}.fcols a{text-decoration:none;font-size:var(--text-sm);display:inline-block;padding-block:var(--space-1)}.fcols a:hover{text-decoration:underline}
.crumbs{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.crumbs a{color:inherit}
.nl-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(var(--space-6),5vw,var(--space-16));align-items:start}
@media(max-width:820px){.trust{grid-template-columns:1fr 1fr}.svc3,.nl-grid,.fcols{grid-template-columns:1fr}.hd-cta{display:none}}
@media(max-width:420px){.trust{grid-template-columns:1fr}.tab{padding-inline:var(--space-3)}}
nav.main a.btn,nav.main a.btn:hover{color:var(--color-text-inverse)}
nav.main a.btn{padding:var(--space-2) var(--space-4)}
@media(max-width:1000px){.hd-cta{display:none}}
