@font-face{font-family:Inter;font-weight:100 900;font-display:swap;src:url(/fonts/inter.woff2) format("woff2")}
@font-face{font-family:Fraunces;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces.woff2) format("woff2")}
:root{--sand:#fbf8f3;--sand1:#f4eee4;--sand2:#e8dfcf;--ink:#2d2a26;--muted:#6f685f;--sage1:#e4ede5;--sage4:#8fae94;--sage:#6b8f71;--sage6:#557a5c;--sage7:#3f5f46;--clay1:#f6e6dd;--clay:#c07a5a;--crisis:#b4483a;--crisis-bg:#fbeae6}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--sand);color:var(--ink);font:17px/1.65 Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fraunces,"Source Serif 4",Georgia,serif;font-weight:600;letter-spacing:-.015em;line-height:1.15;margin:0;text-wrap:balance}
h1{font-size:clamp(2.5rem,7vw,4.5rem)}
h2{font-size:clamp(1.8rem,4vw,2.6rem)}
h3{font-size:1.25rem;line-height:1.3}
p{margin:0;text-wrap:pretty}
a{color:var(--sage7)}
a:focus-visible,summary:focus-visible{outline:3px solid var(--sage4);outline-offset:3px;border-radius:6px}
.wrap{max-width:1080px;margin:0 auto;padding:0 24px}
.narrow{max-width:720px}
.muted{color:var(--muted)}
.eyebrow{font-size:.8rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--sage6);margin-bottom:14px}
.skip{position:absolute;left:-999px}.skip:focus{left:16px;top:16px;background:#fff;padding:10px 14px;border-radius:10px;z-index:9}

header.top{display:flex;align-items:center;justify-content:space-between;padding-top:22px;padding-bottom:22px}
.brand{display:flex;align-items:center;gap:10px;font-family:Fraunces,Georgia,serif;font-weight:600;font-size:1.25rem;color:var(--sage6);text-decoration:none}
.brand img{width:36px;height:36px;border-radius:9px}
nav.main{display:flex;align-items:center;gap:26px;font-size:.95rem}
nav.main a{color:var(--ink);text-decoration:none}
nav.main a:hover{color:var(--sage6)}
@media(max-width:720px){nav.main a:not(.btn){display:none}}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:12px 24px;border-radius:14px;font-weight:600;text-decoration:none;transition:background .15s,transform .15s}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--sage);color:#fff!important}
.btn-primary:hover{background:var(--sage6)}
.btn-ghost{background:var(--sand1);color:var(--ink)!important}
.btn-ghost:hover{background:var(--sand2)}
.btn-sm{min-height:42px;padding:8px 18px}

.hero{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center;padding-top:48px;padding-bottom:88px}
.hero p.lead{font-size:1.2rem;color:#4a453f;margin:22px 0 30px;max-width:34em}
.cta{display:flex;flex-wrap:wrap;gap:12px}
.hint{font-size:.9rem;color:var(--muted);margin-top:16px}
.path{width:100%;height:auto;max-width:460px;justify-self:center}
@media(max-width:860px){.hero{grid-template-columns:1fr;padding-top:24px;padding-bottom:56px;gap:24px}.path{max-width:300px;order:-1}}

section{padding:80px 0}
@media(max-width:720px){section{padding:56px 0}}
.band{background:var(--sand1)}
.sagey{background:var(--sage7);color:#f3f7f3}
.sagey .eyebrow{color:#b9d1bd}.sagey .muted{color:#cfe0d2}
.head{max-width:680px;margin-bottom:40px}
.head p{margin-top:14px;color:var(--muted);font-size:1.08rem}

.notice{background:#fff;border:1px solid var(--sand2);border-left:5px solid var(--sage);border-radius:18px;padding:22px 24px;font-size:1rem}
.notice strong{color:var(--sage7)}
.notice .tel{white-space:nowrap;font-weight:600;color:var(--crisis);text-decoration:none}

.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--sand2);border-radius:20px;padding:24px}
.card p{color:var(--muted);margin-top:8px;font-size:.98rem}
.dot{width:38px;height:38px;border-radius:50%;background:var(--sage1);display:grid;place-items:center;margin-bottom:16px;color:var(--sage6);font-family:Fraunces,serif;font-weight:600}
.dot.clay{background:var(--clay1);color:var(--clay)}

.steps{counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;list-style:none;padding:0;margin:0}
@media(max-width:800px){.steps{grid-template-columns:1fr}}
.steps li{counter-increment:s;border-top:2px solid var(--sage4);padding-top:18px}
.steps li::before{content:counter(s);font-family:Fraunces,serif;font-size:2.4rem;font-weight:600;color:var(--sage);line-height:1;display:block;margin-bottom:10px}
.steps p{color:var(--muted);margin-top:6px}

.two{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
@media(max-width:860px){.two{grid-template-columns:1fr;gap:28px}}
ul.checks{list-style:none;padding:0;margin:0;display:grid;gap:16px}
ul.checks li{padding-left:34px;position:relative}
ul.checks li::before{content:"";position:absolute;left:0;top:.35em;width:20px;height:20px;border-radius:50%;background:#b9d1bd}
ul.checks li::after{content:"";position:absolute;left:6px;top:calc(.35em + 5px);width:7px;height:4px;border-left:2px solid var(--sage7);border-bottom:2px solid var(--sage7);transform:rotate(-45deg)}
ul.checks strong{display:block}

details{background:#fff;border:1px solid var(--sand2);border-radius:16px;padding:0 22px;margin-bottom:10px}
summary{cursor:pointer;font-weight:600;padding:18px 28px 18px 0;list-style:none;position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:0;top:14px;font-size:1.5rem;color:var(--sage);font-weight:400}
details[open] summary::after{content:"–"}
details p{color:#4a453f;padding-bottom:20px}

.final{text-align:center}
.final p{margin:16px auto 28px;max-width:34em;color:var(--muted);font-size:1.1rem}
.final .cta{justify-content:center}

footer{border-top:1px solid var(--sand2);padding:36px 0 48px;font-size:.92rem;color:var(--muted)}
footer .row{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center}
footer nav{display:flex;gap:22px;flex-wrap:wrap}
footer a{color:var(--muted)}
footer .crisis{margin-top:18px}

.legal{padding:40px 0 80px}
.legal h1{font-size:2.4rem;margin-bottom:24px}
.legal h2{font-size:1.4rem;margin:32px 0 10px}
.legal p,.legal li{color:#4a453f;margin-bottom:10px}
.todo{background:var(--clay1);border-radius:6px;padding:1px 6px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
