/* PolicyLifeline VSL draft v2. Mobile-first. One self-hosted variable font, no framework. */
@font-face { font-family: 'Archivo'; src: url('assets/fonts/archivo-var-latin.woff2') format('woff2'); font-weight: 400 900; font-display: swap; }

:root {
  --navy: #0B1326; --navy-2: #131D36; --navy-3: #1C2847;
  --ink: #0B1326; --ink-soft: #3A4562; --paper: #F5F3EE; --white: #FFFFFF;
  --line: #E3DFD6; --accent: #FF7A1A; --accent-2: #FF9442; --accent-deep: #A84604;
  --green: #127A4B; --err: #B3261E; --focus: #2F6BFF;
  --content: 760px; --r: 14px;
  --font: 'Archivo', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Arial, sans-serif;
}
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { margin: 0; background: var(--paper); color: var(--ink); font: 400 1.0625rem/1.6 var(--font); -webkit-font-smoothing: antialiased; }
h1, h2, h3 { font-family: var(--font); margin: 0 0 .5em; letter-spacing: -.02em; }
h2 { font-size: clamp(1.85rem, 6.2vw, 2.9rem); font-weight: 900; line-height: 1.05; }
h1 { font-size: clamp(2rem, 7vw, 3.2rem); font-weight: 900; line-height: 1.04; }
h3 { font-size: 1.3rem; font-weight: 800; line-height: 1.2; }
p { margin: 0 0 1em; }
a { color: var(--accent-deep); }
strong, b { font-weight: 750; }
:focus-visible { outline: 3px solid var(--focus); outline-offset: 3px; border-radius: 6px; }

.wrap { width: 100%; max-width: 1140px; margin: 0 auto; padding: 0 20px; }
.wrap.narrow { max-width: calc(var(--content) + 40px); }
.narrow-head { max-width: var(--content); margin: 0 auto; text-align: center; }

.skip-link { position: absolute; left: -9999px; top: 8px; background: var(--navy); color: #fff; padding: 10px 14px; z-index: 100; }
.skip-link:focus { left: 8px; }

/* Placeholders: easy to spot */
.ph { background: #FFF1A8; color: #3B2F00; padding: 0 .3em; border-radius: 4px; font-weight: 650; }
.ph-box { border: 2px dashed #B59B1F; background: #FFF9D6; color: #3B2F00; border-radius: var(--r); }

/* Top bar */
.topbar { background: var(--navy); color: #fff; border-bottom: 1px solid rgba(255,255,255,.08); }
.topbar-inner { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-top: 12px; padding-bottom: 12px; }
.logo { display: inline-flex; align-items: center; gap: 9px; color: #fff; text-decoration: none; font-weight: 850; font-size: 1.15rem; letter-spacing: -.01em; }
.topbar-right { text-align: right; }
.call-link { font-weight: 750; color: #fff; text-decoration: none; font-size: .95rem; }
.call-link .ph { display: none; }
.lic-line { margin: 2px 0 0; font-size: .78rem; color: #B9C1D6; }
@media (min-width: 760px) { .call-link .ph { display: inline; } }

/* ===== HERO ===== */
/* hero */
.hero {
  background: radial-gradient(1200px 520px at 50% -10%, #23345E 0%, rgba(35,52,94,0) 70%), var(--navy);
  color: #fff; text-align: center; padding: 28px 0 44px;
}
.pill-tag { display: inline-block; margin: 0 0 16px; padding: 6px 14px; border-radius: 999px; background: rgba(255,122,26,.14); border: 1px solid rgba(255,122,26,.45); color: #FFB37A; font-weight: 750; font-size: .78rem; letter-spacing: .12em; text-transform: uppercase; }
.h1-offer { font-size: clamp(1.95rem, 8.4vw, 4.1rem); font-weight: 900; line-height: 1.02; letter-spacing: -.03em; margin: 0 auto 20px; max-width: 1000px; }
.h1-offer > span { display: block; }
.h1-offer .nw { white-space: nowrap; }
/* Wide screens: exactly three lines. Narrower: line 3 breaks only between its two sentences. */
@media (min-width: 1180px) { .h1-offer { font-size: 3.6rem; max-width: 1100px; } }
.hl { color: var(--accent); }
.lede { font-size: clamp(1rem, 2.6vw, 1.2rem); line-height: 1.55; color: #C9D0E0; max-width: 680px; margin: 0 auto 28px; }
.hero .fn { color: var(--accent-2); }
.fn { text-decoration: none; font-weight: 800; padding: 0 2px; }

/* VIDEO PLACEHOLDER: true 16:9, full content width */
.video-wrap { max-width: var(--content); margin: 0 auto; }
.video-ph {
  position: relative; width: 100%; max-width: var(--content); aspect-ratio: 16 / 9; margin: 0 0 12px;
  border-radius: var(--r); overflow: hidden;
  background: #0E1A2E radial-gradient(circle at 50% 45%, #2A3E66 0%, #0E1A2E 72%);
  display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; color: #fff;
  box-shadow: 0 0 0 1px rgba(255,255,255,.14), 0 24px 60px rgba(0,0,0,.45);
}
.video-ph-play { width: clamp(64px, 18%, 120px); height: auto; }
.video-ph-label { font-weight: 800; font-size: clamp(1.1rem, 3.4vw, 1.6rem); }
.video-ph-tag { position: absolute; top: 12px; left: 12px; font-size: .72rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; background: #FFF1A8; color: #3B2F00; padding: 4px 9px; border-radius: 4px; }
.video-caption { font-size: .9rem; color: #9FA9C2; margin: 0 0 26px; }

/* ===== BUTTONS: pill, loud, first-person ===== */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  min-height: 60px; padding: 16px 34px; border: 0; border-radius: 999px;
  background: linear-gradient(180deg, var(--accent-2) 0%, var(--accent) 100%); color: var(--navy);
  font: 850 1.12rem/1.1 var(--font); letter-spacing: .02em; text-transform: uppercase; text-decoration: none; cursor: pointer;
  box-shadow: 0 10px 28px rgba(255,122,26,.38), inset 0 -3px 0 rgba(0,0,0,.14);
  transition: transform .12s ease, box-shadow .12s ease;
}
.btn:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255,122,26,.5), inset 0 -3px 0 rgba(0,0,0,.14); }
.btn:active { transform: translateY(0); }
.btn[disabled] { opacity: .7; cursor: progress; transform: none; }
.btn-xl { min-height: 66px; font-size: 1.2rem; width: 100%; max-width: 460px; }
.btn-block { width: 100%; max-width: none; }
.cta-wrap { text-align: center; }
.trust-line { margin: 14px 0 0; font-size: .92rem; color: #B9C1D6; font-weight: 550; }

/* ===== VALUE STRIP ===== */
.strip { background: var(--white); border-bottom: 1px solid var(--line); }
.strip-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0; padding-top: 6px; padding-bottom: 6px; }
.stat { padding: 18px 14px 18px 16px; border-left: 4px solid var(--accent); margin: 10px 0; }
.stat-big { display: block; font-size: 2.3rem; font-weight: 900; line-height: 1; letter-spacing: -.03em; }
.stat-lbl { display: block; margin-top: 6px; font-size: .74rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-soft); }
@media (min-width: 760px) { .strip-grid { grid-template-columns: repeat(4, 1fr); } .stat { padding-left: 20px; } .stat-big { font-size: 2.8rem; } }

/* ===== SECTIONS ===== */
.sec { padding: 64px 0; }
@media (min-width: 760px) { .sec { padding: 96px 0; } }
.sec-light { background: var(--paper); }
.sec-white { background: var(--white); }
.sec-dark { background: var(--navy); color: #fff; }
.kicker { margin: 0 0 12px; font-size: .8rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--accent-deep); }
.kicker-on-dark, .sec-dark .kicker, .band-form .kicker { color: var(--accent); }
.form-card .kicker { color: var(--accent-deep); }
.big-p { font-size: clamp(1.1rem, 2.8vw, 1.3rem); line-height: 1.55; color: var(--ink-soft); }
.big-p strong { color: var(--ink); }

/* Three-way cards */
.three { display: grid; gap: 16px; margin: 34px 0 30px; }
@media (min-width: 860px) { .three { grid-template-columns: repeat(3, 1fr); gap: 20px; } }
.card { background: var(--paper); border: 1px solid var(--line); border-radius: var(--r); padding: 26px 24px; }
.card p { margin: 0; color: var(--ink-soft); }
.card-num { display: inline-block; font-size: .85rem; font-weight: 900; color: var(--accent-deep); letter-spacing: .08em; margin-bottom: 10px; }
.card-accent { background: var(--navy); border-color: var(--navy); color: #fff; }
.card-accent p { color: #C9D0E0; }
.card-accent .card-num, .card-accent .fn { color: var(--accent); }

.spoiler { max-width: var(--content); margin: 0 auto; border: 2px solid var(--navy); border-radius: var(--r); padding: 22px 24px; background: var(--white); }
.spoiler-h { font-weight: 850; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 12px; }
.checks, .crosses { list-style: none; padding: 0; margin: 0; }
.checks li, .crosses li { position: relative; padding-left: 32px; margin-bottom: 10px; }
.checks li::before, .crosses li::before { position: absolute; left: 0; top: .12em; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: .75rem; font-weight: 900; color: #fff; }
.checks li::before { content: "✓"; background: var(--green); }
.crosses li::before { content: "✕"; background: var(--err); }
.checks-lg li { font-size: 1.15rem; font-weight: 650; margin-bottom: 14px; }

/* Story */
.meet { display: flex; gap: 20px; align-items: flex-start; flex-wrap: wrap; }
.meet > div:last-child { flex: 1 1 280px; }
.photo-ph { flex: 0 0 120px; height: 150px; border: 2px dashed #B59B1F; background: #FFF9D6; color: #3B2F00; border-radius: var(--r); display: grid; place-items: center; text-align: center; font-size: .75rem; font-weight: 800; padding: 6px; }
.story-ph { padding: 16px 18px; }
.story-title { font-weight: 850; margin-bottom: 8px; }
.beats { margin: 0; padding-left: 20px; }
.beats li { margin-bottom: 6px; font-size: .97rem; }

/* Offer stack */
.stack { background: var(--white); color: var(--ink); border-radius: 18px; padding: 10px 20px 24px; box-shadow: 0 30px 70px rgba(0,0,0,.4); margin-top: 26px; }
.stack-list { list-style: none; margin: 0; padding: 0; }
.stack-list li { display: grid; grid-template-columns: 26px 1fr; gap: 2px 12px; padding: 13px 0; border-bottom: 1px solid var(--line); }
.stack-list .tick { width: 26px; height: 26px; border-radius: 50%; background: var(--green); color: #fff; display: grid; place-items: center; font-size: .8rem; font-weight: 900; margin-top: 1px; }
.stack-list strong { display: block; color: var(--ink); font-size: 1.07rem; }
.stack-list li > span:nth-child(2) { color: var(--ink-soft); }
.inc { grid-column: 2; font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; color: var(--green); }
@media (min-width: 640px) {
  .stack { padding: 14px 34px 32px; }
  .stack-list li { grid-template-columns: 26px 1fr auto; align-items: start; }
  .inc { grid-column: 3; padding-top: 4px; }
}
.stack-total { display: flex; justify-content: space-between; align-items: baseline; padding: 20px 0 22px; font-weight: 850; font-size: 1.1rem; text-transform: uppercase; letter-spacing: .06em; }
.stack-price { font-size: 2.6rem; font-weight: 900; letter-spacing: -.03em; color: var(--green); }
.reason { margin: 18px 0 0; font-size: .95rem; color: var(--ink-soft); text-align: center; }

/* Steps */
.steps { list-style: none; padding: 0; margin: 26px 0 0; display: grid; gap: 18px; }
.steps li { display: flex; gap: 16px; align-items: flex-start; font-size: 1.1rem; }
.num { flex: 0 0 44px; height: 44px; border-radius: 50%; background: var(--navy); color: var(--accent); display: grid; place-items: center; font-weight: 900; font-size: 1.15rem; }

/* Proof */
.quotes { display: grid; gap: 14px; margin: 26px 0 22px; }
@media (min-width: 700px) { .quotes { grid-template-columns: 1fr 1fr; } }
.quote { margin: 0; padding: 20px; }
.quote blockquote { margin: 0 0 8px; font-style: italic; }
.creds { display: grid; grid-template-columns: 1fr; gap: 1px; background: var(--line); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
@media (min-width: 560px) { .creds { grid-template-columns: 1fr 1fr; } }
.creds > div { background: var(--white); padding: 14px 16px; font-weight: 700; font-size: .95rem; }
.cred-lbl { display: block; font-size: .7rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 4px; }

/* Promise */
.promise { border: 2px solid var(--navy); border-radius: 18px; padding: 30px 24px; background: var(--paper); }
@media (min-width: 700px) { .promise { padding: 44px 48px; } }

/* ===== FORM ===== */
.band-form { background: radial-gradient(900px 500px at 50% 0%, #23345E 0%, rgba(35,52,94,0) 70%), var(--navy); }
.band-form:focus { outline: none; }
.form-card { background: var(--white); border-radius: 20px; padding: 26px 20px; box-shadow: 0 30px 70px rgba(0,0,0,.45); max-width: 580px; margin: 0 auto; }
@media (min-width: 700px) { .form-card { padding: 38px 40px; } }
.form-card h2 { font-size: clamp(1.9rem, 6vw, 2.5rem); }
.form-sub { color: var(--ink-soft); }
.field { margin: 0 0 16px; border: 0; padding: 0; }
.field label, .field legend { display: block; font-weight: 750; margin-bottom: 7px; padding: 0; }
.field input[type=text], .field input[type=tel] {
  width: 100%; min-height: 56px; padding: 12px 16px; font: 500 1.1rem var(--font); color: var(--ink);
  background: #FAFAF8; border: 2px solid #8A93A6; border-radius: 12px;
}
.field input:focus-visible { border-color: var(--focus); background: #fff; outline-offset: 1px; }
.field input[aria-invalid=true] { border-color: var(--err); }
.pills { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.pill { position: relative; margin: 0 !important; font-weight: 650 !important; }
.pill input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pill span { display: flex; align-items: center; justify-content: center; min-height: 54px; border: 2px solid #8A93A6; border-radius: 12px; background: #FAFAF8; font-size: 1rem; text-align: center; padding: 4px; }
.pill input:checked + span { background: var(--navy); border-color: var(--navy); color: #fff; }
.pill input:focus-visible + span { outline: 3px solid var(--focus); outline-offset: 2px; }
.times[data-invalid] .pill span { border-color: var(--err); }
.consent { display: flex; gap: 12px; align-items: flex-start; margin: 6px 0 4px; font-size: .88rem; line-height: 1.5; color: var(--ink-soft); }
.consent input { flex: 0 0 26px; width: 26px; height: 26px; margin: 2px 0 0; accent-color: var(--navy); cursor: pointer; }
.err { color: var(--err); font-size: .92rem; font-weight: 650; margin: 6px 0 0; }
.err:empty { display: none; }
.consent-err { margin: 0 0 10px 38px; }
.lead-form .btn { margin-top: 14px; }
.form-error { margin: 14px 0 0; padding: 12px 14px; border-radius: 12px; background: #FDECEA; color: #7A1A14; border: 1px solid #F1B5AE; font-weight: 650; }
.micro { font-size: .86rem; color: var(--ink-soft); margin: 14px 0 0; text-align: center; }
.near-cta-lic { font-size: .78rem; color: var(--ink-soft); margin: 16px 0 0; text-align: center; }

/* Fit */
.fit { display: grid; gap: 16px; margin-top: 22px; }
@media (min-width: 700px) { .fit { grid-template-columns: 1fr 1fr; } }
.fit-col { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); padding: 22px; }
.fit-h { font-weight: 850; font-size: .85rem; letter-spacing: .12em; text-transform: uppercase; }

/* FAQ */
.faq { margin-top: 20px; border-top: 2px solid var(--navy); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { cursor: pointer; padding: 20px 44px 20px 0; font-weight: 750; font-size: 1.08rem; position: relative; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 50%; transform: translateY(-52%); font-size: 1.7rem; font-weight: 500; line-height: 1; color: var(--accent-deep); }
.faq details[open] summary::after { content: "–"; }
.faq details p { padding: 0 0 20px; margin: 0; color: var(--ink-soft); }

/* Final CTA */
.final { text-align: center; }
.final-h { font-size: clamp(2.1rem, 8vw, 3.6rem); line-height: 1.02; margin-bottom: 28px; }
.final .fn { color: var(--accent-2); }
.ps { max-width: 600px; margin: 30px auto 0; color: #C9D0E0; font-size: 1.02rem; text-align: left; border-left: 4px solid var(--accent); padding-left: 16px; }

/* Footer */
.footer { background: #070D1B; color: #C3CADB; padding: 40px 0 120px; font-size: .86rem; border-top: 1px solid rgba(255,255,255,.08); }
.footer a { color: #fff; }
.footer .ph { color: #3B2F00; }
.copy { opacity: .8; }
@media (min-width: 900px) { .footer { padding-bottom: 40px; } }

/* Sticky mobile CTA */
.sticky-cta { position: fixed; left: 0; right: 0; bottom: 0; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(11,19,38,.96); border-top: 1px solid rgba(255,255,255,.1); z-index: 50; }
.sticky-cta .btn { min-height: 54px; box-shadow: none; }
@media (min-width: 900px) { .sticky-cta { display: none !important; } }

/* ===== v3: below-the-hero rework (Oct 22, 2026) ===== */
.stat-word { font-size: 2rem; }
@media (min-width: 760px) { .stat-word { font-size: 2.4rem; } }
.hl-ink { color: var(--accent-deep); }
.sec-dark .hl-ink { color: var(--accent); }
.on-dark, .sec-dark .big-p { color: #C9D0E0; }
.sec h2 { max-width: 22ch; }
.narrow-head h2, .final h2, .form-card h2 { margin-left: auto; margin-right: auto; }
.form-card h2 { max-width: none; }
.cta-row { text-align: center; margin-top: 34px; }

/* Agitate */
.agitate { background: var(--navy); color: #fff; border-radius: 18px; padding: 24px 22px; margin: 26px 0 28px; box-shadow: 0 20px 50px rgba(11,19,38,.25); }
.agitate-h { font-weight: 850; font-size: .82rem; letter-spacing: .12em; text-transform: uppercase; color: var(--accent); margin-bottom: 12px; }
.agitate-list { margin: 0; padding: 0; list-style: none; counter-reset: ag; }
.agitate-list li { counter-increment: ag; position: relative; padding: 12px 0 12px 44px; border-top: 1px solid rgba(255,255,255,.12); font-size: 1.12rem; color: #C9D0E0; }
.agitate-list li:first-child { border-top: 0; }
.agitate-list li::before { content: counter(ag); position: absolute; left: 0; top: 10px; width: 30px; height: 30px; border-radius: 50%; background: var(--accent); color: var(--navy); font-weight: 900; display: grid; place-items: center; font-size: .95rem; }
.agitate-list strong { color: #fff; }
@media (min-width: 700px) { .agitate { padding: 32px 36px; } }

/* Three-way cards: label on top */
.card-num { text-transform: uppercase; font-size: .78rem; letter-spacing: .12em; }
.card h3 { font-size: 1.45rem; }

/* Compare */
.compare { display: grid; gap: 14px; margin-top: 34px; }
@media (min-width: 760px) { .compare { grid-template-columns: 1fr 1fr; gap: 18px; } .opt-best { grid-column: 1 / -1; } }
@media (min-width: 1080px) { .compare { grid-template-columns: repeat(4, 1fr); } .opt-best { grid-column: 1 / -1; } }
.opt { background: var(--navy-2); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r); padding: 22px 20px; }
.opt h3 { font-size: 1.12rem; color: #fff; margin-bottom: 14px; }
.opt-rows { list-style: none; margin: 0; padding: 0; }
.opt-rows li { position: relative; padding: 0 0 0 30px; margin-bottom: 10px; font-size: .97rem; color: #C9D0E0; line-height: 1.45; }
.opt-rows li:last-child { margin-bottom: 0; }
.opt-rows b { color: #fff; font-weight: 750; }
.opt-rows li::before { position: absolute; left: 0; top: .1em; width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; font-size: .7rem; font-weight: 900; color: #fff; }
.opt-rows .yes::before { content: "✓"; background: var(--green); }
.opt-rows .no::before { content: "✕"; background: #6B2A2A; color: #FFB4AB; }
.opt-rows .mid::before { content: "!"; background: #6A5A12; color: #FFE58A; }
.opt-best { background: var(--white); border: 3px solid var(--accent); padding: 26px 22px; box-shadow: 0 24px 60px rgba(255,122,26,.18); }
.opt-best h3 { color: var(--ink); font-size: 1.4rem; }
.opt-best .opt-rows li { color: var(--ink-soft); font-size: 1.05rem; }
.opt-best .opt-rows b { color: var(--ink); }
.opt-best .opt-rows .mid::before { background: #FFF1A8; color: #3B2F00; }
.opt-best .fn { color: var(--accent-deep); }
.opt-flag { display: inline-block; margin: 0 0 10px; padding: 5px 12px; border-radius: 999px; background: var(--accent); color: var(--navy); font-weight: 850; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; }
@media (min-width: 1080px) { .opt-best .opt-rows { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 28px; } .opt-best .opt-rows li { margin: 0; } }

/* Myths */
.myths { display: grid; gap: 14px; margin-top: 26px; }
.myth { background: var(--white); border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; }
.myth p { margin: 0; padding: 16px 20px; }
.myth-q { font-weight: 800; font-size: 1.12rem; color: var(--ink); text-decoration: line-through; text-decoration-color: rgba(179,38,30,.55); text-decoration-thickness: 2px; }
.myth-q .myth-tag { text-decoration: none; }
.myth-a { background: #F0F7F3; color: var(--ink-soft); border-top: 1px solid var(--line); }
.myth-tag { display: inline-block; vertical-align: 2px; margin-right: 8px; padding: 2px 8px; border-radius: 4px; font-size: .68rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; background: #FBE3E1; color: var(--err); }
.myth-tag-true { background: var(--green); color: #fff; }

/* Offer stack heading on dark */
.sec-dark h2 { color: #fff; }

/* Reviews */
.video-t { max-width: var(--content); margin: 30px auto 22px; }
.video-ph-t { margin: 0; }
.reviews { display: grid; gap: 14px; margin: 0 0 24px; }
@media (min-width: 860px) { .reviews { grid-template-columns: repeat(3, 1fr); gap: 18px; } }
.review { position: relative; margin: 0; padding: 40px 20px 20px; display: flex; flex-direction: column; gap: 10px; }
.review-tag { position: absolute; top: 12px; left: 12px; font-size: .68rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; background: #FFF1A8; color: #3B2F00; border: 1px solid #B59B1F; padding: 2px 8px; border-radius: 4px; }
.review-stars { font-weight: 850; color: #8A6D00; letter-spacing: .04em; }
.review-quote { margin: 0; font-size: 1.08rem; font-weight: 600; line-height: 1.5; }
.review figcaption { display: flex; flex-direction: column; gap: 2px; font-size: .9rem; margin-top: auto; }
.review-name { font-weight: 850; }
.review-src { font-size: .78rem; opacity: .85; }
.creds { max-width: var(--content); margin: 0 auto; }

/* Why now */
.why-now { margin-top: 22px; background: var(--navy); color: #fff; border-radius: 18px; padding: 26px 24px; }
@media (min-width: 700px) { .why-now { padding: 34px 48px; } }
.why-now .kicker { color: var(--accent); }
.now-list { list-style: none; margin: 0; padding: 0; }
.now-list li { padding: 12px 0 12px 30px; position: relative; border-top: 1px solid rgba(255,255,255,.12); color: #C9D0E0; font-size: 1.05rem; }
.now-list li:first-child { border-top: 0; padding-top: 4px; }
.now-list li::before { content: "→"; position: absolute; left: 0; color: var(--accent); font-weight: 900; }
.now-list li:first-child::before { top: 4px; }
.now-list strong { color: #fff; display: block; }

/* FAQ tweaks */
.faq summary { font-size: 1.1rem; }
.faq details[open] summary { color: var(--accent-deep); }
.faq details p { font-size: 1.02rem; }

/* Final */
.final-pre { font-size: clamp(1.1rem, 3.6vw, 1.5rem); font-weight: 800; color: #C9D0E0; margin-bottom: 8px; }
.final-sub { color: #C9D0E0; font-size: 1.1rem; margin: -10px 0 26px; }
/* v3 fixes after screenshot review */
.myth-q { text-decoration: none; }
.video-ph-t .video-ph-label { font-size: clamp(.9rem, 3vw, 1.3rem); padding: 0 16px; text-align: center; }
.now-list li::before { top: 12px; line-height: 1.6; }
.now-list li:first-child::before { top: 4px; }
/* v3.1: nameless origin section, generic wide image slot */
#story .meet { display: block; }
#story .photo-ph { width: 100%; height: auto; aspect-ratio: 16 / 9; margin: 6px 0 22px; font-size: .85rem; }

/* ===== v4: not-ready / not-qualified pages ===== */
.sub-hero { padding: 44px 0 56px; }
.sub-h1 { font-size: clamp(2rem, 8vw, 3.4rem); font-weight: 900; line-height: 1.04; letter-spacing: -.03em; margin: 0 auto 18px; max-width: 18ch; }
.sub-hero .lede { margin-bottom: 0; }
.on-dark-strong { color: #fff; }
.sub-final { margin-bottom: 18px; }
.soft-note { margin: 18px 0 0; color: #9FA9C2; font-size: .95rem; }
.magnet { position: relative; padding: 44px 24px 28px; text-align: center; }
.magnet h3 { font-size: 1.5rem; }
.btn-ghost { background: transparent; color: #3B2F00; border: 2px dashed #B59B1F; box-shadow: none; font-size: .95rem; min-height: 52px; }
.btn-ghost:hover { transform: none; box-shadow: none; }
.reasons { list-style: none; padding: 0; margin: 24px 0 0; border-top: 2px solid var(--navy); }
.reasons li { padding: 18px 0 18px 34px; border-bottom: 1px solid var(--line); position: relative; color: var(--ink-soft); font-size: 1.05rem; }
.reasons li::before { content: "→"; position: absolute; left: 4px; top: 18px; color: var(--accent-deep); font-weight: 900; }
.reasons strong { color: var(--ink); display: block; font-size: 1.12rem; margin-bottom: 2px; }
.next { display: grid; gap: 14px; margin-top: 24px; }
@media (min-width: 700px) { .next { grid-template-columns: 1fr 1fr; gap: 18px; } }
.next-card { background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--r); padding: 22px; }
.next-card p { margin: 0 0 .6em; color: var(--ink-soft); }
.next-card p:last-child { margin-bottom: 0; }
.next-card a { font-weight: 750; }
.footer-sub { padding-bottom: 40px; }
.sec-dark .big-p strong { color: #fff; }
@media (min-width: 760px) { .sub-h1 { max-width: 22ch; } }

/* ===== v5: qualifying question pills ===== */
.q { margin-bottom: 20px; }
fieldset[data-invalid] .pill span { border-color: var(--err); }
.pills-2 { grid-template-columns: 1fr 1fr; }
.pills-stack { grid-template-columns: 1fr; }
.pills-age { grid-template-columns: repeat(3, 1fr); }
@media (min-width: 560px) { .pills-age { grid-template-columns: repeat(5, 1fr); } }
.pills-2 .pill span, .pills-stack .pill span { line-height: 1.25; }
.form-card .q legend { font-size: 1.02rem; }
/* not-qualified: 3 next-step cards */
@media (min-width: 700px) { .next-3 { grid-template-columns: repeat(3, 1fr); } }

/* final-expense hero button spacing */
.sub-hero .btn { margin-top: 22px; }
