@font-face{font-family:Inter;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format("woff2")}
@font-face{font-family:Inter;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:600;font-display:swap;src:url(fonts/montserrat-latin-600-normal.woff2) format("woff2")}
@font-face{font-family:Montserrat;font-weight:700;font-display:swap;src:url(fonts/montserrat-latin-700-normal.woff2) format("woff2")}
:root{--navy:#0b1528;--navy2:#13243d;--slate:#4b6078;--ink:#16243a;--copper:#c86428;--copper-d:#a34e17;--cream:#f4efe6;--paper:#fbf8f2;--water:#3e7cb1;--line:#ddd5c6;--ok:#2f7d5b;--warn:#b7791f;--bad:#b4402f;--r:10px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font:400 1rem/1.65 Inter,system-ui,sans-serif;color:var(--ink);background:var(--paper);-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:Montserrat,Inter,sans-serif;font-weight:700;line-height:1.2;margin:0 0 .6rem;color:var(--navy);letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,5vw,3.4rem)}h2{font-size:clamp(1.6rem,3vw,2.2rem)}h3{font-size:1.2rem}h4{font-size:1rem}
p{margin:0 0 1rem;max-width:68ch}a{color:var(--copper-d)}a:hover{color:var(--navy)}
img{max-width:100%}
:focus-visible{outline:3px solid var(--copper);outline-offset:2px;border-radius:4px}
.wrap{width:min(1160px,100% - 2rem);margin-inline:auto}.narrow{max-width:800px}
.sr,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip:focus{position:fixed;top:8px;left:8px;z-index:100;background:#fff;padding:.6rem 1rem;border-radius:6px}
.progress{position:fixed;inset:0 0 auto 0;height:3px;background:var(--copper);transform:scaleX(0);transform-origin:0 50%;z-index:60}
/* header */
.top{position:sticky;top:0;z-index:50;background:rgba(11,21,40,.94);backdrop-filter:blur(8px);color:#fff}
.bar{display:flex;align-items:center;gap:1.5rem;min-height:68px}
.brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font:700 .8rem/1.15 Montserrat,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.brand:hover{color:#fff}
.nav{display:flex;gap:1.4rem;margin-left:auto}
.nav a{color:#cbd5e1;text-decoration:none;font-size:.92rem;font-weight:500;padding:.3rem 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a.on{color:#fff;border-color:var(--copper)}
.menu-btn{display:none;margin-left:auto;background:none;border:1px solid #4b6078;color:#fff;border-radius:8px;padding:.45rem .9rem;font:600 .9rem Inter,sans-serif;cursor:pointer}
.mnav{display:none;flex-direction:column;padding:.5rem 1rem 1rem;border-top:1px solid #1f3350}
.mnav.is-open{display:flex}.mnav a{color:#fff;text-decoration:none;padding:.7rem 0;border-bottom:1px solid #1f3350}.mnav .strong{color:#f0a36a;font-weight:600}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.3rem;border-radius:8px;border:2px solid transparent;font:600 .95rem Inter,sans-serif;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.btn-cta{background:var(--copper);color:#fff}.btn-cta:hover{background:#dd7332;color:#fff}
.btn-dark{background:var(--navy);color:#fff}.btn-dark:hover{background:var(--slate);color:#fff}
.btn-ghost{border-color:#5b7391;color:#fff}.btn-ghost:hover{border-color:#fff;color:#fff}
.btn-line{border-color:var(--navy);color:var(--navy);background:none}.btn-line:hover{background:var(--navy);color:#fff}
.btn-block{width:100%}.btn:disabled{opacity:.6;cursor:wait}
.top .btn{padding:.55rem 1rem;font-size:.88rem}
/* hero */
.hero{background:radial-gradient(1200px 500px at 85% -10%,#1c3a5e 0,transparent 60%),var(--navy);color:#dbe4ef;padding:3.5rem 0 4rem}
.hero h1{color:#fff}.hero-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:3rem;align-items:start}
.tag{color:#f0a36a;font-weight:600;font-size:.95rem;margin-bottom:.8rem}
.lead{font-size:1.2rem;color:#fff}
.cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin:1.5rem 0}
.fine{font-size:.8rem;color:#93a4b8;line-height:1.5}.fine.dark{color:#5d6b7e}
/* tool */
.tool{background:var(--paper);color:var(--ink);border-radius:16px;padding:1.4rem;box-shadow:0 24px 60px rgba(0,0,0,.35)}
.tool h2{font-size:1.35rem;margin:0}.tool-sub{font-size:.88rem;color:var(--slate);margin:0 0 .6rem}
.chart{background:var(--navy);border-radius:10px;margin-bottom:1rem}.chart svg{display:block;width:100%;height:auto}
.chart text{font:500 11px Inter,sans-serif;fill:#9fb2c8}.chart .grid{stroke:#223653;stroke-width:1}.chart .zero{stroke:#7aa6cf;stroke-width:1.5}
.chart .c{fill:none;stroke:#5f7691;stroke-width:1.5}.chart .c.sel{stroke:#8fc0ec;stroke-width:3}.chart .c.str{stroke-dasharray:4 4}
.chart .water{fill:#3e7cb1;opacity:.35}.chart .site{stroke:#f0a36a;stroke-width:2;stroke-dasharray:6 4}.chart .site-t{fill:#f0a36a;font-weight:600}
.chart .yr{stroke:#fff;stroke-width:1;opacity:.6}.chart .dot{fill:#fff}
.ctrl{margin-bottom:.9rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:.8rem}
label{display:block;font-weight:600;font-size:.9rem;margin-bottom:.3rem}output{float:right;color:var(--copper-d);font-weight:600}
input[type=range]{width:100%;accent-color:var(--copper);height:28px}
select,.field{width:100%;font:400 1rem Inter,sans-serif;padding:.65rem .75rem;border:1.5px solid #c9c0ae;border-radius:8px;background:#fff;color:var(--ink)}
.field:focus,select:focus{border-color:var(--copper)}
.hint{font-size:.8rem;color:var(--slate);margin:.2rem 0 .6rem}
.result{border-left:6px solid var(--ok);background:#fff;border-radius:8px;padding:1rem 1.1rem;margin:.4rem 0 .8rem;border-top:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.result[data-level="2"]{border-left-color:var(--warn)}.result[data-level="3"],.result[data-level="4"]{border-left-color:var(--bad)}
.res-num{font:700 1.6rem Montserrat,sans-serif;margin:0 0 .3rem;color:var(--navy)}.res-lab{font:600 .95rem Inter,sans-serif;color:var(--slate);margin-left:.4rem}
.res-txt{font-size:.92rem;margin-bottom:.9rem}
/* sections */
.band{padding:4.5rem 0}.band.alt{background:var(--cream)}.band.dark{background:var(--navy);color:#dbe4ef}.band.dark h2{color:#fff}
.sub{font-size:1.1rem;color:var(--slate);margin-bottom:2rem}.band.dark .sub{color:#c3d0df}
.h-gap{margin-top:3rem}
.trio,.quad,.duo{display:grid;gap:1.2rem}.trio{grid-template-columns:repeat(3,1fr)}.quad{grid-template-columns:repeat(4,1fr)}.duo{grid-template-columns:1fr 1fr}
.trio article,.quad article,.card,.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.4rem}
.trio article{border-top:4px solid var(--copper)}.quad article{padding:1.1rem;border-radius:4px}.quad h4{color:var(--copper-d)}.quad p{font-size:.92rem;margin:0}
.n{display:inline-grid;place-items:center;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--navy);color:#fff;font-size:.85rem;margin-right:.6rem}
.chips{margin-top:1.6rem;color:var(--slate)}.chips b{display:inline-block;background:var(--cream);border:1px solid var(--line);border-radius:99px;padding:.15rem .8rem;margin:.2rem .2rem;color:var(--navy);font-weight:600;font-size:.88rem}
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:start;margin-top:2.5rem}
.plain{padding-left:1.2rem}.plain li{margin-bottom:.8rem}.note{font-size:.92rem;color:var(--slate)}.note.light{color:#c3d0df}
.band.dark a{color:#f0a36a}
/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:.4rem;border-bottom:2px solid var(--line)}
.tabs button{background:none;border:0;border-bottom:3px solid transparent;margin-bottom:-2px;padding:.7rem 1.1rem;font:600 .95rem Inter,sans-serif;color:var(--slate);cursor:pointer}
.tabs button[aria-selected=true]{color:var(--navy);border-color:var(--copper)}
.panel{padding:1.2rem 0 0}.panel[hidden]{display:none}
/* checklist */
.check{list-style:none;margin:0 0 1rem;padding:0}.check li{border-bottom:1px solid var(--line)}
.check label{display:flex;gap:.7rem;align-items:flex-start;font-weight:400;padding:.65rem 0;cursor:pointer;font-size:.95rem}
.check input{margin-top:.3rem;width:1.1rem;height:1.1rem;accent-color:var(--copper);flex:none}
.check input:checked+*,.check label:has(input:checked){color:#6b7a8c;text-decoration:line-through}
.meter{height:8px;background:var(--cream);border-radius:9px;overflow:hidden}.meter span{display:block;height:100%;width:100%;background:var(--ok);transform:scaleX(0);transform-origin:0 50%;transition:transform .35s}
.meter-txt{font-size:.85rem;color:var(--slate);margin:.4rem 0 1rem}
/* plans */
.plan.featured{border:2px solid var(--copper)}.badge{display:inline-block;background:var(--cream);border-radius:99px;padding:.2rem .8rem;font-weight:600;font-size:.82rem;color:var(--copper-d);margin-bottom:.8rem}
.ticks{list-style:none;padding:0;margin:0 0 1.2rem}.ticks li{position:relative;padding-left:1.6rem;margin-bottom:.5rem}
.ticks li::before{content:"";position:absolute;left:.2rem;top:.55rem;width:.55rem;height:.3rem;border-left:2px solid var(--copper);border-bottom:2px solid var(--copper);transform:rotate(-45deg)}
.flow{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;padding:0}
.flow li{counter-increment:s;position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:1.2rem 1.2rem 1.2rem 3.4rem}
.flow li::before{content:counter(s);position:absolute;left:1rem;top:1.1rem;width:1.7rem;height:1.7rem;border-radius:50%;background:var(--copper);color:#fff;display:grid;place-items:center;font-weight:700;font-size:.85rem}
.flow b{display:block;color:var(--navy)}.flow span{font-size:.92rem;color:var(--slate)}
/* accordions */
.fold,.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin-top:1rem}
.faq details{margin:0 0 .7rem}
summary{cursor:pointer;font-weight:600;padding:1rem 1.2rem;list-style:none;display:flex;justify-content:space-between;gap:1rem;color:var(--navy)}
summary::-webkit-details-marker{display:none}summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--copper)}
details[open]>summary::after{content:"\2212"}details>p{padding:0 1.2rem;margin:0 0 1.1rem}
.fold .form{padding:0 1.2rem 1.2rem}.faq-tools{margin:0 0 1rem}.link{background:none;border:0;color:var(--copper-d);text-decoration:underline;cursor:pointer;font:600 .9rem Inter,sans-serif;padding:0}
/* forms */
.form label:not(.opt){margin-top:.9rem}.form .field{margin-bottom:.2rem}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 1rem}
.form.paper{background:var(--paper);color:var(--ink);border-radius:16px;padding:1.6rem}
.opt{font-weight:400;font-size:.82rem;display:flex;gap:.6rem;align-items:flex-start;margin-top:.5rem;color:var(--slate)}.opt input{margin-top:.25rem;accent-color:var(--copper)}
.count{float:right;font-weight:400;font-size:.8rem;color:var(--slate)}.status{min-height:1.4rem;font-weight:600;margin:.8rem 0 0}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.status.ok{color:var(--ok)}
/* footer */
.foot{background:#08101f;color:#9fb2c8;padding:2.5rem 0;font-size:.9rem}.foot a{color:#f0a36a}.foot p{max-width:none}
.foot-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:1rem}.foot .fine{margin:0}
/* legal */
.legal{max-width:760px;margin:0 auto;padding:3rem 1rem 4rem}.legal h1{font-size:2rem}.legal h2{font-size:1.25rem;margin-top:2rem}.legal ul{padding-left:1.2rem}.legal a{word-break:break-word}
@media (max-width:960px){.hero-grid,.split,.duo,.foot-grid{grid-template-columns:1fr}.trio,.flow{grid-template-columns:1fr}.quad{grid-template-columns:1fr 1fr}.nav,.top .btn{display:none}.menu-btn{display:block}}
@media (max-width:560px){.two,.grid2,.quad{grid-template-columns:1fr}.band{padding:3rem 0}.tool{padding:1rem}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
