/* ==========================================================================
   Lakeway Auto Buy Center — prototype design system
   Foundation: lakeway_final_work (Oswald display · DM Sans body · white
   foundation · Lakeway green accents). Tokens first, components after.
   ========================================================================== */

:root {
  --green: #0b6b3a;
  --green-2: #159653;
  --green-3: #dff3e7;
  --green-4: #f0f8f3;
  --green-deep: #085a30;      /* hover on green */
  --forest: #0b2a1b;          /* chrome and closing bands */
  --mint: #8fe9b1;            /* accent on forest */
  --mint-2: #a8f0c3;
  --tint: #e9f3ec;            /* the one green-tinted band */
  --paper-warm: #faf9f5;      /* page ground */
  --paper-band: #f3f1ea;      /* warm band */
  --forest-rgb: 11, 42, 27;
  --green-rgb: 11, 107, 58;
  --paper-rgb: 250, 249, 245;
  --frost-blur: 28px;
  --frost-blur-m: 20px;
  --ink: #0c1711;
  --ink-2: #2d3a33;
  --muted: #5f6e66;
  --paper: #ffffff;
  --paper-2: #fcfbf8;
  --soft: var(--paper-band);
  --line: #d9e2dc;
  --line-2: #c6d3cb;
  --red: #b8463a;
  --amber: #a86a12;
  --amber-bg: #fff6e5;
  --display: "Oswald", "Arial Narrow", Impact, sans-serif;
  --body: "DM Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
  --shadow: 0 18px 50px rgba(9, 44, 26, .12);
  --shadow-sm: 0 6px 18px rgba(9, 44, 26, .08);
  --radius: 14px;
  --radius-lg: 22px;
  --page: 1180px;
  --ease: cubic-bezier(.2, .7, .2, 1);
  --focus: 0 0 0 3px #fff, 0 0 0 6px var(--green-2);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  margin: 0; color: var(--ink); background: var(--paper);
  font-family: var(--body); font-size: 16px; line-height: 1.55;
  -webkit-font-smoothing: antialiased; overflow-x: hidden;
}
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
p a:not([class]), li a:not([class]), .side-card a:not([class]) { color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.main-nav a, .footer-grid nav a, .internal-bar a { text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: none; box-shadow: var(--focus); border-radius: 6px; }
[hidden] { display: none !important; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

.page-width { width: min(var(--page), calc(100% - 48px)); margin-inline: auto; }
.narrow { max-width: 820px; }
.section { padding: 104px 0; position: relative; }
.section.tight { padding: 72px 0; }
.section.soft { background: var(--soft); }
.section.green { background: var(--green); color: #fff; }

.skip-link { position: fixed; z-index: 999; top: 12px; left: 12px; padding: 10px 14px; background: #fff; border: 1px solid var(--line); border-radius: 8px; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }

/* Type ----------------------------------------------------------------- */
.eyebrow { margin: 0 0 16px; color: var(--green); font: 600 12px/1.2 var(--display); text-transform: uppercase; letter-spacing: .2em; }
h1, h2, h3, h4 { margin: 0; }
h1, h2 { font-family: var(--display); font-weight: 600; text-transform: uppercase; line-height: .98; letter-spacing: -.02em; }
h1 { font-size: clamp(54px, 7vw, 104px); margin-bottom: 22px; }
h1.as-h2 { font-size: clamp(40px, 5vw, 72px); }
h2 { font-size: clamp(40px, 5vw, 72px); margin-bottom: 22px; }
h3 { font: 600 clamp(22px, 2.2vw, 30px)/1.1 var(--display); }
h1 em, h2 em { color: var(--green-2); font-style: normal; }
.lede { max-width: 640px; margin: 0; color: var(--ink-2); font-size: 18px; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.section-heading { max-width: 820px; margin-bottom: 48px; }
.section-heading .lede { max-width: 680px; }
.section-heading.center { margin-inline: auto; text-align: center; }
.section-heading.page-head { max-width: none; display: grid; grid-template-columns: 1.15fr .85fr; column-gap: 56px; align-items: end; }
.section-heading.page-head .eyebrow { grid-column: 1; grid-row: 1; }
.section-heading.page-head h1, .section-heading.page-head h2 { grid-column: 1; grid-row: 2; margin-bottom: 0; }
.section-heading.page-head .lede { grid-column: 2; grid-row: 1 / 3; align-self: end; max-width: none; padding-bottom: 6px; }
.section-heading.page-head > p:not(.eyebrow):not(.lede) { grid-column: 1 / -1; margin: 10px 0 0; }
.section-heading.page-head .principles, .section-heading.page-head .hero-actions { grid-column: 2; }
.section-heading.page-head .principles { margin-top: 0; }
.section-heading.page-head .hero-actions { margin-top: 18px !important; }
@media (max-width: 980px) { .section-heading.page-head { display: block; } .section-heading.page-head h1, .section-heading.page-head h2 { margin-bottom: 22px; } }
.section-heading.center .lede { margin-inline: auto; }
.strike { text-decoration: line-through; text-decoration-thickness: .06em; text-decoration-color: var(--red); }

/* Buttons --------------------------------------------------------------- */
.button {
  display: inline-flex; justify-content: center; align-items: center; gap: 12px;
  min-height: 52px; padding: 0 22px; border: 1px solid var(--green); border-radius: 10px;
  background: var(--green); color: #fff; font-weight: 700; cursor: pointer;
  box-shadow: 0 10px 26px rgba(var(--green-rgb), .16);
  transition: transform .18s var(--ease), background .18s var(--ease), box-shadow .18s var(--ease);
}
.button:hover { transform: translateY(-2px); background: var(--green-deep); }
.button:active { transform: translateY(0); }
.button[disabled], .button[aria-disabled="true"] { opacity: .55; cursor: not-allowed; transform: none; box-shadow: none; }
.button.small { min-height: 42px; padding-inline: 16px; font-size: 14px; }
.button.secondary { background: #fff; color: var(--green); box-shadow: none; }
.button.secondary:hover { background: var(--green-4); }
.button.ghost { background: transparent; color: var(--ink); border-color: var(--line-2); box-shadow: none; }
.button.ghost:hover { background: var(--soft); }
.button.light { background: #fff; color: var(--green); border-color: #fff; }
.button.light:hover { background: #edf9f1; }
.button.outline-light { background: transparent; color: #fff; border-color: rgba(255,255,255,.5); box-shadow: none; }
.button.outline-light:hover { background: rgba(255,255,255,.1); }
.button.full { width: 100%; }
.text-button { padding: 0; border: 0; background: none; color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.text-button:hover { color: var(--green-deep); }

/* Header ---------------------------------------------------------------- */
.site-header { position: sticky; top: 0; z-index: 60; background: rgba(255,255,255,.92); backdrop-filter: blur(14px); border-bottom: 1px solid var(--line); }
.nav-wrap { width: min(var(--page), calc(100% - 48px)); min-height: 80px; margin-inline: auto; display: flex; align-items: center; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 14px; flex: none; }
.brand img { height: 34px; width: auto; }
.brand .descriptor { display: block; padding-left: 14px; border-left: 1px solid var(--line-2); color: var(--green); font: 600 16px/1 var(--display); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.brand .descriptor small { display: block; margin-bottom: 3px; font-size: 9px; letter-spacing: .22em; color: var(--muted); }
.main-nav { margin-left: auto; display: flex; align-items: center; gap: 18px; color: var(--ink-2); font-size: 14px; font-weight: 600; }
.main-nav a { white-space: nowrap; padding: 6px 0; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.main-nav a:hover, .main-nav a[aria-current="page"] { color: var(--green); border-bottom-color: var(--green-2); }
.nav-toggle { display: none; margin-left: auto; min-height: 42px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 8px; background: #fff; font-weight: 700; }
.nav-cta { white-space: nowrap; }

/* Hero ------------------------------------------------------------------ */
.hero { padding: 72px 0 0; overflow: hidden; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.hero-kicker { margin: 0 0 14px; color: var(--green); font: 600 20px/1.2 var(--display); letter-spacing: .08em; text-transform: uppercase; }
.hero-body { max-width: 600px; margin: 0 0 30px; color: var(--ink-2); font-size: 18px; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 22px; }
.hero-note { margin: 28px 0 0; color: var(--muted); font-size: 14px; max-width: 540px; }
.hero-visual { position: relative; }
.hero-photo { width: 100%; height: 640px; object-fit: cover; object-position: 50% 42%; border-radius: 28px 28px 28px 8px; box-shadow: var(--shadow); }
.hero-card { position: absolute; left: -26px; bottom: 28px; width: min(340px, 82%); padding: 18px 20px; border: 1px solid rgba(var(--green-rgb),.18); border-radius: var(--radius); background: rgba(255,255,255,.97); box-shadow: var(--shadow); }
.hero-card .label { display: block; color: var(--green); font: 600 10px/1 var(--display); text-transform: uppercase; letter-spacing: .16em; }
.hero-card strong { display: block; margin: 6px 0 4px; font: 600 22px/1.1 var(--display); }
.hero-card small { display: block; color: var(--muted); font-size: 12px; }
.hero-card .steps { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 12px; }
.hero-card .steps li { display: flex; gap: 8px; align-items: center; }
.hero-card .steps i { width: 8px; height: 8px; border-radius: 50%; background: var(--green-2); flex: none; }
.hero-card .steps li.pending i { background: var(--line-2); }
.fact-bar { margin-top: 72px; display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.fact-bar div { padding: 22px 26px; border-right: 1px solid var(--line); }
.fact-bar div:last-child { border-right: 0; }
.fact-bar strong { display: block; color: var(--green); font: 600 24px/1.1 var(--display); }
.fact-bar span { display: block; color: var(--muted); font-size: 13px; margin-top: 2px; }
.verify { color: var(--amber); font-size: 11px; font-weight: 700; letter-spacing: .04em; }

/* Hero sweep panel + two doors ------------------------------------------- */
.hero-card.sweep { width: min(380px, 88%); bottom: 18px; }
.hero-card .stops { list-style: none; margin: 10px 0 8px; padding: 0; display: grid; gap: 0; }
.hero-card .stops li { display: grid; grid-template-columns: 22px 1fr; gap: 10px; padding: 7px 0; border-top: 1px solid var(--line); align-items: start; font-size: 12px; }
.hero-card .stops li:first-child { border-top: 0; }
.hero-card .stops b { display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--green-3); color: var(--green); font: 600 11px var(--display); }
.hero-card .stops strong { display: block; font-size: 13px; }
.hero-card .stops span { color: var(--muted); }
.doors { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }
.door { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.door.talk { background: var(--paper-2); }
.door h3 { margin-bottom: 8px; }
.door-line { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 12px 14px; margin-top: 10px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; }
.door-line:hover { border-color: var(--green); }
.door-line strong { display: block; font-size: 15px; }
.door-line small { display: block; color: var(--muted); font-size: 13px; }
.door-line b { color: var(--green); font-size: 22px; }
.regional { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.regional li { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.regional em { font-style: normal; color: var(--green); font: 600 10px var(--display); letter-spacing: .12em; text-transform: uppercase; margin-left: 8px; }
.regional b { font: 600 16px var(--display); }
.accept-steps ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.accept-steps li { display: grid; grid-template-columns: 24px 1fr; gap: 10px; align-items: start; font-size: 14px; color: var(--ink-2); }
.accept-steps b { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--green); color: #fff; font: 600 12px var(--display); }
.subscribe { display: grid; grid-template-columns: minmax(200px, 320px) auto; gap: 10px; align-items: end; }
@media (max-width: 980px) { .doors { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .door { padding: 20px; } .subscribe { grid-template-columns: 1fr; } .hero-card.sweep { width: auto; } .hero-card .stops li { padding: 5px 0; } }

/* Comparison (old way / Lakeway way): open ledger, no cards -------------- */
.compare { display: grid; grid-template-columns: 1fr 1fr; gap: 0 56px; }
.compare .new-way { padding-left: 56px; border-left: 1px solid var(--line-2); }
.panel-label { margin: 0 0 6px; font: 600 11px var(--display); text-transform: uppercase; letter-spacing: .17em; color: var(--green); }
.panel-label.red { color: var(--red); }
.compare ol { list-style: none; margin: 0; padding: 0; }
.compare li { display: grid; grid-template-columns: 34px 1fr auto; gap: 12px; align-items: start; padding: 16px 0; border-top: 1px solid var(--line); font-size: 15px; }
.compare li > span { font: 500 16px var(--display); padding-top: 2px; }
.old-way li > span { color: var(--red); }
.new-way li > span { color: var(--green); }
.compare li small { font: 600 10px var(--display); letter-spacing: .08em; text-transform: uppercase; padding-top: 5px; white-space: nowrap; }
.old-way li small { color: var(--red); }
.new-way li small { color: var(--green); }
.new-way li strong { display: block; font: 600 20px/1.15 var(--display); margin-bottom: 3px; }
.new-way li div { color: var(--ink-2); font-size: 14px; }
.compare-total { margin: 0; padding: 18px 0 0; border-top: 2px solid var(--ink); font-size: 15px; color: var(--ink-2); }
.compare-total b { display: block; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); margin-bottom: 4px; }
.compare-total.red { border-top-color: var(--red); }
.compare-total.red b { color: var(--red); }
@media (max-width: 980px) { .compare { grid-template-columns: 1fr; gap: 40px; } .compare .new-way { padding-left: 0; border-left: 0; } }

/* Two-column editorial ("How we do the work") --------------------------- */
.split { display: grid; grid-template-columns: .9fr 1.1fr; gap: 64px; align-items: start; }
.split.reverse { grid-template-columns: 1.1fr .9fr; }
.source-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.source-list li { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 18px 0; border-bottom: 1px solid var(--line); align-items: start; }
.source-list strong { display: block; font-size: 16px; }
.source-list span { display: block; color: var(--muted); font-size: 14px; margin-top: 2px; }
.tag { display: inline-block; padding: 4px 9px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.tag.estimate { background: #e9eef6; color: #2f4a76; }
.tag.offer { background: var(--amber-bg); color: var(--amber); }
.tag.lakeway { background: var(--green-3); color: var(--green); }
.tag.note { background: var(--soft); color: var(--muted); }
.keep-box { margin-top: 28px; padding: 24px 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-2); }
.keep-box h3 { margin-bottom: 10px; }
.keep-box ul { margin: 0; padding-left: 18px; color: var(--ink-2); }
.keep-box li { margin: 6px 0; }
.kbb-strip { display: grid; grid-template-columns: auto 1fr; gap: 18px; align-items: center; margin-top: 28px; padding: 16px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; }
.kbb-strip img { width: 180px; border-radius: 6px; border: 1px solid var(--line); }
.kbb-strip p { margin: 0; font-size: 14px; color: var(--ink-2); }

/* Report document ------------------------------------------------------- */
.report-doc { border: 1px solid var(--line-2); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); overflow: hidden; }
.report-doc .illustrative { display: flex; gap: 10px; align-items: center; padding: 12px 22px; background: var(--amber-bg); color: var(--amber); font-size: 13px; font-weight: 700; border-bottom: 1px solid #f1dfb8; }
.report-doc .illustrative i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--amber); }
.report-head { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.report-head img { height: 22px; width: auto; }
.report-head .doc-title { font: 600 12px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--green); }
.report-id { color: var(--muted); font: 600 11px var(--display); letter-spacing: .12em; }
.report-body { padding: 22px 24px; display: grid; gap: 22px; }
.report-vehicle strong { display: block; font: 600 26px/1.05 var(--display); }
.report-vehicle span { display: block; color: var(--muted); font-size: 14px; margin-top: 4px; }
.buyer-strip { display: grid; grid-template-columns: auto 1fr auto; gap: 14px; align-items: center; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper-2); }
.avatar, .buyer-strip .avatar { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--green); color: #fff; font: 700 13px var(--body); flex: none; }
.avatar.lg { width: 64px; height: 64px; font-size: 18px; }
.buyer-strip strong { display: block; font-size: 15px; }
.buyer-strip div > span { display: block; color: var(--muted); font-size: 13px; }
.comp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.comp-table th { text-align: left; padding: 10px 8px; border-bottom: 1px solid var(--line-2); color: var(--muted); font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.comp-table td { padding: 12px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.comp-table td.num { font: 600 17px var(--display); white-space: nowrap; }
.comp-table td .sub { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.comp-table tr.lakeway-row td { background: var(--green-4); }
.explain { padding: 18px 20px; border-left: 3px solid var(--green-2); background: var(--paper-2); border-radius: 0 var(--radius) var(--radius) 0; }
.explain p { margin: 0 0 10px; font-size: 15px; color: var(--ink-2); }
.explain p:last-child { margin: 0; }
.explain .who { font-size: 12px; color: var(--muted); }
.firm-offer { display: grid; grid-template-columns: 1fr auto; gap: 16px; align-items: center; padding: 22px 24px; border-radius: var(--radius-lg); background: var(--green); color: #fff; }
.firm-offer .label { display: block; color: #a9efc5; font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.firm-offer strong { display: block; font: 600 40px/1 var(--display); margin: 6px 0; }
.firm-offer small { display: block; color: rgba(255,255,255,.85); font-size: 13px; }
.firm-offer .pickup { padding: 10px 14px; border: 1px solid rgba(255,255,255,.4); border-radius: 10px; font-size: 13px; text-align: center; max-width: 180px; }
.terms { display: grid; gap: 8px; font-size: 13px; color: var(--muted); }
.terms .placeholder { color: var(--amber); font-weight: 700; }
.report-actions { display: grid; gap: 10px; }
@media (min-width: 701px) { .report-actions { grid-template-columns: 1fr 1fr; } }

/* Offer Market Report ------------------------------------------------------ */
.rpt-head { display: grid; grid-template-columns: auto 1fr; gap: 24px; align-items: center; padding: 22px 24px; border-bottom: 1px solid var(--line); }
.rpt-brand { display: grid; gap: 6px; padding-right: 24px; border-right: 1px solid var(--line); }
.rpt-brand img { height: 26px; width: auto; }
.rpt-brand span { font: 600 9px var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--green); }
.rpt-title h2 { margin: 0; font-size: clamp(24px, 2.6vw, 34px); }
.rpt-title h2 em { color: var(--green-2); font-style: normal; }
.rpt-title p { margin: 4px 0 0; color: var(--ink-2); font-weight: 600; }
.rpt-facts { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, 1fr); border-bottom: 1px solid var(--line); background: var(--paper-2); }
.rpt-facts li { padding: 12px 14px; border-right: 1px solid var(--line); display: grid; gap: 2px; min-width: 0; }
.rpt-facts li:last-child { border-right: 0; }
.rpt-facts span { font: 600 9px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--green); }
.rpt-facts b { font-size: 13px; font-weight: 600; overflow-wrap: anywhere; }
.rpt-sec h3 { font-size: 22px; margin-bottom: 4px; }
.rpt-sec > .muted.small { margin: 0 0 12px; }
.rpt-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.rt { display: grid; gap: 6px; padding: 16px; border: 1px solid var(--line-2); border-radius: var(--radius); background: #fff; align-content: start; }
.rt.offer { border-color: #f1dfb8; background: #fffdf7; }
.rt-src { font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.rt-name { font-size: 13px; font-weight: 600; color: var(--ink); }
.rt .tag { justify-self: start; }
.rt-val { font: 600 26px/1 var(--display); margin-top: 4px; }
.rt-meta { color: var(--muted); font-size: 12px; }
.rt-detail { color: var(--ink-2); font-size: 12px; }
.rt-link { font-size: 13px; font-weight: 700; color: var(--green); margin-top: 2px; }
.rpt-two { display: grid; grid-template-columns: .8fr 1.2fr; gap: 18px; }
.rpt-conf { padding: 18px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper-2); display: grid; gap: 8px; align-content: start; }
.rpt-conf strong { font: 600 22px var(--display); }
.rpt-conf p { margin: 0; color: var(--ink-2); font-size: 14px; }
.conf-meter { display: grid; grid-template-columns: repeat(3, 1fr); gap: 4px; height: 8px; }
.conf-meter i { display: block; border-radius: 4px; background: var(--line); }
.conf-meter i.on { background: var(--green-2); }
.comp-row input.span { grid-column: 1 / -1; }
@media (max-width: 980px) { .rpt-facts { grid-template-columns: repeat(3, 1fr); } .rpt-facts li:nth-child(3n) { border-right: 0; } .rpt-facts li:nth-child(-n+3) { border-bottom: 1px solid var(--line); } .rpt-tiles { grid-template-columns: 1fr 1fr; } .rpt-two { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .rpt-head { grid-template-columns: 1fr; } .rpt-brand { border-right: 0; padding-right: 0; } .rpt-facts { grid-template-columns: 1fr 1fr; } .rpt-facts li:nth-child(3n) { border-right: 1px solid var(--line); } .rpt-facts li:nth-child(2n) { border-right: 0; } .rpt-facts li:nth-child(-n+4) { border-bottom: 1px solid var(--line); } .rpt-tiles { grid-template-columns: 1fr; } }

/* Process list ---------------------------------------------------------- */
.process { list-style: none; margin: 0; padding: 0; counter-reset: step; border-top: 1px solid var(--line); }
.process li { display: grid; grid-template-columns: 90px 1fr 1fr; gap: 24px; padding: 28px 0; border-bottom: 1px solid var(--line); align-items: start; }
.process .n { color: var(--green); font: 600 36px/1 var(--display); }
.process h3 { margin-bottom: 6px; }
.process p { margin: 0; color: var(--muted); font-size: 15px; }
.process .who { font-size: 13px; color: var(--ink-2); }
.process .who b { display: block; color: var(--green); font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; margin-bottom: 4px; }

/* Stories --------------------------------------------------------------- */
.story-layout { display: grid; grid-template-columns: 1.15fr .85fr; gap: 20px; }
.story-photo { position: relative; border-radius: var(--radius-lg); overflow: hidden; border: 1px solid var(--line); background: #fff; }
.story-photo img { width: 100%; height: 100%; object-fit: cover; }
.story-photo figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 50px 20px 18px; background: linear-gradient(transparent, rgba(5,20,10,.8)); color: #fff; font-size: 13px; }
.story-photo.tall img { height: 620px; }
.story-stack { display: grid; gap: 20px; }
.story-stack .story-photo img { height: 300px; }
.review-grid { margin-top: 20px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.review { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: flex; flex-direction: column; }
.review.featured { background: var(--green); color: #fff; border-color: var(--green); }
.review blockquote { margin: 0 0 20px; font: 500 20px/1.3 var(--display); flex: 1; }
.review cite { font-style: normal; font-size: 13px; font-weight: 700; }
.review cite span { display: block; font-weight: 400; color: var(--muted); }
.review.featured cite span { color: rgba(255,255,255,.75); }
.gbp-note { margin-top: 18px; color: var(--muted); font-size: 13px; }

/* Team ------------------------------------------------------------------ */
.team-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: center; }
.team-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.team-list li { display: grid; grid-template-columns: auto 1fr; gap: 16px; align-items: center; padding: 18px 0; border-bottom: 1px solid var(--line); }
.team-list strong { display: block; font-size: 17px; }
.team-list div > span { display: block; color: var(--muted); font-size: 14px; }
.team-photo img { width: 100%; height: 520px; object-fit: cover; border-radius: var(--radius-lg); border: 1px solid var(--line); }
.principles { margin: 22px 0 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.principles li { padding-left: 24px; position: relative; color: var(--ink-2); }
.principles li::before { content: ""; position: absolute; left: 0; top: 9px; width: 10px; height: 10px; border-radius: 50%; background: var(--green-2); }

/* Team page --------------------------------------------------------------- */
.person-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.person { border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; display: flex; flex-direction: column; }
.portrait-slot { position: relative; aspect-ratio: 4 / 5; display: grid; place-items: center; background: repeating-linear-gradient(135deg, var(--soft) 0 14px, var(--paper-2) 14px 28px); border-bottom: 1px solid var(--line); }
.portrait-slot .slot-label { position: absolute; left: 14px; right: 14px; bottom: 14px; padding: 7px 10px; border-radius: 8px; background: rgba(255,255,255,.92); border: 1px solid var(--line); color: var(--muted); font-size: 12px; text-align: center; }
.portrait-slot.has-photo { background: #e9eee9; aspect-ratio: 1 / 1; }
.portrait-slot.has-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 20%; }
.avatar.photo { overflow: hidden; padding: 0; }
.avatar.photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.person-body { padding: 22px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.person-body h2 { font-size: 28px; margin: 0; }
.person-body .role { margin: -4px 0 0; color: var(--green); font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.person-facts { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; font-size: 14px; color: var(--ink-2); flex: 1; }
.person-facts li { padding-left: 18px; position: relative; }
.person-facts li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--green-2); }
.person-facts li.verify { font-size: 12px; }
.person-facts li.verify::before { background: var(--amber); }
.person-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 6px; }
.dept-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.dept-list li { display: grid; grid-template-columns: 90px 1.3fr .9fr; gap: 24px; padding: 30px 0; border-bottom: 1px solid var(--line); align-items: start; }
.dept-list .n { color: var(--green); font: 600 36px/1 var(--display); }
.dept-list h3 { margin-bottom: 2px; }
.dept-job { margin: 0 0 10px; color: var(--green); font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.dept-list p { margin: 0; color: var(--muted); font-size: 15px; max-width: 560px; }
.dept-who { font-size: 14px; color: var(--ink-2); display: grid; gap: 6px; }
.dept-who b { color: var(--green); font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.dept-who a { color: var(--green); font-weight: 700; }
@media (max-width: 980px) { .person-grid { grid-template-columns: 1fr; } .dept-list li { grid-template-columns: 70px 1fr; } .dept-who { grid-column: 2; } }
@media (max-width: 700px) { .dept-list li { grid-template-columns: 1fr; gap: 10px; } .dept-list .n { font-size: 28px; } .dept-who { grid-column: 1; } }

.dept-row { display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; align-items: start; }
.dept-facts { margin: 0; }
.person-grid.two { grid-template-columns: repeat(2, 1fr); }
.person.placeholder { border-style: dashed; background: var(--paper-2); }
.person.placeholder .portrait-slot { aspect-ratio: 4 / 3; background: repeating-linear-gradient(135deg, #eef3ef 0 14px, var(--paper-2) 14px 28px); }
.person.placeholder .avatar { background: var(--line-2); color: var(--muted); }
.person-body h3 { font-size: 24px; margin: 0; }
@media (max-width: 980px) { .dept-row { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .person-grid.two { grid-template-columns: 1fr; } }

/* Logistics ------------------------------------------------------------- */
.logistics { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.logistics article { padding: 30px; border-right: 1px solid var(--line); }
.logistics article:last-child { border-right: 0; }
.logistics h3 { margin: 14px 0 10px; }
.logistics p { margin: 0 0 10px; color: var(--muted); font-size: 15px; }
.logistics .label { color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }

/* FAQ ------------------------------------------------------------------- */
.faq { border-top: 1px solid var(--line); }
.faq details { border-bottom: 1px solid var(--line); }
.faq summary { list-style: none; cursor: pointer; padding: 20px 44px 20px 0; position: relative; font: 600 20px/1.2 var(--display); }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 4px; top: 16px; color: var(--green); font: 400 28px/1 var(--display); transition: transform .2s var(--ease); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq .answer { padding: 0 0 22px; max-width: 720px; color: var(--ink-2); font-size: 15px; }
.faq .answer p { margin: 0 0 10px; }
.resource-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.resource-list a { display: block; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); transition: border-color .15s, transform .15s; }
.resource-list a:hover { border-color: var(--green); transform: translateY(-3px); }
.resource-list span { color: var(--green); font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.resource-list h3 { margin: 40px 0 10px; font-size: 24px; }
.resource-list p { margin: 0; color: var(--muted); font-size: 14px; }
.resource-list b { display: block; margin-top: 26px; color: var(--green); font-size: 13px; }

/* Home page list ---------------------------------------------------------- */
.page-list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.page-list a { display: grid; grid-template-columns: 1fr auto; gap: 6px 20px; padding: 20px 0; border-bottom: 1px solid var(--line); align-items: center; text-decoration: none; color: inherit; }
.page-list strong { grid-column: 1; grid-row: 1; font: 600 24px var(--display); }
.page-list span { grid-column: 1; grid-row: 2; color: var(--muted); font-size: 15px; }
.page-list b { grid-column: 2; grid-row: 1 / 3; color: var(--green); font-size: 13px; white-space: nowrap; transition: transform .15s; }
.page-list a:hover b { transform: translateX(4px); }
.page-list a:hover strong { color: var(--green); }
.page-list li a:not([class]) { text-decoration: none; color: inherit; }

/* The Ledger (seller proof) --------------------------------------------- */
.ledger-strip { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); margin-bottom: 28px; }
.ledger-strip div { padding: 18px 22px; border-right: 1px solid var(--line); }
.ledger-strip div:last-child { border-right: 0; }
.ledger-strip strong { display: block; color: var(--green); font: 600 28px/1 var(--display); }
.ledger-strip span { display: block; color: var(--muted); font-size: 13px; margin-top: 4px; }
.ledger-bar { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 18px; }
.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { min-height: 38px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-weight: 700; font-size: 14px; color: var(--ink-2); }
.chip:hover { border-color: var(--green-2); }
.chip[aria-pressed="true"] { background: var(--green); border-color: var(--green); color: #fff; }
.ledger-nav { display: flex; align-items: center; gap: 10px; }
.lg-arrow { width: 40px; height: 40px; border: 1px solid var(--line-2); border-radius: 50%; background: #fff; font-size: 24px; line-height: 1; color: var(--green); }
.lg-arrow:hover { border-color: var(--green); }
.ledger { display: flex; gap: 18px; overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 0; padding: 4px 0 18px; scrollbar-width: thin; }
.ledger::-webkit-scrollbar { height: 8px; }
.ledger::-webkit-scrollbar-thumb { background: var(--line-2); border-radius: 8px; }
.lg-card { flex: 0 0 340px; height: 440px; scroll-snap-align: start; display: block; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; text-align: left; }
.lg-type { display: inline-block; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.lg-review { padding: 22px; display: flex; flex-direction: column; gap: 10px; }
.lg-fact { display: grid; }
.lg-head { display: flex; justify-content: space-between; align-items: center; }
.lg-stars { color: #d99a2b; letter-spacing: .12em; font-size: 14px; }
.lg-review blockquote { margin: 0; font: 500 17px/1.35 var(--display); flex: 1; min-height: 0; overflow: hidden; }
.lg-review.is-open blockquote { overflow: auto; }
.lg-review.is-long:not(.is-open) blockquote { display: -webkit-box; -webkit-line-clamp: 8; -webkit-box-orient: vertical; }
.lg-more { align-self: flex-start; font-size: 13px; }
.lg-reply { padding: 10px 12px; border-left: 3px solid var(--green-2); background: var(--paper-2); font-size: 13px; color: var(--ink-2); }
.lg-reply strong { display: block; color: var(--green); font-size: 12px; margin-bottom: 2px; }
.lg-review footer { font-size: 13px; }
.lg-review footer strong { display: block; }
.lg-review footer span { display: block; color: var(--muted); font-size: 12px; }
.lg-review footer .verify { display: block; margin-top: 2px; }
.lg-photo { position: relative; padding: 0; border: 1px solid var(--line); cursor: zoom-in; }
.lg-photo img { width: 100%; height: 100%; object-fit: cover; position: absolute; inset: 0; transition: transform .3s var(--ease); }
.lg-photo:hover img { transform: scale(1.03); }
.lg-photo .lg-cap { position: absolute; left: 0; right: 0; bottom: 0; padding: 40px 16px 14px; background: linear-gradient(transparent, rgba(5,20,10,.78)); color: #fff; font-size: 12px; }
.lg-photo .lg-cap .lg-type { color: var(--mint); margin-right: 6px; }
.lg-video { display: flex; flex-direction: column; }
.lg-video .lg-vbody { flex: 1; overflow: hidden; }
.lg-poster { position: relative; height: 230px; background: var(--ink); }
.lg-poster img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .45; filter: grayscale(.3); }
.lg-play { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 58px; height: 58px; display: grid; place-items: center; border-radius: 50%; background: rgba(255,255,255,.92); color: var(--green); font-size: 20px; padding-left: 4px; }
.lg-badge { position: absolute; left: 12px; top: 12px; padding: 5px 9px; border-radius: 6px; background: var(--amber-bg); color: var(--amber); font-size: 11px; font-weight: 700; }
.lg-vbody { padding: 18px 20px; display: grid; gap: 6px; }
.lg-vbody strong { font: 600 20px var(--display); }
.lg-vbody p { margin: 0; color: var(--muted); font-size: 14px; }
.lg-fact { padding: 24px; overflow: auto; background: var(--green); color: #fff; border-color: var(--green); display: grid; gap: 8px; align-content: start; }
.lg-fact .lg-type { color: var(--mint); }
.lg-fact strong { font: 600 24px/1.1 var(--display); }
.lg-fact p { margin: 0; font-size: 15px; color: rgba(255,255,255,.88); }
.lg-fact a { color: #fff; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.lg-meta { font-size: 12px; color: rgba(255,255,255,.7); }
.ledger-cta { margin-top: 36px; padding: 32px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.ledger-cta h2 { margin: 0; }
.lightbox .lb-card { position: relative; z-index: 1; width: min(1100px, 100%); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; }
.lightbox img { width: 100%; max-height: calc(100vh - 140px); object-fit: contain; border-radius: 12px; background: #000; }
.lb-nav { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #fff; font-size: 26px; line-height: 1; }
.lb-cap { grid-column: 1 / -1; margin: 0; text-align: center; color: #fff; font-size: 13px; }
.lightbox .modal-close { top: -4px; right: 0; z-index: 2; }

/* Mobile quick actions (every public page) -------------------------------- */
.mobile-cta { display: none; }
@media (max-width: 980px) {
  .mobile-cta { position: fixed; z-index: 65; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(255,255,255,.96); border-top: 1px solid var(--line); backdrop-filter: blur(12px); }
  .mobile-cta .button { min-height: 46px; padding-inline: 10px; font-size: 14px; }
  body { padding-bottom: 86px; }
  .buyer-rail { display: none; }
  .proto-bar { bottom: 84px; }
  .lg-card { flex-basis: 300px; height: 420px; }
  .ledger-strip { grid-template-columns: 1fr 1fr; }
  .ledger-strip div:nth-child(2) { border-right: 0; }
  .ledger-strip div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
}
@media (max-width: 700px) {
  .lg-card { flex-basis: 84vw; height: 400px; }
  .ledger-cta { padding: 22px; }
  .lightbox .lb-card { grid-template-columns: 1fr; }
  .lb-nav { position: absolute; top: 50%; transform: translateY(-50%); }
  .lb-nav.prev { left: 6px; } .lb-nav.next { right: 6px; }
}

/* Pass 2: report peek, three numbers, objections, calculator, checklist ---- */
.report-peek { position: relative; max-height: 560px; overflow: hidden; border-radius: var(--radius-lg); }
.report-peek::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 180px; background: linear-gradient(transparent, var(--soft)); pointer-events: none; }
.report-peek .peek-more { position: absolute; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 2; padding: 10px 16px; border: 1px solid var(--green); border-radius: 10px; background: #fff; color: var(--green); font-weight: 700; font-size: 14px; white-space: nowrap; }
.report-peek .report-actions, .report-peek .accept-steps { display: none; }
.three-numbers { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.three-numbers li { padding: 26px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: grid; gap: 8px; align-content: start; }
.three-numbers li.lakeway { background: var(--green); color: #fff; border-color: var(--green); }
.tn-label { color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.three-numbers li.lakeway .tn-label { color: #a9efc5; }
.three-numbers strong { font: 600 clamp(34px, 3.6vw, 44px)/1 var(--display); }
.tn-sub { color: var(--muted); font-size: 13px; }
.three-numbers li.lakeway .tn-sub, .three-numbers li.lakeway p { color: rgba(255,255,255,.88); }
.three-numbers p { margin: 6px 0 0; color: var(--ink-2); font-size: 15px; }
.objection { padding: 26px 0; border-top: 1px solid var(--line); display: grid; grid-template-columns: .9fr 1.1fr; gap: 40px; }
.objection:last-child { border-bottom: 1px solid var(--line); }
.objection h3 { font-size: clamp(22px, 2.4vw, 30px); }
.objection p { margin: 0; color: var(--ink-2); font-size: 16px; }
.calc { padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: grid; gap: 14px; }
.calc-out { padding: 18px 20px; border-radius: var(--radius); background: var(--green-4); border: 1px solid var(--green-3); display: grid; gap: 4px; }
.calc-label { color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.calc-out strong { font: 600 40px/1 var(--display); }
.calc-out strong.neg { color: var(--red); }
.calc-sub { color: var(--muted); font-size: 13px; }
.calc-table { display: block; }
.calc-rows { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 8px; }
.calc-rows li { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 12px; align-items: center; padding: 12px 14px; border-radius: 10px; background: #fff; border: 1px solid var(--green-3); }
.calc-rows li.pick { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); }
.calc-rows li.neg > div:last-child b { color: var(--red); }
.calc-rows strong { display: block; font: 600 18px var(--display); }
.calc-rows li > div:first-child span { color: var(--muted); font-size: 13px; }
.calc-k { display: block; color: var(--green); font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.calc-rows b { display: block; font: 600 22px/1.1 var(--display); }
.calc-rows small { display: block; color: var(--muted); font-size: 11px; margin-top: 2px; }
@media (max-width: 700px) { .calc-rows li { grid-template-columns: 1fr 1fr; } .calc-rows li > div:first-child { grid-column: 1 / -1; } }
.checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.checklist .choice { padding: 10px 12px; }
.checklist-list { margin: 14px 0 0; padding-left: 20px; display: grid; gap: 8px; font-size: 14px; color: var(--ink-2); }
.verify { display: none !important; }
body.show-verify .verify { display: inline !important; }
@media (max-width: 980px) { .three-numbers { grid-template-columns: 1fr; } .objection { grid-template-columns: 1fr; gap: 10px; } }

.split .process li { grid-template-columns: 64px 1fr; gap: 12px 18px; }
.split .process .who { grid-column: 2; }
.split .process .n { font-size: 28px; }

/* Stepped journeys (how.html) --------------------------------------------- */
.journey { display: grid; grid-template-columns: .85fr 1.15fr; gap: 40px; align-items: start; }
.jsteps { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--line); }
.jstep { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 12px 16px 0; border-bottom: 1px solid var(--line); cursor: pointer; border-left: 3px solid transparent; margin-left: -3px; transition: background .15s; }
.jstep:hover { background: rgba(var(--green-rgb),.04); }
.jstep.is-active { border-left-color: var(--green); background: rgba(var(--green-rgb),.06); padding-left: 14px; }
.jstep:focus-visible { box-shadow: var(--focus); border-radius: 8px; }
.jnum { color: var(--muted); font: 600 22px/1 var(--display); padding-top: 3px; }
.jstep.is-active .jnum { color: var(--green); }
.jstep strong { display: block; font: 600 20px/1.15 var(--display); }
.jstep p { margin: 4px 0 0; color: var(--muted); font-size: 14px; }
.jstep ul { display: none; margin: 8px 0 0; padding-left: 16px; color: var(--ink-2); font-size: 13px; }
.jstep.is-active ul { display: block; }
.jstage { position: sticky; top: 100px; border: 1px solid var(--line-2); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); padding: 22px; min-height: 520px; display: flex; flex-direction: column; }
.jscreen { flex: 1; }
.jscreen-head { display: flex; align-items: center; gap: 10px; padding-bottom: 12px; border-bottom: 1px solid var(--line); margin-bottom: 14px; }
.jscreen-head img { height: 18px; width: auto; }
.jscreen-head span { color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.jscreen-title { margin: 0 0 4px; font: 600 24px/1.1 var(--display); }
.jscreen-sub { margin: 0 0 12px; color: var(--ink-2); font-size: 14px; }
.jmini td { padding: 9px 6px; font-size: 13px; }
.jmini td.num { font-size: 16px; }
.jmini th:first-child, .jmini td:first-child { width: 52%; }
.jscreen-foot { margin: 10px 0 0; color: var(--muted); font-size: 13px; }
.jsignal { margin-top: 12px; padding: 14px 16px; border-radius: var(--radius); background: var(--green-4); border: 1px solid var(--green-3); display: grid; gap: 4px; }
.jsignal strong { font: 600 18px var(--display); }
.jsignal span { color: var(--ink-2); font-size: 13px; }
.jsignal .tag { justify-self: start; }
.jfirm { margin-top: 12px; padding: 16px 18px; }
.jfirm strong { font-size: 32px; }
.jnav { display: flex; justify-content: flex-end; align-items: center; gap: 10px; margin-top: 16px; padding-top: 12px; border-top: 1px solid var(--line); }
.jdoors { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.jdoor { padding: 16px; border: 1px solid var(--line-2); border-radius: var(--radius); background: var(--paper-2); }
.jdoor:hover { border-color: var(--green); }
.jdoor strong { display: block; font: 600 18px var(--display); margin-bottom: 4px; }
.jdoor span { color: var(--muted); font-size: 13px; }
.jphoto { margin: 0; border-radius: var(--radius); overflow: hidden; border: 1px solid var(--line); }
.jphoto img { width: 100%; height: 240px; object-fit: cover; }
.jphoto figcaption { padding: 10px 12px; font-size: 13px; color: var(--ink-2); background: var(--paper-2); }
.usual summary { list-style: none; cursor: pointer; display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 16px; padding: 16px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.usual summary::-webkit-details-marker { display: none; }
.usual summary > span:nth-child(2) { font: 600 22px var(--display); }
.usual summary::after { content: "+"; margin-left: auto; color: var(--green); font: 400 26px/1 var(--display); }
.usual[open] summary::after { content: "\2212"; }
@media (max-width: 980px) {
  .journey { grid-template-columns: 1fr; }
  .jsteps { display: flex; gap: 8px; overflow-x: auto; border-top: 0; padding-bottom: 6px; scroll-snap-type: x mandatory; }
  .jstep { flex: 0 0 220px; scroll-snap-align: start; grid-template-columns: 1fr; border: 1px solid var(--line-2); border-radius: 12px; padding: 12px; margin: 0; }
  .jstep.is-active { border-color: var(--green); box-shadow: inset 0 0 0 1px var(--green); padding-left: 12px; }
  .jnum { font-size: 14px; padding: 0; }
  .jstep ul { display: none !important; }
  .jstage { position: static; min-height: 0; }
  .jdoors { grid-template-columns: 1fr; }
}

/* Final CTA + footer ---------------------------------------------------- */
.final-cta { padding-top: 0; }
.final-box { display: flex; justify-content: space-between; align-items: center; gap: 40px; padding: 56px; border-radius: var(--radius-lg); background: var(--forest); color: #fff; }
.final-box h2 { margin: 0; }
.final-box h2 em { color: var(--mint); }
.final-box .eyebrow { color: var(--mint); }
.final-box .actions { display: grid; gap: 10px; min-width: 300px; }
.site-footer { padding: 64px 0 24px; background: #081c11; color: #fff; }
.footer-grid { display: grid; grid-template-columns: 1.3fr .8fr 1fr 1fr; gap: 48px; }
.footer-grid img { height: 30px; width: auto; filter: brightness(0) invert(1); }
.footer-grid p, .footer-grid a { color: rgba(255,255,255,.72); font-size: 14px; }
.footer-grid strong { display: block; margin-bottom: 10px; font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--mint); }
.footer-grid nav { display: grid; gap: 8px; }
.hours { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 14px; color: rgba(255,255,255,.72); }
.hours li { display: flex; justify-content: space-between; gap: 12px; }
.legal { margin-top: 48px; padding-top: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px; border-top: 1px solid rgba(255,255,255,.14); color: rgba(255,255,255,.5); font-size: 12px; }

/* Buyer rail + modal ---------------------------------------------------- */
.buyer-rail { position: fixed; z-index: 45; right: 22px; bottom: 22px; display: flex; align-items: center; gap: 11px; padding: 9px 16px 9px 9px; border: 1px solid var(--line-2); border-radius: 999px; background: rgba(255,255,255,.98); box-shadow: var(--shadow); }
.buyer-rail strong { display: block; font-size: 13px; }
.buyer-rail small { display: block; color: var(--muted); font-size: 11px; }
.modal { position: fixed; inset: 0; z-index: 90; display: none; place-items: center; padding: 20px; }
.modal.is-open { display: grid; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(4,18,10,.6); }
.modal-card { position: relative; z-index: 1; width: min(520px, 100%); max-height: calc(100vh - 40px); overflow: auto; padding: 36px; border-radius: var(--radius-lg); background: #fff; box-shadow: 0 30px 90px rgba(0,0,0,.3); }
.modal-card h2 { font-size: clamp(32px, 4vw, 44px); margin-bottom: 12px; }
.modal-close { position: absolute; top: 12px; right: 12px; width: 38px; height: 38px; border: 0; border-radius: 50%; background: var(--soft); font-size: 22px; line-height: 1; }
.modal-actions { margin: 24px 0 12px; display: grid; gap: 10px; }
@media (min-width: 560px) { .modal-actions.two { grid-template-columns: 1fr 1fr; } }
.contact-row { display: grid; gap: 6px; margin: 14px 0; }
.notice { padding: 12px 14px; border-radius: 10px; background: var(--amber-bg); color: var(--amber); font-size: 13px; font-weight: 600; }
.notice.ok { background: var(--green-3); color: var(--green); }
.notice.info { background: #e9eef6; color: #2f4a76; }

/* Forms ----------------------------------------------------------------- */
.field { display: grid; gap: 6px; }
.field > label, .field > .label, .field .label-row > label { font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.field .hint { color: var(--muted); font-size: 13px; }
.field input:not([type="radio"]):not([type="checkbox"]), .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 10px 14px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; color: var(--ink);
}
.field textarea { min-height: 110px; resize: vertical; }
.field input:not([type="radio"]):not([type="checkbox"]):focus, .field select:focus, .field textarea:focus { border-color: var(--green); box-shadow: 0 0 0 3px rgba(var(--green-rgb),.12); outline: none; }
.field.invalid input:not([type="radio"]):not([type="checkbox"]), .field.invalid select, .field.invalid textarea { border-color: var(--red); }
.field.invalid .choice { border-color: var(--red); }
.field .error { color: var(--red); font-size: 13px; font-weight: 600; display: none; }
.field.invalid .error { display: block; }
.form-grid { display: grid; gap: 18px; grid-template-columns: 1fr 1fr; }
.form-grid .span { grid-column: 1 / -1; }
.choice-group { display: grid; gap: 8px; }
.choice-group.row { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.choice { display: flex; gap: 12px; align-items: flex-start; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; cursor: pointer; }
.choice:hover { border-color: var(--green-2); }
.choice:has(input:checked) { border-color: var(--green); background: var(--green-4); box-shadow: inset 0 0 0 1px var(--green); }
.choice:has(input:focus-visible) { box-shadow: var(--focus); }
.choice input { width: 18px; height: 18px; min-height: 0; margin: 2px 0 0; padding: 0; accent-color: var(--green); flex: none; }
.choice > div { min-width: 0; }
.choice strong { display: block; font-size: 15px; }
.choice span { display: block; color: var(--muted); font-size: 13px; }
.seg { display: inline-flex; padding: 4px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--soft); gap: 4px; }
.seg button { min-height: 40px; padding: 0 16px; border: 0; border-radius: 9px; background: transparent; font-weight: 700; color: var(--muted); }
.seg button[aria-selected="true"] { background: #fff; color: var(--green); box-shadow: var(--shadow-sm); }

/* Intake page ----------------------------------------------------------- */
.intake-layout { display: grid; grid-template-columns: 1fr 360px; gap: 56px; align-items: start; }
.intake-card { padding: 34px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.intake-card h2 { font-size: clamp(30px, 3.4vw, 44px); }
.stepper { display: flex; gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; }
.stepper li { flex: 1; padding: 10px 0 0; border-top: 3px solid var(--line); color: var(--muted); font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.stepper li[aria-current="step"] { border-top-color: var(--green-2); color: var(--green); }
.stepper li.done { border-top-color: var(--green); color: var(--ink); }
.step-panel { display: none; }
.step-panel.is-active { display: block; }
.step-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 26px; padding-top: 22px; border-top: 1px solid var(--line); }
.intake-side { position: sticky; top: 100px; display: grid; gap: 18px; }
.side-card { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-2); }
.side-card h3 { font-size: 20px; margin-bottom: 8px; }
.side-card p { margin: 0 0 8px; color: var(--ink-2); font-size: 14px; }
.side-card ul { margin: 8px 0 0; padding-left: 18px; font-size: 14px; color: var(--ink-2); }
.summary-list { margin: 0; display: grid; gap: 0; }
.summary-list div { display: grid; grid-template-columns: 140px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.summary-list dt { color: var(--muted); }
.summary-list dd { margin: 0; font-weight: 600; }
.et-note { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 10px; background: var(--soft); font-size: 13px; color: var(--ink-2); }
.et-note b { color: var(--green); white-space: nowrap; }


/* Field help popover (e.g. "Where do I find my VIN?") ------------------- */
.vin-field { position: relative; }
.label-row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.help-btn { padding: 0; border: 0; background: none; color: var(--green); font-size: 13px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; }
.help-btn[aria-expanded="true"] { color: var(--green-deep); }
.help-pop { position: absolute; z-index: 20; top: 28px; left: 0; right: 0; padding: 18px; border: 1px solid var(--line-2); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow); }
.help-pop-title { margin: 0 0 12px; font: 600 18px var(--display); }
.help-pop-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.help-pop figure { margin: 0; }
.help-pop svg { width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--line); display: block; }
.help-pop figcaption { margin-top: 8px; font-size: 13px; }
.help-pop figcaption strong { display: block; font-size: 14px; margin-bottom: 2px; }
.help-pop figcaption span { color: var(--muted); }
.help-pop-foot { margin: 12px 0 0; color: var(--muted); font-size: 12px; }
@media (max-width: 700px) { .help-pop-grid { grid-template-columns: 1fr; } .help-pop { padding: 14px; } }

/* Seller report page ---------------------------------------------------- */
.portal-head { padding: 40px 0 28px; border-bottom: 1px solid var(--line); background: var(--paper-2); }
.portal-head .row { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 20px; }
.portal-head h1 { font-size: clamp(36px, 4.6vw, 60px); margin-bottom: 8px; }
.status-pill { display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; font-size: 13px; font-weight: 700; background: var(--amber-bg); color: var(--amber); }
.status-pill.ok { background: var(--green-3); color: var(--green); }
.status-pill i { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.portal-layout { display: grid; grid-template-columns: 1fr 340px; gap: 48px; align-items: start; padding: 40px 0 96px; }
.portal-side { position: sticky; top: 100px; display: grid; gap: 18px; }
.progress { list-style: none; margin: 0; padding: 0; display: grid; gap: 0; }
.progress li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.progress li i { width: 18px; height: 18px; margin-top: 2px; border-radius: 50%; border: 2px solid var(--line-2); display: grid; place-items: center; font-size: 11px; color: #fff; }
.progress li.done i { background: var(--green); border-color: var(--green); }
.progress li.now i { border-color: var(--green-2); background: #fff; box-shadow: 0 0 0 4px var(--green-3); }
.progress li strong { display: block; }
.progress li span { display: block; color: var(--muted); font-size: 13px; }
.waiting-card { padding: 30px; border: 1px dashed var(--line-2); border-radius: var(--radius-lg); background: var(--paper-2); }
.waiting-card h2 { font-size: clamp(30px, 3.4vw, 44px); }
.sources-pending { list-style: none; margin: 18px 0 0; padding: 0; display: grid; gap: 8px; }
.sources-pending li { display: flex; gap: 10px; align-items: center; font-size: 14px; color: var(--ink-2); }
.sources-pending i { width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--line-2); flex: none; }
.sources-pending li.done i { background: var(--green-2); border-color: var(--green-2); }

/* Prototype bar + mode -------------------------------------------------- */
.proto-bar { position: fixed; z-index: 70; left: 16px; bottom: 16px; display: flex; align-items: center; gap: 10px; padding: 8px 10px 8px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); font-size: 12px; color: var(--muted); }
.proto-bar strong { color: var(--ink); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.proto-bar .seg button { min-height: 32px; padding: 0 10px; font-size: 12px; }
.proto-bar a { color: var(--green); font-weight: 700; }
.concept-only { display: none; }
body[data-mode="concept"] .concept-only { display: block; }
body[data-mode="concept"] .launch-only { display: none; }
.concept-panel { margin-top: 48px; padding: 28px; border: 2px dashed var(--amber); border-radius: var(--radius-lg); background: var(--amber-bg); }
.concept-panel .eyebrow { color: var(--amber); }
.concept-panel h3 { margin-bottom: 8px; }
.concept-range { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 18px; }
.concept-range .box { padding: 20px; border-radius: var(--radius); background: #fff; border: 1px solid #f1dfb8; }
.concept-range strong { display: block; font: 600 34px/1 var(--display); color: var(--ink); }
.concept-range small { color: var(--muted); font-size: 12px; }

/* Internal workspace ---------------------------------------------------- */
body.internal { background: #eef1ef; }
.internal-bar { position: sticky; top: 0; z-index: 60; background: var(--ink); color: #fff; }
.internal-bar .nav-wrap { min-height: 60px; flex-wrap: wrap; gap: 10px 16px; padding: 8px 0; }
@media (max-width: 700px) { .internal-bar strong { display: none; } }
.internal-bar .badge { padding: 5px 10px; border-radius: 6px; background: #f3c969; color: var(--ink); font: 700 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.internal-bar a { color: rgba(255,255,255,.8); font-size: 14px; font-weight: 600; }
.internal-bar .spacer { margin-left: auto; }
.ws-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding: 28px 0 80px; align-items: start; }
.ws-card { padding: 24px; border: 1px solid var(--line-2); border-radius: var(--radius); background: #fff; }
.ws-card h2 { font-size: 24px; margin-bottom: 14px; }
.ws-card h3 { font-size: 18px; margin: 18px 0 10px; }
.ws-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 10px; }
.queue { list-style: none; margin: 0; padding: 0; }
.queue li { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.queue li.mine { background: var(--green-4); margin: 0 -12px; padding-inline: 12px; border-radius: 8px; }
.queue strong { display: block; }
.queue span { display: block; color: var(--muted); font-size: 13px; }
.comp-editor { display: grid; gap: 10px; }
.comp-row { display: grid; grid-template-columns: 1.3fr 1fr .9fr 1fr auto; gap: 8px; align-items: center; }
.comp-row input, .comp-row select { min-height: 40px; padding: 6px 10px; border: 1px solid var(--line-2); border-radius: 8px; width: 100%; }
.comp-row .remove { width: 38px; height: 38px; border: 1px solid var(--line-2); border-radius: 8px; background: #fff; color: var(--red); font-weight: 700; }
.comp-cols { display: grid; grid-template-columns: 1.3fr 1fr .9fr 1fr auto; gap: 8px; font: 600 10px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--muted); }
.ws-preview { position: sticky; top: 80px; }
.pub-log { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; font-size: 13px; }
.pub-log li { padding: 10px 12px; border-radius: 8px; background: var(--soft); }
.pub-log li.ok { background: var(--green-3); color: var(--green); }
.toast { position: fixed; z-index: 95; left: 50%; bottom: 24px; transform: translate(-50%, 20px); opacity: 0; padding: 14px 18px; border-radius: 12px; background: var(--ink); color: #fff; font-size: 14px; box-shadow: var(--shadow); transition: opacity .2s, transform .2s; max-width: calc(100% - 32px); }
.toast.show { opacity: 1; transform: translate(-50%, 0); }

/* Reveal ---------------------------------------------------------------- */
.reveal { opacity: 0; transform: translateY(18px); transition: opacity .6s var(--ease), transform .6s var(--ease); }
.reveal.visible { opacity: 1; transform: none; }
.no-js .reveal { opacity: 1; transform: none; }

/* Grid children must be allowed to shrink (an fr track is minmax(auto,1fr)) */
.hero-grid > *, .split > *, .portal-layout > *, .intake-layout > *, .ws-layout > *, .ws-layout > div > *, .team-grid > *, .story-layout > *, .compare > *, .review-grid > *, .form-grid > *, .queue li > *, .buyer-strip > * { min-width: 0; }
.comp-table { table-layout: fixed; }
.comp-table td, .comp-table th { overflow-wrap: anywhere; }
.comp-table th:first-child, .comp-table td:first-child { width: 38%; }
.report-doc, .waiting-card, .ws-card, .side-card { overflow-wrap: anywhere; }
.illustrative { align-items: flex-start; }
.comp-table .tag { white-space: normal; display: inline-block; line-height: 1.25; }
.comp-table th:nth-child(2), .comp-table td:nth-child(2) { width: 21%; }
.comp-table th:nth-child(4), .comp-table td:nth-child(4) { width: 19%; }

/* Responsive ------------------------------------------------------------ */
@media (max-width: 1300px) { .brand .descriptor { display: none; } }
@media (max-width: 1120px) { .site-header .button.ghost.nav-cta { display: none; } }
@media (max-width: 1080px) {
  .intake-layout, .portal-layout { grid-template-columns: 1fr; }
  .intake-side, .portal-side, .ws-preview { position: static; }
  .ws-layout { grid-template-columns: 1fr; }
}
@media (max-width: 1180px) {  /* seven menu items: the Menu button takes over below 1180px */
  .main-nav, .nav-cta { display: none; }
  .nav-toggle { display: block; }
}
@media (max-width: 980px) {
  .section { padding: 80px 0; }
}
@media (max-width: 1180px) {
  .main-nav.is-open { position: absolute; top: 80px; left: 0; right: 0; display: grid; padding: 12px 24px 22px; background: #fff; border-bottom: 1px solid var(--line); }
  .main-nav.is-open a { padding: 12px 0; border-bottom: 1px solid var(--line); }
  .main-nav.is-open a:last-child { border-bottom: 0; }
}
@media (max-width: 980px) {
  .hero-grid, .split, .split.reverse, .team-grid, .story-layout { grid-template-columns: 1fr; }
  .hero-photo { height: 560px; }
  .fact-bar { grid-template-columns: 1fr 1fr; }
  .fact-bar div:nth-child(2) { border-right: 0; }
  .fact-bar div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .review-grid { grid-template-columns: 1fr; }
  .logistics { grid-template-columns: 1fr; }
  .logistics article { border-right: 0; border-bottom: 1px solid var(--line); }
  .logistics article:last-child { border-bottom: 0; }
  .resource-list { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .process li { grid-template-columns: 70px 1fr; }
  .process .who { grid-column: 2; }
  .story-photo.tall img { height: 460px; }
  .comp-row, .comp-cols { grid-template-columns: 1fr 1fr; }
  .comp-cols { display: none; }
}
@media (max-width: 700px) {
  .page-width, .nav-wrap { width: min(100% - 32px, var(--page)); }
  .section { padding: 64px 0; }
  h1 { font-size: clamp(48px, 15vw, 72px); }
  h2 { font-size: clamp(38px, 12vw, 56px); }
  .hero { padding-top: 44px; }
  .hero-grid { gap: 40px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-photo { height: 460px; border-radius: 20px 20px 20px 6px; }
  .hero-card { left: 12px; right: 12px; width: auto; bottom: 14px; }
  .fact-bar { margin-top: 48px; }
  .fact-bar div { padding: 16px 14px; }
  .intake-card, .ws-card { padding: 22px; }
  .compare li { grid-template-columns: 30px 1fr; }
  .compare li small { grid-column: 2; padding-top: 0; }
  .kbb-strip { grid-template-columns: 1fr; }
  .kbb-strip img { width: 100%; }
  .report-head { flex-wrap: wrap; }
  .report-body { padding: 18px 16px; }
  .comp-table { font-size: 13px; }
  .comp-table th:nth-child(3), .comp-table td:nth-child(3) { display: none; }
  .comp-table th:first-child, .comp-table td:first-child { width: 42%; }
  .comp-table th:nth-child(2), .comp-table td:nth-child(2) { width: 27%; }
  .comp-table th:nth-child(4), .comp-table td:nth-child(4) { width: 31%; }
  .comp-table .tag { font-size: 10px; padding: 3px 6px; }
  .comp-table td.num { font-size: 15px; white-space: normal; }
  .seg button { padding: 0 10px; font-size: 13px; }
  .portal-head .row > div:last-child { justify-items: start; }
  .firm-offer { grid-template-columns: 1fr; }
  .buyer-strip { grid-template-columns: auto 1fr; }
  .buyer-strip > .tag { grid-column: 1 / -1; white-space: normal; justify-self: start; }
  .ws-head { flex-wrap: wrap; }
  .queue li { grid-template-columns: 1fr; }
  .tag { white-space: normal; }
  .firm-offer .pickup { max-width: none; }
  .process li { grid-template-columns: 1fr; gap: 10px; }
  .process .n { font-size: 28px; }
  .process .who { grid-column: 1; }
  .story-photo.tall img { height: 380px; }
  .story-stack .story-photo img { height: 240px; }
  .team-photo img { height: 380px; }
  .final-box { flex-direction: column; align-items: stretch; padding: 32px 22px; }
  .final-box .actions { min-width: 0; }
  .footer-grid { grid-template-columns: 1fr; gap: 28px; }
  .buyer-rail { right: 12px; bottom: 74px; padding: 8px; }
  .buyer-rail span { display: none; }
  .proto-bar { left: 12px; right: 12px; bottom: 12px; justify-content: space-between; flex-wrap: wrap; }
  .modal-card { padding: 28px 20px; }
  .form-grid { grid-template-columns: 1fr; }
  .step-actions { flex-direction: column-reverse; }
  .step-actions .button { width: 100%; }
  .concept-range { grid-template-columns: 1fr; }
  .summary-list div { grid-template-columns: 1fr; gap: 2px; }
  .comp-row { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}

/* Sample report under its heading (market-report.html) */
.rpt-wrap { max-width: 880px; margin-top: 8px; }


/* Pass 5: hero quick-start, bands, fact doors, receipt, offer bar, resources, article, numerals, hover ---- */
.hero-start { left: -26px; bottom: 18px; width: min(420px, 90%); padding: 0; overflow: hidden; border-color: rgba(var(--green-rgb),.25); }
.hs-head { padding: 16px 20px 14px; background: var(--green); color: #fff; }
.hs-head .label { color: var(--mint); }
.hs-head strong { margin: 4px 0 0; color: #fff; font-size: 24px; }
.hs-body { padding: 16px 20px 18px; }
.hs-seg { margin-bottom: 12px; width: 100%; }
.hs-seg button { flex: 1; white-space: nowrap; padding-inline: 8px; font-size: 13px; }
.hs-body .form-grid { gap: 10px 12px; }
.hs-body .field label { font-size: 12px; }
.hs-note { margin: 12px 0 0; color: var(--muted); font-size: 12px; line-height: 1.45; }
.hero-note { max-width: 520px; }
.fact-band.section { padding: 0; }
.fact-bar { margin-top: 0; border: 0; }
.fact-bar a { display: block; padding: 26px 26px 24px; border-right: 1px solid var(--line); color: inherit; transition: background-color .15s; position: relative; }
.fact-bar a:last-child { border-right: 0; }
.fact-bar a b { display: block; margin-top: 10px; color: var(--green); font-size: 13px; font-weight: 700; opacity: 0; transform: translateY(4px); transition: opacity .15s, transform .15s; }
.fact-bar a:hover, .fact-bar a:focus-visible { background: rgba(var(--green-rgb),.06); }
.fact-bar a:hover b, .fact-bar a:focus-visible b { opacity: 1; transform: none; }
.section.tint { background: var(--tint); }
.report-peek::after { background: linear-gradient(transparent, var(--tint)); }
.stops-inline { list-style: none; margin: 22px 0 0; padding: 0; display: grid; gap: 0; max-width: 520px; }
.stops-inline li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; padding: 10px 0; border-top: 1px solid rgba(var(--green-rgb),.18); align-items: start; font-size: 14px; }
.stops-inline li:first-child { border-top: 0; padding-top: 0; }
.stops-inline b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #fff; font: 600 12px var(--display); }
.stops-inline strong { display: block; font-size: 15px; }
.stops-inline span { color: var(--ink-2); }
.text-button.light { color: #fff; }
.text-button.light::after { background: var(--mint); }
/* receipt */
.receipt { padding: 28px 30px; border-radius: var(--radius-lg); background: var(--green); color: #fff; }
.receipt .eyebrow { color: var(--mint); }
.receipt h2 { color: #fff; font-size: clamp(28px, 3.2vw, 40px); margin-bottom: 10px; }
.receipt p { color: rgba(255,255,255,.86); margin: 0; }
.receipt-top { display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: start; }
.receipt-ref { padding: 12px 16px; border: 1px solid rgba(255,255,255,.28); border-radius: 12px; text-align: right; white-space: nowrap; }
.receipt-ref span { display: block; font: 600 10px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--mint); }
.receipt-ref strong { font: 600 22px var(--display); }
.receipt-facts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 24px 0 0; padding: 18px 0 0; border-top: 1px solid rgba(255,255,255,.22); }
.receipt-facts > div { padding-right: 18px; }
.receipt-facts dt { font: 600 10px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--mint); }
.receipt-facts dd { margin: 6px 0 0; font-size: 14px; color: #fff; }
.receipt-facts dd.who { display: flex; gap: 10px; align-items: center; }
.receipt-facts dd.who img { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; }
.receipt-facts dd.who small { display: block; color: rgba(255,255,255,.72); font-size: 12px; }
.receipt .verify { color: #ffd98a; }
.receipt-foot { margin-top: 20px !important; font-weight: 600; color: #fff !important; }
.sources-card { margin-top: 18px; padding: 22px; border: 1px dashed var(--line-2); border-radius: var(--radius-lg); background: var(--paper-2); }
/* sticky offer bar */
.offer-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 64; transform: translateY(110%); transition: transform .25s var(--ease); background: #fff; border-top: 1px solid var(--line); box-shadow: 0 -10px 30px rgba(var(--forest-rgb),.12); }
.offer-bar.is-on { transform: none; }
.ob-row { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 12px 0; }
.ob-amt span { display: block; font: 600 10px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--green); }
.ob-amt strong { font: 600 28px/1 var(--display); }
.ob-actions { display: flex; gap: 10px; }
body:has(.offer-bar.is-on) .proto-bar { bottom: 84px; }
/* resources */
.res-feature { display: grid; grid-template-columns: 1.1fr 1fr; gap: 0; margin-bottom: 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; color: inherit; }
.rf-media { min-height: 300px; background: var(--soft); }
.rf-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rf-body { padding: 36px; display: grid; align-content: center; gap: 12px; }
.rf-kicker { color: var(--green); font: 600 11px var(--display); letter-spacing: .16em; text-transform: uppercase; }
.rf-body h3 { font-size: clamp(28px, 3vw, 40px); margin: 0; }
.rf-body p { margin: 0; color: var(--ink-2); }
.rf-body b { color: var(--green); font-size: 14px; }
.resource-list.compact { grid-template-columns: repeat(4, 1fr); gap: 14px; }
.resource-list.compact a { padding: 20px; }
.resource-list.compact h3 { font-size: 18px; margin: 18px 0 8px; }
.resource-list.compact p { font-size: 13px; }
.resource-list.compact b { margin-top: 16px; }
.resource-list a.soon { opacity: .72; background: var(--paper-2); border-style: dashed; }
.resource-list a.soon:hover { transform: none; border-color: var(--line); }
.resource-list a.soon b { color: var(--muted); }
.resource-list a.soon b::before { content: "\25CB  "; }
/* article */
.article-layout { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 64px; align-items: start; }
.article h1 { font-size: clamp(36px, 4.6vw, 60px); }
.article .eyebrow a { color: inherit; }
.byline { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin: 26px 0 30px; padding: 14px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); font-size: 14px; }
.byline img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.byline strong { display: block; }
.byline span { color: var(--muted); }
.article-body { max-width: 680px; font-size: 17px; }
.article-body h2 { font-size: 26px; margin: 36px 0 10px; }
.article-body p { margin: 0 0 18px; color: var(--ink-2); }
.sticky-aside { position: sticky; top: 92px; }
.sticky-aside h3 { font-size: 24px; }
/* intake numerals */
.stepper { gap: 10px; }
.stepper li { display: grid; grid-template-columns: auto 1fr; gap: 8px; align-items: baseline; }
.stepper li b { font: 600 26px/1 var(--display); color: var(--line-2); letter-spacing: 0; }
.stepper li span { font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.stepper li[aria-current="step"] b { color: var(--green-2); }
.stepper li.done b { color: var(--green); }
/* hover and focus on every card */
.person, .lg-card, .rt, .three-numbers li, .door-line, .res-feature, .objection, .jdoor { transition: transform .15s var(--ease), border-color .15s, box-shadow .15s; }
.person:hover, .lg-card:hover, .res-feature:hover, a.rt:hover, .rt:has(.rt-link:hover) { transform: translateY(-3px); border-color: var(--green); box-shadow: 0 14px 34px rgba(var(--forest-rgb),.12); }
.person:focus-within, .lg-card:focus-within, .rt:focus-within, .res-feature:focus-visible, .fact-bar a:focus-visible { box-shadow: var(--focus); outline: none; }
@media (max-width: 980px) {
  .hero-start { position: static; width: 100%; margin-top: 18px; left: 0; }
  .fact-bar { grid-template-columns: 1fr 1fr; }
  .fact-bar a { border-right: 0; border-bottom: 1px solid var(--line); }
  .fact-bar a:nth-child(odd) { border-right: 1px solid var(--line); }
  .fact-bar a b { opacity: 1; transform: none; }
  .receipt-top { grid-template-columns: 1fr; }
  .receipt-ref { text-align: left; }
  .receipt-facts { grid-template-columns: 1fr; gap: 14px; }
  .res-feature { grid-template-columns: 1fr; }
  .rf-media { min-height: 200px; }
  .resource-list.compact { grid-template-columns: 1fr 1fr; }
  .article-layout { grid-template-columns: 1fr; gap: 32px; }
  .sticky-aside { position: static; }
  .ob-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .ob-actions .button { flex: 1; }
  .offer-bar { bottom: 86px; }
}
@media (max-width: 700px) {
  .fact-bar { grid-template-columns: 1fr; }
  .fact-bar a, .fact-bar a:nth-child(odd) { border-right: 0; }
  .resource-list.compact { grid-template-columns: 1fr; }
  .stepper li b { font-size: 20px; }
  .stepper li span { display: none; }
  .stepper li[aria-current="step"] span { display: inline; }
}


/* Hero as a photo band: blurred frosted copy behind, the sharp photo uncovered in the middle */
.hero.hero-bg-photo { padding: 0; position: relative; overflow: hidden; background: #e9e6dd; isolation: isolate; }
.hero-bg { position: absolute; inset: -48px; z-index: -1; background: url("assets/photos/hero-handshake.jpg") 50% 38% / cover no-repeat; filter: blur(var(--frost-blur)) saturate(.85); transform: scale(1.06); }
.hero-bg::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--paper-rgb),.8) 0%, rgba(var(--paper-rgb),.5) 42%, rgba(var(--paper-rgb),.5) 58%, rgba(var(--paper-rgb),.8) 100%); }
.hero-grid3 { max-width: 1480px; margin: 0 auto; padding: 56px 40px; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 44px; align-items: center; }
.hero-grid3 .hero-copy h1 { font-size: clamp(44px, 4.6vw, 66px); }
.hero-grid3 .hero-body { font-size: 17px; }
.hero-subject { display: block; height: 640px; width: auto; max-width: 100%; object-fit: cover; border-radius: 22px; box-shadow: 0 30px 70px rgba(var(--forest-rgb),.22); }
.hero-grid3 .hero-start { position: static; width: 100%; max-width: 440px; justify-self: end; margin: 0; }
@media (max-width: 1180px) {
  .hero-grid3 { gap: 28px; padding: 44px 24px; }
  .hero-subject { height: 540px; }
}
@media (max-width: 980px) {
  .hero-grid3 { grid-template-columns: 1fr; gap: 28px; padding: 44px 20px 48px; }
  .hero-subject { height: 420px; justify-self: center; }
  .hero-grid3 .hero-start { max-width: none; justify-self: stretch; margin-top: 0; }
}


/* Step 2 polish: chip rows, presets, fewer clicks */
.choice-group.chips { display: flex; flex-wrap: wrap; gap: 8px; }
.choice-group.chips .choice { padding: 10px 14px; border-radius: 999px; align-items: center; gap: 10px; }
.choice-group.chips .choice input { width: 16px; height: 16px; margin: 0; accent-color: var(--green); }
.choice-group.chips .choice strong { font-size: 14px; }
.choice-group.chips .choice span { display: block; color: var(--muted); font-size: 12px; }
.choice-group.chips.mini .choice { padding: 7px 12px; }
.choice-group.chips.mini .choice input { width: 14px; height: 14px; }
.choice-group.chips.mini .choice strong { font-size: 13px; font-weight: 600; }
.label-note { letter-spacing: 0; text-transform: none; font: inherit; color: var(--muted); font-weight: 400; }
.preset-row { display: grid; gap: 14px; padding: 16px 18px; border: 1px dashed var(--line-2); border-radius: 12px; background: var(--paper-2); }
.preset .label { margin-bottom: 8px; }


/* Identify-by picker: three choice tiles, no pill switcher */
.idpick { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-bottom: 18px; }
.idpick button { display: grid; grid-template-columns: 26px 1fr; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; padding: 12px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; color: var(--ink); cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.idpick button svg { grid-row: 1 / 3; width: 26px; height: 26px; fill: none; stroke: var(--muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.idpick button span { font-weight: 700; font-size: 15px; line-height: 1.2; }
.idpick button small { color: var(--muted); font-size: 12px; line-height: 1.3; }
.idpick button:hover { border-color: var(--green-2); }
.idpick button[aria-selected="true"] { border-color: var(--green); background: var(--green-4); box-shadow: inset 0 0 0 1px var(--green); color: var(--green); }
.idpick button[aria-selected="true"] svg { stroke: var(--green); }
.idpick button:focus-visible { box-shadow: var(--focus); outline: none; }
.idpick.compact { gap: 8px; margin-bottom: 12px; }
.idpick.compact button { grid-template-columns: 1fr; grid-template-rows: auto auto; justify-items: center; text-align: center; padding: 10px 6px; row-gap: 4px; }
.idpick.compact button svg { grid-row: auto; width: 22px; height: 22px; }
.idpick.compact button span { font-size: 13px; }
@media (max-width: 700px) { .idpick:not(.compact) { grid-template-columns: 1fr; } .idpick:not(.compact) button { padding: 10px 12px; } }

.field { align-content: start; }
.form-grid > .field > input, .form-grid > .field > select, .form-grid > .field > textarea { align-self: start; }
.preset > .label { display: block; margin: 0 0 8px; color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }


/* Hero v3: photo bleeds to the right edge, the start card wraps over the legs */
.hero-grid2 { max-width: 1480px; margin: 0 auto; padding: 0 0 0 40px; grid-template-columns: minmax(0, 1fr) minmax(0, .95fr); gap: 48px; align-items: center; }
.hero-grid2 .hero-copy { padding: 72px 0 72px; align-self: start; margin-top: 120px; }
.hero-grid2 .hero-copy h1 { font-size: clamp(44px, 5vw, 76px); }
.hero-visual2 { position: relative; height: 980px; }
.hero-visual2 .hero-subject { position: absolute; left: 0; right: 0; top: 0; width: 100%; height: 820px; object-fit: cover; object-position: 50% 18%; border-radius: 0; box-shadow: none; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 100%); mask-image: linear-gradient(90deg, transparent 0, #000 22%, #000 100%); }
.hero-visual2 .hero-start { position: absolute; left: 50%; top: 560px; transform: translateX(-50%); width: min(440px, 92%); max-width: none; margin: 0; z-index: 2; justify-self: auto; }
.hero.hero-bg-photo { overflow: hidden; }
.hero.hero-bg-photo + .fact-band .fact-bar { border-top: 1px solid var(--line); }

/* Frost bands: a blurred photo behind a section, lightly frosted */
.frost-band { position: relative; isolation: isolate; overflow: hidden; }
.frost-band.section { background: var(--paper-band); }
.frost-bg { position: absolute; inset: -48px; z-index: -1; background-position: 50% 40%; background-size: cover; background-repeat: no-repeat; filter: blur(var(--frost-blur)) saturate(.85); transform: scale(1.06); }
.frost-bg::after { content: ""; position: absolute; inset: 0; background: rgba(var(--paper-rgb),.76); }
.frost-band .report-peek::after { background: linear-gradient(transparent, var(--paper-band)); }
.frost-band .section-heading .lede, .frost-band .lede { color: var(--ink-2); }
.frost-band .faq details, .frost-band .person, .frost-band .calc, .frost-band .rpt-wrap > * { background: #fff; }
@media (max-width: 980px) {
  .hero-grid2 { grid-template-columns: 1fr; padding: 0 20px; gap: 0; }
  .hero-grid2 .hero-copy { padding: 44px 0 28px; }
  .hero-visual2 { height: auto; margin: 0; }
  .hero-visual2 .hero-subject { position: relative; height: 520px; width: calc(100% + 40px); margin: 0 -20px; display: block; object-position: 50% 14%; -webkit-mask-image: none; mask-image: none; }
  .hero-visual2 .hero-start { position: relative; left: auto; top: auto; transform: none; width: auto; margin: -140px 16px 0; }
  .frost-bg { filter: blur(var(--frost-blur-m)) saturate(.85); }
}


/* Hero v4: the split photo hero from lakeway_final_work, with the quick start as the floating card */
.hero { padding: 92px 0 0; position: relative; overflow: hidden; background: #fff; }
.hero::before { content: ""; position: absolute; width: 570px; height: 570px; border-radius: 50%; background: radial-gradient(circle, rgba(36,166,91,.15), transparent 67%); right: -160px; top: 10px; pointer-events: none; }
.hero-grid { grid-template-columns: 1.04fr .96fr; gap: 72px; align-items: center; position: relative; }
.hero-copy h1 { font-size: clamp(48px, 6.2vw, 92px); }
.hero-visual { position: relative; padding: 0 20px 24px 0; }
.hero-photo { height: 650px; object-position: 50% 48%; border-radius: 30px 30px 30px 8px; filter: saturate(.88) contrast(1.02); }
.range-float { position: absolute; left: -28px; bottom: 0; width: min(360px, 86%); padding: 20px 22px; border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(var(--forest-rgb),.08), 0 24px 60px rgba(var(--forest-rgb),.16); }
.range-float .label { display: block; color: var(--green); font: 600 10px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; }
.range-float strong { display: block; margin: 8px 0 12px; font: 600 26px/1.05 var(--display); }
.range-float small { display: block; margin-top: 10px; color: var(--muted); font-size: 12px; line-height: 1.4; }
.range-float small a { color: var(--green); font-weight: 700; }
.qf-row { display: grid; grid-template-columns: 1fr 52px; gap: 8px; }
.qf-row input { min-height: 48px; padding: 0 14px; border: 1px solid var(--line-2); border-radius: 12px; font: inherit; font-size: 15px; }
.qf-row input:focus { outline: none; border-color: var(--green); box-shadow: var(--focus); }
.qf-row .button { min-height: 48px; padding: 0; font-size: 20px; }
.quick-float .error { display: none; color: #b42318; font-size: 12px; margin-top: 8px; }
.quick-float.invalid .error { display: block; }
.quick-float.invalid .qf-row input { border-color: #b42318; }
@media (max-width: 980px) {
  .hero { padding-top: 56px; }
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-visual { padding: 0 0 24px; }
  .hero-photo { height: 540px; }
  .range-float { left: 12px; right: 12px; width: auto; bottom: -12px; }
  .hero-visual { padding-bottom: 60px; }
}
@media (max-width: 700px) { .hero-photo { height: 460px; border-radius: 20px 20px 20px 6px; } }

/* Hero keeps the frost band behind the split layout */
.hero.frost-band { background: var(--paper-band); isolation: isolate; }
.hero.frost-band::before { display: none; }
.hero.frost-band .frost-bg { background-position: 50% 38%; filter: blur(var(--frost-blur)) saturate(.85); }
.hero.frost-band .frost-bg::after { background: linear-gradient(90deg, rgba(var(--paper-rgb),.84) 0%, rgba(var(--paper-rgb),.62) 55%, rgba(var(--paper-rgb),.5) 100%); }
.hero.frost-band .hero-photo { box-shadow: 0 30px 70px rgba(var(--forest-rgb),.22); }


/* ===== Premium layer (folded in from premium.css, 2026-10-22) ===== */
/* Premium layer — enabled by body.premium. Loaded on how.html first as a
   before/after; roll across the site once approved. No gradients-as-decoration,
   no glass, no glows. Material, rhythm, photography, type. */

/* 1. Material: warm paper + grain ----------------------------------------- */
body.premium { background: var(--paper-warm); }
body.premium .section:not(.soft):not(.forest) { background: var(--paper-warm); }
body.premium .section.soft { background: var(--soft); }
body.premium::before {
  content: ""; position: fixed; inset: 0; z-index: 0; pointer-events: none; opacity: .045; mix-blend-mode: multiply;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 .55 0'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");
}
body.premium main, body.premium .site-header, body.premium .site-footer { position: relative; z-index: 1; }
body.premium .site-header { background: rgba(var(--paper-rgb),.92); }
body.premium .jstage, body.premium .door, body.premium .person, body.premium .lg-card:not(.lg-fact), body.premium .calc { background: var(--paper-2); }

/* 6. Type refinement (cheap, included) ------------------------------------- */
body.premium h1, body.premium h2 { letter-spacing: -.03em; }
body.premium .eyebrow { display: inline-flex; align-items: center; gap: 10px; }
body.premium .eyebrow::before { content: ""; width: 22px; height: 2px; background: var(--green-2); }
body.premium .faq summary::after, body.premium .usual summary::after { content: "›"; display: inline-grid; place-items: center; width: 24px; height: 24px; line-height: 1; transform: rotate(90deg); font-size: 26px; transition: transform .2s var(--ease); }
body.premium .usual summary, body.premium .faq summary { overflow: hidden; }
body.premium .usual summary > span { min-width: 0; }
body.premium .faq details[open] summary::after, body.premium .usual[open] summary::after { transform: rotate(-90deg); }
body.premium .jsteps { border-top-color: var(--green-3); }
body.premium .objection { border-top-color: var(--green-3); }

/* 2. Forest surface for journey two --------------------------------------- */
body.premium .section.forest { background: var(--forest); color: #f3efe4; }
body.premium .forest .eyebrow { color: var(--mint); }
body.premium .forest .eyebrow::before { background: var(--mint); }
body.premium .forest h2 { color: #fff; }
body.premium .forest h2 em { color: var(--mint); }
body.premium .forest .lede { color: rgba(243,239,228,.82); }
body.premium .forest .jsteps { border-top-color: rgba(255,255,255,.14); }
body.premium .forest .jstep { border-bottom-color: rgba(255,255,255,.12); }
body.premium .forest .jstep:hover { background: rgba(255,255,255,.05); }
body.premium .forest .jstep.is-active { background: rgba(255,255,255,.08); border-left-color: var(--mint); }
body.premium .forest .jnum { color: rgba(243,239,228,.5); }
body.premium .forest .jstep.is-active .jnum { color: var(--mint); }
body.premium .forest .jstep strong { color: #fff; }
body.premium .forest .jstep p, body.premium .forest .jstep ul { color: rgba(243,239,228,.75); }
body.premium .forest .jstage { color: var(--ink); box-shadow: 0 1px 2px rgba(0,0,0,.25), 0 30px 70px rgba(0,0,0,.35); border-color: transparent; }
body.premium .forest .jwatermark { color: rgba(255,255,255,.07); }
body.premium .forest .lg-arrow { background: #fff; }
body.premium .forest .jnav .muted { color: var(--muted); }

/* 3. Photo band --------------------------------------------------------- */
.photo-band { display: none; }
body.premium .photo-band { display: block; position: relative; min-height: 420px; overflow: hidden; background: var(--forest); }
body.premium .photo-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 35%; filter: grayscale(1) contrast(1.05); opacity: .55; mix-blend-mode: luminosity; }
body.premium .photo-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(var(--forest-rgb),.92) 0%, rgba(var(--forest-rgb),.55) 55%, rgba(var(--forest-rgb),.25) 100%); }
body.premium .photo-band .page-width { position: relative; z-index: 1; padding: 72px 0; color: #fff; }
body.premium .photo-band .eyebrow { color: var(--mint); }
body.premium .photo-band .eyebrow::before { background: var(--mint); }
body.premium .photo-band h2 { font-size: clamp(36px, 4.6vw, 64px); margin-bottom: 10px; color: #fff; }
body.premium .photo-band h2 em { color: var(--mint); }
body.premium .photo-band p { max-width: 560px; margin: 0; color: rgba(255,255,255,.85); font-size: 17px; }
body.premium .photo-band .pb-quote { margin: 26px 0 0; font: 500 22px/1.3 var(--display); max-width: 620px; color: #fff; }
body.premium .photo-band .pb-quote cite { display: block; margin-top: 8px; font: 400 13px var(--body); color: rgba(255,255,255,.7); font-style: normal; }
/* Pickup band switch (html[data-pb]): "come" = "Can't make it in?" over the doorway photo, "then" = the original */
html[data-pb="come"] .photo-band .pb-then, html[data-pb="then"] .photo-band .pb-come { display: none; }
body.premium .photo-band .pb-ask { display: block; margin-bottom: 6px; font-size: .5em; color: rgba(255,255,255,.85); }
@media (min-width: 981px) {
  body.premium .photo-band img.pb-come { left: auto; width: 58%; object-position: 50% 28%; -webkit-mask-image: linear-gradient(90deg, transparent, #000 32%); mask-image: linear-gradient(90deg, transparent, #000 32%); }
}

/* 4. Oversized numeral behind the stage ----------------------------------- */
.jwatermark { display: none; }
body.premium .journey { position: relative; }
body.premium .jwatermark { display: block; position: absolute; left: 0; right: 0; top: -70px; overflow: hidden; text-align: right; padding-right: 8px; box-sizing: border-box; contain: paint; z-index: 0; font: 600 300px/1 var(--display); color: rgba(12,23,17,.05); letter-spacing: -.04em; pointer-events: none; user-select: none; transition: opacity .25s; }
body.premium .jsteps, body.premium .jstage { position: relative; z-index: 1; }
body.premium .jstage { position: sticky; }

/* 5. Stage as an object -------------------------------------------------- */
body.premium .jstage { border-top: 4px solid var(--green); border-radius: 18px; box-shadow: 0 1px 2px rgba(var(--forest-rgb),.08), 0 24px 60px rgba(var(--forest-rgb),.14); }
body.premium .jscreen { animation: jfade .2s var(--ease) both; }
@keyframes jfade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
body.premium .jprogress { display: block; height: 3px; background: var(--line); border-radius: 3px; margin: 14px 0 0; overflow: hidden; }
.jprogress { display: none; }
body.premium .jprogress i { display: block; height: 100%; width: 20%; background: var(--green-2); transition: width .3s var(--ease); }
body.premium .jnav { border-top: 0; padding-top: 10px; }
body.premium .jmini td.num { color: var(--green); }
body.premium .jscreen-head { border-bottom-color: var(--green-3); }
body.premium .lg-arrow { border-color: var(--green-3); }
body.premium .final-box { box-shadow: 0 30px 70px rgba(var(--green-rgb),.22); }

@media (max-width: 980px) {
  body.premium .jwatermark { font-size: 150px; top: -34px; }
  body.premium .photo-band { min-height: 320px; }
}
@media (max-width: 700px) { body.premium .jwatermark { display: none; } }
@media (prefers-reduced-motion: reduce) { body.premium .jscreen { animation: none; } }


/* 7. Site-wide bands (Pass 5) ------------------------------------------ */
body.premium .hero:not(.frost-band) { background: #fff; }
body.premium .section.frost-band { background: var(--paper-band); }
body.premium .section.tint { background: var(--tint); }
body.premium .section.fact-band { background: var(--paper-band); }
.final-box { background: var(--forest); }
body.premium .fact-bar a:hover, body.premium .fact-bar a:focus-visible { background: rgba(var(--green-rgb),.08); }
body.premium .receipt, body.premium .res-feature { box-shadow: 0 1px 2px rgba(var(--forest-rgb),.08), 0 24px 60px rgba(var(--forest-rgb),.14); }
body.premium .offer-bar { background: var(--paper-2); }


/* Batch A: hero motion, presence, decode line, resume bar, report strip, 404, thanks, components */
.hero-copy > * { opacity: 0; transform: translateY(14px); transition: opacity .5s var(--ease), transform .5s var(--ease); }
.hero-in .hero-copy > * { opacity: 1; transform: none; }
.hero-in .hero-copy > :nth-child(1) { transition-delay: .05s } .hero-in .hero-copy > :nth-child(2) { transition-delay: .15s } .hero-in .hero-copy > :nth-child(3) { transition-delay: .25s } .hero-in .hero-copy > :nth-child(4) { transition-delay: .33s } .hero-in .hero-copy > :nth-child(5) { transition-delay: .41s } .hero-in .hero-copy > :nth-child(6) { transition-delay: .48s } .hero-in .hero-copy > :nth-child(7) { transition-delay: .55s }
.hero-visual { opacity: 0; transform: translateX(24px); transition: opacity .6s var(--ease) .2s, transform .6s var(--ease) .2s; }
.hero-in .hero-visual { opacity: 1; transform: none; }
.hero-photo { will-change: transform; }
.range-float { opacity: 0; transform: translateY(16px); transition: opacity .45s var(--ease) .65s, transform .45s var(--ease) .65s; }
.hero-in .range-float { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .hero-copy > *, .hero-visual, .range-float { opacity: 1 !important; transform: none !important; transition: none !important; } }
.presence { display: flex; align-items: center; gap: 8px; margin: 18px 0 0; font-size: 14px; color: var(--ink-2); }
.presence i { width: 10px; height: 10px; border-radius: 50%; background: var(--green-2); box-shadow: 0 0 0 4px rgba(21, 150, 83,.18); animation: pulse 2s infinite; }
.presence i.off { background: var(--muted); box-shadow: none; animation: none; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(21, 150, 83,.35) } 70% { box-shadow: 0 0 0 8px rgba(21, 150, 83,0) } 100% { box-shadow: 0 0 0 0 rgba(21, 150, 83,0) } }
.qf-decoded { display: block; min-height: 18px; margin-top: 8px; font-size: 13px; color: var(--muted); }
.qf-decoded.ok { color: var(--green); font-weight: 700; }
.resume-bar { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin: -8px 0 24px; padding: 14px 18px; border: 1px solid var(--green); border-radius: 14px; background: var(--green-4); }
.resume-bar div { flex: 1; min-width: 200px; } .resume-bar strong { display: block; } .resume-bar span { color: var(--ink-2); font-size: 14px; }
.text-button.small { font-size: 13px; }
.reads { background: #fff; }
.reads-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.read { display: grid; gap: 8px; align-content: start; }
.read-frame { height: 210px; overflow: hidden; padding: 14px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-2); display: grid; align-items: center; }
.read-frame > * { transform: scale(.92); transform-origin: left center; width: 108%; }
.read-frame .rpt-facts { grid-template-columns: repeat(3, 1fr); }
.read-frame .rpt-facts li:nth-child(n+4) { display: none; }
.read-frame .rt { max-width: 300px; }
.read strong { font: 600 18px var(--display); }
.read span { color: var(--ink-2); font-size: 14px; }
.notfound .lede { max-width: 560px; }
.nf-links { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin-top: 32px; max-width: 760px; }
.nf-links a { display: grid; gap: 4px; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; color: inherit; transition: transform .15s, border-color .15s; }
.nf-links a:hover { transform: translateY(-3px); border-color: var(--green); }
.nf-links strong { color: var(--green); } .nf-links span { color: var(--muted); font-size: 14px; }
.thanks-layout { display: grid; grid-template-columns: 1.2fr .8fr; gap: 28px; align-items: start; }
.accept-steps-plain { margin: 0; padding-left: 20px; color: var(--ink-2); font-size: 15px; display: grid; gap: 8px; }
.comp-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.comp { padding: 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: grid; gap: 12px; align-content: start; }
.comp.wide { grid-column: 1 / -1; }
.comp h3 { font-size: 20px; } .comp code { display: block; font-size: 12px; color: var(--muted); background: var(--soft); padding: 8px 10px; border-radius: 8px; }
.swatches { display: flex; gap: 8px; } .swatches i { width: 36px; height: 36px; border-radius: 8px; }
.band-samples { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; } .band-samples > * { padding: 24px 10px !important; text-align: center; font-size: 13px; border-radius: 10px; }
.band-samples .final-box { color: #fff; display: block; }
/* a11y: focus on chips, rail arrows; readable muted text over frost */
.chip:focus-visible, .lg-arrow:focus-visible, .idpick button:focus-visible, .seg button:focus-visible { outline: none; box-shadow: var(--focus); }
.frost-band .muted, .frost-band .small.muted, .frost-band .ledger-strip span, .frost-band .rf-body p { color: #4e5d55; }
@media (max-width: 980px) { .reads-row { grid-template-columns: 1fr; } .thanks-layout { grid-template-columns: 1fr; } .comp-grid { grid-template-columns: 1fr; } .nf-links { grid-template-columns: 1fr; } }


/* Batch B: photos, finish later, message preview, timeline, print */
.photo-drop { display: grid; gap: 4px; padding: 18px; border: 2px dashed var(--line-2); border-radius: 12px; background: var(--paper-2); cursor: pointer; text-align: center; transition: border-color .15s, background .15s; }
.photo-drop:hover, .photo-drop.over, .photo-drop:focus-visible { border-color: var(--green); background: var(--green-4); outline: none; }
.photo-drop.full { opacity: .6; pointer-events: none; }
.photo-drop strong { font-size: 15px; } .photo-drop span { color: var(--muted); font-size: 12px; }
.photo-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 8px; margin-top: 10px; }
.photo-grid:empty { display: none; }
.photo-grid figure { position: relative; margin: 0; aspect-ratio: 4 / 3; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--soft); }
.photo-grid img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ph-x { position: absolute; top: 4px; right: 4px; width: 24px; height: 24px; border: 0; border-radius: 50%; background: rgba(12,23,17,.75); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.photo-grid.review { margin-top: 16px; }
.sa-left { display: flex; align-items: center; gap: 16px; }
.hint.ok { color: var(--green); font-weight: 600; }
.msg-preview { margin-top: 16px; display: grid; gap: 8px; }
.msg-preview:empty { display: none; }
.sms { display: grid; gap: 6px; }
.sms .bubble { justify-self: start; max-width: 420px; padding: 12px 14px; border-radius: 18px 18px 18px 4px; background: #e9ecef; color: #111; font-size: 14px; line-height: 1.45; word-break: break-word; }
.mail { border: 1px solid var(--line); border-radius: 10px; background: #fff; font-size: 14px; }
.mail-h { padding: 8px 12px; border-bottom: 1px solid var(--line); color: var(--ink-2); } .mail-h span:first-child { display: inline-block; width: 64px; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .08em; }
.mail-b { padding: 12px; color: var(--ink-2); line-height: 1.55; }
.notice.changed { margin-bottom: 14px; border-color: var(--green); background: var(--green-4); }
.print-row { margin: 14px 0 0; text-align: right; }
.print-only { display: none; }
@media print {
  @page { margin: 14mm; }
  body { background: #fff; color: #000; padding: 0; }
  .site-header, .portal-side, .proto-bar, .offer-bar, .modal, .portal-head .seg, .report-actions, .accept-steps, .print-row, .mobile-cta, .toast, .skip-link { display: none !important; }
  .portal-layout { display: block; padding: 0; }
  .portal-head { padding: 0 0 12px; border-bottom: 1px solid #000; background: #fff; }
  .rpt-tiles { grid-template-columns: repeat(3, 1fr); }
  .rt, .rpt-conf, .firm-offer, .explain { break-inside: avoid; }
  .firm-offer { background: #0b6b3a !important; color: #fff !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .print-only { display: block; }
  .print-foot { margin-top: 18px; padding-top: 10px; border-top: 1px solid #000; font-size: 11px; color: #333; }
  a[href]::after { content: ""; }
  .rt-link::after { content: " (" attr(href) ")"; font-weight: 400; font-size: 10px; color: #555; }
}
@media (max-width: 700px) { .photo-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 700px) { .swatches { flex-wrap: wrap; } .band-samples { grid-template-columns: 1fr 1fr; } .comp code { word-break: break-word; } }


/* Splash batch: wipes, drift, build-in, sticky start, dark header, ledger depth, details */
.wipe { clip-path: inset(0 0 100% 0); transform: translateY(10px); transition: clip-path .7s var(--ease), transform .7s var(--ease); }
.visible .wipe, .wipe.visible { clip-path: inset(0 0 -10% 0); transform: none; }
@keyframes frostdrift { from { transform: scale(1.06) translate3d(0, 0, 0); } to { transform: scale(1.1) translate3d(-1.5%, 1%, 0); } }
.frost-bg { animation: frostdrift 28s ease-in-out infinite alternate; }
.rpt-build .rpt-head, .rpt-build .rpt-facts, .rpt-build .buyer-strip, .rpt-build .rt, .rpt-build .regional, .rpt-build .rpt-two, .rpt-build .firm-offer, .rpt-build .accept-steps, .rpt-build .report-actions { animation: rptin .55s var(--ease) both; }
.rpt-build .rpt-facts { animation-delay: .08s } .rpt-build .buyer-strip { animation-delay: .16s }
.rpt-build .rt:nth-child(1) { animation-delay: .24s } .rpt-build .rt:nth-child(2) { animation-delay: .32s } .rpt-build .rt:nth-child(3) { animation-delay: .4s } .rpt-build .rt:nth-child(4) { animation-delay: .48s } .rpt-build .rt:nth-child(5) { animation-delay: .56s } .rpt-build .rt:nth-child(6) { animation-delay: .64s }
.rpt-build .regional { animation-delay: .7s } .rpt-build .rpt-two { animation-delay: .8s } .rpt-build .firm-offer { animation-delay: .95s; } .rpt-build .accept-steps { animation-delay: 1.1s } .rpt-build .report-actions { animation-delay: 1.2s }
@keyframes rptin { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.sticky-start { position: fixed; top: 0; left: 0; right: 0; z-index: 59; transform: translateY(-110%); transition: transform .3s var(--ease); background: rgba(var(--forest-rgb),.96); color: #fff; border-bottom: 1px solid rgba(255,255,255,.12); backdrop-filter: blur(10px); }
.sticky-start.is-on { transform: translateY(80px); }
.ss-row { display: flex; align-items: center; gap: 14px; padding: 10px 0; }
.ss-row strong { font: 600 18px var(--display); white-space: nowrap; }
.ss-row input { flex: 0 1 360px; min-height: 40px; padding: 0 12px; border: 1px solid rgba(255,255,255,.25); border-radius: 10px; background: rgba(255,255,255,.1); color: #fff; font: inherit; font-size: 14px; }
.ss-row input::placeholder { color: rgba(255,255,255,.6); }
.ss-row input:focus { outline: none; border-color: var(--mint); box-shadow: 0 0 0 3px rgba(143,233,177,.25); }
.ss-note { margin-left: auto; color: rgba(255,255,255,.7); font-size: 13px; white-space: nowrap; }
body:has(.sticky-start.is-on) .site-header { box-shadow: none; }
.site-header { transition: background-color .35s var(--ease), border-color .35s var(--ease); }
.site-header.scrolled { background: rgba(var(--forest-rgb),.94); border-bottom-color: rgba(255,255,255,.1); }
.site-header.scrolled .main-nav a, .site-header.scrolled .descriptor, .site-header.scrolled .nav-toggle { color: #fff; }
.site-header.scrolled .descriptor small { color: var(--mint); }
.site-header.scrolled .main-nav a:hover, .site-header.scrolled .main-nav a[aria-current="page"] { color: var(--mint); border-bottom-color: var(--mint); }
.site-header.scrolled .brand img { filter: brightness(0) invert(1); }
.site-header.scrolled .button.ghost { color: #fff; border-color: rgba(255,255,255,.35); background: transparent; }
.site-header.scrolled .button.ghost:hover { background: rgba(255,255,255,.1); }
.site-header.scrolled .button:not(.ghost) { background: #fff; color: var(--green); }
.lg-photo img { transition: transform 1.6s var(--ease); }
.lg-photo:hover img { transform: scale(1.06); }
.ledger-rail { -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 56px), transparent 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 56px), transparent 100%); }
.ledger::-webkit-scrollbar { height: 8px; } .ledger::-webkit-scrollbar-thumb { background: var(--green-3); border-radius: 8px; } .ledger::-webkit-scrollbar-thumb:hover { background: var(--green-2); }
::selection { background: var(--green); color: #fff; }
.fact-bar a { cursor: pointer; }
.rt, .person, .lg-card, .res-feature { cursor: pointer; }
#sampleReport:empty { min-height: 420px; border-radius: var(--radius-lg); background: linear-gradient(90deg, var(--paper-band) 25%, #f7f8f5 50%, var(--paper-band) 75%); background-size: 400% 100%; animation: shimmer 1.2s infinite; }
@keyframes shimmer { from { background-position: 100% 0; } to { background-position: 0 0; } }
@media (prefers-reduced-motion: reduce) { .wipe { clip-path: none; transform: none; transition: none; } .frost-bg { animation: none; } .rpt-build * { animation: none !important; } .lg-photo:hover img { transform: none; } }
@media (max-width: 980px) { .sticky-start { display: none; } }


/* About section: the buy center, with the numbers up front */
.about { background: #fff; padding: 88px 0; }
.about-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 64px; align-items: center; }
.about h2 { font-size: clamp(36px, 4.2vw, 56px); margin-bottom: 18px; }
.stat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.stat-grid a { display: grid; gap: 4px; align-content: start; padding: 22px 22px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--paper-2); color: inherit; transition: transform .15s var(--ease), border-color .15s, box-shadow .15s; }
.stat-grid a:hover { transform: translateY(-3px); border-color: var(--green); box-shadow: 0 14px 34px rgba(var(--forest-rgb),.10); }
.stat-grid a.wide { grid-column: 1 / -1; grid-template-columns: auto 1fr; align-items: baseline; gap: 14px; background: var(--green-4); border-color: rgba(var(--green-rgb),.25); }
.stat-grid strong { font: 600 40px/1 var(--display); color: var(--green); letter-spacing: -.02em; }
.stat-grid a.wide strong { font-size: 26px; }
.stat-grid span { color: var(--ink-2); font-size: 14px; line-height: 1.4; }
.stat-grid .verify { font-size: 12px; }
.reads { background: var(--soft); }
@media (max-width: 980px) { .about { padding: 56px 0; } .about-grid { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 480px) { .stat-grid { grid-template-columns: 1fr; } .stat-grid a.wide { grid-template-columns: 1fr; } }


/* Hero option B: full-bleed photo, gradient from below, copy in the lower third, start card at right */
.hero-cine { position: relative; min-height: clamp(640px, 92vh, 880px); display: grid; align-items: end; overflow: hidden; background: var(--forest); color: #fff; isolation: isolate; }
.cine-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 28%; z-index: -2; transform: scale(1.04); transition: transform 1.6s var(--ease); }
.cine-in .cine-bg { transform: none; }
.cine-grad { position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgba(var(--forest-rgb),.06) 0%, rgba(var(--forest-rgb),.18) 40%, rgba(var(--forest-rgb),.78) 72%, rgba(var(--forest-rgb),.97) 100%), linear-gradient(90deg, rgba(var(--forest-rgb),.55) 0%, rgba(var(--forest-rgb),0) 55%); }
.cine-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 48px; align-items: end; padding: 160px 0 64px; }
.cine-copy .eyebrow { color: var(--mint); } .cine-copy .eyebrow::before { background: var(--mint); }
.cine-copy h1 { color: #fff; font-size: clamp(48px, 6.4vw, 96px); margin-bottom: 18px; }
.cine-copy h1 em { color: var(--mint); }
.cine-sub { max-width: 560px; margin: 0 0 26px; color: rgba(255,255,255,.86); font-size: 18px; }
.cine-presence { color: rgba(255,255,255,.82); }
.cine-form { justify-self: end; width: min(420px, 100%); }
.cine-form .range-float { position: static; width: auto; transform: none; opacity: 1; transition: none; }
.cine-copy > * { opacity: 0; transform: translateY(14px); transition: opacity .55s var(--ease), transform .55s var(--ease); }
.cine-in .cine-copy > :nth-child(1) { transition-delay: .1s } .cine-in .cine-copy > :nth-child(2) { transition-delay: .2s } .cine-in .cine-copy > :nth-child(3) { transition-delay: .3s } .cine-in .cine-copy > :nth-child(4) { transition-delay: .4s } .cine-in .cine-copy > :nth-child(5) { transition-delay: .5s }
.cine-in .cine-copy > * { opacity: 1; transform: none; }
.cine-form { opacity: 0; transform: translateY(16px); transition: opacity .5s var(--ease) .55s, transform .5s var(--ease) .55s; }
.cine-in .cine-form { opacity: 1; transform: none; }
.proto-bar .seg { padding: 2px; } .proto-bar .seg button { min-height: 26px; padding: 0 10px; font-size: 12px; }
@media (max-width: 980px) {
  .hero-cine { min-height: 0; }
  .cine-grid { grid-template-columns: 1fr; gap: 20px; padding: 300px 0 32px; }
  .cine-bg { object-position: 50% 18%; }
  .cine-grad { background: linear-gradient(180deg, rgba(var(--forest-rgb),0) 0%, rgba(var(--forest-rgb),.1) 30%, rgba(var(--forest-rgb),.85) 55%, rgba(var(--forest-rgb),.98) 100%); }
  .cine-form { justify-self: stretch; width: auto; }
  .cine-copy h1 { font-size: 44px; }
}
@media (prefers-reduced-motion: reduce) { .cine-copy > *, .cine-form, .cine-bg { opacity: 1 !important; transform: none !important; transition: none !important; } }


/* Five beats: story hero, start strip, comparison, proof, numbered eyebrows */
.cine-grid.one { grid-template-columns: minmax(0, 760px); padding: 170px 0 72px; }
.hero-cine { min-height: clamp(620px, 88vh, 840px); }
.eyebrow b { display: inline-block; margin-right: 10px; padding: 2px 7px; border-radius: 6px; background: var(--green); color: #fff; font: 600 11px/1.4 var(--display); letter-spacing: .08em; }
.forest .eyebrow b, .cine-copy .eyebrow b, .final-box .eyebrow b { background: var(--mint); color: var(--forest); }
.start-strip { background: var(--forest); color: #fff; border-top: 1px solid rgba(255,255,255,.08); }
.start-strip-form { display: grid; grid-template-columns: auto minmax(240px, 480px) auto 1fr; gap: 8px 18px; align-items: center; padding: 20px 0; }
.start-strip-form strong { grid-column: 1; font: 600 22px/1 var(--display); white-space: nowrap; }
.start-strip-form .label { grid-column: 1; grid-row: 2; color: var(--mint); font: 600 10px/1 var(--display); letter-spacing: .16em; text-transform: uppercase; }
.start-strip-form .qf-row { grid-column: 2; grid-row: 1 / 3; display: grid; grid-template-columns: 1fr 56px; gap: 8px; }
.start-strip-form .qf-row input { min-height: 52px; background: #fff; color: var(--ink); border-color: transparent; font-size: 16px; }
.start-strip-form .qf-row .button { min-height: 52px; background: var(--mint); color: var(--forest); }
.start-strip-form .qf-row .button:hover { background: var(--mint-2); }
.start-strip-form .error { grid-column: 2; grid-row: 3; color: #ffb4a8; }
.start-strip-form .qf-decoded { grid-column: 2; grid-row: 3; margin: 0; color: rgba(255,255,255,.7); min-height: 0; }
.start-strip-form .qf-decoded.ok { color: var(--mint); }
.start-strip-form small { grid-column: 3 / 5; grid-row: 1 / 3; color: rgba(255,255,255,.7); font-size: 13px; line-height: 1.45; margin: 0; }
.start-strip-form small a { color: #fff; font-weight: 700; }
.start-strip-form.invalid .qf-row input { box-shadow: 0 0 0 2px #ffb4a8; }
.why { background: #fff; }
.cmp-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.cmp { width: 100%; border-collapse: collapse; min-width: 760px; table-layout: fixed; }
.cmp th, .cmp td { padding: 18px 20px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); font-size: 15px; }
.cmp thead th { padding-top: 22px; font: 600 15px var(--display); color: var(--ink); border-bottom: 2px solid var(--ink); }
.cmp thead th small { display: block; margin-top: 4px; color: var(--muted); font: 400 12px var(--body); }
.cmp tbody th { font-weight: 600; color: var(--ink); width: 24%; }
.cmp td { color: var(--ink-2); }
.cmp .us { background: var(--green); color: #fff; }
.cmp thead th.us { color: #fff; border-bottom-color: var(--mint); }
.cmp thead th.us small { color: var(--mint); }
.cmp td.us { font-weight: 600; position: relative; }
.cmp tbody tr:last-child th, .cmp tbody tr:last-child td { border-bottom: 0; }
.cmp thead th.us { border-radius: 12px 12px 0 0; }
.cmp tbody tr:last-child td.us { border-radius: 0 0 12px 12px; }
.cmp-foot { margin: 16px 0 0; color: var(--ink-2); font-size: 15px; }
.proof .lede { color: var(--ink-2); }
.pq-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
.pq { margin: 0; padding: 26px 26px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: grid; gap: 14px; align-content: start; }
.pq .stars { color: #e0a823; letter-spacing: 2px; font-size: 14px; }
.pq p { margin: 0; font: 500 17px/1.45 var(--display); color: var(--ink); }
.pq footer { display: grid; gap: 2px; padding-top: 12px; border-top: 1px solid var(--line); }
.pq footer strong { font-size: 14px; } .pq footer span { color: var(--muted); font-size: 12px; }
@media (max-width: 980px) {
  .cine-grid.one { padding: 320px 0 36px; }
  .start-strip-form { grid-template-columns: 1fr; gap: 10px; padding: 18px 0; }
  .start-strip-form strong, .start-strip-form .label, .start-strip-form .qf-row, .start-strip-form small, .start-strip-form .error, .start-strip-form .qf-decoded { grid-column: 1; grid-row: auto; }
  .start-strip-form .label { order: -1; }
  .pq-grid { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .cmp-wrap { overflow: visible; border: 0; background: transparent; }
  .cmp, .cmp tbody, .cmp tr, .cmp th, .cmp td { display: block; min-width: 0; width: auto; }
  .cmp thead { display: none; }
  .cmp tbody tr { margin-bottom: 12px; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
  .cmp tbody th { padding: 14px 16px 8px; border: 0; font: 600 18px var(--display); }
  .cmp td { padding: 10px 16px; border: 0; border-top: 1px solid var(--line); font-size: 14px; }
  .cmp td::before { content: attr(data-col); display: block; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); margin-bottom: 2px; }
    .cmp td.us { border-radius: 0; }
  .cmp tbody tr:last-child td.us { border-radius: 0; }
}

.resume-bar { margin: 20px 0 0; }
.resume-bar[hidden] { display: none; }

@media (max-width: 980px) { .cine-bg { object-position: 50% 30%; } }
@media (max-width: 700px) { .cmp tbody th { width: auto; } }


/* Congruency pass (2026-10-23): one palette, one band rhythm, one frost
   - surfaces: white (--paper) · warm band (--soft) · green tint (--tint) · frost (blurred photo + paper overlay) · forest (--forest)
   - components in --green; chrome and closing bands in --forest; accent on forest is --mint
   - every page head sits on a frost band; the close is the forest box */
.section.white { background: #fff; }
.frost-band.section { background: var(--paper-band); }
.frost-bg::after { background: rgba(var(--paper-rgb), .76); }
.site-header.scrolled, .sticky-start, .start-strip, .section.forest, .photo-band { background-color: var(--forest); }
.hero-cine { background: var(--forest); }
.cine-grad { background: linear-gradient(180deg, rgba(var(--forest-rgb), .06) 0%, rgba(var(--forest-rgb), .18) 40%, rgba(var(--forest-rgb), .78) 72%, rgba(var(--forest-rgb), .97) 100%), linear-gradient(90deg, rgba(var(--forest-rgb), .55) 0%, rgba(var(--forest-rgb), 0) 55%); }
.final-box h2 em, .final-box .eyebrow, .forest .eyebrow, .forest h2 em, .photo-band .eyebrow, .photo-band h2 em, .cine-copy .eyebrow, .cine-copy h1 em, .receipt .eyebrow, .start-strip-form .label { color: var(--mint); }
.site-footer { background: var(--forest); }
.site-footer .legal { border-top-color: rgba(255,255,255,.12); }


/* FAQ with proof */
.pf-nav { display: flex; flex-wrap: wrap; gap: 8px; margin: -16px 0 36px; }
.pf-nav a { padding: 8px 12px; border: 1px solid var(--line); border-radius: 999px; background: #fff; color: var(--ink-2); font-size: 13px; font-weight: 600; }
.pf-nav a:hover { border-color: var(--green); color: var(--green); }
.pf { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 36px; padding: 36px 0; border-top: 1px solid var(--line-2); scroll-margin-top: 100px; }
.pf:first-of-type { border-top: 0; }
.pf-q { position: relative; padding-left: 56px; }
.pf-n { position: absolute; left: 0; top: 2px; font: 600 28px/1 var(--display); color: var(--green); }
.pf-q h2 { font: 600 clamp(24px, 2.4vw, 32px)/1.08 var(--display); text-transform: none; letter-spacing: -.01em; margin-bottom: 12px; }
.pf-q p { margin: 0; color: var(--ink-2); font-size: 17px; }
.pf-proof { display: grid; gap: 14px; }
.pf-review { margin: 0; padding: 20px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; display: grid; gap: 10px; }
.pf-review .stars { color: #e0a823; letter-spacing: 2px; font-size: 13px; }
.pf-review blockquote { margin: 0; font: 500 16px/1.45 var(--display); color: var(--ink); }
.pf-review figcaption { display: grid; gap: 2px; font-size: 13px; } .pf-review figcaption span { color: var(--muted); font-size: 12px; } .pf-review a { color: var(--green); font-weight: 700; }
.pf-video { margin: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.pf-poster { position: relative; aspect-ratio: 16 / 7; display: grid; place-items: center; background: linear-gradient(135deg, var(--forest), #134a2f); }
.pf-poster .lg-play { width: 54px; height: 54px; border-radius: 50%; background: rgba(255,255,255,.14); color: #fff; display: grid; place-items: center; font-size: 18px; border: 1px solid rgba(255,255,255,.35); }
.pf-badge { position: absolute; left: 12px; bottom: 10px; padding: 4px 8px; border-radius: 6px; background: rgba(255,255,255,.14); color: #fff; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; }
.pf-video figcaption { padding: 12px 16px 14px; display: grid; gap: 2px; } .pf-video strong { font-size: 15px; } .pf-video span { color: var(--muted); font-size: 13px; }
.pf-photo { margin: 0; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
.pf-photo img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; }
.pf-photo figcaption { padding: 10px 16px 12px; color: var(--muted); font-size: 13px; }
.pf-live { display: grid; gap: 6px; padding: 18px 20px; border: 1px solid rgba(var(--green-rgb), .28); border-radius: var(--radius-lg); background: var(--green-4); }
.pf-live strong { font: 600 18px var(--display); color: var(--green); } .pf-live span { color: var(--ink-2); font-size: 14px; } .pf-live .button { justify-self: start; margin-top: 6px; }
@media (max-width: 980px) { .pf { grid-template-columns: 1fr; gap: 18px; padding: 28px 0; } .pf-nav { display: none; } }


/* The quick start lives in the hero copy: one field, one button, no second CTA */
.hero-start { display: grid; gap: 8px; max-width: 560px; margin-top: 4px; position: static; width: auto; padding: 0; border: 0; background: none; box-shadow: none; opacity: 1; transform: none; }
.hs-label { font: 600 11px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--green); }
.hero-start .qf-row { grid-template-columns: minmax(0, 1fr) auto; gap: 8px; }
.hero-start .qf-row input { min-height: 54px; font-size: 16px; background: #fff; }
.hero-start .qf-row .button { min-height: 54px; padding: 0 20px; font-size: 15px; white-space: nowrap; }
.hero-start .error { display: none; color: #b42318; font-size: 13px; }
.hero-start.invalid .error { display: block; }
.hero-start.invalid .qf-row input { border-color: #b42318; }
.hs-alt { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: center; font-size: 13px; color: var(--muted); margin-top: 2px; }
.hs-alt a, .hs-alt .text-button { font-size: 13px; }
.hero-visual .hero-photo { height: 640px; }
.hero .presence { margin-top: 18px; }
@media (max-width: 700px) { .hero-start .qf-row { grid-template-columns: 1fr; } .hero-start .qf-row .button { width: 100%; } }

/* comparison: scannable cells */
.cmp td { font-size: 17px; }
.cmp td i { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 10px; border-radius: 50%; font-style: normal; font-size: 13px; font-weight: 700; vertical-align: -5px; }
.cmp td.no i { background: #fde8e6; color: #b42318; }
.cmp td.us i { background: var(--mint); color: var(--forest); }
.cmp td b { font-weight: 800; letter-spacing: .01em; }
.cmp td.no b { color: var(--ink); }
.cmp td.us { font-weight: 500; }
.cmp td.us b { color: #fff; }
@media (max-width: 700px) { .cmp td { font-size: 15px; } }

.hero-start { box-shadow: none !important; overflow: visible; }


/* Reach */
.reach-stats { display: grid; grid-template-columns: repeat(6, 1fr); border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; margin-bottom: 18px; overflow: hidden; }
.reach-stats > div:not(.rl-head):not(.rl-bar) { padding: 18px 18px 16px; border-right: 1px solid var(--line); display: grid; gap: 2px; }
.reach-stats > div:last-child { border-right: 0; }
.reach-stats > div:not(.rl-head):not(.rl-bar) strong { font: 600 32px/1 var(--display); color: var(--green); }
.reach-stats > div:not(.rl-head):not(.rl-bar) span { font-size: 13px; font-weight: 600; color: var(--ink); }
.reach-stats small { font-size: 12px; color: var(--muted); }
.reach-map-wrap { border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; }
.reach-tools { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; border-bottom: 1px solid var(--line); }
.reach-legend { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--muted); }
.reach-legend i { width: 12px; height: 12px; border-radius: 50%; display: inline-block; }
.lg-pick { background: var(--green); } .lg-drop { background: var(--ink); } .lg-lot { background: var(--mint); border: 2px solid var(--forest); }
.reach-map { height: 560px; background: var(--paper-band); }
.reach-map:focus-visible { outline: none; box-shadow: inset 0 0 0 3px var(--green-2); }
/* The drawn map (data/basemap.js): paper ground, Census lines drawn by reach.js, place names as quiet labels */
.reach-map.leaflet-container { background: var(--paper-band); font-family: var(--body); }
.reach-place { width: 0; height: 0; }
.reach-place span { position: absolute; transform: translate(-50%, -50%); white-space: nowrap; pointer-events: none; text-shadow: 0 0 3px var(--paper-band), 0 0 3px var(--paper-band), 0 0 6px var(--paper-band); }
/* a city's name starts to the right of its point, so a deal pin on the same town never covers it */
.reach-place.city span { transform: translate(19px, -50%); font-size: 12px; font-weight: 500; color: var(--muted); }
.reach-place.city span::before { content: ""; position: absolute; left: -21px; top: 50%; width: 4px; height: 4px; margin-top: -2px; border-radius: 50%; background: var(--muted); }
.reach-place.region span { font: 600 12px var(--display); letter-spacing: .3em; text-transform: uppercase; color: rgba(22,32,26,.28); }
.reach-pin { display: grid; place-items: center; border-radius: 50%; color: #fff; font: 700 12px var(--display); box-shadow: 0 2px 8px rgba(var(--forest-rgb), .35); border: 2px solid #fff; }
.reach-map .reach-pin { display: grid; }   /* leaflet.css loads after this file and sets its icons to display: block */
.reach-pin.pickup { background: var(--green); } .reach-pin.dropoff { background: var(--ink); } .reach-pin.lot { background: var(--mint); color: var(--forest); border-color: var(--forest); font-size: 13px; }
.reach-pin b { font-weight: 700; }
.leaflet-popup-content { font-family: var(--body); font-size: 14px; line-height: 1.4; }
.leaflet-popup-content-wrapper { border-radius: 12px; }
.reach-foot { margin: 0; padding: 10px 16px 12px; }
.reach-towns { margin-top: 36px; }
.reach-towns h2 { font-size: 28px; margin-bottom: 14px; }
.town-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 32px; }
.town-list li { display: grid; grid-template-columns: 1fr auto; grid-template-rows: auto auto; gap: 2px 12px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.town-list li strong { font-size: 15px; } .town-list li > span:nth-child(2) { color: var(--muted); }
.tl-bar { grid-column: 1 / -1; display: flex; gap: 2px; height: 6px; }
.tl-bar i { display: block; height: 6px; border-radius: 3px; } .tl-bar .p { background: var(--green); } .tl-bar .d { background: var(--ink); }
.tl-n { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
@media (max-width: 980px) { .reach-stats { grid-template-columns: repeat(3, 1fr); } .reach-stats > div:nth-child(3n) { border-right: 0; } .reach-stats > div:nth-child(-n+3) { border-bottom: 1px solid var(--line); } .reach-map { height: 440px; } .town-list { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .reach-stats { grid-template-columns: 1fr 1fr; } .reach-stats > div:nth-child(3n) { border-right: 1px solid var(--line); } .reach-stats > div:nth-child(2n) { border-right: 0; } .reach-stats > div:nth-child(-n+4) { border-bottom: 1px solid var(--line); } .reach-map { height: 380px; } }


/* Comparison, with presence */
.cmp-wrap { border: 0; border-radius: var(--radius-lg); background: transparent; overflow: visible; }
.cmp { border-collapse: separate; border-spacing: 0; }
@media (min-width: 701px) { .cmp { min-width: 820px; } }
.cmp thead th { padding: 18px 22px 16px; border-bottom: 0; background: var(--paper-band); font: 600 20px/1.1 var(--display); text-transform: uppercase; letter-spacing: .02em; color: var(--ink); vertical-align: bottom; }
.cmp thead th small { text-transform: none; letter-spacing: 0; margin-top: 6px; font-size: 13px; }
.cmp thead th.qcol { background: transparent; }
.cmp thead th.qcol span { font: 600 10px var(--display); letter-spacing: .18em; text-transform: uppercase; color: var(--muted); }
.cmp thead th:nth-child(2) { border-radius: 14px 0 0 0; }
.cmp thead th.us { background: var(--forest); color: #fff; border-radius: 14px 14px 0 0; box-shadow: 0 -8px 0 0 var(--forest); }
.cmp thead th.us small { color: var(--mint); }
.cmp tbody th { padding: 22px 22px 22px 0; width: 22%; border-bottom: 1px solid var(--line-2); font: 600 20px/1.15 var(--display); text-transform: uppercase; letter-spacing: .01em; color: var(--ink); vertical-align: middle; }
.cmp td { padding: 20px 22px; border-bottom: 1px solid #fff; vertical-align: middle; font-size: 17px; }
.cmp td.no { background: var(--paper-band); color: var(--ink-2); }
.cmp tbody tr:nth-child(even) td.no { background: #ebe8df; }
.cmp td.no b { color: var(--ink); font-weight: 800; }
.cmp td i { width: 30px; height: 30px; font-size: 15px; vertical-align: -8px; margin-right: 12px; }
.cmp td.no i { background: #c9302c; color: #fff; }
.cmp td.us { background: var(--green); color: #fff; font-size: 18px; font-weight: 600; border-bottom-color: rgba(255,255,255,.18); box-shadow: inset 4px 0 0 var(--forest); }
.cmp tbody tr:nth-child(even) td.us { background: #0d7a42; }
.cmp td.us i { background: var(--mint); color: var(--forest); }
.cmp td.us b { color: #fff; font-weight: 800; }
.cmp tbody tr:last-child th, .cmp tbody tr:last-child td { border-bottom: 0; }
.cmp tbody tr:last-child td.no:nth-child(2) { border-radius: 0 0 0 14px; }
.cmp tbody tr:last-child td.us { border-radius: 0 0 14px 14px; box-shadow: inset 4px 0 0 var(--forest), 0 24px 50px rgba(var(--forest-rgb), .18); }
.cmp td.us { box-shadow: inset 4px 0 0 var(--forest); }
.cmp-foot { margin-top: 22px; }
@media (max-width: 700px) {
  .cmp tbody th { width: auto; padding: 16px 16px 8px; font-size: 18px; border: 0; }
  .cmp td { border-bottom: 0; font-size: 15px; }
  .cmp td.no { background: var(--paper-band); } .cmp tbody tr:nth-child(even) td.no { background: var(--paper-band); }
  .cmp tbody tr { border-radius: 14px; }
  .cmp td.us, .cmp tbody tr:last-child td.us { border-radius: 0 0 12px 12px; box-shadow: none; }
  .cmp tbody tr:last-child td.no:nth-child(2) { border-radius: 0; }
}

.reach-pin { position: relative; overflow: visible; }
.reach-pin em { position: absolute; right: -8px; top: -8px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--ink); color: #fff; font: 700 10px/18px var(--body); font-style: normal; text-align: center; border: 2px solid #fff; }

@media (min-width: 701px) {
  .cmp td { position: relative; padding-left: 66px; }
  .cmp td i { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); margin: 0; }
}

/* Journey two: photo band in forest, the journey itself on warm paper so the two separate */
body.premium .photo-band { min-height: 460px; }
body.premium .photo-band .page-width { padding: 96px 0; }
body.premium .photo-band::after { background: linear-gradient(90deg, rgba(var(--forest-rgb), .94) 0%, rgba(var(--forest-rgb), .6) 50%, rgba(var(--forest-rgb), .2) 100%); }
#next.section.soft { background: var(--soft); }

.reach-pin b { font-size: 14px; text-shadow: 0 1px 1px rgba(0,0,0,.25); }
.reach-pin.lot { z-index: 1000 !important; }

}


/* Intake polish: page head on the frost band, the card as a stage, a sidebar that sells */
.intake-head { margin-bottom: 34px; }
.intake-head h1 { font-size: clamp(40px, 5vw, 64px); }
.intake-layout { gap: 40px; }
.intake-card { padding: 0 0 30px; border: 0; border-top: 4px solid var(--green); border-radius: 18px; background: #fff; box-shadow: 0 1px 2px rgba(var(--forest-rgb), .08), 0 24px 60px rgba(var(--forest-rgb), .14); overflow: hidden; }
.intake-bar { display: flex; align-items: center; gap: 14px; padding: 14px 34px; border-bottom: 1px solid var(--line); background: var(--paper-2); }
.ib-step { font: 600 11px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--green); }
.ib-name { font: 600 18px var(--display); }
.ib-save { margin-left: auto; font-size: 12px; color: var(--muted); }
.ib-save::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--green-2); margin-right: 6px; vertical-align: 1px; }
.intake-card > .stepper, .intake-card > .step-panel { margin-left: 34px; margin-right: 34px; }
.intake-card > .stepper { margin-top: 26px; }
.stepper li { border-top-width: 4px; padding-top: 12px; }
.stepper li[aria-current="step"] { border-top-color: var(--green); }
.stepper li.done { border-top-color: var(--green); }
.stepper li.done b::after { content: "\2713"; margin-left: 6px; font-size: 14px; color: var(--green-2); }
.idpick button { padding: 14px 16px; border-radius: 14px; }
.idpick button[aria-selected="true"] { box-shadow: inset 0 0 0 1px var(--green), 0 10px 24px rgba(var(--green-rgb), .12); }
.step-actions { margin-top: 30px; padding-top: 22px; }
.step-actions .button { min-height: 54px; padding: 0 26px; font-size: 16px; }
.step-actions .button.ghost { min-height: 54px; }
.side-card { border-radius: 18px; background: #fff; }
.buyer-card { display: grid; grid-template-columns: 56px 1fr; gap: 14px; align-items: center; }
.buyer-card img { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.buyer-card strong { display: block; font: 600 18px/1.15 var(--display); margin-bottom: 4px; }
.buyer-card span { color: var(--ink-2); font-size: 13px; line-height: 1.45; }
.side-steps { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 14px; }
.side-steps li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; }
.side-steps b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #fff; font: 600 12px var(--display); }
.side-steps strong { display: block; font-size: 14px; margin-bottom: 2px; }
.side-steps span { color: var(--muted); font-size: 13px; line-height: 1.45; }
.side-quote { margin: 0; display: grid; gap: 10px; }
.side-quote .stars { color: #e0a823; letter-spacing: 2px; font-size: 13px; }
.side-quote blockquote { margin: 0; font: 500 16px/1.4 var(--display); color: var(--ink); }
.side-quote figcaption { display: grid; gap: 2px; font-size: 13px; } .side-quote figcaption span { color: var(--muted); font-size: 12px; } .side-quote a { color: var(--green); font-weight: 700; }
.side-talk .hero-actions { margin-top: 10px; gap: 10px 16px; }
@media (max-width: 980px) {
  .intake-head { margin-bottom: 22px; }
  .intake-bar { padding: 12px 20px; }
  .intake-card > .stepper, .intake-card > .step-panel { margin-left: 20px; margin-right: 20px; }
  .ib-save { display: none; }
}

/* Intake sidebar: one compact card, sticky, never taller than step one */
.intake-side { position: sticky; top: 96px; }
.side-one { display: grid; gap: 16px; padding: 20px; }
.side-one .buyer-card { grid-template-columns: 48px 1fr; gap: 12px; padding-bottom: 14px; border-bottom: 1px solid var(--line); }
.side-one .buyer-card img { width: 48px; height: 48px; }
.side-one .buyer-card strong { font-size: 17px; }
.side-steps.compact { gap: 10px; margin: 0; }
.side-steps.compact b { width: 22px; height: 22px; font-size: 11px; }
.side-steps.compact strong { font-size: 14px; margin: 0; line-height: 22px; }
.side-steps.compact .verify { font-size: 11px; }
.side-one .side-quote { gap: 6px; padding: 12px 14px; border-radius: 12px; background: var(--paper-band); }
.side-one .side-quote blockquote { font-size: 15px; }
.side-one .side-quote figcaption { display: block; font-size: 12px; color: var(--muted); }
.side-one .side-talk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
.side-one .side-talk > span { font: 600 15px var(--display); margin-right: auto; }
@media (max-width: 980px) { .intake-side { position: static; } }


/* Pass 12: the same stage treatment on every card that is the point of its page */
:root { --shadow-stage: 0 1px 2px rgba(var(--forest-rgb), .08), 0 24px 60px rgba(var(--forest-rgb), .14); }
.rpt-wrap, .calc, .person, .three-numbers li, .receipt, .report-peek, .ledger-cta, .res-feature, .intake-card { border-radius: 18px; }
.rpt-wrap, .calc, .person, .three-numbers li, .receipt, .ledger-cta, .res-feature, .side-one { box-shadow: var(--shadow-stage); }
.rpt-wrap { border-top: 4px solid var(--green); overflow: hidden; background: #fff; }
.calc { border-top: 4px solid var(--green); }
.person { border-color: transparent; }
.three-numbers li { border-color: transparent; }
.three-numbers li.lakeway { box-shadow: var(--shadow-stage), inset 0 4px 0 var(--forest); }
.ledger-cta { border-color: transparent; }
/* proof beside claims */
.proof-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 18px; }
.pq.proof-aside { box-shadow: none; border-color: var(--line); }
.split .pq.proof-aside { margin-top: 22px; }
/* payoff FAQ as cards */
.faq-cards details { margin-bottom: 10px; border: 1px solid var(--line); border-radius: 14px; background: #fff; padding: 0 18px; }
.faq-cards details[open] { border-color: var(--green); box-shadow: var(--shadow-stage); }
/* seller page: the same radius and shadow family */
.portal-side .side-card { border-radius: 18px; background: #fff; box-shadow: var(--shadow-sm); }
.sources-card, .waiting-card { border-radius: 18px; }
.portal-head { background: var(--paper-band); }
@media (max-width: 700px) { .proof-row { grid-template-columns: 1fr; } }

/* Ledes read as copy, not caption: darker, larger. Pull lines carry a green rule and a bold clause. */
.lede, .section-heading .lede { color: var(--ink); font-size: 19px; line-height: 1.5; }
.lede.pull, .cmp-foot.pull { padding-left: 18px; border-left: 4px solid var(--green-2); color: var(--ink); font-size: 19px; }
.cmp-foot.pull { font-size: 17px; }
.lede strong, .cmp-foot strong { font-weight: 700; color: var(--green); }
.section-heading.page-head .lede { padding-bottom: 0; }
.hero-body { color: var(--ink); }
.cine-sub { color: #fff; }
.forest .lede, .photo-band p { color: rgba(255,255,255,.9); }
.frost-band .lede { color: var(--ink); }
@media (max-width: 700px) { .lede, .section-heading .lede, .lede.pull { font-size: 17px; } }
.frost-band .section-heading .lede, .frost-band .lede, .section-heading .lede, .lede { color: var(--ink); }


/* From the July demos: why-this-number, what-could-change, share */
.rpt-why ol { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 10px; }
.rpt-why li { display: grid; grid-template-columns: 26px 1fr; gap: 12px; align-items: start; padding: 12px 14px; border: 1px solid var(--line); border-radius: 12px; background: #fff; font-size: 14px; color: var(--ink-2); }
.rpt-why li b { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; background: var(--green); color: #fff; font: 600 12px var(--display); }
.rpt-change { margin-top: 18px; }
.rpt-change ul { margin: 10px 0 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.rpt-change li { position: relative; padding-left: 22px; font-size: 14px; color: var(--ink-2); }
.rpt-change li::before { content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border-radius: 50%; border: 2px solid var(--amber); }
.report-peek .rpt-change, .report-peek .rpt-why { display: none; }
#whereBlock .label { display: block; color: var(--green); font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; }
@media print { .rpt-change { break-inside: avoid; } }


/* Consolidation pass: source rows in the journey stage, FAQ as a journey, compact objections */
.jsrc { list-style: none; margin: 4px 0 0; padding: 0; border-top: 1px solid var(--line); }
.jsrc .src { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--line); }
.jsrc .src > div { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: 8px; align-items: center; justify-content: start; }
.jsrc .src strong { font-size: 14px; }
.jsrc .src em { grid-column: 2; grid-row: 1; font-style: normal; font: 600 10px/1 var(--display); letter-spacing: .1em; text-transform: uppercase; padding: 4px 7px; border-radius: 999px; background: var(--amber-bg); color: var(--amber); white-space: nowrap; }
.jsrc .src.estimate em { background: #e9eef6; color: #3d4f66; }
.jsrc .src.lakeway em { background: var(--green-3); color: var(--green); }
.jsrc .src span { grid-column: 1 / -1; color: var(--muted); font-size: 12px; margin-top: 2px; }
.jsrc .src b { font: 600 20px/1 var(--display); color: var(--green); white-space: nowrap; }
.jsrc .src.lakeway b { color: var(--forest); }
.jsrc + .jsignal, .jsrc + .firm-offer { margin-top: 14px; }
.faq-journey .jsteps { max-height: none; }
.faq-journey .jstep { grid-template-columns: 34px 1fr; padding: 12px 12px 12px 0; }
.faq-journey .jstep strong { font-size: 15px; line-height: 1.25; }
.faq-journey .jstage { background: #fff; }
.fq-q { font: 600 clamp(24px, 2.6vw, 34px)/1.1 var(--display); text-transform: none; letter-spacing: -.01em; margin: 6px 0 10px; }
.fq-a { margin: 0 0 18px; font-size: 17px; color: var(--ink-2); }
.fq-proof { grid-template-columns: 1fr 1fr; gap: 12px; align-items: start; }
.fq-proof > :only-child { grid-column: 1 / -1; }
.fq-proof .pf-review blockquote { font-size: 15px; }
.fq-proof .pf-poster { aspect-ratio: 16 / 6; }
.fq-proof .pf-photo img { aspect-ratio: 16 / 7; }
.objections-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.objections-grid .objection { display: grid; grid-template-columns: 1fr; gap: 10px; padding: 22px; border: 1px solid var(--line); border-radius: 18px; background: #fff; border-top: 4px solid var(--green); }
.objections-grid .objection:last-child { border-bottom: 1px solid var(--line); }
.objections-grid .objection h3 { font-size: 20px; }
.objections-grid .objection p { font-size: 15px; }
@media (max-width: 980px) { .objections-grid { grid-template-columns: 1fr; } .fq-proof { grid-template-columns: 1fr; } .faq-journey .jstep { flex: 0 0 260px; } }

/* Reach: the stats are the map (rings) plus one ledger line, not a stat bar */
.reach-stats { display: block; border: 0; background: transparent; box-shadow: none; margin-bottom: 18px; overflow: visible; }
.rl-head { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.rl-head strong { font: 600 clamp(48px, 6vw, 84px)/1 var(--display); color: var(--green); letter-spacing: -.02em; }
.rl-head span { font: 600 18px var(--display); text-transform: uppercase; letter-spacing: .04em; }
.rl-head em { margin-left: auto; font-style: normal; color: var(--muted); font-size: 14px; }
.rl-bar { display: flex; height: 44px; margin-top: 12px; border-radius: 12px; overflow: hidden; }
.rl-bar i { display: flex; align-items: center; gap: 8px; padding: 0 14px; font-style: normal; font-size: 13px; color: #fff; white-space: nowrap; min-width: 0; overflow: hidden; }
.rl-bar i b { font: 600 20px var(--display); }
.rl-bar .p { background: var(--green); } .rl-bar .d { background: var(--ink); }
.rl-foot { margin: 12px 0 0; font-size: 14px; color: var(--ink-2); max-width: 820px; }
.rl-foot b { color: var(--green); }
.ring-tip { background: var(--green); color: #fff; border: 0; border-radius: 999px; padding: 4px 10px; font: 600 11px var(--display); letter-spacing: .08em; text-transform: uppercase; box-shadow: 0 2px 8px rgba(var(--forest-rgb), .25); }
.ring-tip.dash { background: #fff; color: var(--green); border: 1.5px dashed var(--green); }
.ring-tip::before { display: none; }

.ring-tip-wrap { overflow: visible !important; } .ring-tip-wrap .ring-tip { position: absolute; left: 0; transform: translate(-50%, -100%); white-space: nowrap; display: inline-block; }

.rl-bar > i { height: 44px; flex: 0 0 auto; }
/* Phones: the bar keeps its numbers and a key underneath carries the words, which did not fit in the segments */
.rl-key { display: none; }
@media (max-width: 700px) {
  .rl-bar i span { display: none; }
  .rl-key { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 8px 0 0; font-size: 13px; color: var(--ink-2); }
  .rl-key span { display: inline-flex; align-items: center; gap: 6px; }
  .rl-key i { width: 10px; height: 10px; border-radius: 3px; }
  .rl-key .p { background: var(--green); } .rl-key .d { background: var(--ink); }
}


/* Pass 16: taken from the July demos. The interrupt line, the keep line, situation chips, and the sources folding into the report. */
.lede.interrupt { color: var(--ink-2); font-style: italic; margin-bottom: 10px; }
.lede.pull.keep { margin-top: 24px; max-width: 520px; }
.choice-group.chips.sit .choice { padding: 10px 12px; }
.choice-group.chips.sit .choice span { font-size: 12px; }
.stops-inline.collapse li { transition: transform .6s var(--ease), opacity .6s var(--ease); }
.stops-inline.collapse:not(.in) li { opacity: 0; transform: translateY(18px); }
.stops-inline.collapse.in li:nth-child(1) { transition-delay: 0s } .stops-inline.collapse.in li:nth-child(2) { transition-delay: .12s } .stops-inline.collapse.in li:nth-child(3) { transition-delay: .24s } .stops-inline.collapse.in li:nth-child(4) { transition-delay: .36s }
.stops-inline.collapse.in li:nth-child(5) { transition-delay: .62s; }
.stops-inline.collapse li:nth-child(5) { margin-top: 6px; padding: 12px 10px; border-radius: 12px; background: var(--green); color: #fff; border-top: 0; }
.stops-inline.collapse li:nth-child(5) b { background: #fff; color: var(--green); }
.stops-inline.collapse li:nth-child(5) strong { color: #fff; }
.stops-inline.collapse li:nth-child(5) span { color: rgba(255,255,255,.85); }
.stops-inline.collapse li:nth-child(4) { border-bottom: 0; }
@media (prefers-reduced-motion: reduce) { .stops-inline.collapse:not(.in) li { opacity: 1; transform: none; } }
.section-heading.page-head .lede-stack { grid-column: 2; grid-row: 1 / 3; align-self: end; }
.section-heading.page-head .lede-stack .lede { grid-column: auto; grid-row: auto; }
.lede.interrupt { font-size: 17px; }
.reach-stats .rl-head { display: flex; } .reach-stats .rl-bar { display: flex; padding: 0; border: 0; gap: 0; }

/* Hero copy, lean pass (2026-10-23, owner: less words, less noise). The pitch under the kicker comes in
   four versions on the prototype bar's "Hero copy" switch (html[data-hc]); only one shows. Whatever the
   switch, the label over the field and the links under it read at body size, not caption size. */
.hc { display: none; }
html[data-hc="now"] .hc-now, html[data-hc="checks"] .hc-checks, html[data-hc="line"] .hc-line, html[data-hc="chips"] .hc-chips { display: block; }
html[data-hc="checks"] .hc-checks { display: grid; }
html[data-hc="now"] .hc-lean { display: none; }
.hero-say { margin: 0 0 32px; }
.hero-say .hero-body { margin: 0; }
.hero-checks { list-style: none; margin: 0; padding: 0; gap: 12px; max-width: 560px; }
.hero-checks li { position: relative; padding-left: 38px; font-size: 19px; line-height: 1.4; color: var(--ink); }
.hero-checks li::before { content: "\2713"; position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: rgba(var(--green-rgb), .12); color: var(--green); font: 700 14px/1 var(--body); }
.hero-line { max-width: 540px; font-size: 20px; line-height: 1.45; }
.hero-line strong, .hf-out strong { color: var(--green); font-weight: 700; }
.hf-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 14px; }
.hf-lead { margin-right: 4px; font: 600 15px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-2); }
.hf-chip { padding: 7px 14px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font-size: 15px; font-weight: 700; color: var(--ink); }
.hf-out { display: flex; align-items: center; gap: 12px; margin: 0; font-size: 19px; color: var(--ink); }
.hf-arrow { display: grid; place-items: center; flex: none; width: 28px; height: 28px; border-radius: 50%; background: var(--green); color: #fff; font-size: 15px; }
.hs-top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 4px 16px; }
.hs-label { font: 600 14px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--green); }
.hs-promise { font-size: 15px; font-weight: 500; color: var(--ink-2); }
.hs-alt { margin-top: 6px; font-size: 15px; color: var(--ink-2); gap: 8px 12px; }
.hs-alt a, .hs-alt .text-button { font-size: 15px; }
.hs-alt a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 4px; }
.hs-alt a:hover { color: var(--green-deep); }
.hero .presence { font-size: 15px; }
@media (max-width: 700px) {
  .hero-checks li, .hf-out { font-size: 17px; }
  .hero-line { font-size: 18px; }
  .hf-chip { font-size: 14px; padding: 6px 12px; }
}
.hero-say { margin-top: 6px; }
.hero-start .qf-decoded:empty { display: none; }
@media (max-width: 700px) { .hs-alt > span[aria-hidden="true"] { display: none; } .hs-alt { gap: 6px 12px; } }

/* Pass 12 — the hero's why-buy (2026-10-23, owner). Headline order on html[data-hl], proof on html[data-pf].
   Fair · Firm · Done is the why: we check the market for you, one buyer makes one firm offer, and it is
   finished on the spot. Stats sit under the form; one verbatim review sits under the photo, which stays clean. */
.hl { display: none; }
html[data-hl="today"] .hl-today, html[data-hl="market"] .hl-market { display: block; }
.hero-head h1 { margin-bottom: 14px; }
.hero-sub { margin: 0 0 24px; font: 600 clamp(26px, 2.5vw, 38px)/1.05 var(--display); letter-spacing: -.005em; text-transform: uppercase; color: var(--ink); }
.hero-sub em { color: var(--green-2); font-style: normal; }
.hero-why { margin: 0; gap: 10px; max-width: 600px; }
.hero-why > div { display: grid; grid-template-columns: 62px 1fr; gap: 14px; align-items: baseline; }
.hero-why dt { font: 600 15px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.hero-why dd { margin: 0; font-size: 19px; line-height: 1.4; color: var(--ink); }
.hero-stats { display: grid; grid-template-columns: repeat(3, auto); justify-content: start; margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--line-2); max-width: 600px; }
.hero-stats a { display: grid; gap: 4px; padding: 0 28px; border-left: 1px solid var(--line-2); }
.hero-stats a:first-child { padding-left: 0; border-left: 0; }
.hero-stats strong { display: flex; align-items: center; gap: 8px; font: 600 30px/1 var(--display); color: var(--ink); transition: color .15s; }
.hero-stats a:hover strong { color: var(--green); }
.hst-stars { color: #e0a823; font: 14px/1 var(--body); letter-spacing: 1px; }
.hero-stats a > span { font-size: 14px; color: var(--ink-2); }
.hero-quote { max-width: 540px; margin: 20px 0 0; padding-left: 18px; border-left: 4px solid var(--green-2); }
.hero-quote .stars { color: #e0a823; letter-spacing: 2px; font-size: 14px; }
.hero-quote blockquote { margin: 4px 0 6px; font-size: 18px; font-weight: 500; line-height: 1.45; color: var(--ink); }
.hero-quote figcaption { font-size: 14px; color: var(--ink-2); }
.hero-quote figcaption a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
html[data-pf="on"] .hero-visual .hero-photo { height: 540px; }
html[data-pf="off"] .hero-proof { display: none; }
@media (max-width: 700px) {
  .hero-sub { font-size: 26px; }
  .hero-why > div { grid-template-columns: 52px 1fr; gap: 10px; }
  .hero-why dd { font-size: 17px; }
  .hero-stats { grid-template-columns: repeat(3, 1fr); }
  .hero-stats a { padding: 0 12px; }
  .hero-stats strong { font-size: 24px; gap: 4px; }
  .hst-stars { font-size: 0; letter-spacing: 0; }
  .hst-stars::before { content: "\2605"; font-size: 15px; }
  .hero-stats a > span { font-size: 13px; }
  html[data-pf="on"] .hero-visual .hero-photo { height: 420px; }
  .hero-quote blockquote { font-size: 17px; }
}
.hero { padding: 56px 0 56px; }
.hl-market .hero-kicker { margin-bottom: 22px; }
.hero-visual .presence { margin: 16px 0 0; }
html[data-pf="on"] .hero-visual .presence { margin-left: 22px; }

/* Pass 13 — "not a dealer" (2026-10-23, owner). Sub-line switch (html[data-sl]); a four-way comparison
   with "Sell it yourself" first, because that is where most of the 100 cars a month come from. */
.sl { display: none; }
html[data-sl="dealer"] .sl-dealer, html[data-sl="market"] .sl-market { display: inline; }
@media (min-width: 701px) {
  .cmp.cmp4 { min-width: 980px; }
  .cmp.cmp4 tbody th { width: 18%; font-size: 18px; }
  .cmp.cmp4 td { font-size: 16px; padding-right: 16px; }
  .cmp.cmp4 td.us { font-size: 17px; }
  .cmp.cmp4 thead th { font-size: 18px; }
}
.about .lede + .lede.pull { margin-top: 14px; }
/* The category line over the headline is a tagline, not a caption (owner, 2026-10-23: "make it bigger") */
.hero-eyebrow { margin-bottom: 20px; font-size: 20px; letter-spacing: .12em; }
@media (max-width: 700px) { .hero-eyebrow { font-size: 15px; letter-spacing: .1em; } }
/* No rule before the tagline (owner, 2026-10-23: "we don't need that dash before East TN's"). The section eyebrows keep theirs. */
body.premium .hero-eyebrow::before { content: none; }

/* Header stays pinned (fix, 2026-10-23). body.premium set the header to position:relative to lift it over the
   grain layer, which silently cancelled position:sticky: the header scrolled away and the sticky quick start,
   pinned 80px down, left a strip of page showing above it. Sticky also lifts it, so both jobs are done here.
   --hdr-h is the header's measured height (app.js), so the quick start and anchor jumps sit right under it. */
body.premium .site-header { position: sticky; top: 0; z-index: 60; }
.sticky-start.is-on { transform: translateY(var(--hdr-h, 80px)); }
html { scroll-padding-top: calc(var(--hdr-h, 80px) + 16px); }
/* body.premium's paper header background (0,2,1) also beat .site-header.scrolled (0,2,0), so the scrolled header
   had white type on paper. Hidden until now because the header used to scroll away. */
body.premium .site-header.scrolled { background: rgba(var(--forest-rgb), .96); border-bottom-color: rgba(255,255,255,.1); }
/* One action at a time: while the quick start bar is down, the header's own start button steps aside */
.site-header .nav-cta { transition: opacity .2s var(--ease), visibility .2s; }
body:has(.sticky-start.is-on) .site-header .nav-cta:not(.ghost) { opacity: 0; visibility: hidden; }

/* Why Lakeway rebuild (2026-10-23, owner): the process first, as four plain steps (clear like Bob Ruth's
   "How do I sell my car?", but with a time per step, links into the proof, and the paid step in forest),
   then "One number is not the market" as a compare-us-with picker. Switches: html[data-pv], html[data-vs]. */
.pv { display: none; }
html[data-pv="cards"] .pv-cards { display: grid; }
html[data-pv="journey"] .pv-journey { display: grid; }
.pc { list-style: none; margin: 8px 0 0; padding: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pc-step { position: relative; display: flex; flex-direction: column; min-width: 0; padding: 24px 22px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.pc-step:not(:last-child)::after { content: "\2192"; position: absolute; top: 34px; right: -15px; z-index: 1; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--green); color: #fff; font: 700 13px/1 var(--body); }
.pc-num { position: absolute; top: 14px; right: 18px; font: 600 54px/1 var(--display); color: rgba(var(--green-rgb), .1); }
.pc-kicker { margin: 0 0 8px; font: 600 13px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green-2); }
.pc-title { margin: 0 0 10px; max-width: 15ch; font: 600 25px/1.05 var(--display); letter-spacing: -.005em; text-transform: uppercase; color: var(--ink); }
.pc-step > p:not(.pc-kicker) { margin: 0 0 14px; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.pc-list { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 8px; }
.pc-list li { position: relative; padding-left: 24px; font-size: 15px; line-height: 1.4; color: var(--ink); }
.pc-list li::before { content: "\2713"; position: absolute; left: 0; top: 0; color: var(--green-2); font-weight: 700; }
.pc-acts { display: flex; flex-wrap: wrap; gap: 6px 16px; margin: 0 0 16px; font-size: 15px; }
.pc-time { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--line); font: 600 14px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--green); }
.pc-paid { border-color: var(--forest); background: var(--forest); color: #fff; }
.pc-paid .pc-num { color: rgba(255,255,255,.1); }
.pc-paid .pc-kicker, .pc-paid .pc-time { color: var(--mint); }
.pc-paid .pc-title, .pc-paid .pc-list li { color: #fff; }
.pc-paid > p:not(.pc-kicker) { color: rgba(255,255,255,.85); }
.pc-paid .pc-list li::before { color: var(--mint); }
.pc-paid .pc-time { border-top-color: rgba(255,255,255,.15); }
@media (max-width: 1100px) { .pc { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pc-step:nth-child(2)::after { display: none; } }
@media (max-width: 640px) { .pc { grid-template-columns: 1fr; } .pc-step::after { display: none; } .pc-title { max-width: none; } }

.vs { border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; overflow: hidden; }
.vs-tabs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 14px 18px; border-bottom: 1px solid var(--line); background: var(--paper-band); }
.vs-lead { margin-right: 6px; font: 600 13px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.vs-tabs button { min-height: 42px; padding: 0 16px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; font: 700 15px var(--body); color: var(--ink); cursor: pointer; transition: border-color .15s, background-color .15s, color .15s; }
.vs-tabs button:hover { border-color: var(--green); color: var(--green); }
.vs-tabs button[aria-selected="true"] { border-color: var(--forest); background: var(--forest); color: #fff; }
.vs-tabs button:focus-visible { outline: none; box-shadow: var(--focus); }
.vs-panel { display: grid; grid-template-columns: 1fr 1fr; }
.vs-panel[hidden] { display: none; }
.vs-them, .vs-us { padding: 28px 30px 26px; }
.vs-us { background: var(--green); color: #fff; }
.vs-label { margin: 0 0 16px; font: 600 20px/1.1 var(--display); letter-spacing: .01em; text-transform: uppercase; color: var(--ink); }
.vs-us .vs-label { color: #fff; }
.vs-them ul, .vs-us ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.vs-them li, .vs-us li { position: relative; padding-left: 38px; font-size: 17px; line-height: 1.45; }
.vs-them li { color: var(--ink-2); }
.vs-them li::before, .vs-us li::before { position: absolute; left: 0; top: -1px; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; font: 700 13px/1 var(--body); }
.vs-them li::before { content: "\2715"; background: #c9302c; color: #fff; }
.vs-us li::before { content: "\2713"; background: var(--mint); color: var(--forest); }
.vs-us li { font-weight: 500; }
.vs-quote, .vs-note { grid-column: 1 / -1; margin: 0; padding: 18px 30px; border-top: 1px solid var(--line); background: var(--paper-warm); }
.vs-quote .stars { color: #e0a823; letter-spacing: 2px; font-size: 13px; }
.vs-quote p { margin: 4px 0; font-size: 17px; font-weight: 500; color: var(--ink); }
.vs-quote cite { font-style: normal; font-size: 14px; color: var(--ink-2); }
.vs-note { font-size: 15px; color: var(--ink-2); }
html[data-vs="all"] .vs-tabs { display: none; }
html[data-vs="all"] .vs { border: 0; background: transparent; overflow: visible; display: grid; gap: 18px; }
html[data-vs="all"] .vs-panel, html[data-vs="all"] .vs-panel[hidden] { display: grid; border: 1px solid var(--line); border-radius: var(--radius-lg); overflow: hidden; background: #fff; }
@media (max-width: 760px) {
  .vs-tabs { flex-wrap: nowrap; overflow-x: auto; padding: 12px 14px; scrollbar-width: none; }
  .vs-tabs button { flex: none; }
  .vs-lead { display: none; }
  .vs-panel { grid-template-columns: 1fr; }
  .vs-them, .vs-us { padding: 22px 18px; }
  .vs-them li, .vs-us li { font-size: 16px; }
  .vs-quote, .vs-note { padding: 16px 18px; }
}
.pc-step:not(:last-child)::after { top: 50%; transform: translateY(-50%); }
@media (max-width: 640px) { .pc-step:not(:last-child)::after { display: none; } }

/* Faces for "one buyer" (owner, 2026-10-23): Corey, Reagan and Tom beside the talk-to-a-buyer actions */
.buyers { display: inline-flex; flex: none; vertical-align: middle; }
.buyers img { width: 30px; height: 30px; margin-left: -9px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; object-position: 50% 20%; background: var(--paper-band); }
.buyers img:first-child { margin-left: 0; }
.with-buyers { display: inline-flex; align-items: center; gap: 10px; text-align: left; }
.final-box .with-buyers .buyers img { border-color: var(--forest); }
.pc-buyers { display: flex; align-items: center; gap: 12px; margin: 0 0 14px; padding: 10px 12px; border-radius: 12px; background: var(--green-4); font-size: 14px; font-weight: 600; line-height: 1.35; color: var(--ink); }
.pc-buyers .buyers img { width: 34px; height: 34px; }
.hs-alt { flex-direction: column; align-items: flex-start; gap: 8px; }
.hs-alt > span[aria-hidden="true"] { display: none; }
.pc-buyers { flex-direction: column; align-items: flex-start; gap: 8px; }

/* Bought this week (2026-10-23, owner): a forest tape under the hero, drawn from real LAB purchases in
   data/bought.js (vehicle and day only). The list is doubled so it loops; hover pauses it; reduced motion
   turns it into a plain horizontal scroller. */
.bought { padding: 22px 0; background: var(--forest); color: #fff; }
.bought-row { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 32px; align-items: center; }
.bought-head p { margin: 0; }
.bought-label { font: 600 13px var(--display); letter-spacing: .16em; text-transform: uppercase; color: var(--mint); }
.bought-count { display: flex; align-items: baseline; gap: 10px; margin: 2px 0 2px !important; }
.bought-count strong { font: 600 44px/1 var(--display); color: #fff; }
.bought-count span { font-size: 16px; font-weight: 600; color: rgba(255,255,255,.85); }
.bought-split { font-size: 13px; color: rgba(255,255,255,.65); }
.bought-rail { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%); }
.bought-list { display: flex; gap: 10px; width: max-content; margin: 0; padding: 4px 0; list-style: none; animation: bought-tape 70s linear infinite; }
.bought-rail:hover .bought-list, .bought-rail:focus-within .bought-list { animation-play-state: paused; }
.bought-list li { display: grid; gap: 2px; padding: 10px 16px; border: 1px solid rgba(255,255,255,.14); border-radius: 12px; background: rgba(255,255,255,.06); white-space: nowrap; }
.bc-ymm { font-size: 15px; font-weight: 600; color: #fff; }
.bc-ymm b { color: var(--mint); font-weight: 700; }
.bc-meta { font-size: 12px; color: rgba(255,255,255,.65); }
@keyframes bought-tape { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
  .bought-list { animation: none; }
  .bought-rail { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
  .bought-list li[aria-hidden="true"] { display: none; }
}
@media (max-width: 760px) {
  .bought-row { grid-template-columns: 1fr; gap: 14px; }
  .bought-count strong { font-size: 36px; }
}


/* ===== Pass 17 (2026-10-23): audit fixes, home wow switches, background switch ===== */

/* Footer: the phone number and Maps link were dark green on forest (p a:not([class]) outranked .footer-grid a). */
.footer-grid p a { color: #fff; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.footer-grid p a:hover { text-decoration-color: var(--mint); }

/* Review quotes read in the body face; the condensed display face is for headlines. */
.pq p { font: 500 17px/1.55 var(--body); letter-spacing: 0; }

/* Touch screens: small text links get a 40px+ tap area without moving anything. */
@media (pointer: coarse) {
  :where(p, li, figcaption, dd) a:not(.button), .text-button { padding-block: 10px; margin-block: -10px; }
  .hs-alt { gap: 14px; }
}

/* Thank-you page: the heading is the page's h1 now. */
.receipt h1 { color: #fff; font-size: clamp(28px, 3.2vw, 40px); margin-bottom: 10px; }

/* --- VIN answers back (html[data-vn="card"]) --- */
.hero-start .qf-decoded:has(.vin-card) { margin-top: 12px; font-size: 14px; font-weight: 400; color: var(--ink); }
.vin-card { display: grid; gap: 12px; max-width: 560px; padding: 14px 16px 16px; border: 1px solid var(--line); border-left: 4px solid var(--green-2); border-radius: 14px; background: #fff; box-shadow: 0 14px 34px rgba(var(--forest-rgb),.12); animation: vc-in .4s var(--ease) both; }
.vin-card > span { display: flex; align-items: center; }
.vc-top { gap: 12px; }
.vc-car { flex: none; width: 46px; height: 28px; color: var(--green); }
.vc-car svg { width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.vc-id { display: grid; gap: 3px; flex: 1; min-width: 0; }
.vc-id small { font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.vc-id strong { font: 600 21px/1.1 var(--display); text-transform: uppercase; color: var(--ink); }
.vc-ok { flex: none; display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--mint); color: var(--forest); font-weight: 800; animation: vc-pop .45s var(--ease) .15s both; }
.vc-who { gap: 10px; font-size: 14px; line-height: 1.4; color: var(--ink-2); }
.vc-who b { color: var(--ink); }
.vc-who .buyers img { width: 26px; height: 26px; margin-left: -8px; }
.vc-who .buyers img:first-child { margin-left: 0; }
.vc-src { flex-wrap: wrap; gap: 6px; }
.vc-src i { padding: 5px 10px; border-radius: 999px; background: var(--paper-band); color: var(--ink-2); font: normal 700 12px var(--body); opacity: 0; transform: translateY(4px); animation: vc-chip .35s var(--ease) forwards; animation-delay: calc(var(--i) * 110ms + 250ms); }
.vc-src i.us { background: var(--green); color: #fff; }
.vin-card.loading .sk { display: block; width: 62%; height: 18px; border-radius: 6px; background: linear-gradient(90deg, var(--paper-band) 25%, #fff 50%, var(--paper-band) 75%) 0 0 / 200% 100%; animation: vc-shimmer 1s linear infinite; }
@keyframes vc-in { from { opacity: 0; transform: translateY(6px); } }
@keyframes vc-pop { from { transform: scale(.4); opacity: 0; } }
@keyframes vc-chip { to { opacity: 1; transform: none; } }
@keyframes vc-shimmer { to { background-position: -200% 0; } }

/* --- Bought-today pulse (html[data-pl]): a line under the form, or a card over the hero photo --- */
html[data-pl]:not([data-pl="line"]) .pl-line, html[data-pl]:not([data-pl="toast"]) .pl-toast { display: none !important; }
.pulse { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 16px 0 0; font-size: 15px; line-height: 1.4; color: var(--ink-2); }
.pulse > i, .pulse-toast .pt-label i { flex: none; width: 10px; height: 10px; border-radius: 50%; background: var(--green-2); animation: pulse 2s infinite; }
.pulse b { color: var(--ink); }
.pulse a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.pulse-toast { position: absolute; z-index: 2; top: 30px; left: -30px; display: grid; gap: 3px; min-width: 230px; max-width: 290px; padding: 13px 18px 14px 16px; border-radius: 14px; background: rgba(255,255,255,.97); box-shadow: 0 1px 2px rgba(var(--forest-rgb),.1), 0 20px 48px rgba(var(--forest-rgb),.24); transition: opacity .35s var(--ease), transform .35s var(--ease); }
.pulse-toast.out { opacity: 0; transform: translateY(-8px); }
.pulse-toast .pt-label { display: flex; align-items: center; gap: 8px; font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.pulse-toast strong { font: 600 20px/1.15 var(--display); text-transform: uppercase; color: var(--ink); }
.pulse-toast .pt-meta { font-size: 13px; color: var(--ink-2); }
@media (max-width: 980px) { .pulse-toast { left: 14px; top: 14px; min-width: 0; } }

/* --- Them-vs-us on phones (html[data-cm="switch"]): one card, a four-way switch --- */
.cmpx { display: none; }
@media (max-width: 700px) {
  html[data-cm="switch"] .cmp-wrap { display: none; }
  html[data-cm="switch"] .cmpx { display: block; }
}
.cmpx-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; padding: 4px; border-radius: 14px; background: var(--paper-band); }
.cmpx-tabs button { min-height: 46px; padding: 6px 4px; border: 0; border-radius: 10px; background: transparent; color: var(--ink-2); font: 600 12px/1.15 var(--body); cursor: pointer; transition: background-color .2s, color .2s, box-shadow .2s; }
.cmpx-tabs button[aria-selected="true"] { background: #fff; color: var(--ink); box-shadow: 0 1px 2px rgba(var(--forest-rgb),.12), 0 6px 14px rgba(var(--forest-rgb),.08); }
.cmpx-tabs button.us { color: var(--green); font-weight: 800; }
.cmpx-tabs button.us[aria-selected="true"] { background: var(--forest); color: #fff; }
.cmpx-card { margin-top: 10px; padding: 16px 18px 6px; border: 1px solid var(--line); border-radius: 18px; background: #fff; transition: background-color .35s var(--ease), border-color .35s; }
.cmpx-sub { margin: 0 0 4px; font-size: 13px; color: var(--muted); }
.cmpx-rows { margin: 0; }
.cmpx-rows > div { padding: 12px 0; border-top: 1px solid var(--line); }
.cmpx-rows > div:first-child { border-top: 0; }
.cmpx-rows dt { font: 600 12px var(--display); letter-spacing: .1em; text-transform: uppercase; color: var(--muted); }
.cmpx-rows dd { margin: 4px 0 0; font-size: 16px; line-height: 1.35; color: var(--ink-2); }
.cmpx-rows dd b { color: var(--ink); font-weight: 800; }
.cmpx-rows dd i { display: inline-grid; place-items: center; width: 24px; height: 24px; margin-right: 8px; border-radius: 50%; background: #fde8e6; color: #b42318; font: normal 700 12px var(--body); vertical-align: -5px; }
.cmpx-rows dd.swap { animation: cmpx-swap .32s var(--ease); }
@keyframes cmpx-swap { from { opacity: 0; transform: translateX(8px); } }
.cmpx-card.is-us { background: var(--forest); border-color: var(--forest); }
.cmpx-card.is-us .cmpx-sub, .cmpx-card.is-us dt { color: var(--mint); }
.cmpx-card.is-us .cmpx-rows > div { border-top-color: rgba(255,255,255,.12); }
.cmpx-card.is-us dd, .cmpx-card.is-us dd b { color: #fff; }
.cmpx-card.is-us dd i { background: var(--mint); color: var(--forest); }

/* --- Background switch (html[data-bg]) --- */
/* Clean cream: no frosted photo anywhere; the hero gets back its soft green glow. */
html[data-bg="cream"] .frost-bg, html[data-bg="forest"] .frost-band:not(.hero) .frost-bg { display: none; }
html[data-bg="cream"] .hero.frost-band { background: linear-gradient(180deg, var(--paper-warm), var(--paper-band)); }
html[data-bg="cream"] .hero.frost-band::before { display: block; }
/* Dark home hero: the photo stays, blurred under deep forest; type turns white and mint. Other photo bands go cream. */
html[data-bg="forest"] .hero.frost-band { background: var(--forest); color: #fff; }
html[data-bg="forest"] .hero.frost-band .frost-bg { filter: blur(var(--frost-blur)) saturate(.6); }
html[data-bg="forest"] .hero.frost-band .frost-bg::after { background: linear-gradient(90deg, rgba(var(--forest-rgb),.96) 0%, rgba(var(--forest-rgb),.9) 55%, rgba(var(--forest-rgb),.82) 100%); }
html[data-bg="forest"] .hero .hero-eyebrow, html[data-bg="forest"] .hero .hero-why dt, html[data-bg="forest"] .hero .hs-label { color: var(--mint); }
html[data-bg="forest"] .hero h1, html[data-bg="forest"] .hero .hero-sub, html[data-bg="forest"] .hero .hero-kicker, html[data-bg="forest"] .hero .hero-stats strong, html[data-bg="forest"] .hero .hero-quote blockquote, html[data-bg="forest"] .hero .pulse b { color: #fff; }
html[data-bg="forest"] .hero h1 em, html[data-bg="forest"] .hero .hero-sub em, html[data-bg="forest"] .hero .hero-stats a:hover strong { color: var(--mint); }
html[data-bg="forest"] .hero .hero-why dd, html[data-bg="forest"] .hero .hero-body, html[data-bg="forest"] .hero .hf-out { color: rgba(255,255,255,.88); }
html[data-bg="forest"] .hero .hs-promise, html[data-bg="forest"] .hero .hs-alt, html[data-bg="forest"] .hero .hero-stats a > span, html[data-bg="forest"] .hero .hero-quote figcaption, html[data-bg="forest"] .hero .presence, html[data-bg="forest"] .hero .pulse, html[data-bg="forest"] .hero .qf-decoded { color: rgba(255,255,255,.74); }
html[data-bg="forest"] .hero .hs-alt a, html[data-bg="forest"] .hero .hs-alt .text-button, html[data-bg="forest"] .hero .hero-quote figcaption a, html[data-bg="forest"] .hero .pulse a { color: #fff; }
html[data-bg="forest"] .hero .hf-chip { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.22); color: #fff; }
html[data-bg="forest"] .hero .qf-row input { border-color: transparent; }
html[data-bg="forest"] .hero .qf-row .button { background: var(--mint); border-color: var(--mint); color: var(--forest); }
html[data-bg="forest"] .hero .error { color: #ffb4ab; }
html[data-bg="forest"] .hero .hero-stats { border-top-color: rgba(255,255,255,.16); }
html[data-bg="forest"] .hero .hero-stats a { border-left-color: rgba(255,255,255,.16); }
html[data-bg="forest"] .hero .hero-quote { border-left-color: var(--mint); }
html[data-bg="forest"] .hero .pulse > i, html[data-bg="forest"] .hero .presence i { background: var(--mint); }
html[data-bg="forest"] .hero .hero-photo { box-shadow: 0 30px 70px rgba(0,0,0,.4); }
html[data-bg="forest"] .bought { border-top: 1px solid rgba(255,255,255,.08); }

@media (prefers-reduced-motion: reduce) {
  .vin-card, .vc-ok, .vc-src i, .cmpx-rows dd.swap { animation: none; opacity: 1; transform: none; }
  .pulse > i, .pulse-toast .pt-label i { animation: none; }
}
html[data-bg="forest"] .hero input { color: var(--ink); }
/* Prototype bar: wraps instead of running off the screen, and folds to its label */
.proto-bar { flex-wrap: wrap; row-gap: 6px; right: 16px; max-width: max-content; }
.proto-bar .seg button { white-space: nowrap; }
.proto-bar > span:not(.seg) { white-space: nowrap; }
.proto-min { padding: 4px 10px; border: 1px solid var(--line-2); border-radius: 8px; background: var(--paper-band); color: var(--ink-2); font-size: 12px; font-weight: 700; cursor: pointer; }
.proto-bar.is-min > :not(strong):not(.proto-min) { display: none; }
@media (max-width: 700px) {
  .proto-bar { flex-wrap: nowrap; overflow-x: auto; justify-content: flex-start; max-width: none; scrollbar-width: none; }
  .proto-bar > * { flex: none; }
}
/* Phone header after scroll: the Menu button kept its white fill while its text turned white */
.site-header.scrolled .nav-toggle { background: transparent; border-color: rgba(255,255,255,.35); }


/* ===== Pass 18 (2026-10-23): "Before you sign" — the paperwork hub and its situation pages ===== */

/* Promises under the hub headline */
.bys-promises { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 40px; border-top: 1px solid var(--line-2); }
.bys-promises > div { display: grid; gap: 6px; align-content: start; padding: 22px 26px 0; border-left: 1px solid var(--line-2); }
.bys-promises > div:first-child { padding-left: 0; border-left: 0; }
.bys-promises strong { font: 600 34px/1 var(--display); text-transform: uppercase; color: var(--green); }
.bys-promises span { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
@media (max-width: 900px) { .bys-promises { grid-template-columns: 1fr 1fr; } .bys-promises > div:nth-child(3) { padding-left: 0; border-left: 0; } .bys-promises > div { padding-bottom: 18px; } }
@media (max-width: 520px) { .bys-promises { grid-template-columns: 1fr; } .bys-promises > div { padding-left: 0; border-left: 0; border-top: 1px solid var(--line-2); padding-top: 16px; } .bys-promises > div:first-child { border-top: 0; } }

/* The picker */
.pk { padding: 26px 28px 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; box-shadow: var(--shadow-sm); }
.pk-static { padding: 24px 26px 26px; }
.pk-q { padding: 18px 0; border-top: 1px solid var(--line); }
.pk-q:first-child { padding-top: 0; border-top: 0; }
.pk-qt { display: flex; align-items: center; gap: 12px; margin: 0 0 12px; font: 600 20px/1.15 var(--display); text-transform: uppercase; color: var(--ink); }
.pk-qt b { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--forest); color: var(--mint); font: 600 15px var(--display); }
.pk-opts { display: flex; flex-wrap: wrap; gap: 10px; }
.pk-opts button { min-height: 48px; padding: 10px 18px; border: 1px solid var(--line-2); border-radius: 12px; background: var(--paper-warm); color: var(--ink); font: 600 15px/1.25 var(--body); text-align: left; cursor: pointer; transition: border-color .15s, background-color .15s, color .15s, box-shadow .15s; }
.pk-opts button:hover { border-color: var(--green-2); }
.pk-opts button[aria-checked="true"] { border-color: var(--green); background: var(--green); color: #fff; box-shadow: 0 8px 20px rgba(var(--forest-rgb),.18); }
.pk-sum { display: none; margin: 0; align-items: center; gap: 12px; font-size: 16px; font-weight: 600; color: var(--green); }
/* One at a time (html[data-pk="steps"]): answered questions fold to a line, later ones wait their turn. */
html[data-pk="steps"] .pk-q.answered .pk-opts { display: none; }
html[data-pk="steps"] .pk-q.answered .pk-sum { display: flex; }
html[data-pk="steps"] .pk-q.answered .pk-qt { margin-bottom: 4px; font-size: 15px; color: var(--muted); }
html[data-pk="steps"] .pk-q:not(.answered):not(.current) { display: none; }
html[data-pk="steps"] .pk-q.current { animation: pk-in .35s var(--ease); }
@keyframes pk-in { from { opacity: 0; transform: translateY(6px); } }
.pk-out { margin-top: 6px; }
.pk-wait { margin: 14px 0 0; padding: 16px 18px; border: 1px dashed var(--line-2); border-radius: 14px; color: var(--muted); font-size: 15px; }
html[data-pk="steps"] .pk-wait { display: none; }
.pk-res { margin-top: 16px; padding-top: 22px; border-top: 2px solid var(--forest); animation: pk-in .4s var(--ease); }
.pk-static .pk-res { margin-top: 0; padding-top: 0; border-top: 0; }
.pk-res-label { margin: 0 0 14px; font: 600 13px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.pk-first { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px; border-radius: 14px; background: #fff6e5; color: #6b4a00; font-size: 15px; line-height: 1.45; }
.pk-first b { display: grid; place-items: center; flex: none; width: 24px; height: 24px; border-radius: 50%; background: #e0a823; color: #fff; font-weight: 800; }
.pk-cols { display: grid; grid-template-columns: 1.15fr .85fr; gap: 28px; }
.pk-k { margin: 0 0 10px; font: 600 12px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--muted); }
.pk-stack { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.pk-stack li > a, .pk-stack li.extra { display: flex; align-items: center; gap: 14px; padding: 12px 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-warm); transition: border-color .15s, transform .15s; }
.pk-stack li > a:hover { border-color: var(--green-2); transform: translateX(2px); }
.pk-stack b, .pk-plus { display: grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 9px; background: var(--forest); color: var(--mint); font: 600 15px var(--display); }
.pk-stack li.extra { border-style: dashed; background: transparent; }
.pk-plus { background: var(--mint); color: var(--forest); }
.pk-stack span { display: grid; gap: 2px; }
.pk-stack strong { font-size: 16px; color: var(--ink); }
.pk-stack small { font-size: 13px; color: var(--ink-2); }
.pk-bring, .pk-facts { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.pk-bring li { position: relative; padding-left: 28px; font-size: 16px; color: var(--ink); }
.pk-bring li::before { content: "\2713"; position: absolute; left: 0; top: 1px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--mint); color: var(--forest); font-size: 12px; font-weight: 800; }
.pk-note { margin: 16px 0 0; padding: 12px 14px; border-left: 3px solid var(--green-2); background: var(--paper-band); border-radius: 0 12px 12px 0; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.pk-facts { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); gap: 6px; }
.pk-facts li { font-size: 14px; font-weight: 600; color: var(--green); }
.pk-facts li::before { content: "\2022"; margin-right: 8px; color: var(--green-2); }
.pk-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 22px; }
@media (max-width: 760px) { .pk { padding: 20px 18px 22px; } .pk-cols { grid-template-columns: 1fr; gap: 20px; } .pk-opts button { width: 100%; } }

/* Form cards */
.fc-list { display: grid; gap: 28px; }
.fc { display: grid; grid-template-columns: minmax(0, 460px) minmax(0, 1fr); gap: 40px; align-items: start; padding: 28px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; scroll-margin-top: calc(var(--hdr-h, 80px) + 16px); }
.fc-fig { margin: 0; position: sticky; top: calc(var(--hdr-h, 80px) + 16px); }
.fc-paper { position: relative; border: 1px solid var(--line); border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 1px 2px rgba(var(--forest-rgb),.06), 0 18px 40px rgba(var(--forest-rgb),.1); }
.fc-paper img { display: block; width: 100%; height: auto; }
.fc-pin { position: absolute; transform: translate(-50%, -50%); display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #fff; border-radius: 50%; background: var(--green); color: #fff; font: 600 13px var(--display); box-shadow: 0 4px 10px rgba(var(--forest-rgb),.3); transition: transform .15s var(--ease), background-color .15s; }
.fc-pin.info { background: #e0a823; }
.fc-pin.on { transform: translate(-50%, -50%) scale(1.25); background: var(--forest); }
html[data-fv="table"] .fc-pin { display: none; }
.fc-fig figcaption { margin-top: 12px; font-size: 14px; color: var(--ink-2); }
.fc-fig figcaption a { color: var(--green); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.fc-badge { display: inline-block; margin: 0 0 12px; padding: 5px 10px; border-radius: 999px; background: var(--paper-band); color: var(--ink-2); font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.fc.state .fc-badge { background: #e8eef7; color: #1f3b63; }
.fc.lakeway .fc-badge { background: #fff1d6; color: #7a5300; }
.fc-body h3 { display: flex; align-items: center; gap: 12px; margin: 0 0 16px; font: 600 clamp(24px, 2.4vw, 32px)/1.05 var(--display); text-transform: uppercase; color: var(--ink); }
.fc-num { display: grid; place-items: center; flex: none; width: 34px; height: 34px; border-radius: 10px; background: var(--forest); color: var(--mint); font-size: 17px; }
.fc-what { display: grid; gap: 10px; margin: 0 0 20px; }
.fc-what > div { display: grid; grid-template-columns: 120px 1fr; gap: 12px; }
.fc-what dt { padding-top: 3px; font: 600 12px var(--display); letter-spacing: .12em; text-transform: uppercase; color: var(--green); }
.fc-what dd { margin: 0; font-size: 16px; line-height: 1.45; color: var(--ink); }
.fc-notes { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; border-top: 1px solid var(--line); }
.fc-notes li { display: grid; grid-template-columns: 30px 1fr; gap: 12px; padding: 12px 8px; border-bottom: 1px solid var(--line); border-radius: 10px; transition: background-color .15s; }
.fc-notes li.on { background: var(--paper-band); }
.fc-notes li > b { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--green); color: #fff; font: 600 13px var(--display); }
.fc-notes li.info > b { background: #e0a823; }
.fc-notes span { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.fc-notes strong { color: var(--ink); }
.fc-notes em { display: inline-block; margin: 0 6px 0 4px; padding: 1px 8px; border-radius: 999px; background: var(--paper-band); color: var(--ink-2); font: normal 600 11px var(--body); letter-spacing: .02em; vertical-align: 1px; }
.fc-notes li.you em { background: var(--mint); color: var(--forest); }
.fc-table { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 18px; border-top: 1px solid var(--line); }
.fc-table ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.fc-table li { display: grid; gap: 2px; font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.fc-table li strong { color: var(--ink); }
.fc-info { margin: 16px 0 0; padding: 12px 14px; border-radius: 12px; background: #fff6e5; color: #6b4a00; font-size: 15px; }
.fv-table { display: none; }
html[data-fv="table"] .fv-table { display: block; }
html[data-fv="table"] .fc-table.fv-table { display: grid; }
html[data-fv="table"] .fv-pins { display: none; }
html[data-fv="table"] .fc { grid-template-columns: minmax(0, 300px) minmax(0, 1fr); }
.fc-ref { margin: 18px 0 0; font-size: 13px; line-height: 1.5; color: var(--muted); }
@media (max-width: 900px) {
  .fc, html[data-fv="table"] .fc { grid-template-columns: 1fr; gap: 22px; padding: 18px; }
  .fc-fig { position: static; max-width: 460px; }
  html[data-fv="table"] .fc-fig { max-width: 240px; }
  .fc-what > div { grid-template-columns: 1fr; gap: 2px; }
  .fc-table { grid-template-columns: 1fr; }
}

/* Signing day, rules and steps */
.bys-day { margin: 0; padding: 0; list-style: none; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; counter-reset: d; }
.bys-day li { position: relative; display: grid; align-content: start; gap: 8px; padding: 24px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.bys-day li:last-child { background: var(--forest); border-color: var(--forest); }
.bys-day li:not(:last-child)::after { content: "\2192"; position: absolute; right: -15px; top: 50%; z-index: 1; display: grid; place-items: center; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%; background: var(--green); color: #fff; font-size: 14px; }
.bys-day b { display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; background: var(--paper-band); color: var(--green); font: 600 17px var(--display); }
.bys-day li:last-child b { background: var(--mint); color: var(--forest); }
.bys-day strong { font: 600 20px/1.15 var(--display); text-transform: uppercase; color: var(--ink); }
.bys-day li:last-child strong { color: #fff; }
.bys-day span { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.bys-day li:last-child span { color: rgba(255,255,255,.82); }
@media (max-width: 900px) { .bys-day { grid-template-columns: 1fr 1fr; } .bys-day li::after { display: none; } }
@media (max-width: 560px) { .bys-day { grid-template-columns: 1fr; } }
.bys-rules { margin: 0; padding: 0; list-style: none; display: grid; gap: 0; max-width: 860px; border-top: 1px solid var(--line-2); }
.bys-rules li { display: grid; grid-template-columns: 44px 1fr; gap: 4px 16px; padding: 18px 0; border-bottom: 1px solid var(--line-2); }
.bys-rules b { grid-row: 1 / 3; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: var(--forest); color: var(--mint); font: 600 18px var(--display); }
.bys-rules strong { font: 600 21px/1.15 var(--display); text-transform: uppercase; color: var(--ink); }
.bys-rules span { font-size: 16px; line-height: 1.5; color: var(--ink-2); }

/* Situations, the "for someone else" cards, meanwhile, sources */
.bys-sits { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.bys-sits a { display: grid; align-content: start; gap: 8px; padding: 24px 22px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; transition: transform .15s var(--ease), border-color .15s, box-shadow .15s; }
.bys-sits a:hover { transform: translateY(-3px); border-color: var(--green-2); box-shadow: var(--shadow-sm); }
.bys-sits strong { font: 600 22px/1.1 var(--display); text-transform: uppercase; color: var(--ink); }
.bys-sits span { font-size: 15px; line-height: 1.45; color: var(--ink-2); }
.bys-sits b { margin-top: 6px; color: var(--green); font-size: 14px; }
@media (max-width: 900px) { .bys-sits { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .bys-sits { grid-template-columns: 1fr; } }
.bys-who { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bys-who article { padding: 24px 24px 20px; border: 1px solid var(--line); border-radius: var(--radius-lg); background: #fff; }
.bys-who h3 { margin: 0 0 10px; font: 600 21px/1.15 var(--display); text-transform: uppercase; color: var(--ink); }
.bys-who p { margin: 0; font-size: 16px; line-height: 1.5; color: var(--ink-2); }
.bys-who p + p { margin-top: 8px; }
@media (max-width: 760px) { .bys-who { grid-template-columns: 1fr; } }
.bys-meanwhile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 28px; margin-top: 28px; padding: 22px 26px; border-radius: var(--radius-lg); background: var(--forest); color: #fff; }
.bys-meanwhile > div { display: grid; gap: 6px; max-width: 720px; }
.bys-meanwhile strong { font: 600 22px/1.15 var(--display); text-transform: uppercase; color: #fff; }
.bys-meanwhile span { font-size: 16px; line-height: 1.5; color: rgba(255,255,255,.82); }
.bys-meanwhile .button { background: var(--mint); border-color: var(--mint); color: var(--forest); }
.bys-sources { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--line); }
.bys-sources ul { margin: 0 0 8px; padding: 0; list-style: none; display: flex; flex-wrap: wrap; gap: 8px 18px; }
.bys-sources a { color: var(--green); font-size: 14px; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.bys-back { margin: 26px 0 0; }
.bys-hero .bys-meanwhile { margin-top: 36px; }
/* Header with seven menu items: the descriptor steps aside sooner and the gap tightens, so the two buttons always fit */
.main-nav { gap: 16px; }
@media (max-width: 1520px) { .brand .descriptor { display: none; } }
@media (max-width: 1260px) { .site-header .button.ghost.nav-cta { display: none; } }
.pk-stack li > a { color: inherit; text-decoration: none; }
.bys-hero .section-heading h1 { font-size: clamp(44px, 5vw, 78px); }

/* Pass 19 — hero reviews (2026-10-24, owner). Reviews switch (html[data-rv]): "col" shows four review cards, each a
   verbatim line that opens the whole review (#reviewModal); "under" keeps the single quote under the photo.
   The photo never gives up width: from 1460px the hero widens to 1400px so the cards get their own column to the
   right of a full-size photo; narrower, the same cards sit in a swipeable row under it. */
.rv-col { display: none; }
html[data-rv="col"] .hero-visual .rv-under { display: none; }
html[data-pf="on"][data-rv="col"] .hero-visual .rv-col { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }
html[data-pf="on"][data-rv="col"] .hero-visual .presence { margin-left: 0; }
.hr-list { display: grid; grid-auto-flow: column; grid-auto-columns: calc(50% - 5px); gap: 10px; margin: 0; padding: 0 0 6px; list-style: none; overflow-x: auto; scroll-snap-type: x mandatory; }
.hr-list li { scroll-snap-align: start; }
@media (min-width: 1460px) {
  html[data-pf="on"][data-rv="col"] .hero .page-width.hero-grid { width: min(1400px, calc(100% - 48px)); grid-template-columns: minmax(0, 560px) minmax(0, 1fr); gap: 56px; }
  html[data-pf="on"][data-rv="col"] .hero-visual { display: grid; grid-template-columns: minmax(0, 1fr) 250px; gap: 14px; padding-right: 0; }
  html[data-pf="on"][data-rv="col"] .hero-visual .hero-photo { grid-column: 1; grid-row: 1; height: 700px; }
  html[data-pf="on"][data-rv="col"] .hero-visual .rv-col { grid-column: 2; grid-row: 1; height: 700px; gap: 12px; margin-top: 0; }
  html[data-pf="on"][data-rv="col"] .hero-visual .presence { grid-column: 1 / -1; }
  .hr-list { flex: 1; min-height: 0; grid-auto-flow: row; grid-auto-columns: auto; grid-auto-rows: minmax(0, 1fr); padding: 0; overflow: visible; }
  .hr-card:hover, .hr-card:focus-visible { transform: translateY(-2px); }
}
.hr-card { width: 100%; height: 100%; display: flex; flex-direction: column; gap: 6px; padding: 14px 16px 13px; text-align: left; font: inherit; color: var(--ink); cursor: pointer; border: 1px solid var(--line); border-left: 4px solid var(--line-2); border-radius: 14px; background: rgba(255,255,255,.92); box-shadow: 0 1px 2px rgba(var(--forest-rgb),.06); transition: border-color .15s, box-shadow .15s, transform .15s var(--ease); }
.hr-card:hover, .hr-card:focus-visible { border-left-color: var(--green-2); box-shadow: 0 1px 2px rgba(var(--forest-rgb),.08), 0 8px 22px rgba(var(--forest-rgb),.12); }
.hr-card .stars { color: #e0a823; letter-spacing: 2px; font-size: 12px; }
.hr-card q { flex: 1; min-height: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; font-size: 15px; font-weight: 500; line-height: 1.35; }
.hr-who { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; font-size: 13px; color: var(--ink-2); }
.hr-who > span { color: var(--green); font-weight: 700; transition: transform .15s var(--ease); }
.hr-card:hover .hr-who > span { transform: translateX(3px); }
.hr-more { align-self: flex-start; font-size: 14px; font-weight: 700; color: var(--green); text-decoration: underline; text-underline-offset: 3px; }
.rm-card { width: min(560px, 100%); }
.rm-card .stars { color: #e0a823; letter-spacing: 2px; font-size: 15px; }
.rm-text { margin: 10px 0 14px; font-size: 19px; font-weight: 500; line-height: 1.5; color: var(--ink); }
.rm-text::before { content: "\201C"; } .rm-text::after { content: "\201D"; }
.rm-who { display: flex; flex-wrap: wrap; gap: 4px 10px; margin: 0; font-size: 14px; color: var(--ink-2); }
.rm-who strong { color: var(--ink); }
.rm-nav { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 22px; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--muted); }
.rm-more { margin: 14px 0 0; font-size: 14px; }
.rm-more a { color: var(--green); font-weight: 700; }
@media (max-width: 700px) {
  .hr-list { grid-auto-columns: 78%; }
  .rm-text { font-size: 17px; }
}
html[data-bg="forest"] .hero .hr-more { color: #fff; }

/* Intake step 2 on one screen, and the contact step asks "how?" first (2026-10-24).
   The old versions stay behind html[data-s2="old"] and html[data-ct="old"] (prototype bar). */
.s2-more { display: grid; gap: 16px; }
.s2-more-body { display: grid; gap: 16px; }
.s2-more-btn { display: grid; grid-template-columns: 34px 1fr auto; align-items: center; gap: 12px; width: 100%; padding: 10px 14px; border: 1px dashed var(--line-2); border-radius: 12px; background: var(--paper-2); color: var(--ink); text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.s2-more-btn:hover { border-color: var(--green-2); background: var(--green-4); }
.s2-more-btn:focus-visible { outline: none; box-shadow: var(--focus); }
.s2-more-btn svg { width: 34px; height: 34px; padding: 8px; border: 1px solid var(--line-2); border-radius: 50%; background: #fff; fill: none; stroke: var(--green); stroke-width: 2.2; stroke-linecap: round; transition: transform .2s ease; }
.s2-more.is-open .s2-more-btn svg { transform: rotate(45deg); }
.s2-more-btn strong { display: block; font-size: 15px; line-height: 1.25; }
.s2-more-btn small { display: block; margin-top: 1px; color: var(--muted); font-size: 12px; }
.s2-count { padding: 4px 10px; border: 1px solid rgba(var(--green-rgb), .25); border-radius: 999px; background: var(--green-4); color: var(--green); font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.s2-set-line { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; padding: 12px 16px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-2); }
.s2-set-k { font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.s2-set-line p { flex: 1; min-width: 0; margin: 0; font-size: 14px; color: var(--ink-2); }
.s2-set-line p b { font-weight: 600; color: var(--ink); }
.s2-set-line p i { margin: 0 8px; font-style: normal; color: var(--muted); }
html:not([data-s2="old"]) .s2-grid { gap: 16px 18px; }
html:not([data-s2="old"]) .s2-old-only { display: none; }
html:not([data-s2="old"]) .s2-tiles { display: grid; gap: 8px; }
html:not([data-s2="old"]) .s2-tiles.four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
html:not([data-s2="old"]) .s2-tiles.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html:not([data-s2="old"]) .s2-tiles .choice { position: relative; display: block; padding: 11px 14px; border-radius: 12px; }
html:not([data-s2="old"]) .s2-tiles .choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
html:not([data-s2="old"]) .s2-tiles .choice strong { padding-right: 20px; font-size: 15px; line-height: 1.25; }
html:not([data-s2="old"]) .s2-tiles .choice span { margin-top: 2px; font-size: 12px; line-height: 1.35; }
html:not([data-s2="old"]) .s2-tiles .choice:has(input:checked) strong { color: var(--green); }
html:not([data-s2="old"]) .s2-tiles .choice:has(input:checked)::after { content: ""; position: absolute; top: 11px; right: 11px; width: 17px; height: 17px; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 11px no-repeat; }
html:not([data-s2="old"]) .s2-more:not(.is-open) .s2-more-body { display: none; }
html:not([data-s2="old"]) .s2-more.is-open .s2-more-body { animation: jfade .22s ease both; }
html:not([data-s2="old"]) .s2-set { gap: 0; }
html:not([data-s2="old"]) .s2-set:not(.is-open) .preset-row { display: none; }
html:not([data-s2="old"]) .s2-set.is-open .s2-set-line { border-bottom-color: transparent; border-radius: 12px 12px 0 0; }
html:not([data-s2="old"]) .s2-set .preset-row { padding-top: 4px; border: 1px solid var(--line); border-top: 0; border-radius: 0 0 12px 12px; animation: jfade .2s ease both; }
html[data-s2="old"] .s2-more, html[data-s2="old"] .s2-more-body { display: contents; }
html[data-s2="old"] .s2-more-btn, html[data-s2="old"] .s2-set-line { display: none; }

.ct-tiles .choice svg { display: none; }
html:not([data-ct="old"]) .ct-old-only, html[data-ct="old"] .ct-new-only { display: none; }
html:not([data-ct="old"]) .ct-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); }
html:not([data-ct="old"]) .ct-tiles .choice { position: relative; display: grid; grid-template-columns: 26px 1fr; align-items: center; gap: 12px; padding: 14px 16px; border-radius: 14px; }
html:not([data-ct="old"]) .ct-tiles .choice input { position: absolute; width: 1px; height: 1px; margin: 0; opacity: 0; pointer-events: none; }
html:not([data-ct="old"]) .ct-tiles .choice svg { display: block; width: 26px; height: 26px; fill: none; stroke: var(--muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html:not([data-ct="old"]) .ct-tiles .choice:has(input:checked) { box-shadow: inset 0 0 0 1px var(--green), 0 10px 24px rgba(var(--green-rgb), .12); }
html:not([data-ct="old"]) .ct-tiles .choice:has(input:checked) svg { stroke: var(--green); }
html:not([data-ct="old"]) .ct-tiles .choice:has(input:checked) strong { color: var(--green); }
html:not([data-ct="old"]) .ct-tiles .choice:has(input:focus-visible) { box-shadow: var(--focus); }
html:not([data-ct="old"]) .ct-drop { position: relative; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 18px; margin-top: 2px; padding: 18px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-2); animation: ctDrop .22s ease both; }
html:not([data-ct="old"]) .ct-drop[data-cm=""] { display: none; }
html:not([data-ct="old"]) .ct-drop::before { content: ""; position: absolute; top: -8px; left: calc(16.5% - 7px); width: 14px; height: 14px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); background: var(--paper-2); transform: rotate(45deg); transition: left .2s ease; }
html:not([data-ct="old"]) .ct-drop[data-cm="phone"]::before { left: calc(50% - 7px); }
html:not([data-ct="old"]) .ct-drop[data-cm="email"]::before { left: calc(83.5% - 7px); }
html:not([data-ct="old"]) .ct-drop .field:not([hidden]) { animation: jfade .2s ease both; }
html:not([data-ct="old"]) .ct-drop .ct-consent .choice { background: #fff; }
html[data-ct="old"] .ct-drop { display: contents; }
html[data-ct="old"] .ct-name { order: 1; } html[data-ct="old"] .ct-phone { order: 2; } html[data-ct="old"] .ct-email { order: 3; grid-column: 1 / -1; }
html[data-ct="old"] .ct-method { order: 4; } html[data-ct="old"] .ct-consent { order: 5; } html[data-ct="old"] .ct-when { order: 6; }
@keyframes ctDrop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 700px) {
  html:not([data-s2="old"]) .s2-tiles.four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  html:not([data-s2="old"]) .s2-tiles.three { grid-template-columns: 1fr; }
  html:not([data-s2="old"]) .s2-tiles.three .choice { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; }
  html:not([data-s2="old"]) .s2-tiles.three .choice span { margin: 0; }
  .s2-set-line p i { margin: 0 5px; }
  html:not([data-ct="old"]) .ct-tiles .choice { grid-template-columns: 1fr; justify-items: center; gap: 6px; padding: 12px 6px; text-align: center; }
  html:not([data-ct="old"]) .ct-tiles .choice span { display: none; }
  html:not([data-ct="old"]) .ct-drop { grid-template-columns: 1fr; padding: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .s2-more-body, .s2-set .preset-row, .ct-drop, .ct-drop .field { animation: none !important; }
}
/* A checkbox row that sits directly in a .field is a choice, not the field label: undo the green eyebrow type. */
.field > label.choice { font: inherit; letter-spacing: normal; text-transform: none; color: var(--ink); }

/* Intake wow (2026-10-24): "We buy this car", the seller's file card, the handoff moment.
   Each has an off switch: html[data-wb="off"], html[data-fc="off"], html[data-ho="off"]. */
.we-buy { display: flex; align-items: center; gap: 12px; margin: 16px 0 0; padding: 12px 16px; border: 1px solid rgba(var(--green-rgb), .22); border-radius: 12px; background: var(--green-4); color: var(--ink); font-size: 14px; line-height: 1.4; }
.we-buy.pop { animation: jfade .35s ease both; }
.we-buy svg, .fc-webuy svg { flex: none; width: 26px; height: 26px; }
.we-buy svg circle, .fc-webuy svg circle { fill: var(--green); }
.we-buy svg path, .fc-webuy svg path { fill: none; stroke: #fff; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.we-buy b { font: 600 22px/1 var(--display); color: var(--green); font-variant-numeric: tabular-nums; }
.we-buy .wb-week { color: var(--green); font-weight: 700; }
.we-buy small { display: block; margin-top: 1px; color: var(--muted); font-size: 12px; }
html[data-wb="off"] .we-buy, html[data-wb="off"] .fc-webuy { display: none !important; }

.file-card { margin: 0 0 18px; padding: 0 0 16px; border-bottom: 1px solid var(--line); animation: jfade .3s ease both; }
.fc-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.fc-k { display: inline-flex; align-items: center; gap: 6px; font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.fc-k svg, .file-strip svg, .ho-file svg { fill: var(--green-4); stroke: var(--green); stroke-width: 1.8; stroke-linejoin: round; }
.fc-k svg { width: 16px; height: 16px; }
.fc-status { font-size: 11px; color: var(--muted); }
.file-card.sent .fc-status { color: var(--green); font-weight: 700; }
.file-card .fc-car { margin: 8px 0 6px; font: 600 20px/1.15 var(--display); color: var(--ink); }
.file-card .fc-webuy { display: flex; align-items: flex-start; gap: 8px; margin: 0 0 10px; font-size: 13px; line-height: 1.4; color: var(--ink-2); }
.file-card .fc-webuy svg { width: 18px; height: 18px; margin-top: 1px; }
.file-card .fc-webuy b { color: var(--green); }
.file-card .fc-rows { display: grid; gap: 5px; margin: 0; padding: 0; list-style: none; }
.fc-rows li { display: grid; grid-template-columns: 14px 86px minmax(0, 1fr); align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.fc-rows li::before { content: ""; width: 14px; height: 14px; box-sizing: border-box; border: 1.5px dashed var(--line-2); border-radius: 50%; }
.fc-rows li.on::before { border: 0; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 9px no-repeat; animation: fcTick .3s ease; }
.fc-rows li b { overflow: hidden; color: var(--ink); font-weight: 600; white-space: nowrap; text-overflow: ellipsis; }
.fc-rows li:not(.on) b { color: var(--line-2); font-weight: 400; }
@keyframes fcTick { from { transform: scale(.4); } to { transform: none; } }
.file-strip { display: none; }
.file-strip svg { flex: none; width: 22px; height: 22px; }
.file-strip > span { min-width: 0; }
.file-strip small { display: block; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.file-strip b { display: block; overflow: hidden; font-size: 13px; white-space: nowrap; text-overflow: ellipsis; }
@media (max-width: 1080px) {
  .file-card { display: none; }
  .file-strip:not([hidden]) { display: flex; align-items: center; gap: 10px; margin: 14px 34px 0; padding: 9px 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper-2); }
}
@media (max-width: 980px) { .file-strip:not([hidden]) { margin-left: 20px; margin-right: 20px; } }
html[data-fc="off"] .file-card, html[data-fc="off"] .file-strip { display: none !important; }

.handoff { --dx: 0px; --dy: 0px; display: grid; grid-template-columns: auto minmax(24px, 1fr) auto; align-items: center; gap: 14px; margin: 4px 0 22px; padding: 18px 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-2); }
.ho-file { position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; min-width: 0; padding: 10px 14px; border: 1px solid var(--line-2); border-radius: 12px; background: #fff; box-shadow: var(--shadow-sm); }
.ho-file svg { flex: none; width: 26px; height: 26px; }
.ho-file > span { min-width: 0; }
.ho-file small { display: block; font: 600 10px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--green); }
.ho-file b { display: block; max-width: 210px; overflow: hidden; font-size: 14px; white-space: nowrap; text-overflow: ellipsis; }
.ho-track { height: 2px; border-radius: 2px; background: repeating-linear-gradient(90deg, var(--line-2) 0 6px, transparent 6px 12px); }
.ho-desk { display: grid; justify-items: center; gap: 6px; }
.ho-desk > b { font: 600 11px var(--display); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-2); }
.ho-faces { position: relative; display: flex; border-radius: 999px; }
.ho-faces img { width: 44px; height: 44px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 2px 6px rgba(9, 44, 26, .15); }
.ho-faces img + img { margin-left: -12px; }
.ho-check { position: absolute; right: -6px; bottom: -4px; width: 22px; height: 22px; border: 2px solid #fff; border-radius: 50%; background: var(--green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.6 6.3l2.2 2.2 4.6-4.8' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 12px no-repeat; transform: scale(0); transition: transform .3s cubic-bezier(.3, 1.6, .5, 1); }
.handoff.play .ho-file { animation: hoSend 1.1s cubic-bezier(.5, 0, .2, 1) .25s both; }
.handoff.play .ho-track { animation: hoTrack .5s linear .25s 2; }
.handoff.landed .ho-faces { animation: hoRing .9s ease-out; }
.handoff.landed .ho-check { transform: scale(1); }
.handoff.play ~ .ho-after { animation: jfade .45s ease 1.25s both; }
.ho-title { margin: 4px 0 10px; font-size: clamp(28px, 3vw, 40px); }
.ho-promise { margin: 0 0 12px; font-size: 15px; color: var(--ink-2); }
.ho-promise strong { display: block; margin-bottom: 2px; font: 600 22px/1.2 var(--display); color: var(--green); }
.ho-after .notice { margin: 14px 0; }
.ho-after .report-actions { margin-top: 22px; }
@keyframes hoSend { 0% { transform: none; opacity: 1; } 75% { transform: translate(var(--dx), var(--dy)) scale(.32); opacity: 1; } 100% { transform: translate(var(--dx), var(--dy)) scale(.2); opacity: 0; } }
@keyframes hoTrack { from { background-position: 0 0; } to { background-position: 12px 0; } }
@keyframes hoRing { 0% { box-shadow: 0 0 0 0 rgba(var(--green-rgb), .45); } 100% { box-shadow: 0 0 0 16px rgba(var(--green-rgb), 0); } }
@media (max-width: 700px) {
  .handoff { gap: 10px; padding: 14px; }
  .ho-file { padding: 8px 10px; }
  .ho-file b { max-width: 120px; font-size: 13px; }
  .ho-faces img { width: 36px; height: 36px; }
}
@media (prefers-reduced-motion: reduce) {
  .we-buy.pop, .file-card, .fc-rows li.on::before, .handoff.play .ho-file, .handoff.play .ho-track, .handoff.landed .ho-faces, .handoff.play ~ .ho-after { animation: none !important; }
}
/* Once the seller has a file, the file card carries the buyer card's message (who it goes to, and when),
   so the buyer card and the three steps step aside and the sidebar stays shorter than the form. */
.file-card { margin-bottom: 0; }
.file-card .fc-to { display: flex; align-items: center; gap: 10px; margin-top: 14px; padding-top: 12px; border-top: 1px dashed var(--line); font-size: 13px; line-height: 1.4; color: var(--ink-2); }
.fc-faces { display: flex; flex: none; }
.fc-faces img { width: 30px; height: 30px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; }
.fc-faces img + img { margin-left: -9px; }
.file-card.sent #fcWhen { color: var(--green); font-weight: 700; }
@media (min-width: 1081px) {
  html:not([data-fc="off"]) .side-card.has-file .buyer-card, html:not([data-fc="off"]) .side-card.has-file .side-steps { display: none; }
}
/* After landing, the file settles back as a green "Sent" card and the path turns solid: file -> desk, done. */
.handoff.landed .ho-file { border-color: var(--green); animation: hoBack .35s ease both; }
.handoff.landed .ho-track { background: var(--green-2); transition: background .3s ease; }
@keyframes hoBack { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .handoff.landed .ho-file { animation: none !important; } }

/* Intake: pickup distance under the location, and the six-shot photo coach (2026-10-24).
   Switches: html[data-pd="off"] hides the distance; html[data-pc="old"] brings back the plain drop zone. */
.pick-dist { display: flex; align-items: center; gap: 10px; font-size: 13px; line-height: 1.35; color: var(--ink-2); animation: jfade .3s ease both; }
.pick-dist strong { color: var(--green); }
.pd-route { display: flex; flex: none; align-items: center; width: 78px; }
.pd-lot { display: grid; flex: none; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--green); color: #fff; font: 600 8px/1 var(--display); font-style: normal; letter-spacing: .04em; }
.pd-route b { position: relative; flex: 1; height: 2px; margin-left: 4px; background: repeating-linear-gradient(90deg, var(--green-2) 0 4px, transparent 4px 8px); }
.pd-route em { position: absolute; top: 50%; left: calc(var(--p) * 100%); width: 12px; height: 12px; margin: -6px 0 0 -6px; border: 3px solid var(--green); border-radius: 50%; background: #fff; animation: pdSlide .7s cubic-bezier(.3, 0, .2, 1) both; }
@keyframes pdSlide { from { left: 0; } }
html[data-pd="off"] .pick-dist { display: none !important; }

.shot-coach { display: grid; gap: 10px; padding: 14px; border: 1px solid var(--line); border-radius: 14px; background: var(--paper-2); transition: border-color .15s, background .15s; }
.shot-coach.over { border-color: var(--green); background: var(--green-4); }
.sc-head { display: flex; align-items: baseline; gap: 10px; margin: 0; font-size: 13px; line-height: 1.4; color: var(--muted); }
.sc-head b { flex: none; padding: 3px 9px; border: 1px solid var(--line-2); border-radius: 999px; background: #fff; color: var(--green); font: 600 11px var(--display); letter-spacing: .12em; text-transform: uppercase; }
.sc-head b.done { border-color: var(--green); background: var(--green); color: #fff; }
.shot-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.shot { position: relative; }
.shot-pick { display: grid; justify-items: center; align-content: center; gap: 2px; width: 100%; min-height: 118px; padding: 10px 8px; border: 1.5px dashed var(--line-2); border-radius: 12px; background: #fff; color: var(--ink); text-align: center; cursor: pointer; transition: border-color .15s, background .15s; }
.shot-pick:hover { border-color: var(--green-2); background: var(--green-4); }
.shot-pick:focus-visible, .shot-x:focus-visible { outline: none; box-shadow: var(--focus); }
.shot-pick svg { width: 58px; height: 40px; fill: none; stroke: var(--muted); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.shot-pick svg .cam { fill: var(--green); stroke: none; }
.shot-pick svg .sight { stroke: var(--green-2); stroke-dasharray: 2 3; }
.shot-pick svg .warn { stroke: #c98a12; }
.shot-pick strong { font-size: 13px; line-height: 1.25; }
.shot-pick small { font-size: 11px; line-height: 1.3; color: var(--muted); }
.shot.on .shot-pick { position: relative; overflow: hidden; padding: 0; border: 0; animation: jfade .3s ease both; }
.shot.on .shot-pick img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.shot-lab { position: absolute; right: 0; bottom: 0; left: 0; padding: 20px 10px 7px; background: linear-gradient(transparent, rgba(6, 26, 15, .8)); color: #fff; font-size: 12px; font-weight: 700; text-align: left; }
.shot-lab::before { content: "\2713\00a0"; color: #8ee6b4; }
.shot-x { position: absolute; top: 6px; right: 6px; width: 26px; height: 26px; border: 0; border-radius: 50%; background: rgba(6, 26, 15, .72); color: #fff; font-size: 16px; line-height: 1; cursor: pointer; }
.photo-grid figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: 12px 6px 4px; background: linear-gradient(transparent, rgba(6, 26, 15, .8)); color: #fff; font-size: 10px; font-weight: 700; line-height: 1.2; }
html[data-pc="old"] .shot-coach { display: none; }
html:not([data-pc="old"]) #photoDrop { display: none; }
@media (max-width: 700px) {
  .shot-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .shot-pick { min-height: 108px; }
}
@media (prefers-reduced-motion: reduce) { .pick-dist, .pd-route em, .shot.on .shot-pick { animation: none !important; } }
/* Phones: "Set for you" and Change on top, the sentence full width underneath (it was squeezed into a middle column). */
@media (max-width: 700px) { .s2-set-line { display: grid; grid-template-columns: 1fr auto; gap: 4px 12px; } .s2-set-line p { grid-column: 1 / -1; order: 3; } }

/* Report: the "yours to keep" line (tour anchor "keep") */
.rpt-keep { margin: 18px 0 0; padding: 14px 16px; border-radius: 12px; background: var(--tint); color: var(--ink); font-size: 15px; }
.rpt-keep strong { color: var(--forest); }

/* ===== MARKET REPORT TOUR (2026-10-25) ===== */
.mr-head { max-width: 860px; }
.mr-promises { display: flex; flex-wrap: wrap; gap: 8px; margin: 22px 0 0; padding: 0; list-style: none; }
.mr-promise { padding: 8px 14px; border-radius: 999px; background: var(--paper); border: 1px solid var(--line); font-weight: 600; font-size: 15px; color: var(--forest); }
.mr-promise::before { content: "\2713"; margin-right: 6px; color: var(--green); }
.mr-start { margin-top: 26px; max-width: 680px; }
.mr-start label { display: block; font-weight: 600; font-size: 15px; margin-bottom: 8px; color: var(--ink); }
.mr-start-row { display: flex; gap: 10px; }
.mr-start-row input { flex: 1; min-width: 0; font: inherit; font-size: 17px; padding: 14px 16px; border-radius: 12px; border: 1px solid var(--line-2); background: var(--paper); }
.mr-start-row input:focus-visible { outline: 3px solid var(--green); outline-offset: 1px; }
.mr-start-alt { margin: 12px 0 0; font-size: 15px; color: var(--ink-2); }
.mr-tour { display: grid; grid-template-columns: minmax(0, 380px) minmax(0, 1fr); gap: 40px; align-items: start; margin-top: 28px; }
.mr-qs { position: sticky; top: calc(var(--hdr-h, 80px) + 16px); margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; }
.mr-q { display: flex; gap: 12px; align-items: baseline; width: 100%; padding: 12px 14px; border: 1px solid transparent; border-radius: 12px; background: none; text-align: left; font: inherit; font-weight: 600; font-size: 17px; color: var(--ink); cursor: pointer; }
.mr-q:hover { background: var(--paper-band); }
.mr-q:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }
.mr-q[aria-pressed="true"] { background: var(--paper); border-color: var(--green); box-shadow: var(--shadow-sm); }
.mr-n { font-family: var(--display); color: var(--green); font-size: 15px; letter-spacing: .04em; }
.mr-a { margin: 2px 14px 12px 46px; font-size: 15px; line-height: 1.55; color: var(--ink-2); }
.tour-ready .mr-qs li:not(.is-on) .mr-a { display: none; }
.mr-doc { min-width: 0; }
.mr-doc .tour-hl { outline: 3px solid var(--green); outline-offset: 6px; border-radius: 10px; background: rgba(var(--green-rgb), .05); transition: outline-color .2s, background-color .2s; scroll-margin-top: calc(var(--hdr-h, 80px) + 24px); }
.tour-note { margin: 0 0 12px; padding: 12px 14px; border-radius: 12px; background: var(--forest); color: #fff; font-size: 15px; line-height: 1.5; scroll-margin-top: calc(var(--hdr-h, 64px) + 70px); }
@media (min-width: 901px) { .tour-note { display: none; } }
.mr-faq { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 48px; margin-top: 28px; }
.mr-faq-item h3 { font-family: var(--body); font-size: 19px; font-weight: 700; text-transform: none; letter-spacing: 0; margin: 0 0 6px; color: var(--ink); }
.mr-faq-item p { margin: 0; font-size: 16px; line-height: 1.6; color: var(--ink-2); }
html:not(.tour-ready) .mr-qs { position: static; }
@media (max-width: 900px) {
  .mr-tour { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .tour-ready .mr-qs { position: sticky; top: var(--hdr-h, 64px); z-index: 5; display: flex; overflow-x: auto; gap: 8px; padding: 10px 2px; margin: 0 -2px; background: var(--paper-warm); scroll-snap-type: x proximity; scrollbar-width: none; }
  .tour-ready .mr-qs li { flex: 0 0 auto; scroll-snap-align: start; }
  .tour-ready .mr-q { white-space: nowrap; font-size: 15px; padding: 9px 12px; border-color: var(--line); background: var(--paper); }
  .tour-ready .mr-a { display: none; }
  .mr-faq { grid-template-columns: minmax(0, 1fr); }
  .mr-start-row { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { .mr-doc .tour-hl { transition: none; } }
/* The tour reuses .fq-q/.fq-a (the FAQ schema hooks); reset the Resources FAQ display type inside it. */
.mr-q .fq-q { font: inherit; font-size: inherit; text-transform: none; letter-spacing: 0; line-height: 1.35; margin: 0; color: inherit; }
.mr-a.fq-a, .mr-faq-item .fq-a { font-family: var(--body); text-transform: none; letter-spacing: 0; }
.mr-faq-item h3.fq-q { font-family: var(--body); font-size: 19px; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.mr-open.section { padding-bottom: 56px; }

/* Breadcrumbs (written by tools/sync_chrome.py on inner pages) */
.crumbs { padding-top: 12px; padding-bottom: 12px; font-size: 14px; }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.crumbs li { color: var(--muted); }
.crumbs li + li::before { content: "/"; margin-right: 6px; color: var(--line-2); }
.crumbs a { color: var(--forest); text-decoration: none; }
.crumbs a:hover { text-decoration: underline; }

/* Legal pages */
.prose { max-width: 720px; }
.prose h2 { font-size: 26px; margin: 32px 0 8px; }
.prose h2:first-child { margin-top: 0; }
.prose p { font-size: 17px; line-height: 1.6; color: var(--ink-2); }

/* Legal pages */
.prose { max-width: 720px; }
.prose h2 { font-size: 26px; margin: 32px 0 8px; }
.prose h2:first-child { margin-top: 0; }
.prose p { font-size: 17px; line-height: 1.6; color: var(--ink-2); }

/* Receipt (thanks page) */
.receipt { max-width: 720px; }
.rc-rows { display: grid; gap: 10px; margin: 24px 0 12px; }
.rc-rows div { display: flex; justify-content: space-between; gap: 16px; padding: 12px 16px; border-radius: 12px; background: var(--paper); border: 1px solid var(--line); }
.rc-rows dt { color: var(--muted); }
.rc-rows dd { margin: 0; font-weight: 700; text-align: right; }
.rc-faces { display: flex; align-items: center; gap: 8px; margin: 22px 0 28px; }
.rc-faces img { border-radius: 50%; }
.rc-faces p { margin: 0 0 0 8px; }
.rc-next { padding-left: 20px; line-height: 1.9; }
/* Intake: bot trap, Turnstile slot, send error */
.hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.turnstile-slot { margin: 14px 0 0; }
.form-error { color: #9b1c1c; font-weight: 600; margin: 12px 0 0; }
/* Receipt rows sit on the green receipt card */
.receipt .rc-rows div { background: rgba(255, 255, 255, .08); border-color: rgba(255, 255, 255, .2); }
.receipt .rc-rows dt { color: var(--mint-2); }
.receipt .rc-rows dd { color: #fff; }
.receipt a, .receipt a:not([class]) { color: var(--mint); }
.receipt .muted, .receipt .small { color: rgba(255, 255, 255, .8); }
.receipt .rc-next li { color: #fff; }
