:root{
  --forest:#24483a; --forest-deep:#1b3529; --terracotta:#b5613f; --terra-soft:#c9825f;
  --navy:#1c2b3a; --cream:#f5f1e8; --cream-2:#efe9db; --ink:#2a2723; --muted:#6d675c;
  --line:#d9d1bf; --good:#2f7d54; --warn:#c9902f; --bad:#b5433a;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{background:var(--cream);color:var(--ink);
  font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;
  line-height:1.6;-webkit-font-smoothing:antialiased}
.serif{font-family:Georgia,"Times New Roman",serif}
a{color:var(--forest)}
h1,h2,h3,h4{font-family:Georgia,serif;font-weight:700;line-height:1.15;text-wrap:balance}
.wrap{max-width:760px;margin:0 auto;padding:0 22px}
.wrap.narrow{max-width:680px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:2.5px;color:var(--terracotta);font-weight:700}

/* ---- header ---- */
.site-head{display:flex;align-items:center;justify-content:space-between;gap:14px;
  max-width:960px;margin:0 auto;padding:16px 22px;border-bottom:2px solid var(--forest)}
.brand-lockup{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink)}
.brand-lockup .wm b{font-family:Georgia,serif;font-size:17px;display:block;line-height:1.05}
.brand-lockup .wm small{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--muted)}
.nav-cta{background:var(--forest);color:#fff;text-decoration:none;font-weight:700;font-size:14px;
  padding:10px 18px;white-space:nowrap}
.nav-cta:hover{background:var(--forest-deep)}
@media(max-width:520px){.brand-lockup .wm small{display:none}}

/* ---- buttons ---- */
.btn{display:inline-block;font:inherit;font-weight:700;padding:14px 26px;background:var(--forest);color:#fff;
  border:none;cursor:pointer;letter-spacing:.3px;text-decoration:none;text-align:center}
.btn:hover{background:var(--forest-deep)}
.btn.alt{background:transparent;color:var(--forest);border:2px solid var(--forest);padding:12px 22px}
.btn.big{background:var(--terracotta);font-size:18px;padding:18px 30px;width:100%}
.btn.big:hover{background:#a0522f}
button:disabled{opacity:.35;cursor:not-allowed}

/* ---- hero / home ---- */
.hero{background:var(--forest);color:var(--cream);padding:0}
.hero .in{max-width:820px;margin:0 auto;padding:66px 22px 60px;text-align:center}
.hero .eyebrow{color:var(--terra-soft)}
.hero h1{font-size:46px;margin:14px 0 12px;color:var(--cream)}
.hero p.sub{font-size:20px;color:#d8e3d8;max-width:52ch;margin:0 auto 28px}
.hero .btn.big{max-width:360px;margin:0 auto}
.hero .fine{color:#9fb3a6;font-size:13px;margin-top:14px}
@media(max-width:600px){.hero h1{font-size:34px}}
.gaugemini{--p:62;width:120px;height:120px;border-radius:50%;margin:0 auto 8px;
  background:conic-gradient(var(--terra-soft) calc(var(--p)*1%), rgba(255,255,255,.14) 0);display:grid;place-items:center;position:relative}
.gaugemini:after{content:"";position:absolute;inset:11px;background:var(--forest);border-radius:50%}
.gaugemini b{position:relative;font-family:Georgia,serif;font-size:34px;color:var(--cream)}

section.band{padding:56px 0;border-top:1px solid var(--line)}
section.band h2{font-size:30px;margin:8px 0 6px}
.lede{font-size:18px;color:var(--muted);max-width:60ch}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:26px}
.step{background:var(--cream-2);border:1px solid var(--line);padding:22px}
.step .n{font-family:Georgia,serif;font-size:34px;color:var(--terracotta);line-height:1}
.step h3{font-size:18px;margin:8px 0 6px}
.step p{font-size:14px;color:var(--muted);margin:0}
.deliver{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px}
.deliver div{background:#fff;border:1px solid var(--line);padding:14px 16px;font-size:15px}
.deliver b{color:var(--forest)}
.cta-band{background:var(--cream-2);text-align:center;padding:52px 22px;border-top:1px solid var(--line)}
.cta-band h2{font-size:28px;margin:0 0 10px}
.cta-band .btn.big{max-width:360px;margin:14px auto 0}
.price-note{font-size:14px;color:var(--muted);margin-top:12px}
.price-note s{opacity:.6}
@media(max-width:620px){.steps{grid-template-columns:1fr}.deliver{grid-template-columns:1fr}}

/* ---- content / legal ---- */
.doc{padding:44px 0 64px}
.doc h1{font-size:34px;margin:6px 0 4px}
.doc h2{font-size:20px;margin:30px 0 8px}
.doc p,.doc li{max-width:70ch;color:var(--ink)}
.doc .updated{color:var(--muted);font-size:14px}
.doc ul{padding-left:20px}
.doc li{margin:6px 0}

/* ---- footer ---- */
.site-foot{background:var(--navy);color:#c7cfd8;margin-top:0;padding:34px 22px;text-align:center}
.site-foot .fl{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}
.site-foot .fl b{font-family:Georgia,serif;color:#e7ede9;font-size:16px}
.site-foot nav a{color:#c7cfd8;text-decoration:none;font-size:14px;margin:0 4px}
.site-foot nav a:hover{color:#fff;text-decoration:underline}
.site-foot .fine{font-size:12px;color:#8b96a2;margin-top:12px;max-width:60ch;margin-left:auto;margin-right:auto}

/* ================= QUIZ ================= */
.bar{height:6px;background:var(--cream-2);border:1px solid var(--line);margin:0 20px;max-width:760px;margin-left:auto;margin-right:auto}
.bar > i{display:block;height:100%;background:var(--terracotta);width:0;transition:.3s}
.qwrap{max-width:720px;margin:0 auto;padding:24px 20px 56px}
.card{background:var(--cream-2);border:1px solid var(--line);padding:28px;margin-top:22px}
.kicker{text-transform:uppercase;letter-spacing:2px;font-size:12px;color:var(--terracotta);font-weight:700}
h2.q{font-size:24px;margin:6px 0 4px;line-height:1.25;font-family:Georgia,serif}
.catlabel{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1.5px}
.opts{display:flex;flex-direction:column;gap:12px;margin-top:20px}
.opt{display:flex;align-items:center;gap:14px;padding:16px 18px;background:#fff;border:2px solid var(--line);
  cursor:pointer;text-align:left;font-size:16px;transition:.12s;color:var(--ink);font-family:inherit}
.opt:hover{border-color:var(--forest)}
.opt .ic{font-size:22px;flex:none;width:28px;text-align:center}
.opt.sel{border-color:var(--forest);box-shadow:inset 0 0 0 2px var(--forest)}
.opt small{display:block;color:var(--muted);font-size:13px}
.row{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:12px}
.hint{color:var(--muted);font-size:13px}
input.f{font:inherit;width:100%;padding:14px;border:2px solid var(--line);background:#fff;margin-top:8px}
input.f:focus{outline:none;border-color:var(--forest)}
label.fl{font-weight:600;font-size:14px;display:block;margin-top:16px}
.gauge{--p:0;width:190px;height:190px;border-radius:50%;margin:8px auto;
  background:conic-gradient(var(--gc,var(--forest)) calc(var(--p)*1%), var(--cream-2) 0);display:grid;place-items:center;position:relative}
.gauge:after{content:"";position:absolute;inset:16px;background:var(--cream-2);border-radius:50%}
.gauge .val{position:relative;text-align:center}
.gauge .val b{font-size:46px;display:block;line-height:1;font-family:Georgia,serif}
.gauge .val span{font-size:12px;text-transform:uppercase;letter-spacing:1.5px;color:var(--muted)}
.verdict{text-align:center;font-size:20px;font-weight:700;margin-top:6px;font-family:Georgia,serif}
.cat{margin-top:16px}
.cat .h{display:flex;justify-content:space-between;font-size:14px;font-weight:600}
.cat .track{height:14px;background:var(--cream);border:1px solid var(--line);margin-top:5px}
.cat .track > i{display:block;height:100%}
.callout{border-left:5px solid var(--terracotta);background:#fff;padding:16px 18px;margin-top:22px}
.callout.gap{border-color:var(--warn)}
.flags{margin-top:22px}
.flag{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.flag .dot{width:10px;height:10px;border-radius:50%;background:var(--bad);flex:none;margin-top:6px}
.flag span{color:var(--muted);font-size:14px}
.cta{background:var(--forest);color:var(--cream);padding:26px;margin-top:26px}
.cta h3{margin:0 0 6px;font-size:22px;color:var(--cream)}
.cta p{margin:0 0 16px;color:#d8e3d8}
.price{font-size:14px;color:#d8e3d8;text-align:center;margin-top:10px}
.calc{text-align:center;padding:40px 0}
.calc .ring{width:56px;height:56px;border:5px solid var(--cream-2);border-top-color:var(--terracotta);
  border-radius:50%;margin:0 auto 20px;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){.calc .ring{animation:none}}
.calc .msg{font-size:16px;color:var(--forest);font-weight:600;min-height:24px;font-family:Georgia,serif}
.hidden{display:none}

/* ---- lead magnet opt-in ---- */
.optin{background:var(--cream-2)}
.leadform{margin-top:22px;max-width:520px}
.lf-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.leadform input.f{margin-top:0}
.leadform .btn.big{margin-top:12px}
.lf-note{font-size:13px;color:var(--muted);margin-top:10px;text-align:center}
@media(max-width:560px){.lf-row{grid-template-columns:1fr}}
