:root{
  --ink:#14211c; --marsh:#1f3b33; --marsh-2:#2b5246; --chalk:#eef0ec; --paper:#fbfbf8;
  --line:#c9cfc8; --yellow:#e8c547; --muted:#55645c; --alert:#b3362b;
  --bg:var(--chalk); --fg:var(--ink); --card:var(--paper);
}
@media (prefers-color-scheme:dark){
  :root{--bg:#101a16;--fg:#e8ece6;--card:#17261f;--line:#2f4339;--muted:#9fb0a6;--marsh:#0c1411;--marsh-2:#1c3a30}
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--fg);font:17px/1.6 "IBM Plex Sans",system-ui,sans-serif}
h1,h2,h3{font-family:"Bricolage Grotesque","IBM Plex Sans",sans-serif;line-height:1.08;margin:0 0 .5em;letter-spacing:-.02em}
h1{font-size:clamp(2.3rem,6vw,4rem);font-weight:800}
h2{font-size:clamp(1.7rem,3.6vw,2.4rem);font-weight:700}
h3{font-size:1.2rem;font-weight:700}
p{margin:0 0 1em;max-width:62ch}
a{color:inherit}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}
header.top{background:var(--marsh);color:#f3f5f0}
header.top .wrap{display:flex;justify-content:space-between;align-items:center;padding-top:14px;padding-bottom:14px;gap:12px}
.brand{font-family:"Bricolage Grotesque",sans-serif;font-weight:800;text-decoration:none;font-size:1.1rem}
nav a{margin-left:18px;text-decoration:none;font-size:.95rem}
nav a:hover{text-decoration:underline}
.btn{display:inline-block;background:var(--yellow);color:#14211c;font-weight:700;padding:14px 22px;border-radius:6px;text-decoration:none;border:0;font:inherit;font-weight:700;cursor:pointer}
.btn:hover{filter:brightness(.95)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}
.hero{background:var(--marsh);color:#f3f5f0;padding:56px 0 64px}
.hero .grid{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero p.lead{font-size:1.2rem;color:#d7dfd8}
.phone{background:#0d1512;border:1px solid #33493f;border-radius:22px;padding:18px;box-shadow:0 18px 40px rgba(0,0,0,.35);max-width:340px;justify-self:end;width:100%}
.phone h4{margin:0 0 10px;font:600 .8rem "IBM Plex Sans";color:#9fb0a6}
.call{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #24362e;font-size:.95rem}
.call b{display:block;font-weight:600}
.call small{color:#9fb0a6}
.call .missed{color:#ff8a7d;font-weight:600}
.call .got{color:#9fd9b0;font-weight:600}
.phone .note{margin:12px 0 0;font-size:.85rem;color:#c9d4cc}
section{padding:60px 0}
section.alt{background:var(--card);border-block:1px solid var(--line)}
.cols{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.cols div{border-left:4px solid var(--yellow);padding-left:16px}
.cols p{max-width:none;color:var(--muted)}
ol.steps{padding-left:1.2em;max-width:62ch}
ol.steps li{margin-bottom:.8em}
.calc{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
label{display:block;font-weight:600;margin:14px 0 4px}
input,select{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:#14211c;font:inherit}
.out{background:var(--marsh);color:#f3f5f0;border-radius:10px;padding:26px}
.out .big{font:800 2.6rem "Bricolage Grotesque";line-height:1}
.out small{color:#b9c6bd;display:block;margin-top:12px}
.fine{font-size:.85rem;color:var(--muted)}
footer{background:var(--marsh);color:#cfd8d1;padding:36px 0;font-size:.9rem}
footer a{margin-right:16px}
.legal h2{margin-top:1.6em;font-size:1.4rem}
.draft{background:#fff3c4;color:#4a3b00;padding:10px 14px;border-radius:6px;font-size:.9rem;margin-bottom:24px}
@media(max-width:760px){.hero .grid,.cols,.calc{grid-template-columns:1fr}.phone{justify-self:start}nav a{margin-left:10px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
