/* Parent Move Plan: funnel pages (landing pages per situation, VSL player, plan quiz).
   Same tokens as site.css. Motion only where it shows a change of state; all of it respects reduced motion. */

/* ---------- landing pages: no navigation, one path ---------- */
.is-funnel .nav, .is-funnel .nav-toggle, .is-funnel .mobile-nav { display: none !important; }
.is-funnel .site-footer__grid > div:nth-child(2) { display: none; }
.lp-hero { padding: var(--space-8) 0 var(--space-10); }
@media (min-width: 900px) { .lp-hero { padding: var(--space-12) 0 var(--space-12); } }
.lp-hero h1 { max-width: 22ch; margin-bottom: var(--space-4); }
.lp-hero .lede { max-width: 40rem; }
.lp-hero__chip { margin-bottom: var(--space-4); }

/* ---------- VSL player ---------- */
.vsl { position: relative; margin: var(--space-6) 0 0; border-radius: var(--radius-md); overflow: hidden; background: #1F1B18; box-shadow: var(--shadow-card); container-type: inline-size; }
.vsl__screen { position: relative; aspect-ratio: 4 / 5; overflow: hidden; background: var(--paper); cursor: pointer; }
@media (min-width: 700px) { .vsl__screen { aspect-ratio: 16 / 9; } }
.vsl__scene { position: absolute; inset: 0; visibility: hidden; opacity: 0; }
.vsl__line { margin: 0; max-width: none; opacity: 0; will-change: transform, opacity; }
.vsl mark { background: linear-gradient(transparent 55%, var(--amber-line) 55%, var(--amber-line) 92%, transparent 92%); color: inherit; padding: 0 .08em; }

/* photo scene */
.vsl__photo { position: absolute; inset: 0; overflow: hidden; }
.vsl__photo img { width: 100%; height: 100%; object-fit: cover; transform-origin: 50% 45%; will-change: transform; }
.vsl__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgb(20 16 13 / 0) 30%, rgb(20 16 13 / .78) 100%); }
.vsl__cap { position: absolute; left: 6cqi; right: 6cqi; display: grid; gap: 1.2cqi; }
.vsl__cap--bottom { bottom: 7cqi; color: #fff; font: 600 6.2cqi/1.18 var(--font-display); text-shadow: 0 1px 12px rgb(0 0 0 / .35); }
.vsl__cap--bottom .vsl__line + .vsl__line { font: 400 4.6cqi/1.3 var(--font-text); text-shadow: 0 1px 8px rgb(0 0 0 / .4); }
.vsl__cap--bottom mark { background: linear-gradient(transparent 60%, rgb(235 203 134 / .75) 60%, rgb(235 203 134 / .75) 92%, transparent 92%); }
.vsl__cap--paper { color: var(--ink); text-shadow: none; }
.vsl__cap--paper .vsl__line + .vsl__line { text-shadow: none; color: var(--ink-70); }
.vsl__cap--top { top: 6cqi; color: var(--ink); font: 600 5.4cqi/1.2 var(--font-display); }
.vsl__cap--top .vsl__line + .vsl__line { font: 400 4.2cqi/1.3 var(--font-text); color: var(--ink-70); }
@media (min-width: 700px) {
  .vsl__cap { left: 5cqi; right: 5cqi; gap: .8cqi; }
  .vsl__cap--bottom { bottom: 5cqi; font-size: 3.9cqi; max-width: 70%; }
  .vsl__cap--bottom .vsl__line + .vsl__line { font-size: 2.5cqi; }
  .vsl__cap--top { top: 4.5cqi; font-size: 3.2cqi; }
  .vsl__cap--top .vsl__line + .vsl__line { font-size: 2.3cqi; }
}

/* big type scene */
.vsl__type { position: absolute; inset: 0; display: grid; align-content: center; gap: 3cqi; padding: 0 8cqi; background: var(--paper); font: 560 8cqi/1.12 var(--font-display); letter-spacing: -.01em; color: var(--ink); }
@media (min-width: 700px) { .vsl__type { font-size: 5cqi; gap: 1.6cqi; padding: 0 10cqi; } }

/* tabs scene */
.vsl__scene--tabs { background: var(--sand); }
.vsl__tabs { position: absolute; left: 8cqi; right: 8cqi; top: 10cqi; height: 60%; }
.vsl__tab { position: absolute; left: calc(var(--i) * 2.2cqi); right: calc((5 - var(--i)) * 2.2cqi); top: calc(var(--i) * 7.5cqi); display: flex; align-items: center; gap: 2cqi; padding: 2.4cqi 3cqi; background: var(--surface); border: 1px solid var(--line); border-radius: 1.6cqi; box-shadow: 0 6px 20px rgb(43 38 34 / .08); font: 400 3.8cqi/1.2 var(--font-text); color: var(--ink-70); opacity: 0; }
.vsl__tab i { width: 3cqi; height: 3cqi; border-radius: 50%; background: var(--line); flex: none; }
@media (min-width: 700px) { .vsl__tabs { left: 22cqi; right: 22cqi; top: 5cqi; } .vsl__tab { top: calc(var(--i) * 4.2cqi); font-size: 2.1cqi; padding: 1.3cqi 1.8cqi; border-radius: 1cqi; } .vsl__tab i { width: 1.6cqi; height: 1.6cqi; } }

/* sheet scene: the star of the show */
.vsl__scene--sheet, .vsl__scene--compress, .vsl__scene--split { background: var(--paper); }
.vsl__sheetwrap { position: absolute; left: 5cqi; right: 5cqi; bottom: 6cqi; }
.vsl__date { display: inline-flex; align-items: center; gap: 2cqi; margin-bottom: 2.4cqi; padding: 1.8cqi 2.6cqi; background: var(--surface); border: 2px solid var(--teal-700); border-radius: 1.4cqi; font: 400 3.6cqi/1 var(--font-text); color: var(--ink-70); }
.vsl__typed { font: 700 4.4cqi/1 var(--font-text); color: var(--ink); min-width: 1ch; font-variant-numeric: tabular-nums; }
.vsl__caret { width: 2px; height: 4.6cqi; background: var(--teal-700); }
.vsl__sheet { width: 100%; border-collapse: collapse; background: var(--surface); border: 1px solid var(--line); font: 400 3.3cqi/1.25 var(--font-text); table-layout: fixed; }
.vsl__sheet th { background: var(--teal-700); color: #fff; font-weight: 700; text-align: left; padding: 1.4cqi 2cqi; }
.vsl__sheet th:nth-child(1) { width: 13%; } .vsl__sheet th:nth-child(2) { width: 17%; }
.vsl__sheet td { padding: 1.3cqi 2cqi; border-bottom: 1px solid var(--line); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: background-color .25s; }
.vsl__sheet td.d { font-weight: 700; font-variant-numeric: tabular-nums; }
.vsl__sheet tr.is-flash td { background: var(--teal-50); }
.vsl__sheet tr.is-due td { background: var(--amber); }
.vsl__sheet tr.is-late td { background: var(--red-bg); }
@media (min-width: 700px) {
  .vsl__sheetwrap { left: 18cqi; right: 18cqi; bottom: 4cqi; }
  .vsl__date { font-size: 1.8cqi; padding: 1cqi 1.4cqi; margin-bottom: 1.4cqi; border-radius: .8cqi; gap: 1cqi; }
  .vsl__typed { font-size: 2.2cqi; } .vsl__caret { height: 2.4cqi; }
  .vsl__sheet { font-size: 1.75cqi; } .vsl__sheet th, .vsl__sheet td { padding: .75cqi 1.2cqi; }
}

/* compress scene */
.vsl__compress { position: absolute; left: 6cqi; right: 6cqi; bottom: 18cqi; }
.vsl__bar { display: flex; height: 14cqi; border-radius: 1.4cqi; overflow: hidden; border: 1px solid var(--line); }
.vsl__early { flex: 53 1 0; min-width: 0; background: var(--teal-100); display: flex; align-items: center; padding-left: 2.4cqi; font: 700 3.4cqi/1 var(--font-text); color: var(--teal-800); white-space: nowrap; overflow: hidden; }
.vsl__last { flex: 0 0 26%; background: var(--amber); border-left: 3px solid var(--amber-line); display: flex; align-items: center; justify-content: center; font: 700 3.4cqi/1 var(--font-text); color: #6B4A0B; transition: box-shadow .3s; }
.vsl__last.is-hold { box-shadow: inset 0 0 0 3px #C08A00; }
.vsl__ticks { margin-top: 2.4cqi; font: 600 7cqi/1 var(--font-display); color: var(--ink); font-variant-numeric: tabular-nums; }
@media (min-width: 700px) { .vsl__compress { left: 14cqi; right: 14cqi; bottom: 10cqi; } .vsl__bar { height: 8cqi; border-radius: .8cqi; } .vsl__early, .vsl__last { font-size: 1.9cqi; } .vsl__last { flex-basis: 16%; } .vsl__ticks { font-size: 4cqi; margin-top: 1.4cqi; } }

/* split scene */
.vsl__split { position: absolute; left: 6cqi; right: 6cqi; bottom: 7cqi; display: grid; gap: 3cqi; }
.vsl__person { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: "n w h" "b b b" "j j j"; gap: 1cqi 2cqi; align-items: baseline; padding: 2.4cqi 3cqi; background: var(--surface); border: 1px solid var(--line); border-radius: 1.6cqi; opacity: 0; font: 400 3.4cqi/1.25 var(--font-text); }
.vsl__person b { grid-area: n; font: 600 4.4cqi/1 var(--font-display); }
.vsl__where { grid-area: w; color: var(--ink-70); }
.vsl__h { grid-area: h; font-weight: 700; font-variant-numeric: tabular-nums; }
.vsl__hours { grid-area: b; height: 2.2cqi; background: var(--sand); border-radius: 99px; overflow: hidden; }
.vsl__hours i { display: block; height: 100%; width: 0; background: var(--teal-700); border-radius: 99px; }
.vsl__jobs { grid-area: j; color: var(--ink-70); font-size: 3.1cqi; }
@media (min-width: 700px) {
  .vsl__split { left: 5cqi; right: 5cqi; bottom: 6cqi; grid-template-columns: repeat(3, 1fr); gap: 2cqi; }
  .vsl__person { font-size: 1.8cqi; padding: 1.8cqi; border-radius: 1cqi; gap: .8cqi 1.2cqi; } .vsl__person b { font-size: 2.6cqi; } .vsl__hours { height: 1.2cqi; } .vsl__jobs { font-size: 1.7cqi; }
}

/* CTA scene */
.vsl__scene--cta { background: var(--teal-800); }
.vsl__cta { position: absolute; inset: 0; display: grid; align-content: center; justify-items: start; gap: 3cqi; padding: 0 8cqi; color: #fff; }
.vsl__brand { margin: 0; font: 700 3.4cqi/1 var(--font-text); letter-spacing: .08em; text-transform: uppercase; color: var(--teal-100); opacity: 0; }
.vsl__ctatitle { margin: 0; font: 560 7.4cqi/1.12 var(--font-display); max-width: 20ch; opacity: 0; }
.vsl__ctatitle mark { background: linear-gradient(transparent 60%, rgb(235 203 134 / .55) 60%, rgb(235 203 134 / .55) 92%, transparent 92%); }
.vsl__ctasub { margin: 0; font: 400 4cqi/1.3 var(--font-text); color: var(--teal-100); opacity: 0; }
.vsl .vsl__ctabtn { opacity: 0; background: #fff; color: var(--teal-800); }
.vsl .vsl__ctabtn:hover { background: var(--teal-50); color: var(--teal-800); }
.vsl .vsl__ctabtn { font-size: 4.4cqi; min-height: 12cqi; padding: 0 7cqi; margin-top: 1cqi; }
@media (min-width: 700px) { .vsl .vsl__ctabtn { font-size: 2.2cqi; min-height: 6.4cqi; padding: 0 4cqi; } .vsl__cta { gap: 1.8cqi; padding: 0 9cqi; } .vsl__brand { font-size: 1.6cqi; } .vsl__ctatitle { font-size: 4.6cqi; } .vsl__ctasub { font-size: 2.2cqi; } }

/* desktop: words on the left, the sheet on the right */
@media (min-width: 700px) {
  .vsl__scene--sheet .vsl__cap--top, .vsl__scene--compress .vsl__cap--top, .vsl__scene--split .vsl__cap--top { top: 50%; transform: translateY(-50%); right: auto; width: 33cqi; font-size: 3.5cqi; gap: 1.6cqi; }
  .vsl__scene--sheet .vsl__cap--top .vsl__line + .vsl__line, .vsl__scene--compress .vsl__cap--top .vsl__line + .vsl__line, .vsl__scene--split .vsl__cap--top .vsl__line + .vsl__line { font-size: 2.3cqi; }
  .vsl__sheetwrap { left: 42cqi; right: 4cqi; top: 50%; bottom: auto; transform: translateY(-50%); }
  .vsl__compress { left: 42cqi; right: 5cqi; top: 50%; bottom: auto; transform: translateY(-50%); }
  .vsl__split { left: 42cqi; right: 5cqi; top: 50%; bottom: auto; transform: translateY(-50%); grid-template-columns: 1fr; gap: 1.2cqi; }
  .vsl__person { padding: 1.2cqi 1.6cqi; }
  .vsl__last { flex-basis: 22%; }
}

/* controls */
.vsl__big { white-space: nowrap; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); display: none; align-items: center; gap: 12px; min-height: 64px; padding: 0 28px 0 22px; border: 0; border-radius: var(--radius-pill); background: rgb(255 255 255 / .95); color: var(--ink); font: 700 var(--text-sm)/1 var(--font-text); box-shadow: 0 10px 30px rgb(0 0 0 / .25); cursor: pointer; z-index: 3; }
.vsl__big:hover { background: #fff; }
.vsl__big svg { width: 28px; height: 28px; color: var(--teal-700); }
.vsl.is-idle .vsl__big { display: inline-flex; }
.vsl.is-idle .vsl__screen::after { content: ""; position: absolute; inset: 0; background: rgb(20 16 13 / .25); z-index: 2; }
.vsl__controls { display: flex; align-items: center; gap: 12px; padding: 8px 12px; background: #1F1B18; color: #EDE6DC; }
.vsl__play { flex: none; width: 44px; height: 44px; display: grid; place-items: center; border: 0; border-radius: 50%; background: transparent; color: inherit; cursor: pointer; }
.vsl__play:hover { background: rgb(255 255 255 / .1); }
.vsl__play svg { width: 22px; height: 22px; }
.vsl__play .i-pause, .vsl.is-playing .vsl__play .i-play { display: none; }
.vsl.is-playing .vsl__play .i-pause { display: block; }
.vsl__progress { flex: 1; height: 44px; display: flex; align-items: center; cursor: pointer; }
.vsl__progress::before { content: ""; position: absolute; }
.vsl__track { position: relative; flex: 1; height: 6px; background: rgb(255 255 255 / .2); border-radius: 99px; overflow: hidden; }
.vsl__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: var(--amber-line); }
.vsl__time { flex: none; font: 400 var(--text-xs)/1 var(--font-text); font-variant-numeric: tabular-nums; color: #CFC5B6; }
.vsl__progress:focus-visible, .vsl__play:focus-visible { outline: 2px solid var(--amber-line); outline-offset: 2px; }
.vsl-note { font-size: var(--text-xs); color: var(--ink-70); margin-top: var(--space-3); }
.transcript { margin-top: var(--space-4); font-size: var(--text-sm); }
.transcript summary { cursor: pointer; min-height: 44px; display: inline-flex; align-items: center; color: var(--teal-800); font-weight: 700; }
.transcript p { margin-bottom: var(--space-2); }

/* first question right under the video */
.firstq { margin-top: var(--space-8); padding: var(--space-6); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); }
.firstq h2 { font-size: var(--text-lg); margin-bottom: var(--space-1); }
.firstq p { margin-bottom: var(--space-4); }
.firstq__opts { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-3); }
@media (min-width: 700px) { .firstq__opts { grid-template-columns: repeat(4, 1fr); } }
.firstq__opts a { display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 12px; border: 1.5px solid var(--line); border-radius: var(--radius-md); background: var(--paper); color: var(--ink); text-decoration: none; font: 600 var(--text-md)/1.2 var(--font-text); text-align: center; transition: border-color .15s, background-color .15s; }
.firstq__opts a:hover { border-color: var(--teal-700); background: var(--teal-50); color: var(--ink); }
.firstq__meta { margin: var(--space-4) 0 0; }

.lp-points { display: grid; gap: var(--space-6); }
@media (min-width: 900px) { .lp-points { grid-template-columns: repeat(3, 1fr); } }
.lp-points .frame { margin-bottom: var(--space-4); }

/* ---------- quiz ---------- */
.quiz [hidden] { display: none !important; }
.quiz { padding: var(--space-8) 0 var(--space-16); scroll-margin-top: 72px; }
.quiz__intro { display: grid; gap: var(--space-8); align-items: center; }
@media (min-width: 900px) { .quiz__intro { grid-template-columns: 1.1fr 1fr; gap: var(--space-12); } }
.quiz__intro .photo { aspect-ratio: 4 / 3; object-fit: cover; }
.quiz__intro .firstq__opts { margin-top: var(--space-4); }
.quiz__intro .firstq__opts button { display: flex; align-items: center; justify-content: center; min-height: 64px; padding: 12px; border: 1.5px solid var(--line); border-radius: var(--radius-md); background: var(--surface); color: var(--ink); font: 600 var(--text-md)/1.2 var(--font-text); cursor: pointer; }
.quiz__intro .firstq__opts button:hover { border-color: var(--teal-700); background: var(--teal-50); }
@media (min-width: 700px) { .quiz__intro .firstq__opts { grid-template-columns: 1fr 1fr; } }
.quiz__app { display: grid; gap: var(--space-8); align-items: start; }
@media (min-width: 1000px) { .quiz__app { grid-template-columns: minmax(0, 1fr) 320px; gap: var(--space-12); } .quiz.is-result .quiz__app { grid-template-columns: minmax(0, 1fr); } }
.quiz__top { display: flex; align-items: center; gap: var(--space-4); margin-bottom: var(--space-6); }
.quiz__back { flex: none; min-height: 44px; padding: 0 14px; border: 1px solid var(--line); border-radius: var(--radius-pill); background: var(--surface); color: var(--ink); font: 600 var(--text-xs)/1 var(--font-text); cursor: pointer; }
.quiz__back:hover { background: var(--sand); }
.quiz__meter { flex: 1; }
.quiz__count { display: block; font-size: var(--text-xs); color: var(--ink-70); margin-bottom: 6px; }
.quiz__progress { height: 8px; background: var(--sand); border-radius: 99px; overflow: hidden; }
.quiz__progress span { display: block; height: 100%; width: 0; background: var(--teal-700); border-radius: 99px; transition: width .35s ease; }
.quiz__stage { min-height: 420px; }
.quiz__stage.is-locked { pointer-events: none; }

.q { border: 0; padding: 0; margin: 0; min-width: 0; transition: opacity .28s ease, transform .28s ease; }
.q.is-entering { opacity: 0; transform: translateX(18px); }
.q.is-entering[data-dir="-1"] { transform: translateX(-18px); }
.q__title { display: block; padding: 0; font: 560 var(--text-xl)/1.15 var(--font-display); letter-spacing: -.01em; color: var(--ink); margin-bottom: var(--space-2); max-width: 30ch; outline: none; }
.q__sub { color: var(--ink-70); margin-bottom: var(--space-4); }
.q__opts { display: grid; gap: var(--space-3); margin-top: var(--space-5); max-width: 40rem; }
.opt { display: grid; grid-template-columns: 36px 1fr; align-items: center; gap: var(--space-4); width: 100%; min-height: 64px; padding: 12px 18px 12px 14px; text-align: left; background: var(--surface); border: 1.5px solid var(--line); border-radius: var(--radius-md); color: var(--ink); font: 400 var(--text-md)/1.35 var(--font-text); cursor: pointer; transition: border-color .15s, background-color .15s, transform .12s; }
.opt:hover { border-color: var(--teal-700); }
.opt:active { transform: scale(.99); }
.opt:focus-visible { outline: none; box-shadow: var(--focus-ring); }
.opt__key { display: grid; place-items: center; width: 36px; height: 36px; border-radius: var(--radius-sm); border: 1px solid var(--line); background: var(--paper); font: 700 var(--text-xs)/1 var(--font-text); color: var(--ink-70); transition: background-color .15s, color .15s; }
.opt--multi .opt__key { border-radius: 8px; }
.opt[aria-pressed="true"] { border-color: var(--teal-700); background: var(--teal-50); }
.opt[aria-pressed="true"] .opt__key { background: var(--teal-700); border-color: var(--teal-700); color: #fff; }
.q__date { margin-top: var(--space-5); max-width: 40rem; padding: var(--space-4) var(--space-5); background: var(--sand); border-radius: var(--radius-md); }
.q__date label { display: block; font-weight: 700; margin-bottom: var(--space-2); }
.q__fb { min-height: 1.5em; margin: var(--space-4) 0 0; max-width: 40rem; color: var(--teal-800); font-weight: 600; }
.q__fb:not(:empty) { padding: var(--space-3) var(--space-4); background: var(--teal-50); border-left: 3px solid var(--teal-700); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; animation: fbin .3s ease both; }
@keyframes fbin { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.q__next { margin-top: var(--space-5); }

/* live plan card */
.plancard { position: sticky; top: 88px; background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); box-shadow: var(--shadow-card); overflow: hidden; }
.plancard__head { display: flex; align-items: center; gap: 10px; padding: 12px 16px; background: var(--teal-700); color: #fff; font: 700 var(--text-xs)/1.2 var(--font-text); letter-spacing: .04em; text-transform: uppercase; }
.plancard__list { list-style: none; margin: 0; padding: 6px 0; max-width: none; }
.plancard__list li { display: grid; gap: 2px; padding: 10px 16px; margin: 0; border-bottom: 1px solid var(--line); font-size: var(--text-xs); }
.plancard__list li:last-child { border-bottom: 0; }
.plancard__list span { color: var(--ink-70); }
.plancard__list b { font-size: var(--text-sm); }
.plancard__list li.is-new { animation: cardin .45s ease both; }
@keyframes cardin { from { opacity: 0; transform: translateY(-6px); background: var(--amber); } to { opacity: 1; transform: none; background: transparent; } }
@media (max-width: 999px) {
  .plancard { position: static; order: -1; box-shadow: none; }
  .plancard__list { display: flex; flex-wrap: wrap; gap: 6px; padding: 10px 12px; }
  .plancard__list li { border: 1px solid var(--line); border-radius: var(--radius-pill); padding: 6px 12px; display: inline-flex; gap: 6px; background: var(--paper); }
  .plancard__list b { font-size: var(--text-xs); }
  .plancard__list li:not(:nth-last-child(-n+3)) { display: none; }
  .plancard__head { padding: 8px 12px; }
}

/* building */
.building ul { list-style: none; padding: 0; margin: var(--space-6) 0 0; display: grid; gap: var(--space-3); }
.building li { display: grid; grid-template-columns: 28px 1fr; gap: var(--space-3); align-items: center; margin: 0; color: var(--ink-60); transition: color .3s; }
.building li::before { content: ""; width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--line); transition: background-color .3s, border-color .3s; }
.building li.is-done { color: var(--ink); }
.building li.is-done::before { background: var(--teal-700) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 14px no-repeat; border-color: var(--teal-700); }

/* result */
.result { max-width: 52rem; }
.result h2 { margin-top: var(--space-12); }
.result__h1 { outline: none; font-size: var(--text-xl); }
@media (min-width: 900px) { .result__h1 { font-size: var(--text-2xl); } }
.result .tasklist em { font-style: normal; color: var(--teal-800); }
.result .tasklist li.is-past b { text-decoration: line-through; text-decoration-color: rgb(43 38 34 / .4); }
.stats { display: grid; gap: var(--space-4); }
@media (min-width: 760px) { .stats { grid-template-columns: repeat(3, 1fr); } }
.stat { padding: var(--space-5); background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius-md); }
.stat b { display: block; font: 600 var(--text-xl)/1.1 var(--font-display); color: var(--teal-800); margin-bottom: var(--space-2); }
.stat span { font-size: var(--text-sm); color: var(--ink-70); }
.result__warn { margin-top: var(--space-4); padding: var(--space-4) var(--space-5); background: var(--amber); border: 1px solid var(--amber-line); border-radius: var(--radius-md); }
.heards { display: grid; gap: var(--space-4); }
@media (min-width: 760px) { .heards { grid-template-columns: 1fr 1fr; } }
.heard { padding: var(--space-5) var(--space-6); background: var(--surface); border: 1px solid var(--line); border-left: 4px solid var(--teal-700); border-radius: 0 var(--radius-md) var(--radius-md) 0; }
.heard h3 { font-size: var(--text-md); font-family: var(--font-text); font-weight: 700; margin-bottom: var(--space-2); }
.heard p { margin: 0; font-size: var(--text-sm); color: var(--ink-70); }
.reasons { padding-left: 1.2em; }
.reasons li { margin-bottom: var(--space-2); }
.plans--one { max-width: 30rem; margin: 0 auto; }
@media (min-width: 900px) { .plans--one { grid-template-columns: 1fr; } }
.share { margin-top: var(--space-12); padding: var(--space-6); background: var(--sand); border-radius: var(--radius-md); }
.share h2 { margin-top: 0; font-size: var(--text-lg); }
.share__row { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.share__row .input { flex: 1 1 240px; width: auto; font-size: var(--text-xs); }
.share__row .btn { min-height: 48px; padding: 10px 20px; }

@media (prefers-reduced-motion: reduce) {
  .q, .quiz__progress span, .opt, .building li, .building li::before { transition: none; }
  .q__fb:not(:empty), .plancard__list li.is-new { animation: none; }
}

.result__mirror { font: 500 var(--text-lg)/1.4 var(--font-display); color: var(--ink); margin: var(--space-4) 0 var(--space-3); padding-left: var(--space-4); border-left: 3px solid var(--amber-line); max-width: 40rem; }
.offer { margin-top: var(--space-12); padding-top: var(--space-2); }
.offer h2 { margin-top: var(--space-2); }
.offer__why { font-weight: 700; margin-bottom: var(--space-2); }
.plan__guarantee { margin: var(--space-3) 0 0; font-size: var(--text-xs); color: var(--ink); text-align: center; }
.plan .policy { margin-top: var(--space-2); }
@media (max-width: 599px) { .result .tasklist li { grid-template-columns: 1fr; gap: 6px; } .result .tasklist .day { justify-self: start; } }
