:root{
  --green:#1d3b2f;--green-2:#2b5543;--green-3:#e6efe9;
  --cream:#f8f4ea;--paper:#fffdf8;--ink:#17201b;--muted:#56605a;
  --tan:#9a5b2b;--gold:#c39a45;--gold-2:#f3e7c9;--red:#b3261e;--blue:#1f5fbf;
  --line:#e2dac7;--radius:14px;--shadow:0 1px 2px rgba(23,32,27,.06),0 6px 20px rgba(23,32,27,.07);
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.55 var(--sans);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:var(--green-2);text-underline-offset:3px}
h1,h2,h3{font-family:var(--serif);line-height:1.15;color:var(--green);margin:0 0 .5em;letter-spacing:-.01em}
h1{font-size:clamp(2.1rem,7vw,3.4rem)}
h2{font-size:clamp(1.55rem,4.6vw,2.2rem)}
h3{font-size:1.25rem}
p{margin:0 0 1em}
.wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.narrow{max-width:720px}
.muted{color:var(--muted)}
.small{font-size:.88rem}
.eyebrow{font:700 .78rem/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--tan);margin-bottom:.9em;display:block}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:52px;padding:0 22px;border-radius:999px;border:2px solid var(--green);background:var(--green);color:#fff;font:700 1rem/1 var(--sans);text-decoration:none;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;color:var(--green)}
.btn.gold{background:var(--gold);border-color:var(--gold);color:var(--ink)}
.btn.danger{background:transparent;color:var(--red);border-color:var(--red)}
.btn.sm{min-height:44px;padding:0 16px;font-size:.92rem}
.btn.block{width:100%}
.btn[disabled]{opacity:.45;cursor:not-allowed}
/* site header */
.site-head{position:sticky;top:0;z-index:20;background:rgba(248,244,234,.92);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.site-head .wrap{display:flex;align-items:center;gap:14px;min-height:64px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--green);font:700 1.25rem/1 var(--serif)}
.logo img{width:34px;height:34px;border-radius:8px}
.nav{margin-left:auto;display:flex;align-items:center;gap:6px}
.nav a{padding:10px 10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:.95rem;border-radius:8px}
.nav a.btn{color:#fff;padding:0 18px;min-height:44px}
@media (max-width:720px){.nav a.hide-m{display:none}}
/* hero */
.hero{padding:56px 0 40px;background:radial-gradient(1200px 400px at 80% -10%,#efe4c8 0,transparent 60%)}
.hero .tag{font:italic 600 clamp(1.15rem,3.6vw,1.45rem)/1.3 var(--serif);color:var(--tan);margin-bottom:.6em}
.hero p.lead{font-size:1.15rem;max-width:36em}
.hero .ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero-grid{display:grid;gap:36px;align-items:center}
@media (min-width:880px){.hero-grid{grid-template-columns:1.15fr .85fr}}
.phone{justify-self:center;width:min(300px,78vw);border-radius:38px;padding:10px;background:#0f1a15;box-shadow:0 30px 60px rgba(23,32,27,.25)}
.phone img{border-radius:30px;width:100%}
section{padding:48px 0}
section.alt{background:var(--paper);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.steps{display:grid;gap:16px;margin-top:20px}
@media (min-width:760px){.steps{grid-template-columns:repeat(3,1fr)}}
.card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:20px;box-shadow:var(--shadow)}
.step-n{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--green);color:#fff;font:700 1.05rem var(--serif);margin-bottom:10px}
.card ul{padding-left:1.1em;margin:.4em 0 0}
.card li{margin:.25em 0}
.quote{border-left:4px solid var(--gold);padding:6px 0 6px 18px;font:italic 1.2rem/1.5 var(--serif);color:var(--green)}
.feature-list{display:grid;gap:12px;margin-top:16px}
@media (min-width:760px){.feature-list{grid-template-columns:repeat(2,1fr)}}
.feature{display:flex;gap:12px;align-items:flex-start}
.feature .ic{flex:none;width:40px;height:40px;border-radius:10px;background:var(--gold-2);display:grid;place-items:center;font-size:1.25rem}
.signup{background:var(--green);color:#f4efe2;border-radius:20px;padding:28px}
.signup h2,.signup h3{color:#fff}
.signup .ph{border:2px dashed rgba(255,255,255,.35);border-radius:12px;padding:18px;margin-top:14px;text-align:center}
.gear-grid{display:grid;gap:14px}
@media (min-width:760px){.gear-grid{grid-template-columns:repeat(3,1fr)}}
.pill{display:inline-block;font:700 .75rem/1 var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:6px 10px;border-radius:999px;background:var(--gold-2);color:var(--tan)}
.prose h2{margin-top:1.4em}
.prose ul{padding-left:1.2em}
.site-foot{padding:36px 0 48px;color:var(--muted);font-size:.92rem;border-top:1px solid var(--line);margin-top:24px}
.site-foot .links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:10px}
.site-foot a{color:var(--muted);font-weight:600}
