/* Veblen v2 — inner pages. Same tokens as main.css, zero GSAP, built for ~1s LCP. */
/* design tokens moved to tokens.css (loaded first) */

* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  background: var(--ink);
  color: var(--paper);
  font-family: var(--body);
  font-weight: 300;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
::selection { background: var(--orange); color: var(--ink); }
em.serif { font-family: var(--serif); font-style: italic; font-weight: 400; }
a { color: inherit; }

/* nav moved to nav.css (shared across both page families) */

.btn {
  display: inline-block; font-family: var(--display); font-weight: 600;
  font-size: 0.86rem; letter-spacing: 0.04em; text-decoration: none;
  padding: 0.78rem 1.5rem; border-radius: 999px; border: 1px solid var(--orange);
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease;
  cursor: pointer;
}
.btn--solid { background: var(--orange); color: var(--ink); }
.btn--solid:hover { background: var(--orange-up); transform: translateY(-1px); }
.btn--ghost { color: var(--paper); background: transparent; }
.btn--ghost:hover { background: rgba(255, 128, 0, 0.12); }
.btn--lg { padding: 1rem 2.2rem; font-size: 0.95rem; }

/* ── hero ── */
.phero { padding: clamp(4rem, 10vh, 7rem) var(--pad) clamp(3rem, 7vh, 5rem); max-width: 1200px; margin: 0 auto; }
.phero__crumb { font-size: 0.75rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--grey-dim); margin-bottom: 1.6rem; }
.phero__crumb a { color: var(--grey-dim); text-decoration: none; }
.phero__crumb a:hover { color: var(--orange); }
.phero h1 {
  font-family: var(--display); font-weight: 800; letter-spacing: -0.02em;
  font-size: clamp(2.1rem, 5.2vw, 4rem); line-height: 1.04; max-width: 18ch;
}
.phero h1 .hl { color: var(--orange); }
.phero__sub { margin-top: 1.6rem; max-width: 58ch; font-size: clamp(1rem, 1.4vw, 1.18rem); color: var(--grey); }
.phero__sub strong { color: var(--paper); font-weight: 500; }
.phero__ctas { margin-top: 2.2rem; display: flex; gap: 1rem; flex-wrap: wrap; align-items: center; }
.phero__note { font-size: 0.78rem; color: var(--grey-dim); }

/* ── proof bar ── */
.proofbar {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1px; background: var(--line); border-block: 1px solid var(--line);
  max-width: 1200px; margin: 0 auto;
}
.proofbar > div { background: var(--ink); padding: 1.6rem 1.4rem; }
.proofbar b { display: block; font-family: var(--display); font-weight: 800; font-size: clamp(1.5rem, 2.6vw, 2.2rem); color: var(--orange); letter-spacing: -0.01em; }
.proofbar span { font-size: 0.8rem; color: var(--grey-dim); letter-spacing: 0.04em; }

/* ── sections ── */
.psec { padding: clamp(3.4rem, 9vh, 6.5rem) var(--pad); max-width: 1200px; margin: 0 auto; }
.psec--tint { background: var(--ink-2); max-width: none; }
.psec--tint > .psec__in { max-width: 1200px; margin: 0 auto; }
.psec h2 { font-family: var(--display); font-weight: 700; font-size: clamp(1.6rem, 3.4vw, 2.6rem); letter-spacing: -0.015em; line-height: 1.12; max-width: 26ch; }
.psec .lead { margin-top: 1.2rem; max-width: 62ch; color: var(--grey); font-size: 1.04rem; }
.psec .lead strong, .qa p strong { color: var(--paper); font-weight: 500; }

/* answer-first block (AEO) */
.answer {
  border-left: 3px solid var(--orange); background: rgba(255, 128, 0, 0.06);
  padding: 1.3rem 1.6rem; margin-top: 1.8rem; max-width: 70ch; border-radius: 0 10px 10px 0;
}
.answer p { color: var(--paper); font-size: 1.02rem; }

/* feature grid */
.fgrid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 1.2rem; margin-top: 2.4rem; }
.fcard { border: 1px solid var(--line); border-radius: 14px; padding: 1.7rem 1.5rem; background: var(--ink-2); }
.fcard h3 { font-family: var(--display); font-weight: 600; font-size: 1.06rem; margin-bottom: 0.6rem; }
.fcard h3 .n { color: var(--orange); font-weight: 800; margin-right: 0.5rem; }
.fcard p { font-size: 0.92rem; color: var(--grey); }

/* case strip */
.cases { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 1.2rem; margin-top: 2.4rem; }
.case { border: 1px solid var(--line); border-radius: 14px; padding: 1.8rem 1.6rem; background: var(--ink); }
.case__client { font-size: 0.74rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--grey-dim); }
.case b { display: block; font-family: var(--display); font-weight: 800; font-size: 1.9rem; color: var(--orange); margin: 0.5rem 0 0.2rem; }
.case p { font-size: 0.9rem; color: var(--grey); }
.case a { color: var(--orange); font-size: 0.84rem; text-decoration: none; }

/* steps */
.steps { counter-reset: step; margin-top: 2.4rem; display: grid; gap: 0; }
.step { display: grid; grid-template-columns: 64px 1fr; gap: 1.2rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.step:last-child { border-bottom: 1px solid var(--line); }
.step__n { font-family: var(--display); font-weight: 800; font-size: 1.7rem; color: var(--orange); }
.step h3 { font-family: var(--display); font-weight: 600; font-size: 1.05rem; margin-bottom: 0.35rem; }
.step p { font-size: 0.94rem; color: var(--grey); max-width: 64ch; }

/* Q&A — answer-first, AEO food */
.qa { margin-top: 2.2rem; max-width: 76ch; }
.qa details { border-top: 1px solid var(--line); }
.qa details:last-child { border-bottom: 1px solid var(--line); }
.qa summary {
  font-family: var(--display); font-weight: 600; font-size: 1.02rem;
  padding: 1.15rem 2.2rem 1.15rem 0; cursor: pointer; list-style: none; position: relative;
}
.qa summary::after { content: "+"; position: absolute; right: 0.3rem; color: var(--orange); font-weight: 400; font-size: 1.3rem; }
.qa details[open] summary::after { content: "–"; }
.qa p { padding: 0 0 1.3rem; color: var(--grey); font-size: 0.96rem; max-width: 70ch; }

/* review strip */
.revstrip { display: grid; grid-template-columns: repeat(auto-fit, minmax(270px, 1fr)); gap: 1.2rem; margin-top: 2.2rem; }
.rev { border: 1px solid var(--line); border-radius: 14px; padding: 1.5rem; background: var(--ink-2); font-size: 0.9rem; color: var(--grey); }
.rev__stars { color: var(--orange); letter-spacing: 0.18em; margin-bottom: 0.6rem; font-size: 0.8rem; }
.rev b { color: var(--paper); font-weight: 500; display: block; margin-top: 0.8rem; font-size: 0.82rem; }

/* CTA + lead form */
.pcta { background: var(--ink-2); border-top: 1px solid var(--line); }
.pcta__in { max-width: 1100px; margin: 0 auto; padding: clamp(3.5rem, 9vh, 6rem) var(--pad); display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; }
@media (max-width: 900px) { .pcta__in { grid-template-columns: 1fr; } }
.pcta h2 { font-family: var(--display); font-weight: 800; font-size: clamp(1.7rem, 3.6vw, 2.7rem); letter-spacing: -0.015em; line-height: 1.1; }
.pcta__sub { margin-top: 1rem; color: var(--grey); max-width: 46ch; }
.pcta__alt { margin-top: 1.6rem; font-size: 0.86rem; color: var(--grey-dim); }
.pcta__alt a { color: var(--orange); }

.pform { display: grid; gap: 0.85rem; }
.pform label { font-size: 0.78rem; letter-spacing: 0.05em; color: var(--grey-dim); display: grid; gap: 0.3rem; }
.pform input, .pform select {
  width: 100%; background: var(--ink); border: 1px solid var(--line); border-radius: 9px;
  color: var(--paper); font-family: var(--body); font-size: 0.95rem; padding: 0.75rem 0.9rem;
}
.pform input:focus, .pform select:focus { outline: none; border-color: var(--orange); }
.pform__row { display: grid; grid-template-columns: 1fr 1fr; gap: 0.85rem; }
@media (max-width: 560px) { .pform__row { grid-template-columns: 1fr; } }
.pform__success { color: var(--orange); font-weight: 500; }

/* footer */

/* reveal-on-scroll (CSS-only fallback friendly) */
@media (prefers-reduced-motion: no-preference) {
  [data-fade] { opacity: 0; transform: translateY(14px); transition: opacity 0.55s ease, transform 0.55s ease; }
  [data-fade].in { opacity: 1; transform: none; }
}

/* media row: testimonial player + site screenshot */
.mediarow { display: grid; grid-template-columns: minmax(220px, 300px) 1fr; gap: 1.6rem; margin-top: 2.4rem; align-items: start; }
@media (max-width: 760px) { .mediarow { grid-template-columns: 1fr; } }
.vcard { margin: 0; }
.vcard__frame { position: relative; aspect-ratio: 9 / 16; border-radius: 16px; overflow: hidden; background: var(--ink-2); border: 1px solid rgba(255,128,0,0.3); box-shadow: 0 30px 80px -25px rgba(0,0,0,0.7); }
.vcard__frame img, .vcard__frame video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.vcard__play { position: absolute; inset: 0; margin: auto; width: 62px; height: 62px; border-radius: 50%; border: 0; cursor: pointer; background: var(--orange); color: var(--ink); font-size: 1.1rem; display: grid; place-items: center; transition: transform 0.25s ease; }
.vcard__play:hover { transform: scale(1.1); }
.vcard figcaption { font-size: 0.82rem; color: var(--grey-dim); margin-top: 0.7rem; }
.siteshot { display: block; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; text-decoration: none; color: var(--grey); background: var(--ink); transition: border-color 0.25s ease, transform 0.25s ease; }
.siteshot:hover { border-color: var(--orange); transform: translateY(-3px); }
.siteshot__bar { display: flex; align-items: center; gap: 0.35rem; padding: 0.55rem 0.8rem; border-bottom: 1px solid var(--line); background: var(--ink-2); }
.siteshot__bar i { width: 9px; height: 9px; border-radius: 50%; background: var(--grey-dim); opacity: 0.5; }
.siteshot__bar b { margin-left: 0.5rem; font-family: var(--display); font-weight: 500; font-size: 0.74rem; color: var(--grey-dim); letter-spacing: 0.03em; }
.siteshot > img { width: 100%; max-height: 330px; object-fit: cover; object-position: top; display: block; }
.siteshot__cap { display: block; padding: 0.9rem 1rem; font-size: 0.8rem; line-height: 1.4; }
.siteshot__cap strong { display: block; font-family: var(--display); font-weight: 700; color: var(--paper); font-size: 0.88rem; margin-bottom: 0.15rem; }

/* ── form consent line (privacy) ── */
.pform__consent { font-size: 0.7rem; line-height: 1.55; color: var(--grey-dim); margin-top: 0.5rem; }
.pform__consent a { color: var(--grey); text-decoration: underline; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.pform__error { color: #e05c5c; font-size: 0.8rem; line-height: 1.5; margin-top: 0.6rem; }
.pform__error a { color: inherit; text-decoration: underline; }

/* ════════════════════════════════════════════════════
   V2 SKIN — components ported from the approved website-v2 /
   growth-v2 landing pages (03 Jul 2026). Locked copy lives in
   the HTML; these are presentation only.
   ════════════════════════════════════════════════════ */

/* — review band (marquee under hero) — */
.revband{padding:0 0 clamp(2.2rem,5vh,3.4rem);border-bottom:1px solid var(--line);background:linear-gradient(180deg,transparent,rgba(255,128,0,.04))}
.revband__badge{display:flex;align-items:center;justify-content:center;gap:.85rem;flex-wrap:wrap;padding:1.1rem var(--pad) 1.4rem}
.revband__badge svg{width:26px;height:26px}
.revband__badge strong{font-family:var(--display);font-weight:800;font-size:1.25rem}
.revband__stars{color:#fbbc04;letter-spacing:.14em;font-size:1rem}
.revband__meta{color:var(--grey);font-size:.92rem}
.revband__meta b{color:var(--paper)}
.rev-track{display:flex;gap:1rem;overflow-x:auto;padding:.2rem var(--pad) 1.2rem;cursor:grab;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.rev-track::-webkit-scrollbar{display:none}
.rev-track:active{cursor:grabbing}
.rcard{flex:0 0 auto;width:min(21rem,78vw);background:#fff;color:#202124;border-radius:14px;padding:1.05rem 1.2rem;box-shadow:0 12px 34px -18px rgba(0,0,0,.65);user-select:none}
.rcard__head{display:flex;align-items:center;gap:.65rem}
.rcard__avatar{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--display);font-weight:600;font-size:.8rem;flex:none}
.rcard__name{font-weight:600;font-size:.88rem;line-height:1.2}
.rcard__when{color:#70757a;font-size:.72rem}
.rcard__g{margin-left:auto;width:16px;height:16px;flex:none}
.rcard__stars{color:#fbbc04;font-size:.85rem;letter-spacing:.12em;margin:.45rem 0 .3rem}
.rcard__text{color:#3c4043;font-size:.85rem;line-height:1.5}
.rev-hint{text-align:center;color:var(--grey-dim);font-size:.78rem;letter-spacing:.06em;padding:0 var(--pad)}
.statbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.55rem 1.4rem;max-width:62rem;margin:1.5rem auto 0;padding:0 var(--pad);text-align:center;color:var(--grey);font-size:.92rem;line-height:1.4}
.statbar>span{display:inline-flex;align-items:center;gap:.55rem}
.statbar b{color:var(--paper);font-weight:600}
.statbar .star{color:var(--orange);font-weight:800;font-family:var(--display);letter-spacing:-.01em}
.statbar i{flex:none;width:5px;height:5px;border-radius:50%;background:rgba(255,128,0,.55)}
.clock{margin-top:1.6rem;padding:1rem 1.25rem;border:1px solid var(--line);border-left:2px solid var(--orange);border-radius:10px;background:rgba(255,128,0,.04)}
.clock p{margin:0;color:var(--grey);font-size:.95rem;line-height:1.6}
.clock em{color:var(--paper);font-style:italic}

/* — sticky mobile CTA bar — */
.stickybar{position:fixed;left:0;right:0;bottom:0;z-index:70;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:rgba(10,9,8,.9);backdrop-filter:blur(14px);border-top:1px solid var(--line);display:none;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.stickybar .btn{width:100%}
.stickybar.hide{transform:translateY(110%)}

/* — exit-intent popup — */
.exit{position:fixed;inset:0;z-index:80;display:flex;align-items:center;justify-content:center;padding:1.2rem}
.exit[hidden]{display:none}
.exit__back{position:absolute;inset:0;background:rgba(10,9,8,.78);backdrop-filter:blur(6px)}
.exit__card{position:relative;max-width:30rem;width:100%;background:var(--ink-2);border:1px solid rgba(255,128,0,.45);border-radius:1.1rem;padding:2.4rem 2.2rem 2rem;box-shadow:0 40px 110px -30px rgba(0,0,0,.9);animation:exitin .45s cubic-bezier(.22,1,.36,1)}
.exit__x{position:absolute;top:.9rem;right:.9rem;width:2.2rem;height:2.2rem;border-radius:50%;border:1px solid var(--line);color:var(--grey);font-size:1.15rem;line-height:1;transition:color .2s,border-color .2s}
.exit__x:hover{color:var(--orange);border-color:var(--orange)}
.exit__flag{font-family:var(--display);font-weight:800;font-size:.7rem;letter-spacing:.24em;text-transform:uppercase;color:var(--orange);margin-bottom:.9rem}
.exit__card h3{font-size:clamp(1.4rem,3vw,1.8rem);letter-spacing:-.02em}
.exit__card h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange)}
.exit__card > p{color:var(--grey);font-size:.94rem;margin-top:.9rem}
.exit__card .btn{width:100%;margin-top:1.5rem}
.exit__no{display:block;margin:1rem auto 0;color:var(--grey-dim);font-size:.85rem;text-decoration:underline;transition:color .2s}
.exit__no:hover{color:var(--grey)}
@keyframes exitin{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}

/* — day 1-5 interactive timeline — */
.tl{margin-top:clamp(2.2rem,5vh,3.4rem);max-width:64rem}
.tl__rail{height:5px;border-radius:3px;background:rgba(242,237,230,.09);overflow:hidden;margin-bottom:1.1rem}
.tl__rail i{display:block;height:100%;width:20%;background:linear-gradient(90deg,var(--orange-burn),var(--orange));border-radius:3px;transition:width .55s cubic-bezier(.22,1,.36,1)}
.tl__tabs{display:grid;grid-template-columns:repeat(5,1fr);gap:.5rem}
.tl__tab{text-align:left;padding:.85rem .9rem;border-radius:.75rem;border:1px solid var(--line);background:rgba(242,237,230,.03);transition:border-color .25s,background .25s,transform .3s cubic-bezier(.22,1,.36,1)}
.tl__tab b{display:block;font-family:var(--serif);font-style:italic;font-weight:400;font-size:1.15rem;color:var(--grey-dim);transition:color .25s}
.tl__tab span{display:block;font-family:var(--display);font-weight:600;font-size:.82rem;margin-top:.2rem;color:var(--grey)}
.tl__tab:hover{border-color:rgba(255,128,0,.45);transform:translateY(-2px)}
.tl__tab.is-on{background:rgba(255,128,0,.1);border-color:var(--orange)}
.tl__tab.is-on b{color:var(--orange)}
.tl__tab.is-on span{color:var(--paper)}
.tl__panels{margin-top:1.1rem;border:1px solid var(--line);border-radius:.9rem;background:var(--ink-2);overflow:hidden}
.tl__panel{display:none;padding:1.7rem 1.8rem;animation:tlin .45s cubic-bezier(.22,1,.36,1)}
.tl__panel.is-on{display:block}
.tl__panel h3{font-size:clamp(1.15rem,1.8vw,1.5rem)}
.tl__panel h3 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange)}
.tl__panel > p{color:var(--grey);font-size:.98rem;margin-top:.7rem;max-width:56ch}
.tl__panel ul{margin-top:1rem;display:grid;gap:.35rem}
.tl__panel ul li{color:var(--grey);font-size:.92rem;padding-left:1.5rem;position:relative}
.tl__panel ul li::before{content:"→";position:absolute;left:0;color:var(--orange)}
.tl__panel ul li strong{color:var(--paper);font-weight:600}
@keyframes tlin{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* — teardown / free-offer section — */
.teardown{background:radial-gradient(80% 70% at 50% 0%,rgba(255,128,0,.08),transparent 60%),var(--ink)}
.teardown .wrap{max-width:64rem}
.teardown__free{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--display);font-weight:800;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;background:var(--orange);color:var(--ink);padding:.4rem 1rem;border-radius:2rem;margin-bottom:1.4rem}
.teardown h2 em{font-family:var(--serif);font-style:italic;font-weight:400;color:var(--orange)}
.td-grid{margin-top:2.4rem;display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:.9rem;overflow:hidden;counter-reset:td}
.td-grid li{background:var(--ink-2);padding:1rem 1.3rem;color:var(--grey);font-size:.92rem;display:flex;gap:.9rem;align-items:baseline;counter-increment:td}
.td-grid li::before{content:counter(td,decimal-leading-zero);font-family:var(--serif);font-style:italic;color:var(--orange);font-size:1.05rem;flex:none}
.td-grid li strong{color:var(--paper);font-weight:600}
.teardown__cta{margin-top:2.4rem;display:flex;align-items:center;gap:1.4rem;flex-wrap:wrap}
.teardown__note{margin-top:1.4rem;color:var(--grey-dim);font-size:.88rem;max-width:56ch}

/* — missed-lead calculator (growth-v2) — */

/* — free growth audit offer card (growth-v2) — */

/* — v2 responsive behaviour — */
@media (max-width:720px){ .tl__tabs{grid-template-columns:repeat(5,1fr);gap:.35rem} .tl__tab{padding:.6rem .5rem} .tl__tab b{font-size:.95rem} .tl__tab span{font-size:.62rem;letter-spacing:0} .td-grid{grid-template-columns:1fr} }
@media (max-width:820px){ .stickybar{display:block} body{padding-bottom:76px} }

/* — v2 reskin of existing components — */
.btn { border-radius: 3rem; padding: 1rem 2.1rem; font-weight: 600; font-size: 0.96rem; transition: transform .35s cubic-bezier(.22,1,.36,1), background .25s, color .25s, border-color .25s, box-shadow .35s; }
.btn--solid:hover { background: var(--orange-up); transform: translateY(-3px); box-shadow: 0 14px 40px -12px rgba(255,128,0,.55); }
.btn--ghost { border: 1px solid rgba(242,237,230,.25); }
.btn--ghost:hover { border-color: var(--orange); color: var(--orange); background: transparent; transform: translateY(-3px); }
.btn--lg { padding: 1.15rem 2.6rem; font-size: 1.05rem; }
.phero h1 { font-size: clamp(2.5rem, 6vw, 4.8rem); font-weight: 900; line-height: .99; letter-spacing: -0.035em; text-transform: uppercase; }
.phero h1 .hl { color: var(--orange); }
.psec h2, .pcta h2 { font-weight: 800; font-size: clamp(1.9rem, 4.2vw, 3.2rem); letter-spacing: -0.025em; line-height: 1.05; }
.fcard { transition: transform .45s cubic-bezier(.22,1,.36,1), border-color .3s, box-shadow .45s; }
.fcard:hover { transform: translateY(-8px); border-color: rgba(255,128,0,.5); box-shadow: 0 26px 60px -28px rgba(255,128,0,.35); }
.rev { background: #fff; border: 0; color: #3c4043; box-shadow: 0 12px 34px -18px rgba(0,0,0,.65); }
.rev p { color: #3c4043; }
.rev b { color: #202124; }
.rev__stars { color: #fbbc04; letter-spacing: .12em; }
/* — missed-lead calculator (growth-v2, full block) — */
    .calc { background: var(--ink-2); padding-top: 0; }
    .calc__box {
      max-width: 62rem; border: 1px solid rgba(255,128,0,0.35); border-radius: 1.1rem;
      background: var(--ink); padding: clamp(1.6rem, 3.5vw, 3rem);
      display: grid; grid-template-columns: 1.1fr 1fr; gap: clamp(1.8rem, 4vw, 4rem); align-items: center;
    }
    .calc__box h3 { font-size: clamp(1.4rem, 2.6vw, 2.1rem); letter-spacing: -0.02em; max-width: 18ch; }
    .calc__box h3 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--orange); }
    .calc__lead { color: var(--grey); font-size: 0.95rem; margin-top: 0.9rem; max-width: 40ch; }
    .calc__ctrl { margin-top: 1.6rem; }
    .calc__ctrl + .calc__ctrl { margin-top: 1.4rem; }
    .calc__ctrl label { display: flex; justify-content: space-between; align-items: baseline; gap: 1rem; font-family: var(--display); font-size: 0.86rem; font-weight: 500; color: var(--grey); letter-spacing: 0.03em; }
    .calc__ctrl output { font-family: var(--display); font-weight: 800; color: var(--paper); font-size: 1.05rem; font-variant-numeric: tabular-nums; white-space: nowrap; }
    .calc__ctrl input[type="range"] { width: 100%; margin-top: 0.7rem; accent-color: var(--orange); height: 1.2rem; cursor: pointer; }
    .calc__result { text-align: left; border-left: 1px solid var(--line); padding-left: clamp(1.4rem, 3vw, 3rem); }
    .calc__result .calc__label { font-family: var(--display); font-size: 0.76rem; letter-spacing: 0.26em; text-transform: uppercase; color: var(--grey-dim); }
    .calc__num {
      font-family: var(--display); font-weight: 900; font-size: clamp(2.6rem, 5.5vw, 4.6rem);
      letter-spacing: -0.035em; line-height: 1; color: var(--orange); margin-top: 0.6rem; font-variant-numeric: tabular-nums;
    }
    .calc__num small { font-size: 0.38em; font-weight: 700; color: var(--paper); }
    .calc__walk { color: var(--paper); font-family: var(--display); font-weight: 600; font-size: 1rem; margin-top: 0.7rem; }
    .calc__note { color: var(--grey-dim); font-size: 0.8rem; line-height: 1.6; margin-top: 1rem; max-width: 34ch; }
    .calc__cta { margin-top: 1.4rem; }
    @media (max-width: 880px) {
      .calc__box { grid-template-columns: 1fr; }
      .calc__result { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 1.6rem; }
    }

/* — free growth audit offer card (growth-v2, full block) — */
    .offer__step {
      margin-top: clamp(2.2rem, 5vh, 3.6rem); border: 1px solid rgba(255,128,0,0.45); border-radius: 1.1rem;
      background: linear-gradient(120deg, rgba(255,128,0,0.10), rgba(255,128,0,0.02) 60%), var(--ink-2);
      padding: clamp(1.75rem, 3vw, 2.8rem);
      display: grid; grid-template-columns: 1.3fr 1fr; gap: clamp(1.8rem, 4vw, 4rem); align-items: center;
    }
    .offer__flag { font-family: var(--display); font-weight: 800; font-size: 0.7rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--orange); margin-bottom: 0.9rem; }
    .offer__step h3 { font-size: clamp(1.5rem, 2.8vw, 2.3rem); letter-spacing: -0.02em; }
    .offer__step h3 em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--orange); }
    .offer__price { font-family: var(--display); font-weight: 900; font-size: clamp(2.2rem, 3.4vw, 3.1rem); letter-spacing: -0.03em; line-height: 1; }
    .offer__price span { font-size: 0.85rem; font-weight: 400; color: var(--grey-dim); letter-spacing: 0; display: block; margin-top: 0.4rem; }
    .offer__step ul { margin-top: 1.2rem; }
    .offer__step ul li { padding: 0.55rem 0 0.55rem 1.5rem; position: relative; color: var(--grey); font-size: 0.94rem; border-top: 1px solid var(--line); }
    .offer__step ul li strong { color: var(--paper); }
    .offer__step ul li::before { content: "+"; position: absolute; left: 0; color: var(--orange); font-family: var(--display); font-weight: 700; }
    .offer__side { text-align: left; }
    .offer__side .btn { margin-top: 1.4rem; width: 100%; }
    .offer__keep { color: var(--grey); font-size: 0.9rem; margin-top: 1rem; }
    .offer__keep strong { color: var(--paper); }
    @media (max-width: 880px) { .offer__step { grid-template-columns: 1fr; } }
    .offer__then { margin-top: clamp(2.6rem, 6vh, 4rem); font-family: var(--display); font-weight: 700; font-size: clamp(1.2rem, 2vw, 1.6rem); letter-spacing: -0.01em; }
    .offer__then em { font-family: var(--serif); font-style: italic; font-weight: 400; color: var(--orange); }


/* — qualifier form (dedicated /qualify/ page; ported from main.css) — */
.qualify { padding: var(--gap) var(--pad); }
.qualify__inner { max-width: 68rem; margin-inline: auto; display: grid; grid-template-columns: 1.05fr 1fr; gap: clamp(2rem, 5vw, 5rem); align-items: center; text-align: left; }
.qualify__pitch .sub { max-width: 34ch; }
.qualify :is(h1, h2) { font-size: clamp(2.3rem, 4.2vw, 4rem); max-width: none; }
.qualify__proof { list-style: none; margin: 2.2rem 0 0; display: grid; gap: 0.85rem; }
.qualify__proof li { display: flex; align-items: baseline; gap: 0.55rem; color: var(--grey); font-size: 0.98rem; line-height: 1.4; }
.qualify__stat { color: var(--orange); font-family: var(--display); font-weight: 800; letter-spacing: -0.01em; }
.qualify__steps { list-style: none; counter-reset: qstep; margin: 1.9rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--line); display: grid; gap: 0.8rem; }
.qualify__steps li { counter-increment: qstep; display: flex; align-items: center; gap: 0.7rem; color: var(--grey-dim); font-size: 0.9rem; }
.qualify__steps li::before { content: counter(qstep); flex: none; display: inline-flex; align-items: center; justify-content: center; width: 1.5rem; height: 1.5rem; border-radius: 50%; border: 1px solid rgba(255,128,0,0.4); color: var(--orange); font-family: var(--display); font-weight: 700; font-size: 0.75rem; }
.qform { margin-top: 0; text-align: left; }
.qualify__direct { margin: 1.9rem 0 0; padding: 1.5rem 0 0; border-top: 1px solid var(--line); display: grid; gap: 0.7rem; }
.qualify__direct-h { margin: 0 0 0.2rem; font-family: var(--display); font-weight: 600; font-size: 0.78rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--grey-dim); }
.qualify__direct a { display: inline-flex; align-items: center; gap: 0.6rem; width: max-content; color: var(--paper); font-family: var(--display); font-weight: 600; font-size: 1.05rem; text-decoration: none; transition: color 0.2s ease; }
.qualify__direct a svg { flex: none; color: var(--orange); }
.qualify__direct a:hover { color: var(--orange); }
@media (max-width: 900px) {
  .qualify__inner { grid-template-columns: 1fr; gap: 2.5rem; max-width: 42rem; text-align: center; }
  .qualify__pitch .sub { margin-inline: auto; }
  .qualify__proof, .qualify__steps { justify-items: center; }
  .qualify__proof li, .qualify__steps li { justify-content: center; }
  .qualify__steps { border-top: none; padding-top: 0; }
  .qualify__direct { justify-items: center; }
  .qualify__direct a { width: auto; }
}
.qform__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.2rem; }
.qform label { display: block; font-family: var(--display); font-size: 0.82rem; font-weight: 500; color: var(--grey); letter-spacing: 0.04em; }
.qform .wide { grid-column: 1 / -1; }
.qform input, .qform select {
  width: 100%; margin-top: 0.45rem; padding: 0.95rem 1.1rem;
  background: rgba(242,237,230,0.05); border: 1px solid var(--line); border-radius: 0.6rem;
  color: var(--paper); font-family: var(--body); font-size: 1rem;
  transition: border-color 0.25s, background 0.25s;
}
.qform input:focus, .qform select:focus { outline: none; border-color: var(--orange); background: rgba(255,128,0,0.05); }
.qform select option { background: var(--ink-2); }
.qform__route { min-height: 1.8rem; margin-top: 1.5rem; color: var(--orange); font-family: var(--serif); font-style: italic; font-size: 1.15rem; text-align: center; }
.qform__submit { margin-top: 1.1rem; width: 100%; }
.qform__success { margin-top: 1.5rem; color: var(--orange); font-family: var(--display); font-weight: 500; text-align: center; }
@media (max-width: 640px) { .qform__grid { grid-template-columns: 1fr; } }

.qualify .sub { color: var(--grey); max-width: 52ch; margin-top: 1.25rem; font-size: clamp(1rem, 1.2vw, 1.15rem); }
.qualify :is(h1, h2) em { font-family: var(--serif); font-style: italic; color: var(--orange); font-weight: 400; }
.qform__consent { margin-top: 1.2rem; font-size: 0.72rem; line-height: 1.55; color: var(--grey-dim); text-align: center; max-width: 60ch; margin-left: auto; margin-right: auto; }
.qform__consent a { color: var(--grey); text-decoration: underline; }
.hp-field { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.qform__error { margin-top: 1.2rem; color: #e05c5c; font-size: 0.85rem; text-align: center; }
.qform__error a { color: inherit; text-decoration: underline; }

/* ── qualify page — phone fixes ── */
@media (max-width: 480px) {
  .qualify { padding: 2rem var(--pad) 3rem; }
  .qualify :is(h1, h2) { font-size: clamp(1.9rem, 9vw, 2.8rem); }
  .qualify .sub { font-size: 0.93rem; }
  .qform { margin-top: 1.5rem; }
  .qform input, .qform select { font-size: 0.88rem; padding: 0.65rem 0.85rem; }
}
