/* Generated by ops/build_site.py from site/content/brand/hero.css (premium_hero). Do not edit. */
/* ---------- hero ---------- */
.hero__in {
  max-width: var(--wrap); margin: 0 auto; padding: clamp(40px, 8vh, 104px) var(--pad) clamp(56px, 11vh, 128px);
  min-height: min(calc(100svh - 73px), 900px);
  display: grid; grid-template-columns: minmax(0, 40rem) minmax(0, 1fr); column-gap: clamp(48px, 7vw, 112px);
  grid-template-areas: "copy art" "copy roles"; grid-template-rows: auto auto; align-content: center;
}
.hero__copy  { grid-area: copy; align-self: center; }
.hero__art   { grid-area: art; align-self: end; }
.hero__roles { grid-area: roles; align-self: start; margin-top: 48px; min-width: 0; max-width: 30rem; }

/* the headline carries the page: Display optical size, tight tracking, near-solid leading */
.hero__title {
  font-size: var(--fs-display-hero); line-height: 0.98; letter-spacing: var(--track-display);
  font-weight: 620; max-width: 11ch; font-optical-sizing: auto;
}
.hero__sub { margin-top: 32px; max-width: 40ch; color: var(--sr-muted); }

.intake { margin-top: 48px; max-width: 36rem; }
.intake__label { display: block; font-weight: 600; }
/* ---------- rot: one module, three modes (UX spec 2026-10-02_problem-rotator; role tokens only) ---------- */
/* swap: the intake label lines (S-L.1/S-L.2, aria-hidden; the accessible name stays S-L), stacked in one cell so the
   longer line reserves the space; rise on rot.enter (dur-step 250 ms, ease-enter), was 300 ms ease (spec §6 finding) */
.rot[data-rot="swap"] { display: grid; }
.rot[data-rot="swap"] .rot__line { grid-area: 1 / 1; opacity: 0; transform: translateY(0.35em); transition: opacity var(--dur-step) var(--ease-enter), transform var(--dur-step) var(--ease-enter); }
.rot[data-rot="swap"] .rot__line.is-on { opacity: 1; transform: none; }
/* static = the end frame (also reduced motion, no JS, end of play): problems muted, outcome in ink with the 3 px primary bar */
.rot__probs { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--sp-12); }
.rot__probs .rot__line { color: var(--c-muted); max-width: none; }
.rot__out { margin-top: var(--sp-12); padding-left: var(--sp-12); border-left: calc(var(--hair) * 3) solid var(--c-primary); color: var(--c-text); font-weight: var(--w-strong); }
/* build: every line is in the DOM in its final place (CLS 0); script toggles opacity and transform only */
.rot.is-armed .rot__line { opacity: 0; transform: translateY(0.35em); transition: opacity var(--dur-step) var(--ease-enter), transform var(--dur-step) var(--ease-enter), color var(--dur-base) var(--ease-exit); }
.rot.is-armed .rot__probs .rot__line { color: var(--c-text); }
.rot.is-armed .rot__line.is-on { opacity: 1; transform: none; }
.rot.is-armed.is-done .rot__probs .rot__line { color: var(--c-muted); }
/* R7 hero arming: hidden before first paint only when rot-arm.js set html.rot-ok; the failsafe shows the lines at 4.5 s */
.rot-ok .rot--hero .rot__line { opacity: 0; animation: rot-failsafe var(--dur-instant) linear var(--delay-failsafe) forwards; }
.rot-ok .rot--hero.is-armed .rot__line.is-on { opacity: 1; }
@keyframes rot-failsafe { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) {
  .rot .rot__line, .rot-ok .rot--hero .rot__line { opacity: 1; transform: none; transition: none; animation: none; }
  .rot[data-rot="swap"] .rot__line:not(.is-on) { opacity: 0; }
}
/* ---------- end rot ---------- */
.intake__prompt { margin-top: 2px; min-height: 1.55em; color: var(--sr-muted); }
.intake__box { position: relative; margin-top: 12px; }
.intake__field {
  display: block; width: 100%; min-height: 7rem; resize: vertical;
  padding: 14px 16px; border: 1px solid var(--sr-line-strong); border-radius: var(--sr-radius);
  background: var(--sr-surface); color: var(--sr-ink); font: inherit; line-height: 1.5;
}
.intake__field::placeholder { color: var(--sr-muted); opacity: 1; }
.intake__field:hover { border-color: var(--sr-ink); }
.intake__field:focus-visible, .intake__field:focus { border-color: var(--sr-ink); outline: var(--sr-ring) solid var(--sr-blue); outline-offset: var(--sr-ring-offset); }
.intake__field[aria-invalid="true"] { border-color: var(--sr-ink); border-width: 2px; padding: 13px 15px; }
/* invalid + focus: one clean edge. the 2px danger border turns blue and the ring sits flush on it: one band, no gap, no second colour */
.intake__field[aria-invalid="true"]:focus { border-color: var(--sr-blue) !important; outline-offset: 0; }   /* !important: beats the shared [aria-invalid] danger border in site.css */
/* rotating situations (JS): a presentational layer over the field; the real placeholder stays S-PH.1 for assistive tech */
.intake__ghost {
  position: absolute; inset: 0; padding: 15px 17px; overflow: hidden; pointer-events: none;
  color: var(--sr-muted); line-height: 1.5; white-space: pre-wrap; overflow-wrap: break-word; opacity: 1; transition: opacity var(--dur-ghost) linear;
}
.intake__ghost:empty { display: none; }
.intake__ghost.is-out { opacity: 0; }
.intake.has-ghost .intake__field::placeholder { color: transparent; }
.intake__field:not(:placeholder-shown) + .intake__ghost { visibility: hidden; }
/* focused and empty: the ghost keeps looping; it has no background, so the caret stays visible at its first character */
.intake__error { margin-top: 8px; font-weight: 600; color: var(--sr-error); }
.intake__error::before { content: "! "; }

.intake__actions { margin-top: 16px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.intake__aside { color: var(--sr-muted); }

.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 28px;
  border: 0; border-radius: var(--sr-radius); background: var(--sr-blue); color: var(--sr-on-blue);
  font: 600 var(--fs-body-hero)/1 var(--font); text-decoration: none; cursor: pointer;
  transition: background-color var(--dur-base), transform var(--dur-press);
}
.btn:hover { background: var(--sr-blue-hover); }
.btn:active { transform: scale(0.98); }

.trust {
  list-style: none; margin: 28px 0 0; padding: 0;
  display: flex; flex-wrap: wrap; gap: 4px 28px; color: var(--sr-muted);
}

.step2 {
  margin-top: 24px; padding: 16px 20px; border: 1px solid var(--sr-line); border-radius: var(--sr-radius);
  background: var(--sr-surface);
}

/* the S figure */
.scene { width: auto; height: clamp(200px, 34svh, 320px); overflow: visible; flex: none; }
.s-route { fill: none; stroke: var(--sr-ink); stroke-width: 16; stroke-dasharray: 100; stroke-dashoffset: 0; }
.s-amb   { fill: none; stroke: var(--sr-blue); stroke-width: 16; stroke-dasharray: 10.457 200; stroke-dashoffset: 10.457; opacity: 0; }
.s-skill { fill: var(--sr-blue); }
.trust li { --i: 0; } .trust li:nth-child(2) { --i: 1; } .trust li:nth-child(3) { --i: 2; }

/* ---------- role list ----------
   base (no JS): the whole list, wrapped, gap-separated (no separator glyphs, so nothing dangles at a line end).
   JS: the list stays in the DOM once for assistive tech (visually hidden) and six aria-hidden slots show;
   with motion the slots keep loading new roles one at a time; with reduced motion they stay on the six key roles. */
.roles__head { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: var(--sr-control-min); }
.roles__label { color: var(--sr-muted); }
.roles { list-style: none; margin: 12px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 22px; color: var(--sr-muted); max-width: 34rem; }
.roles li { white-space: nowrap; }
.roles .is-key { color: var(--sr-ink); font-weight: 600; }
/* the one refined detail: the S's skill bar (30deg seam) marks a key role, and doubles as each slot's loading bar */
.roles .is-key::before {
  content: ""; display: inline-block; width: 16px; height: 7px; margin-right: 9px; vertical-align: 0.18em;
  background: var(--sr-ink); clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%);
}

.rslots { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 28px; margin-top: 12px; }
.rslot { position: relative; display: flex; align-items: center; gap: 10px; min-width: 0; height: 1.55em; }
.rslot__bar {
  position: relative; flex: none; width: 16px; height: 7px; overflow: hidden;
  background: var(--sr-line); clip-path: polygon(25% 0, 100% 0, 75% 100%, 0 100%);
}
.rslot__fill { position: absolute; inset: 0; background: var(--sr-line-strong); transform-origin: 0 50%; }
.rslot.is-key .rslot__fill { background: var(--sr-ink); }
.rslot__txt { flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; color: var(--sr-muted); letter-spacing: -0.01em; }
.rslot.is-key .rslot__txt { color: var(--sr-ink); font-weight: 600; }
.rslot__probe { position: absolute; left: 0; top: 0; visibility: hidden; white-space: nowrap; letter-spacing: -0.01em; }
.rslot__probe.is-key { font-weight: 600; }

/* no JS (desktop): the full list spans under the hero instead of stretching the S column */
html:not(.js) .hero__in { grid-template-areas: "copy art" "roles roles"; }
html:not(.js) .hero__art { align-self: center; }
html:not(.js) .hero__roles { margin-top: 64px; max-width: none; }
html:not(.js) .roles { max-width: 60rem; }

/* pause control (WCAG 2.2.2): real checkbox + label beside the moving skills; one control for all hero motion.
   Only present (and focusable) when motion can run. Never wraps. */
.pause { display: none; }
.pause__btn {
  display: none; align-items: center; gap: 8px; min-height: var(--sr-control-min); width: max-content; flex: none;
  padding: 0 16px 0 14px; border: 1px solid var(--sr-line); border-radius: 999px; color: var(--sr-muted);
  font-size: 0.875rem; font-weight: 600; white-space: nowrap; cursor: pointer; user-select: none;
}
.pause__btn::before { content: ""; flex: none; width: 10px; height: 12px; border-left: 3.5px solid currentColor; border-right: 3.5px solid currentColor; }
.pause:checked + .pause__btn::before { border: 0; background: currentColor; clip-path: polygon(0 0, 100% 50%, 0 100%); }
.pause__btn:hover { border-color: var(--sr-line-strong); color: var(--sr-ink); }
.pause:focus-visible + .pause__btn { outline: var(--sr-ring) solid var(--sr-blue); outline-offset: var(--sr-ring-offset); }
.pause__off { display: none; }
.pause:checked + .pause__btn .pause__on { display: none; }
.pause:checked + .pause__btn .pause__off { display: inline; }

/* ---------- motion: gated on JS, on no-preference and on the hero being seen (.is-live); fill-mode backwards only ---------- */
@media (prefers-reduced-motion: no-preference) {
  @keyframes sr-draw { from { stroke-dashoffset: 100; } to { stroke-dashoffset: 0; } }
  @keyframes sr-arrive {
    from { opacity: 0; transform: translate(var(--ax, var(--sr-rise-x)), var(--ay, var(--sr-rise))); }
    40%  { opacity: 1; }
    to   { opacity: 1; transform: translate(0, 0); }
  }
  @keyframes sr-amb-pass {   /* 8 s = 64 u; one low-contrast blue dash travels the S and docks at the seam */
    0%   { stroke-dashoffset: 10.457; opacity: 0; }
    13%  { opacity: 0; }
    20%  { opacity: 0.35; }
    76%  { opacity: 0.35; }
    84%  { stroke-dashoffset: -88.666; opacity: 0; }
    100% { stroke-dashoffset: 10.457; opacity: 0; }
  }
  @keyframes sr-amb-resnap {
    0%, 86% { transform: translate(0, 0); animation-timing-function: var(--sr-ease-move); }
    90%     { transform: translate(-2.31px, 4px); animation-timing-function: var(--sr-ease-enter); }
    100%    { transform: translate(0, 0); }
  }

  /* timeline (u = 125 ms): draw 0-1000 | still 250 | snap 1250-1750 | still 125 | trust row arrives 1875 + i*125, 250 each -> 2375.
     .is-live is set by hero.js when the hero first enters the viewport (at load when it opens the page, on scroll under the intro film).
     Until then the hero rests on its composed final frame, so nothing plays unseen. */
  .js .is-live .s-route { animation: sr-draw var(--sr-t-draw) var(--sr-ease-move) 0ms backwards; }
  .js .is-live .s-skill { --ax: var(--sr-snap-x); --ay: var(--sr-snap-y);
                          animation: sr-arrive var(--sr-t-snap) var(--sr-ease-enter) calc(var(--sr-u) * 10) backwards; }
  .js .is-live .trust li { animation: sr-arrive var(--sr-t-arrive) var(--sr-ease-enter) calc(var(--sr-u) * (15 + var(--i))) backwards; }
  /* ambient from 5 s: only the S, once every 8 s, pausable */
  .js .is-live .s-amb    { animation: sr-amb-pass calc(var(--sr-u) * 64) linear calc(var(--sr-u) * 40) infinite; }
  .js .is-live .s-resnap { animation: sr-amb-resnap calc(var(--sr-u) * 64) var(--sr-ease-move) calc(var(--sr-u) * 40) infinite; }
  .hero.is-paused .s-amb, .hero.is-paused .s-resnap { animation-play-state: paused; }
  /* the film already landed on the S (spec 2026-10-02_hero-calm #11): with the film on the page the hero mark is its still end state */
  html.has-film .is-live .s-route, html.has-film .is-live .s-skill, html.has-film .is-live .s-amb, html.has-film .is-live .s-resnap { animation: none; }
  .js .pause { display: block; position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; pointer-events: none; }
  .js .pause__btn { display: inline-flex; }
  .head__cta, .btn { transition-duration: var(--dur-base), var(--dur-press); }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .head__cta, .btn, .intake__ghost, .rot__line { transition: none; }
}

/* ---------- below the fold: outline ---------- */
.band { border-top: 1px solid var(--sr-line); }
.band__in { max-width: var(--wrap); margin: 0 auto; padding: var(--band-y) var(--pad); }   /* spec 2026-10-07_home-conversion §3: the band rhythm token */
.band h2 { font-size: clamp(1.875rem, 1rem + 2.6vw, 3.25rem); line-height: 1.06; letter-spacing: -0.03em; max-width: 20ch; }
.lead { margin-top: 16px; font-size: 1.25rem; }
.outline { margin-top: 20px; color: var(--sr-muted); font-size: 0.9375rem; }

.plan-steps { margin: 40px 0 0; padding: 0; list-style: none; display: grid; max-width: 40rem; counter-reset: s; gap: 24px; }
.plan-steps li { counter-increment: s; display: grid; grid-template-columns: 3rem 1fr; align-items: baseline; }
.plan-steps li::before { content: counter(s); font-weight: 600; font-size: 1.5rem; letter-spacing: -0.015em; }
.entries { list-style: none; margin: 24px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.entries li { padding: 6px 14px; border: 1px solid var(--sr-line-strong); border-radius: 999px; font-size: 1rem; }
.band--end .btn { margin-top: 32px; }


/* ---------- responsive ---------- */
@media (max-width: 1120px) {
  /* one column; the copy block opens up so the skills sit directly under the headline, above the form */
  .hero__in {
    grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: 40px;
    grid-template-areas: "art" "title" "roles" "sub" "form" "step2";
  }
  html:not(.js) .hero__in { grid-template-areas: "art" "title" "sub" "form" "step2" "roles"; }   /* no JS: the full list follows the form */
  html:not(.js) .hero__roles { margin-top: 40px; }
  .hero__copy { display: contents; }
  .hero__title { grid-area: title; max-width: none; }
  .hero__sub   { grid-area: sub; margin-top: 24px; }
  .intake      { grid-area: form; }
  .step2       { grid-area: step2; }
  .hero__roles { margin-top: 24px; max-width: 34rem; }
  /* the S stands alone at the right edge, clear of the header; the pause control lives with the skills it pauses */
  .hero__art  { display: flex; justify-content: flex-end; margin-bottom: 24px; }
  .scene { height: 168px; margin-right: -4px; }
  .roles__head { justify-content: space-between; }
}
@media (max-width: 720px) {
  .head__nav { display: none; }
  .head__cta { margin-left: auto; }
  .film__stage { aspect-ratio: 4 / 5; }
}
@media (max-width: 480px) {
  
  .head__in { min-height: 64px; gap: 12px; }
  .head__brand img { width: 139px; height: 32px; }
  .head__cta { padding: 0 14px; font-size: 0.9375rem; }
  .hero__in { padding-top: 28px; padding-bottom: 48px; }
  .scene { height: 92px; }
  .hero__art { margin-bottom: 18px; }
  .hero__title { text-wrap: wrap; }   /* greedy wrap reads "Which routine / should get / smarter?" at 375 */
  .hero__roles { margin-top: 10px; }
  .roles__label { font-size: 0.9375rem; }
  .pause__more { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }   /* visible "Pause"; name stays "Pause motion" (2.5.3) */
  .pause__btn { padding: 0 14px 0 12px; }
  .rslots { gap: 6px 16px; margin-top: 4px; }
  .rslot { gap: 8px; font-size: 0.9375rem; }
  .rslot__bar { width: 13px; height: 6px; }
  .hero__sub { margin-top: 14px; }
  .intake { margin-top: 20px; }
  .intake__prompt { display: none; }   /* the rotating situations carry the prompt on phone; the label stays */
  .intake__box { margin-top: 8px; }
  .intake__field { min-height: 5.25rem; height: 5.25rem; }   /* two lines on phone; resizable */
  .intake__actions { margin-top: 12px; gap: 8px 14px; }
  .btn { padding: 0 22px; }
  .intake__aside { font-size: 0.9375rem; }
  .trust { flex-direction: column; gap: 2px; }
}
.js .roles__window.has-rslots .roles{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
@media (max-width: 480px){.hero__sub{margin-top:16px}}
.hero__in,html:not(.js) .hero__in{grid-template-areas:"copy art";grid-template-rows:auto}
.band-roles .hero__roles,html:not(.js) .band-roles .hero__roles{margin-top:0;max-width:40rem}
.band--end .trust{margin:var(--sp-24) 0 0}
.intake__ghost{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.intake__ghost:empty{display:none}
@media (max-width: 1120px){.hero__in,html:not(.js) .hero__in,.js .hero__in{grid-template-areas:"art" "title" "sub" "form" "step2"}}
@media (max-width: 480px){.intake__field{min-height:6.75rem;height:6.75rem}.band-roles .rslots{grid-template-columns:minmax(0,1fr)}}
.home{--pv:0px}.home:has(>.preview-bar){--pv:28px}
.home .preview-bar{position:fixed;top:0;left:0;right:0;z-index:var(--z-toast);height:var(--pv);box-sizing:border-box;padding:4px 0;line-height:20px;overflow:hidden}
.home .preview-bar .wrap{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
html body.home .hdr{top:var(--pv)}
.home .hero__in{padding-top:calc(var(--hdr,64px) + var(--pv) + clamp(24px,5vh,64px))}
.home .hero{scroll-margin-top:0}
@media (max-width: 480px){.home .hero__art{display:none}.home .hero__in{padding-top:calc(var(--hdr,64px) + var(--pv) + 24px)}}
@media (max-width: 640px){html body.home .hdr-skip{top:auto;bottom:12px;left:12px;padding:0 12px;background:var(--bg);border-radius:999px;z-index:var(--z-modal)}}
/* ---- home v2: the copy layer over act 1 ---- */
.home .hero-copy .hero__title{margin:0;max-width:16ch;text-wrap:balance}
.home .hero-copy .hero__sub{margin-top:var(--sp-24);max-width:40ch}
.home .hero__act{margin:var(--sp-32) 0 0}
.home .hero__trust{list-style:none;margin:var(--sp-24) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-16);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
@media (max-width: 640px){.home .hero-copy .hero__title{max-width:none}.home .hero-copy .hero__sub{margin-top:var(--sp-16)}.home .hero__act{margin-top:var(--sp-24)}}
.home #problem-h:focus{outline:none}
.home #problem-h,.home #pkg-h{scroll-margin-top:calc(var(--sp-24) - var(--sp-16) + var(--pv,0px))}
@media (max-width: 359px){html.hero-in .hdr-cta{display:none}html.hero-in .hdr-nav{translate:none}}
.home #problem-h:focus-visible,.home #pkg-h:focus-visible{outline:var(--ring) solid var(--c-focus);outline-offset:var(--ring-offset)}
/* the cause: three powers */
.home .power{list-style:none;margin:var(--sp-16) 0 0;padding:0;display:grid;gap:var(--sp-16)}
.home .power li{padding-top:var(--sp-12);border-top:var(--hair) solid var(--c-border);max-width:var(--measure)}
.home .power__h{margin-top:var(--sp-48)}
.home .power__body{margin-top:var(--sp-24);max-width:var(--measure);color:var(--c-muted)}
@media (min-width: 900px){.home .power{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-32)}}
/* the cost: one quiet paragraph, room above and below */
.home .band-cost{border-top:0;margin-top:var(--sp-24);padding-top:0;padding-bottom:var(--sp-12)}
.home .band-cost>*{max-width:52ch}
/* two futures: the standard (A) and the film's act 2 (B) */
.home .futures{display:grid;gap:var(--sp-32);margin-top:var(--sp-24)}
.home .futures__a>*+*,.home .futures__b>*+*{margin-top:var(--sp-12)}
.home .futures__a p,.home .futures__b p{max-width:var(--measure)}
@media (min-width: 900px){.home .futures{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--sp-48);align-items:start}}
/* what happens next */
.home .next__acts{display:flex;flex-direction:column;align-items:flex-start;gap:var(--sp-16);margin-top:var(--sp-24)}
@media (min-width: 600px){.home .next__acts{flex-direction:row;align-items:center;gap:var(--sp-24)}}
/* the specialists: one row of cards; the funnel name wraps, never an ellipsis */
.home .sp-row{display:grid;gap:var(--sp-16);margin-top:var(--sp-24);grid-template-columns:minmax(0,1fr)}
.home .sp{display:flex;flex-direction:column;gap:var(--sp-12);padding:var(--sp-24);border:var(--hair) solid var(--c-border);border-radius:var(--radius);background:var(--c-background);min-width:0}
.home .sp--held{background:var(--c-surface)}
.home .sp__head>*+*{margin-top:var(--sp-4)}
.home .sp__cause{margin:0;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home .sp h3{margin:0;overflow-wrap:anywhere;white-space:normal;text-overflow:clip}
.home .sp__kind{font-weight:var(--w-body);color:var(--c-muted)}
.home .sp__does,.home .sp__entries,.home .sp__buy,.home .sp__tax{margin:0}
.home .sp__tax{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home .sp__act{margin-top:auto;padding-top:var(--sp-8)}
@media (min-width: 600px) and (max-width: 999px){.home .sp-row{grid-template-columns:repeat(2,minmax(0,1fr))}.home .sp-row>.sp:first-child{grid-column:1/-1}}
@media (min-width: 1000px){.home .sp-row{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* fit: for / not for */
@media (min-width: 768px){.home #fit .fit-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-32)}}
/* the final band */
.home .final__act{margin-top:var(--sp-24)}
/* the header CTA keeps its compact outline weight while the hero (act 1) is in view: one primary per viewport */
.home.hero-in .hdr-cta,html.hero-in .home .hdr-cta{background:transparent;color:var(--c-text);border-color:var(--c-control-border)}
/* ---- home packages (spec 2026-10-06) ---- */
@media (prefers-reduced-motion: no-preference){html{scroll-behavior:smooth}}
.home .hero__pkgs ul{list-style:none;margin:var(--sp-16) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-4) var(--sp-16)}
.home .hero__pkgs a{display:inline-flex;align-items:center;min-height:24px;color:var(--c-text);text-decoration:underline;text-underline-offset:.2em;text-decoration-color:var(--c-control-border)}
.home .hero__pkgs a:hover{color:var(--c-link-hover);text-decoration-color:currentColor}
.home .hero__pkgs a:focus-visible,.home .pkg__managed a:focus-visible,.home .pkg:focus-visible{outline:var(--ring) solid var(--c-focus);outline-offset:var(--ring-offset)}
.home .pkg:focus:not(:focus-visible){outline:none}
/* phone: the header skip link sits at the bottom */
@media (max-width: 640px){html body.home:not(.tour) .hdr-skip{top:auto;bottom:12px;left:12px}}
/* the four packages */
.home .pkg__note{margin-top:var(--sp-12);max-width:var(--measure);color:var(--c-muted)}
.home .pkg-grid{list-style:none;margin:var(--sp-32) 0 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--sp-24)}
.home .pkg{display:grid;grid-row:span 8;grid-template-rows:subgrid;row-gap:var(--sp-12);min-width:0;margin:0;background:var(--c-surface);border:var(--hair) solid var(--c-border);border-radius:var(--radius);padding:var(--sp-24);scroll-margin-top:var(--sp-24)}
@supports not (grid-template-rows:subgrid){.home .pkg{display:flex;flex-direction:column;gap:var(--sp-12)}.home .pkg__act{margin-top:auto}}
.home .pkg>*{margin:0}
.home .pkg h3{display:flex;flex-direction:column;gap:var(--sp-4);overflow-wrap:anywhere}
.home .pkg__n{font-family:var(--font-mono);font-size:var(--fs-mono);line-height:var(--lh-mono);letter-spacing:var(--tr-mono);font-weight:var(--w-body);color:var(--c-primary)}
.home .pkg__job,.home .pkg__get,.home .pkg__for,.home .pkg__self,.home .pkg__managed{font-size:var(--fs-body);line-height:var(--lh-body)}
.home .pkg__job{font-weight:var(--w-strong)}
.home .pkg__for,.home .pkg__self,.home .pkg__managed{color:var(--c-muted)}
.home .pkg__managed a{display:inline-flex;align-items:center;min-height:24px}
.home .pkg__status{font-weight:var(--w-strong);align-self:end}
.home .pkg__act{align-self:end;padding-top:var(--sp-8)}
@media (max-width: 1024px){.home .pkg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width: 640px){.home .pkg-grid{grid-template-columns:minmax(0,1fr)}}
/* the home waitlist under the grid, with the package choice */
.home .band-packages .wl{margin-top:var(--sp-48);max-width:40rem}
.home .wl-pkg{border:0;margin:0 0 var(--sp-16);padding:0;min-width:0}
.home .wl-pkg legend{padding:0;margin-bottom:var(--sp-8);font-weight:var(--w-strong)}
.home .wl-pkg__opt{display:flex;align-items:center;gap:var(--sp-12);min-height:44px;cursor:pointer}
.home .wl-pkg__opt input{width:var(--sp-24);height:var(--sp-24);margin:0;flex:none;accent-color:var(--c-primary)}
.home .wl-pkg__opt input:focus-visible{outline:var(--ring) solid var(--c-focus);outline-offset:var(--ring-offset)}
/* ---- home conversion (spec 2026-10-07) ---- */
.home .hdr-abs .hdr-cta{position:static;translate:none;margin:0}.home .hdr-abs .hdr-nav{translate:none}
.home .pkg__act .btn{width:100%;padding-inline:var(--sp-12);text-align:center}
@media (max-width: 640px){.home .hdr-abs .hdr-cta{margin-left:auto}}
/* B1 hero: copy cols 1-5, film cols 6-12 from the wide breakpoint; stacked below it, copy first */
.home .hero-band{padding:calc(var(--hdr,64px) + var(--pv,0px) + var(--sp-32)) 0 var(--band-y)}
.home .hero-band__in{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad);align-items:center;row-gap:var(--sp-32)}
.home .hero-copy .hero__title{margin:0;max-width:14ch;text-wrap:balance}
.home .hero-copy{container-type:inline-size;--title-fit:16cqi}
.home .hero-copy .hero__title{overflow-wrap:normal;font-size:min(var(--fs-display-hero),var(--title-fit))}
.home .hero-copy .hero__sub{margin-top:var(--sp-16);max-width:36ch}
.home .hero__act{margin:var(--sp-24) 0 0}
.home .hero__risk{margin-top:var(--sp-12);max-width:40ch;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home .hero__seller{margin-top:var(--sp-4);max-width:40ch;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home .pkg__act .btn-secondary{background:var(--c-surface);color:var(--c-text);border:var(--hair) solid var(--c-control-border)}
@media (hover: hover){.home .pkg__act .btn-secondary:hover{background:var(--c-surface);border-color:var(--c-text)}}
@media (max-width: 640px){.home .hero-band{padding-top:calc(var(--hdr,56px) + var(--pv,0px) + var(--sp-24))}.home .hero-band__in{row-gap:var(--sp-24)}.home .hero__act{margin-top:var(--sp-16)}.home .hero__action{width:100%;min-height:calc(var(--control) + var(--sp-8))}}
/* B2 offer cards: name, outcome, price or state, CTA, What you get (five subgrid rows, CTAs on one line) */
.home .band-packages .lead{max-width:var(--measure)}
.home .pkg{grid-row:span 5;row-gap:var(--sp-12)}
.home .pkg__status{align-self:start}
.home .pkg__act{align-self:end;padding-top:var(--sp-4)}
.home .pkg__more{align-self:start}
@media (max-width: 640px){.home .pkg{padding:var(--sp-16)}.home .pkg-grid{gap:var(--sp-12);margin-top:var(--sp-24)}}
/* B3 waitlist: the form cols 1-6, what happens next cols 8-12 */
.home .band-waitlist .wl{margin-top:0;max-width:none}
/* B4 why, B5 for whom, B6 close: heading cols 1-5, content cols 6-12 */
.home .why>*+*,.home .fit>*+*,.home .final>*+*{margin-top:var(--sp-16)}
.home .why>.disclose{margin-top:var(--sp-24)}
.home .why__cost>*+*{margin-top:var(--sp-4)}
.home .why .lead,.home .fit .lead{margin-top:0}
.home .fit__more,.home .chips__label{color:var(--c-muted)}
.home .chips__label{font-size:var(--fs-small);line-height:var(--lh-small)}
.home .chips{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:var(--sp-8)}
.home .chips li{padding:var(--sp-4) var(--sp-12);border:var(--hair) solid var(--c-border);border-radius:var(--radius);background:var(--c-surface);font-size:var(--fs-small);line-height:var(--lh-small);white-space:nowrap}
.home .why__loss{margin:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--sp-12) var(--sp-24)}
.home .why__loss-i{display:contents}
.home .why__loss dt{font-weight:var(--w-strong);color:var(--c-text)}
.home .why__loss dd{margin:0;color:var(--c-text)}
.home .reviews>*+*{margin-top:var(--sp-12)}
.home .reviews__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-16)}
.home .review blockquote{margin:0}
.home .review__by,.home .reviews__statement,.home .reviews__how{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home .final .final__act{margin-top:0}
.home .band--end .btn{margin-top:0}
.home .outcome>*+*{margin-top:var(--sp-16)}
.home .outcome .lead{margin-top:var(--sp-24);max-width:var(--measure);color:var(--c-text)}
.home .ways{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-12)}
.home .ways__i{padding:var(--sp-16);border:var(--hair) solid var(--c-border);border-radius:var(--radius)}
.home .ways__i--hand{color:var(--c-muted)}
.home .ways__i--routine{background:var(--c-surface);color:var(--c-text);font-weight:var(--w-strong)}
@media (min-width: 641px){.home .ways{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-16)}}
.home .steps{margin:0;padding:0;list-style:none;counter-reset:step;display:grid;gap:var(--sp-12)}
.home .steps li{counter-increment:step;display:grid;grid-template-columns:var(--sp-32) minmax(0,1fr);gap:var(--sp-12);padding-top:var(--sp-12);border-top:var(--hair) solid var(--c-border);max-width:var(--measure)}
.home .steps li::before{content:counter(step);font-weight:var(--w-strong);color:var(--c-muted)}
.home .faq-list{display:grid;gap:0}
.home .faq__i{padding:var(--sp-16) 0;border-top:var(--hair) solid var(--c-border);max-width:var(--measure)}
.home .faq__i:last-child{border-bottom:var(--hair) solid var(--c-border)}
.home .faq__i h3{font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--w-strong)}
.home .faq__i p{margin-top:var(--sp-4);color:var(--c-muted)}
.home .band--secondary .pkg-grid{grid-template-columns:minmax(0,1fr);max-width:40rem}
.home-v3 .hero3__in{max-width:var(--wrap);margin:0 auto;padding:var(--sp-32) var(--pad) var(--sp-48);display:grid;grid-template-columns:minmax(0,1fr);row-gap:var(--sp-32);align-items:center}
@media (min-width: 960px){.home-v3 .hero3__in{grid-template-columns:minmax(0,7fr) minmax(0,5fr);column-gap:var(--sp-64);padding-top:var(--sp-96);padding-bottom:var(--sp-96)}}
.home-v3 .hero3__kicker{margin:0;font-weight:var(--w-strong);color:var(--c-muted)}
.home-v3 .hero3__title{margin:var(--sp-12) 0 0;font-size:var(--fs-display);line-height:var(--lh-display);max-width:16ch}
.home-v3 .hero3__sub{margin-top:var(--sp-16);font-size:var(--fs-body-hero);line-height:var(--lh-body);max-width:var(--measure);color:var(--c-text)}
.home-v3 .hero3__act{margin-top:var(--sp-24)}
.home-v3 .hero3__cta,.home-v3 .final__cta{display:inline-flex;align-items:center;justify-content:center;min-height:var(--control);margin-top:0}
@media (min-width: 641px){.home-v3 .hero3__cta,.home-v3 .final__cta{width:auto;padding-inline:var(--sp-32)}}
.home-v3 .hero3__after{margin-top:var(--sp-12);max-width:46ch;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-text)}
.home-v3 .hero3__seller{margin-top:var(--sp-8);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home-v3 .hero3__seller a{color:inherit;display:inline-flex;align-items:center;min-height:var(--sp-24)}
@media (min-width: 960px){.home-v3 .hero3__in{min-height:calc(100svh - var(--head));box-sizing:border-box}}
.home-v3 .hero3__art{position:relative}
.home-v3 .rpt--hero{position:relative;overflow:hidden}
.home-v3 .rpt--hero .rpt__title-w{display:block;overflow:hidden}
.home-v3 .rpt--hero .rpt__title{display:block}
.home-v3 .rpt--hero .rpt__bar-i{grid-template-columns:minmax(0,6.5rem) minmax(0,1fr)}
.home-v3 .rpt--hero .rpt__bar-l{color:var(--c-muted)}
.home-v3 .rpt--hero .rpt__bar i{transform-origin:left center}
.home-v3 .rpt__spark{position:relative;display:block;height:var(--sp-32);margin-top:var(--sp-16);overflow:hidden}
.home-v3 .rpt__spark svg{display:block;width:100%;height:100%;overflow:visible}
.home-v3 .rpt__spark polyline{fill:none;stroke:var(--c-primary);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v3 .rpt__spark-cv{position:absolute;inset:0;background:var(--c-surface);transform:scaleX(0);transform-origin:right center}
.home-v3 .rpt--hero .rpt__status{position:relative}
.home-v3 .rpt__tickw{position:relative;display:inline-flex;flex:none;width:var(--sp-16);height:var(--sp-16)}
.home-v3 .rpt__tickw .tick{margin:0}
.home-v3 .rpt__ring{position:absolute;inset:0;border-radius:50%;border:2px solid var(--c-success);opacity:0}
.home-v3 .rpt--hero .rpt__kpi{position:relative}
.home-v3 .rpt__feed{position:absolute;left:0;right:0;top:0;display:grid;grid-template-columns:repeat(3,max-content);justify-content:space-between;gap:var(--sp-8);visibility:hidden;opacity:0;pointer-events:none;z-index:var(--z-raised)}
.home-v3 .rpt__file{display:block;background:var(--c-background);border:var(--hair) solid var(--c-control-border);border-radius:var(--sp-4);padding:var(--sp-8)}
.home-v3 .rpt__file-h{display:flex;align-items:center;gap:var(--sp-4);min-width:0;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-text)}
.home-v3 .rpt__file-h svg{flex:none;width:var(--sp-16);height:var(--sp-16);fill:none;stroke:var(--c-muted);stroke-width:1.5;stroke-linejoin:round}
.home-v3 .rpt__file-n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-v3 .rpt__rows{display:grid;gap:var(--sp-4);margin-top:var(--sp-8)}
.home-v3 .rpt__rows i{display:block;height:var(--sp-4);border-radius:var(--sp-4);background:var(--c-border)}
.home-v3 .rpt__rows i:nth-child(1){width:90%}.home-v3 .rpt__rows i:nth-child(2){width:55%;transform:translateX(30%)}.home-v3 .rpt__rows i:nth-child(3){width:75%;transform:translateX(12%)}
@media (max-width: 480px){.home-v3 .rpt__feed{grid-template-columns:max-content;justify-content:start}.home-v3 .rpt__rows{display:none}}
.home-v3 .rpt__ctl{position:absolute;right:var(--sp-12);bottom:var(--sp-12);z-index:var(--z-dropdown);min-height:var(--sp-32);padding:0 var(--sp-12);border:var(--hair) solid var(--c-control-border);border-radius:var(--radius);background:var(--c-surface);color:var(--c-text);font:inherit;font-size:var(--fs-small);line-height:var(--lh-small);cursor:pointer}
.home-v3 .rpt__ctl:hover{border-color:var(--c-text)}
.home-v3 .rpt__ctl:focus-visible{outline:var(--ring) solid var(--c-focus);outline-offset:var(--ring-offset)}
.home-v3 .rpt__ctl[hidden]{display:none}
html.hr-draft .home-v3 .rpt--hero :is(.rpt__kpi-l,.rpt__kpi-v,.rpt__sub,.rpt__bar-l,.rpt__spark,.rpt__status-t,.rpt__tickw){opacity:0}
html.hr-draft .home-v3 .rpt--hero .rpt__bar i{transform:scaleX(0)}
html.hr-draft .home-v3 .rpt__feed{visibility:visible;opacity:1}
html.hr-draft .home-v3 .rpt__file{opacity:0}
@media (prefers-reduced-motion: reduce){.home-v3 .rpt__feed,.home-v3 .rpt__ctl{display:none}}
@media (max-width: 480px){.home-v3 .hero3__in{row-gap:var(--sp-24);padding-top:var(--sp-24)}.home-v3 .rpt.rpt--hero{padding:var(--sp-16)}.home-v3 .rpt.rpt--hero .rpt__kpi-v{font-size:var(--fs-h2);line-height:var(--lh-h2)}.home-v3 .rpt--hero .rpt__spark{display:none}.home-v3 .rpt--hero :is(.rpt__kpi,.rpt__sub,.rpt__status){margin-top:var(--sp-12)}.home-v3 .rpt--hero .rpt__bars{gap:var(--sp-4)}}
@media (max-width: 400px){.home-v3 .wordmark img{width:122px;height:28px;object-fit:contain}}
.home-v3 .site-head .head-cta{transition:opacity var(--dur-base) var(--ease-enter),visibility var(--dur-instant) var(--ease-linear)}
.hero-cta-in .home-v3 .site-head .head-cta{opacity:0;visibility:hidden;transition:opacity var(--dur-base) var(--ease-exit),visibility var(--dur-instant) var(--ease-linear) var(--dur-base)}
@media (prefers-reduced-motion: reduce){.home-v3 .site-head .head-cta,.hero-cta-in .home-v3 .site-head .head-cta{transition:none}}
.home-v3 .tag{display:inline-flex;align-items:center;margin:0;padding:0 var(--sp-8);border:var(--hair) solid var(--c-border);border-radius:var(--sp-4);background:var(--c-background);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted);white-space:nowrap}
.home-v3 .rpt{background:var(--c-surface);border:var(--hair) solid var(--c-border);border-radius:var(--radius);padding:var(--sp-24)}
.home-v3 .rpt__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--sp-12)}
.home-v3 .rpt--full .rpt__head{flex-wrap:wrap}
.home-v3 .rpt--full .rpt__head>div{flex:1 1 14rem;min-width:0}
.home-v3 .rpt--full .rpt__head .tag{white-space:normal}
.home-v3 .rpt__title{margin:0;font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--w-strong)}
.home-v3 .rpt__kpi{display:flex;flex-direction:column;margin-top:var(--sp-16)}
.home-v3 .rpt__kpi-l,.home-v3 .rpt__sub,.home-v3 .rpt__h,.home-v3 .rpt__kpi-c dt{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home-v3 .rpt--hero .rpt__kpi-v{font-size:var(--fs-display);line-height:var(--lh-display);font-weight:var(--w-strong);color:var(--c-text)}
.home-v3 .rpt__sub,.home-v3 .rpt__h{margin:var(--sp-16) 0 0;font-weight:var(--w-strong)}
.home-v3 .rpt__bars{list-style:none;margin:var(--sp-8) 0 0;padding:0;display:grid;gap:var(--sp-8)}
.home-v3 .rpt__bar-i{display:grid;grid-template-columns:minmax(0,7rem) minmax(0,1fr) auto;align-items:center;column-gap:var(--sp-12);font-size:var(--fs-small);line-height:var(--lh-small)}
.home-v3 .rpt__bars--trend .rpt__bar-i{grid-template-columns:minmax(0,3rem) minmax(0,1fr) auto}
.home-v3 .rpt__bar{grid-column:2;grid-row:1;display:block;height:var(--sp-12);background:var(--c-selected);border-radius:var(--sp-4);overflow:hidden}
.home-v3 .rpt__bar i{display:block;height:100%;background:var(--c-primary);border-radius:inherit}
.home-v3 .rpt__bar-v{grid-column:3;grid-row:1;text-align:right;color:var(--c-text)}
.home-v3 .w-0{width:0%}.home-v3 .w-5{width:5%}.home-v3 .w-10{width:10%}.home-v3 .w-15{width:15%}.home-v3 .w-20{width:20%}.home-v3 .w-25{width:25%}.home-v3 .w-30{width:30%}.home-v3 .w-35{width:35%}.home-v3 .w-40{width:40%}.home-v3 .w-45{width:45%}.home-v3 .w-50{width:50%}.home-v3 .w-55{width:55%}.home-v3 .w-60{width:60%}.home-v3 .w-65{width:65%}.home-v3 .w-70{width:70%}.home-v3 .w-75{width:75%}.home-v3 .w-80{width:80%}.home-v3 .w-85{width:85%}.home-v3 .w-90{width:90%}.home-v3 .w-95{width:95%}.home-v3 .w-100{width:100%}
.home-v3 .rpt__status{display:flex;align-items:center;gap:var(--sp-8);margin-top:var(--sp-16);font-size:var(--fs-small);line-height:var(--lh-small);font-weight:var(--w-strong);color:var(--c-success)}
.home-v3 .rpt__dot{flex:none;width:var(--sp-8);height:var(--sp-8);border-radius:50%;background:currentColor}
.home-v3 .rpt__biz,.home-v3 .rpt__src{margin-top:var(--sp-4);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home-v3 .rpt__kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(8.5rem,1fr));gap:var(--sp-16);margin:var(--sp-24) 0 0;padding:var(--sp-16) 0;border-top:var(--hair) solid var(--c-border);border-bottom:var(--hair) solid var(--c-border)}
.home-v3 .rpt__kpi-c dd{margin:0;display:flex;flex-direction:column}
.home-v3 .rpt--full .rpt__kpi-v{font-size:var(--fs-body-hero);line-height:var(--lh-body);font-weight:var(--w-strong);color:var(--c-text)}
.home-v3 .rpt__note{font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home-v3 .rpt__grid{display:grid;gap:var(--sp-24);margin-top:var(--sp-8)}
@media (min-width: 720px){.home-v3 .rpt__grid{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-32)}}
.home-v3 .rpt__fixes{margin-top:var(--sp-8)}
.home-v3 .rpt__fixes .ticks{margin-top:var(--sp-8);gap:var(--sp-8);font-size:var(--fs-small);line-height:var(--lh-small)}
.home-v3 .rpt__foot{margin-top:var(--sp-12);max-width:var(--measure)}
.home-v3 .ticks{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-12)}
.home-v3 .ticks li{display:grid;grid-template-columns:var(--sp-24) minmax(0,1fr);column-gap:var(--sp-8);align-items:start;max-width:var(--measure)}
.home-v3 .tick{width:var(--sp-16);height:var(--sp-16);margin-top:var(--sp-4);fill:none;stroke:var(--c-success);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.home-v3 .tick--no{stroke:var(--c-muted)}
.home-v3 .ticks--lead li{font-size:var(--fs-body-hero);line-height:var(--lh-body)}
.home-v3 .ticks--lead .tick{margin-top:var(--sp-4)}
.home-v3 .need__body{max-width:var(--measure);color:var(--c-text)}
.home-v3 .how{list-style:none;margin:0;padding:0;display:grid;gap:var(--sp-32);counter-reset:how}
.home-v3 .how__i{counter-increment:how;display:grid;gap:var(--sp-16);padding-top:var(--sp-16);border-top:var(--hair) solid var(--c-border)}
@media (min-width: 720px){.home-v3 .how__i{grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:var(--sp-32);align-items:start}}
.home-v3 .how__txt h3{font-size:var(--fs-body-hero);line-height:var(--lh-body);font-weight:var(--w-strong)}
.home-v3 .how__txt h3::before{content:counter(how) ". ";color:var(--c-muted)}
.home-v3 .how__txt p{margin-top:var(--sp-4);color:var(--c-muted);max-width:var(--measure)}
.home-v3 .month{margin:0;background:var(--c-surface);border:var(--hair) solid var(--c-border);border-radius:var(--radius);padding:var(--sp-16)}
.home-v3 .month__head{display:flex;justify-content:space-between;align-items:center;gap:var(--sp-8)}
.home-v3 .month__t{font-family:var(--font-mono);font-size:var(--fs-mono);line-height:var(--lh-mono);font-weight:var(--w-strong)}
.home-v3 .month__rows{list-style:none;margin:var(--sp-12) 0 0;padding:0;font-size:var(--fs-small);line-height:var(--lh-small)}
.home-v3 .month__rows li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:var(--sp-4) var(--sp-12);padding:var(--sp-8) 0;border-top:var(--hair) solid var(--c-border)}
.home-v3 .month__k{color:var(--c-muted)}
.home-v3 .month__v,.home-v3 .month__f{display:inline-flex;align-items:center;gap:var(--sp-4);font-weight:var(--w-strong);color:var(--c-text)}
.home-v3 .month__rows [data-s=hand] .month__v{color:var(--c-warn)}
.home-v3 .month__rows [data-s=done] .month__v,.home-v3 .month__rows [data-s=ready] .month__v{color:var(--c-success)}
.home-v3 .month__rows [data-s=new] .month__v{color:var(--c-primary)}
.home-v3 .month__g{flex:none;width:var(--sp-16);height:var(--sp-16);fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.home-v3 .month__dot{flex:none;width:var(--sp-8);height:var(--sp-8);border-radius:50%;background:currentColor}
.home-v3 .month figcaption{margin-top:var(--sp-8);font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-muted)}
.home-v3 .fit__cols{display:grid;gap:var(--sp-24)}
@media (min-width: 720px){.home-v3 .fit__cols{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:var(--sp-32)}}
.home-v3 .fit__col h3,.home-v3 .price__incl h3{margin-bottom:var(--sp-12);font-size:var(--fs-body);line-height:var(--lh-body);font-weight:var(--w-strong)}
.home-v3 .founder{margin-top:var(--sp-32);padding-top:var(--sp-16);border-top:var(--hair) solid var(--c-border);max-width:var(--measure);color:var(--c-text)}
.home-v3 .price__lead{max-width:var(--measure);color:var(--c-text)}
.home-v3 .price__incl{margin-top:var(--sp-24)}
.home-v3 .price__terms{margin-top:var(--sp-16);max-width:var(--measure)}
.home-v3 .req{max-width:36rem}
.home-v3 .req .field:first-child{margin-top:0}
.home-v3 .req .actions{margin-top:var(--sp-24)}
.home-v3 .req-notice{margin-top:var(--sp-16)}
.home-v3 .req-sent>*+*{margin-top:var(--sp-12)}
.home-v3 .req-sent h3{font-size:var(--fs-body-hero);line-height:var(--lh-body);font-weight:var(--w-strong)}
.home-v3 .band-request .g12__head .lead{margin-top:var(--sp-12)}
.home-v3 .final__after{margin-top:var(--sp-12);max-width:46ch;font-size:var(--fs-small);line-height:var(--lh-small);color:var(--c-text)}
.home-v3 .final__seller{margin-top:var(--sp-8)}
.home-v3 .hero3{position:relative;overflow:hidden;isolation:isolate;--hv4-m:var(--fs-giant-narrow)}
.home-v3 .hero3__in{position:relative;z-index:var(--z-raised)}
.home-v3 .hv4{position:absolute;inset:0;z-index:var(--z-base);pointer-events:none;overflow:hidden}
.home-v3 .hv4__grid,.home-v3 .hv4__lit-g{position:absolute;inset:0;background-size:var(--sp-48) var(--sp-48);background-position:left top}
.home-v3 .hv4__grid{background-image:linear-gradient(var(--c-border) var(--hair),transparent var(--hair)),linear-gradient(90deg,var(--c-border) var(--hair),transparent var(--hair));opacity:var(--deco-opacity)}
.home-v3 .hv4__lit-g{background-image:linear-gradient(var(--c-primary) var(--hair),transparent var(--hair)),linear-gradient(90deg,var(--c-primary) var(--hair),transparent var(--hair))}
.home-v3 .hv4__month,.home-v3 .hv4__lit-m{position:absolute;left:0;top:0;display:block;font-size:var(--hv4-m);line-height:.8;font-weight:var(--w-strong);letter-spacing:var(--track-giant);white-space:nowrap;transform:translate(-.05em,.03em)}
.home-v3 .hv4__month{color:var(--c-selected)}
.home-v3 .hv4__lit-m{color:var(--c-primary);opacity:.22}
.home-v3 .hv4__lit{position:absolute;top:0;bottom:0;left:0;width:60%;overflow:hidden;visibility:hidden;-webkit-mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent);mask-image:linear-gradient(90deg,transparent,#000 40%,#000 60%,transparent)}
.home-v3 .hv4__lit-in{position:absolute;top:0;bottom:0;left:0;width:100vw}
.home-v3 .hv4__lit-in::before{content:"";position:absolute;inset:0;background:var(--c-primary);opacity:.1}
.home-v3 .rpt--hero{overflow:visible;box-shadow:0 var(--sp-24) var(--sp-48) calc(var(--sp-24) * -1) var(--c-border)}
.home-v3 .rpt--hero .rpt__file{box-shadow:0 var(--sp-8) var(--sp-16) calc(var(--sp-8) * -1) var(--c-border)}
@media (min-width: 960px){.home-v3 .hero3{--hv4-m:var(--fs-giant)}.home-v3 .hv4__month,.home-v3 .hv4__lit-m{left:auto;right:0;top:auto;bottom:0;transform:translate(.04em,.1em)}.home-v3 .hv4__lit-m{opacity:1}.home-v3 .hv4__month{color:var(--c-border)}.home-v3 .hv4__lit{width:40%}.home-v3 .hero3__in{grid-template-columns:minmax(0,6fr) minmax(0,6fr);column-gap:var(--sp-64);padding-bottom:calc(var(--hv4-m) * .62)}.home-v3 .hv4__grid{-webkit-mask-image:linear-gradient(90deg,rgb(0 0 0 / .3) 30%,#000 55%);mask-image:linear-gradient(90deg,rgb(0 0 0 / .3) 30%,#000 55%)}.home-v3 .rpt.rpt--hero{padding:var(--sp-32)}}
@media (prefers-reduced-motion: reduce){.home-v3 .hv4__lit{display:none}}
/* routine pages (/ads, /monthly-report) and the home's report/ads bands */
.rt-kicker{margin:0 0 var(--sp-8);font-size:var(--fs-small);font-weight:var(--w-strong);color:var(--c-muted);letter-spacing:.04em;text-transform:uppercase}
.rt-label{margin:var(--sp-32) 0 var(--sp-12);font-size:var(--fs-h3)}
.rt-hero__grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--sp-48);align-items:center}
.rt-hero__copy{grid-column:1/span 6}.rt-hero__demo{grid-column:7/span 6;min-width:0;overflow:clip;overflow-clip-margin:var(--sp-16)}
.rt-hero__demo{display:flex;flex-direction:column}
.sfilm .sf-cta .sf-trust{flex-basis:100%;margin:0;max-width:var(--measure)}
.band-steps .rt-steps{margin-top:var(--sp-24)}.band-steps .rt-kicker{margin-bottom:var(--sp-4)}
.demo-caption{margin:var(--sp-8) 0 0}
.req-mail{margin:var(--sp-12) 0 0}
.home-v3 .rt-hero__demo .rpt__ctl{position:static;align-self:flex-end;margin-top:var(--sp-12);min-height:var(--control);padding:0 var(--sp-16)}
.home-v3 .actions .btn.btn-secondary{background:transparent;color:var(--c-text);border:var(--hair) solid var(--c-control-border)}
.rt-list{margin:0;padding-left:var(--sp-24)}.rt-list>li+li{margin-top:var(--sp-8)}
.rt-hero h1{margin:0 0 var(--sp-16);font-size:var(--fs-display);line-height:1.05;letter-spacing:-.02em}
.rt-hero .lead{max-width:var(--measure)}
.rt-cols{list-style:none;margin:var(--sp-24) 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-24)}
.rt-cols>li{padding-top:var(--sp-16);border-top:var(--hair) solid var(--c-border)}
.rt-cols h3{margin:0 0 var(--sp-8);font-size:var(--fs-h3)}
.rt-cols>li.rt-card{border-top:var(--hair) solid var(--c-border)}
.rt-tint{background:var(--c-selected)}
.rt-steps{list-style:none;margin:var(--sp-32) 0 0;padding:0;counter-reset:rt;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--sp-32)}
.rt-steps>li{counter-increment:rt}
.rt-steps>li::before{content:counter(rt,decimal-leading-zero);display:block;margin-bottom:var(--sp-12);font-family:var(--font-mono);font-size:var(--fs-mono);color:var(--c-muted)}
.rt-steps h3{margin:0 0 var(--sp-8);font-size:var(--fs-h3)}
.rt-fit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sp-24)}
.rt-card{background:var(--c-surface);border:var(--hair) solid var(--c-border);border-radius:var(--radius);padding:var(--sp-32)}
.rt-card h2{margin:0 0 var(--sp-16);font-size:var(--fs-h3)}
.rt-price{max-width:40rem;margin:0 auto;text-align:center;background:var(--c-surface);border:var(--hair) solid var(--c-text);border-radius:var(--radius);padding:var(--sp-48) var(--sp-32)}
.rt-price .actions{justify-content:center}
.rt-faq{margin-top:var(--sp-24);max-width:48rem}
.rt-faq details{border-top:var(--hair) solid var(--c-border)}
.rt-faq details:last-child{border-bottom:var(--hair) solid var(--c-border)}
.rt-faq summary{display:flex;align-items:center;min-height:var(--control);padding:var(--sp-12) 0;font-weight:var(--w-strong);cursor:pointer}
.rt-faq details p{margin:0 0 var(--sp-16);max-width:var(--measure)}
.demo-slot{position:relative;padding:var(--sp-32);background:var(--c-surface);border:var(--hair) solid var(--c-border);border-radius:var(--radius)}
.ad-ask{margin:0 0 var(--sp-24) auto;max-width:80%;padding:var(--sp-12) var(--sp-16);background:var(--c-selected);border-radius:var(--radius);font-weight:var(--w-strong)}
.ad-stack{display:grid;gap:var(--sp-12)}
.ad-card{position:relative;padding:var(--sp-16) var(--sp-24);background:var(--c-background);border:var(--hair) solid var(--c-border);border-radius:var(--radius)}
.ad-card:nth-child(2){margin-left:var(--sp-8)}.ad-card:nth-child(3){margin-left:var(--sp-16)}
.ad-stamp{position:absolute;top:calc(var(--sp-12) * -1);right:var(--sp-16);padding:0 var(--sp-8);background:var(--c-background);border:var(--hair) solid var(--c-success);border-radius:var(--sp-4);color:var(--c-success);font-size:var(--fs-small);font-weight:var(--w-strong)}
@media (max-width: 860px){.rt-hero__grid,.rt-cols,.rt-steps,.rt-fit{grid-template-columns:minmax(0,1fr)}.rt-hero__copy,.rt-hero__demo{grid-column:auto}}
