:root{--bg:#F6F2EA;--surface:#FFFDF9;--ink:#1F2421;--muted:#4A514C;--accent:#8A4B2A;--accent-h:#6E3A1F;--soft:#F1E6DC;--green:#2F4A3E;--line:#E2D9CC;--r:14px;--rs:8px;--max:70rem;--sp:clamp(1rem,3vw,1.5rem);--sh:0 1px 2px rgba(31,36,33,.06),0 10px 28px rgba(31,36,33,.07);--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--serif:Georgia,"Iowan Old Style","Times New Roman",serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;font-family:var(--sans);font-size:1.125rem;line-height:1.65;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}
a{color:var(--accent);text-underline-offset:.15em}a:hover{color:var(--accent-h)}
:focus-visible{outline:3px solid rgba(138,75,42,.45);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:1rem;top:-100%;background:var(--ink);color:#fff;padding:.6rem 1rem;border-radius:var(--rs);z-index:999}.skip:focus{top:1rem;color:#fff}
.wrap{width:min(100% - 2*var(--sp),var(--max));margin-inline:auto}
header.top{position:sticky;top:0;z-index:50;background:rgba(246,242,234,.95);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hi{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:4rem}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none;letter-spacing:-.01em;line-height:1.15}
.brand svg{flex-shrink:0}.brand small{display:block;font-weight:500;color:var(--muted);font-size:.78rem;letter-spacing:.02em}
nav.main{display:none}nav.main a{color:var(--ink);text-decoration:none;font-size:.98rem;padding:.4rem .2rem}nav.main a:hover{color:var(--accent)}
nav.main a{white-space:nowrap}.btn{white-space:nowrap}.brand small{display:none}@media(min-width:600px){.brand small{display:block}}@media(min-width:1150px){nav.main{display:flex;gap:1.1rem}}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:.7rem 1.25rem;border-radius:999px;font-weight:700;text-decoration:none;border:2px solid transparent;font-size:1.02rem;cursor:pointer}
.btn-call{background:var(--accent);color:#fff}.btn-call:hover{background:var(--accent-h);color:#fff}
.btn-ghost{border-color:var(--ink);color:var(--ink);background:transparent}.btn-ghost:hover{background:var(--ink);color:#fff}
.btn-sm{min-height:2.5rem;padding:.45rem 1rem;font-size:.95rem}
.hero{padding:clamp(2.5rem,7vw,5rem) 0 clamp(2rem,5vw,3.5rem)}
.eyebrow{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--green);background:#E4ECE6;padding:.3rem .7rem;border-radius:999px;margin-bottom:1rem}
h1,h2,h3{font-family:var(--serif);line-height:1.2;letter-spacing:-.01em;margin:0 0 .6rem}
h1{font-size:clamp(2rem,5.4vw,3.3rem)}h2{font-size:clamp(1.6rem,3.6vw,2.2rem)}h3{font-size:1.25rem}
.lead{font-size:clamp(1.12rem,2.2vw,1.3rem);color:var(--muted);max-width:40rem}
.cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.5rem}
.note{font-size:.92rem;color:var(--muted);margin-top:.9rem}
.hero-grid{display:grid;gap:2rem;align-items:center}@media(min-width:900px){.hero-grid{grid-template-columns:1.25fr 1fr}}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);padding:1.5rem}
.panel h3{font-family:var(--sans);font-size:1.05rem;text-transform:uppercase;letter-spacing:.06em;color:var(--green)}
.checks{list-style:none;padding:0;margin:0}.checks li{position:relative;padding:.45rem 0 .45rem 1.9rem;border-bottom:1px dashed var(--line)}.checks li:last-child{border:0}
.checks li::before{content:"";position:absolute;left:0;top:.8rem;width:1.1rem;height:1.1rem;border-radius:50%;background:var(--soft);box-shadow:inset 0 0 0 2px var(--accent)}
section{padding:clamp(2.5rem,6vw,4.5rem) 0}section.alt{background:var(--surface);border-block:1px solid var(--line)}
.sh{max-width:44rem;margin-bottom:1.75rem}.sh p{color:var(--muted);margin:0}
.grid{display:grid;gap:1.1rem}@media(min-width:700px){.g2{grid-template-columns:repeat(2,1fr)}.g3{grid-template-columns:repeat(3,1fr)}}@media(min-width:1000px){.g5{grid-template-columns:repeat(5,1fr)}}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.4rem;box-shadow:var(--sh);display:flex;flex-direction:column}
.alt .card{background:var(--bg)}.card p{color:var(--muted);margin:.2rem 0 1rem}.card .more{margin-top:auto;font-weight:700;text-decoration:none}
.icon{width:2.6rem;height:2.6rem;border-radius:10px;background:var(--soft);display:grid;place-items:center;margin-bottom:.8rem;color:var(--accent)}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;gap:1rem}@media(min-width:800px){.steps{grid-template-columns:repeat(4,1fr)}}
.steps li{counter-increment:s;background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:1.3rem;position:relative}
.steps li::before{content:counter(s);display:grid;place-items:center;width:2.2rem;height:2.2rem;border-radius:50%;background:var(--green);color:#fff;font-weight:700;margin-bottom:.7rem}
.steps strong{display:block;margin-bottom:.25rem}.steps span{color:var(--muted);font-size:1rem}
.town{text-decoration:none;color:var(--ink);font-weight:700;text-align:center;padding:1.1rem}.town:hover{border-color:var(--accent);color:var(--accent)}
.town small{display:block;font-weight:400;color:var(--muted);font-size:.9rem}
details{background:var(--surface);border:1px solid var(--line);border-radius:var(--rs);padding:1rem 1.2rem;margin-bottom:.7rem}summary{cursor:pointer;font-weight:700}details p{color:var(--muted);margin:.6rem 0 0}
.callout{background:var(--green);color:#F2F5F1;border-radius:var(--r);padding:clamp(1.5rem,4vw,2.5rem);display:grid;gap:1rem;align-items:center}@media(min-width:800px){.callout{grid-template-columns:1fr auto}}
.callout h2{color:#fff}.callout p{margin:0;color:#D6E0D9}.callout .btn-call{background:#fff;color:var(--green)}.callout .btn-call:hover{background:var(--soft)}
.disclose{background:#FBF3E4;border:1px solid #E8D5B0;color:#5E4720;border-radius:var(--rs);padding:1rem 1.2rem;font-size:.98rem}
.prose{max-width:46rem}.prose h2{margin-top:2rem}.prose p,.prose li{color:#2F3531}
.crumbs{font-size:.92rem;color:var(--muted);padding-top:1.2rem}.crumbs a{color:var(--muted)}
footer{background:#1C211E;color:#C9D1CB;padding:3rem 0 6rem;font-size:.98rem}footer a{color:#fff}footer h3{font-family:var(--sans);font-size:.85rem;text-transform:uppercase;letter-spacing:.08em;color:#9FB0A5}
footer ul{list-style:none;padding:0;margin:0}footer li{padding:.2rem 0}.fgrid{display:grid;gap:2rem}@media(min-width:800px){.fgrid{grid-template-columns:1.4fr 1fr 1fr 1fr}}
.fine{border-top:1px solid #333B36;margin-top:2rem;padding-top:1.2rem;font-size:.88rem;color:#9FAAA2}
.soon-pill{font-size:.85rem;font-weight:700;color:var(--green);background:#E4ECE6;padding:.4rem .8rem;border-radius:999px;white-space:nowrap}.soon{background:#E4ECE6;border-left:4px solid var(--green);padding:.8rem 1rem;border-radius:var(--rs);margin:.5rem 0}.callbar{position:fixed;left:0;right:0;bottom:0;z-index:60;padding:.6rem var(--sp);background:rgba(255,253,249,.97);border-top:1px solid var(--line);display:flex;gap:.6rem}.callbar .btn{flex:1;min-width:0;padding-inline:.5rem;font-size:.95rem}
@media(min-width:900px){.callbar{display:none}footer{padding-bottom:3rem}}