:root{--ink:#0b1224;--ink2:#141d38;--paper:#f6f2ea;--accent:#c8ff3d;--mut:#aab3c9;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--paper);font:400 1.05rem/1.6 Inter,system-ui,sans-serif}
h1,h2,h3{font-family:Fraunces,Georgia,serif;line-height:1.1;margin:.2em 0 .5em}
h1{font-size:clamp(2.4rem,7vw,4.6rem)}h2{font-size:clamp(1.8rem,4vw,2.8rem)}h3{font-size:1.3rem}
em{color:var(--accent);font-style:italic}a{color:inherit}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.light :focus-visible{outline-color:#0b1224}
.wrap{max-width:1120px;margin:auto;padding:0 1.25rem}.narrow{max-width:720px}
section{padding:4.5rem 0}.light{background:var(--paper);color:var(--ink)}
.skip{position:absolute;left:-999px}.skip:focus{left:1rem;top:1rem;background:var(--accent);color:var(--ink);padding:.5rem;z-index:9}
header.site{position:sticky;top:0;background:rgba(11,18,36,.92);z-index:5;border-bottom:1px solid #ffffff1a}
.bar{display:flex;align-items:center;justify-content:space-between;padding-block:.8rem;gap:1rem}
.logo{display:flex;gap:.6rem;align-items:center;text-decoration:none}.logo span{display:flex;flex-direction:column;line-height:1}
.logo b{font-family:Fraunces,serif;letter-spacing:.14em}.logo small{font-size:.65rem;letter-spacing:.35em;color:var(--accent)}
nav{display:flex;gap:1.4rem;align-items:center}nav a:not(.btn){text-decoration:none;padding:.3rem 0}nav a[aria-current]{border-bottom:2px solid var(--accent)}
.menu{display:none;background:none;color:inherit;border:1px solid #fff4;border-radius:8px;padding:.5rem .8rem;font:inherit}
.btn{display:inline-block;background:var(--accent);color:var(--ink);font-weight:600;text-decoration:none;padding:.8rem 1.3rem;border-radius:999px;border:2px solid var(--accent);cursor:pointer;font-size:1rem}
.btn:hover{filter:brightness(1.08)}.btn.ghost{background:none;color:inherit;border-color:#fff6}.btn.dark{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.18em;font-size:.8rem;font-weight:600}.light .kicker{color:#3a5200}
.lead{font-size:1.2rem;color:var(--mut);max-width:60ch}.light .lead{color:#3b4560}
.hero{background:radial-gradient(60% 60% at 80% 10%,#c8ff3d22,transparent),linear-gradient(var(--ink),var(--ink2))}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center}
.flowbox{border:1px solid #ffffff2e;border-radius:var(--r);padding:1.2rem;box-shadow:0 0 60px #c8ff3d14}
.tabs{display:flex;flex-wrap:wrap;gap:.5rem}.tabs button{background:none;color:inherit;border:1px solid #fff4;border-radius:999px;padding:.45rem .9rem;font:inherit;cursor:pointer}
.tabs button[aria-pressed=true]{background:var(--accent);color:var(--ink);border-color:var(--accent)}
.js .panel{display:none}.js .panel.on{display:block;animation:in .4s}.panel{padding:.5rem 0}
.flowbox svg{width:100%;color:var(--mut)}.dot{fill:var(--ink);stroke:currentColor;stroke-width:2;transition:.3s}.dot.on{fill:var(--accent);stroke:var(--accent)}
@keyframes in{from{opacity:0;transform:translateY(6px)}}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem;margin:2rem 0}
.card{border:1px solid #ffffff22;border-radius:var(--r);padding:1.4rem;background:#ffffff08}.light .card{background:#fff;border-color:#0b122622}
.card ul{padding-left:1.1rem}.wide{margin-bottom:1.5rem}.wide .grid2{align-items:start;margin:1rem 0}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1.2rem;padding:0;list-style:none;counter-reset:s;margin:2rem 0}
.steps li{counter-increment:s;border-top:2px solid var(--accent);padding-top:.8rem}.steps li:before{content:"0" counter(s);color:var(--accent);font-family:Fraunces,serif}
.pagehead{padding:4rem 0 2rem}.closing{text-align:center;background:linear-gradient(var(--ink2),var(--ink))}.closing .lead{margin:0 auto 1.5rem}
details{border-bottom:1px solid #ffffff2e;padding:1rem 0}summary{cursor:pointer;font-weight:600}
.f{margin-bottom:1.2rem}.f label{display:block;font-weight:600;margin-bottom:.3rem}.f label span{font-weight:400}
input:not([type=checkbox]),textarea{width:100%;font:inherit;padding:.75rem;border:2px solid #0b122655;border-radius:10px;background:#fff;color:var(--ink)}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b00020}
.err{color:#b00020;margin:.3rem 0 0;font-size:.95rem}.err:empty{display:none}
.check{display:grid;grid-template-columns:auto 1fr;gap:.6rem}.check input{width:1.3rem;height:1.3rem}.check .err{grid-column:2}.hp{position:absolute;left:-9999px}
#status{margin-top:1rem;border-radius:10px}#status.ok,#status.bad{padding:1rem}#status.ok{background:#e1f5d0;color:#1d3d00}#status.bad{background:#fde2e2;color:#6b0014}
.note{background:#c8ff3d22;border-left:4px solid var(--accent);padding:1rem}.prose h2{font-size:1.5rem}
footer{border-top:1px solid #ffffff1a;padding:3rem 0 1rem}.foot{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.foot h2{font-size:1rem;font-family:Inter,sans-serif;color:var(--accent)}.foot a:not(.logo){display:block;margin:.3rem 0}.legal{color:var(--mut);font-size:.9rem}
.consent{position:fixed;bottom:1rem;left:1rem;right:1rem;max-width:520px;background:var(--paper);color:var(--ink);padding:1rem;border-radius:var(--r);display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;z-index:9}
.consent p{margin:0;flex:1 1 100%}.consent .ghost{color:var(--ink);border-color:var(--ink)}
@media(max-width:800px){.grid2,.foot{grid-template-columns:1fr}.menu{display:block}
.js nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ink);flex-direction:column;align-items:flex-start;padding:1rem 1.25rem}.js nav.open{display:flex}section{padding:3rem 0}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
