:root{
  --sage:#8FA68E;
  --sage-deep:#6E8A6D;
  --stone:#F5F1EA;
  --stone-deep:#ECE6DA;
  --navy:#2C3E50;
  --ink:#1A1A1A;
  --mute:#6B7280;
  --line:rgba(44,62,80,.10);
  --r-card:20px;
  --r-btn:12px;
  --shadow:0 1px 2px rgba(44,62,80,.04), 0 8px 24px rgba(44,62,80,.06);
}

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;
  font:17px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  color:var(--ink);
  background:var(--stone);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;height:auto}
a{color:var(--navy)}
h1,h2,h3{color:var(--navy);margin:0 0 .4em;letter-spacing:-.01em;font-weight:650}
h1{font-size:clamp(34px,6vw,56px);line-height:1.07;letter-spacing:-.02em;font-weight:700}
h2{font-size:clamp(26px,3.6vw,38px);line-height:1.15;margin-bottom:.8em}
h3{font-size:19px;line-height:1.3}
p{margin:0 0 1em}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

.wrap{max-width:1120px;margin:0 auto;padding:0 24px}
.narrow{max-width:680px}
.center{text-align:center}
.eyebrow{
  text-transform:uppercase;letter-spacing:.12em;font-size:12px;
  color:var(--sage-deep);font-weight:600;margin:0 0 16px;
}
.footnote{color:var(--mute);font-size:13px;text-align:center;margin-top:24px}

/* HERO */
.hero{padding:64px 0 80px;background:linear-gradient(180deg,var(--stone) 0%, #FBF8F2 100%)}
.hero-grid{display:grid;gap:48px;align-items:center;grid-template-columns:1fr}
@media(min-width:880px){.hero-grid{grid-template-columns:1.1fr .9fr;gap:64px}}
.hero .lede{font-size:18px;color:var(--mute);max-width:560px;margin-bottom:28px}
.hero-art img{margin:0 auto;max-width:520px;width:100%}

/* CAPTURE FORM */
.capture{
  display:flex;flex-wrap:wrap;gap:8px;
  background:#fff;border:1px solid var(--line);border-radius:var(--r-btn);
  padding:6px;box-shadow:var(--shadow);max-width:520px;
}
.capture input{
  flex:1 1 220px;min-width:0;
  border:0;background:transparent;
  padding:14px 14px;font:inherit;color:var(--ink);
  outline:none;
}
.capture input::placeholder{color:#9aa0a6}
.capture button{
  flex:0 0 auto;
  background:var(--navy);color:#fff;border:0;cursor:pointer;
  padding:14px 22px;border-radius:9px;font:inherit;font-weight:600;
  min-height:48px;
  transition:background .15s;
}
.capture button:hover{background:#1f2d3b}
.capture .form-msg{flex-basis:100%;margin:6px 4px 4px;font-size:14px;color:var(--mute)}
.capture.success{background:#EEF4ED;border-color:#cfe0cd}
.capture.success input,.capture.success button{display:none}
.capture.success .form-msg{color:var(--sage-deep);font-weight:600}

.ghost{
  display:inline-block;margin-top:18px;
  color:var(--navy);text-decoration:none;font-weight:550;
  border-bottom:1px solid var(--line);padding-bottom:2px;
}
.ghost:hover{border-color:var(--navy)}

/* PROBLEM */
.problem{padding:88px 0;text-align:center}
.problem .big{font-size:24px;line-height:1.4;color:var(--navy);font-weight:500}
.problem p{color:var(--mute);font-size:17px}
.problem .bridge{color:var(--sage-deep);font-weight:600;font-size:18px;margin-top:24px}

/* BENTO / CARDS */
section{padding:80px 0}
.bento{display:grid;gap:20px;margin-top:32px}
.bento.three{grid-template-columns:1fr}
@media(min-width:760px){.bento.three{grid-template-columns:repeat(3,1fr)}}
.card{
  background:#fff;border:1px solid var(--line);
  border-radius:var(--r-card);padding:28px;
  box-shadow:var(--shadow);
}
.card .step{
  display:inline-block;font-size:12px;font-weight:700;
  color:var(--sage-deep);background:#EEF4ED;
  padding:4px 10px;border-radius:999px;margin-bottom:14px;letter-spacing:.08em;
}
.card p{color:var(--mute);font-size:15.5px;margin:0}
.card h3{margin-bottom:8px}
.stat-card .stat{
  font-size:44px;font-weight:700;color:var(--sage-deep);
  letter-spacing:-.02em;line-height:1;margin-bottom:14px;
}
.stat-card .pull{color:var(--navy);font-weight:600;margin-top:14px;font-size:15.5px}

.how{background:var(--stone)}
.benefits{background:#FBF8F2}

/* OBJECTIONS */
.objections{background:var(--stone)}
.objections details{
  background:#fff;border:1px solid var(--line);
  border-radius:14px;padding:18px 22px;margin:12px 0;
  box-shadow:var(--shadow);
}
.objections summary{
  cursor:pointer;font-weight:600;color:var(--navy);font-size:17px;
  list-style:none;padding-right:24px;position:relative;
}
.objections summary::after{
  content:"+";position:absolute;right:0;top:-2px;font-size:22px;color:var(--sage-deep);
  transition:transform .2s;
}
.objections details[open] summary::after{content:"–"}
.objections details p{margin:14px 0 4px;color:var(--mute);font-size:15.5px}

/* PRICING */
.pricing{background:#FBF8F2;text-align:center}
.price-card{
  background:#fff;border:1px solid var(--line);border-radius:24px;
  padding:48px 32px;max-width:520px;margin:0 auto;
  box-shadow:var(--shadow);
}
.price{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:8px 0 16px}
.price .amt{font-size:64px;font-weight:700;color:var(--navy);letter-spacing:-.03em;line-height:1}
.price .per{font-size:18px;color:var(--mute)}
.price-card .incl{color:var(--ink);font-size:16px}
.price-card .anchor{color:var(--mute);font-size:14px;max-width:380px;margin:16px auto 28px}
.btn{
  display:inline-block;background:var(--navy);color:#fff;
  padding:16px 28px;border-radius:var(--r-btn);text-decoration:none;
  font-weight:600;min-height:48px;
}
.btn:hover{background:#1f2d3b}

/* PROOF */
.proof{background:var(--stone);text-align:center}
.proof h2{margin-bottom:32px}
.proof blockquote{
  margin:0 0 20px;padding:24px 28px;
  background:#fff;border:1px solid var(--line);border-radius:16px;
  font-size:17px;color:var(--navy);font-style:italic;line-height:1.5;
  box-shadow:var(--shadow);
}
.proof .meta{color:var(--mute);font-size:14px;margin-top:24px}

/* FINAL */
.final{background:linear-gradient(180deg,#FBF8F2 0%, var(--stone) 100%);text-align:center}
.final h2{font-size:clamp(28px,4vw,40px);max-width:560px;margin:0 auto 32px}
.big-capture{margin:0 auto}

/* FOOTER */
footer{padding:32px 0 48px;border-top:1px solid var(--line);background:var(--stone)}
.foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;color:var(--mute);font-size:14px}
.foot a{color:var(--mute);text-decoration:none}
.foot a:hover{color:var(--navy)}
.foot p{margin:0}

@media(max-width:560px){
  section{padding:64px 0}
  .hero{padding:48px 0 64px}
  .price-card{padding:36px 24px}
}
