:root{--ink:#14211f;--teal:#0f3d3a;--teal2:#1c5d57;--brass:#c98a1b;--paper:#f7f8f5;--tint:#e9eeea;--line:#cfd8d3;--r:10px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:70px}
body{margin:0;font:400 1.05rem/1.65 "Public Sans",system-ui,sans-serif;color:var(--ink);background:var(--paper)}
h1,h2,h3{font-family:"Bricolage Grotesque",system-ui,sans-serif;line-height:1.1;margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.3rem,6vw,4rem)}h2{font-size:clamp(1.7rem,3.5vw,2.5rem)}h3{font-size:1.2rem}
p{margin:0 0 1em;max-width:68ch}a{color:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:99}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 5vw;background:var(--paper);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:10px;font:700 1.15rem "Bricolage Grotesque",sans-serif;text-decoration:none}
.mark{width:22px;height:22px;background:linear-gradient(135deg,var(--teal) 55%,var(--brass) 55%);border-radius:5px;display:inline-block}
nav{display:flex;align-items:center;gap:22px}nav a{text-decoration:none;font-weight:500}nav a:hover{color:var(--teal2)}
.menu-btn{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 14px;font:inherit}
.btn{display:inline-block;background:var(--teal);color:#fff;border:2px solid var(--teal);padding:12px 22px;border-radius:var(--r);font-weight:600;text-decoration:none;cursor:pointer;font-family:inherit;font-size:1rem}
.btn:hover{background:var(--teal2)}.btn.ghost{background:transparent;color:var(--teal)}.btn.ghost:hover{background:var(--tint)}
.btn.small{padding:8px 16px}nav .btn{color:#fff}
.hero{display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:center;padding:7vw 5vw 6vw}
.lead{font-size:1.2rem;color:#33443f}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.4em}
.calc{background:var(--teal);color:#fff;border-radius:16px;padding:28px;box-shadow:0 18px 40px -20px rgba(15,61,58,.7)}
.calc h2{font-size:1.6rem}.note{font-size:.9rem;opacity:.8}
label{display:block;font-weight:500;font-size:.95rem;margin-bottom:14px}
input,select,textarea{display:block;width:100%;margin-top:6px;padding:11px 12px;font:inherit;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink)}
.out{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:18px 0 0}
.out div{background:rgba(255,255,255,.1);border-radius:8px;padding:12px}
.out dt{font-size:.8rem;opacity:.8}.out dd{margin:4px 0 0;font:700 1.35rem "Bricolage Grotesque",sans-serif;color:#f3c76a}
.strip{display:flex;flex-wrap:wrap;gap:8px 36px;justify-content:center;padding:18px 5vw;background:var(--tint);font-weight:500}.strip p{margin:0}
.sec{padding:6vw 5vw}.sec>*{max-width:1100px}
.tint{background:var(--tint)}.dark{background:var(--teal);color:#fff}.dark .lead{color:#dbe7e3}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:5vw}
.values{list-style:none;margin:0;padding:0;border-left:3px solid var(--brass)}.values li{padding:8px 0 8px 18px}
.gap{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:24px 0}
.gap p{border-top:2px solid var(--brass);padding-top:12px}
.pull{font:700 clamp(1.4rem,3vw,2rem) "Bricolage Grotesque",sans-serif;color:#f3c76a}
.steps{list-style:none;counter-reset:s;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-top:28px;max-width:1100px}
.steps li{counter-increment:s;border-top:4px solid var(--teal);padding-top:12px}
.steps li::before{content:counter(s);font:700 2rem "Bricolage Grotesque",sans-serif;color:var(--brass)}
.steps span{font-size:.9rem;font-weight:600;color:var(--teal2)}.steps p{font-size:.97rem}
.svc{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}
.svc article{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:20px}.svc p{margin:0;font-size:.97rem}
.sub{margin-top:2.2em}
table{width:100%;max-width:900px;border-collapse:collapse;background:#fff}
th,td{text-align:left;padding:12px 14px;border-bottom:1px solid var(--line)}thead th{background:var(--teal);color:#fff}
.fee-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin:24px 0}
.fee-grid div{border:1px solid var(--line);border-radius:var(--r);padding:18px;background:#fff}.fee-grid p{margin:0}
.fine{font-size:.88rem;color:#51625d}footer .fine{color:#b9cbc6}
details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 18px;margin-bottom:10px;max-width:800px}
summary{cursor:pointer;font-weight:600}details p{margin:10px 0 0}
#lead{display:grid;grid-template-columns:1fr 1fr;gap:0 18px;max-width:800px}.wide{grid-column:1/-1}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:400}.check input{width:auto;margin-top:5px}
.err{color:#a02020;font-weight:600;grid-column:1/-1}
.news{margin-top:3em;display:flex;flex-wrap:wrap;gap:14px;align-items:flex-end}.news label{margin:0;flex:1;min-width:240px}
footer{background:var(--ink);color:#e9eeea;padding:40px 5vw;display:grid;gap:20px}footer .brand{color:#fff}
.wa{position:fixed;right:16px;bottom:16px;background:#1e8e4e;color:#fff;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:600;box-shadow:0 8px 20px rgba(0,0,0,.25);z-index:30}
@media(max-width:900px){.hero,.cols{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.gap{grid-template-columns:1fr}
.menu-btn{display:block}nav{display:none;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:flex-start;padding:16px 5vw;background:var(--paper);border-bottom:1px solid var(--line)}nav.open{display:flex}
#lead{grid-template-columns:1fr}.out{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
