/* =====================================================================
   BACKERPLATE SITE STYLES — built only from tokens.css
   Layout: editorial single column with a two-up hero (copy | glass stage),
   calm sections on paper, one dark Iron CTA band at the end.
   ===================================================================== */

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;background:var(--bp-paper);color:var(--bp-iron);
  font:400 var(--bp-text-body)/1.65 var(--bp-font-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;
  overflow-x:clip;
}
img,svg{max-width:100%;display:block}
a{color:inherit}
p{margin:0}
h1,h2,h3{font-family:var(--bp-font-display);font-weight:800;font-stretch:var(--bp-stretch-display);letter-spacing:var(--bp-track-display);margin:0;text-wrap:balance}
h2{font-size:var(--bp-text-h2);line-height:1.08}
h3{font-size:var(--bp-text-h3);line-height:1.25;font-weight:700;letter-spacing:-.01em}
::selection{background:var(--bp-glass-tint);color:var(--bp-iron)}
:focus-visible{outline:2px solid var(--bp-steel-ink);outline-offset:3px;border-radius:4px}

.wrap{width:100%;max-width:var(--bp-wrap);margin-inline:auto;padding-inline:var(--bp-gutter)}
.skip{position:absolute;left:-9999px;top:8px;z-index:100;background:var(--bp-iron);color:var(--bp-white);padding:10px 16px;border-radius:var(--bp-radius-sm)}
.skip:focus{left:16px}

/* ---------- shared type ---------- */
.label{
  font:500 var(--bp-text-label)/1.4 var(--bp-font-mono);letter-spacing:var(--bp-track-label);
  text-transform:uppercase;color:var(--bp-steel-ink);
}
.lede{font-size:var(--bp-text-lede);line-height:1.6;color:var(--bp-slate);max-width:60ch;text-wrap:pretty}
.fine{font-size:var(--bp-text-small);color:var(--bp-slate)}
.sec-head{display:grid;gap:var(--bp-s5);max-width:62ch;margin-bottom:var(--bp-s8)}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;
  padding:0 24px;border-radius:var(--bp-radius-pill);border:1px solid transparent;
  font:600 1rem/1 var(--bp-font-body);text-decoration:none;white-space:nowrap;cursor:pointer;
  transition:background var(--bp-dur-fast) var(--bp-ease),border-color var(--bp-dur-fast) var(--bp-ease),transform var(--bp-dur-fast) var(--bp-ease),box-shadow var(--bp-dur-fast) var(--bp-ease);
}
.btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform var(--bp-dur-fast) var(--bp-ease)}
.btn:hover svg{transform:translateX(3px)}
.btn-primary{background:var(--bp-iron);color:var(--bp-white)}
.btn-primary:hover{background:var(--bp-iron-2);box-shadow:var(--bp-shadow-2);transform:translateY(-1px)}
.btn-ghost{background:var(--bp-white);color:var(--bp-iron);border-color:var(--bp-line-strong)}
.btn-ghost:hover{border-color:var(--bp-iron)}
.btn-light{background:var(--bp-paper);color:var(--bp-iron)}
.btn-light:hover{background:var(--bp-white);transform:translateY(-1px)}
.btn-sm{min-height:44px;padding:0 18px;font-size:.9375rem}
.link-arrow{display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--bp-steel-ink);text-decoration:none;border-bottom:1px solid var(--bp-line-strong);padding-bottom:3px;width:fit-content}
.link-arrow svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;transition:transform var(--bp-dur-fast) var(--bp-ease)}
.link-arrow:hover{border-color:var(--bp-steel-ink)}
.link-arrow:hover svg{transform:translateX(3px)}

/* ---------- header ---------- */
.site-header{
  position:sticky;top:0;z-index:50;
  background:color-mix(in srgb,var(--bp-paper) 82%,transparent);
  backdrop-filter:saturate(1.4) blur(16px);-webkit-backdrop-filter:saturate(1.4) blur(16px);
  border-bottom:1px solid transparent;transition:border-color var(--bp-dur-fast) var(--bp-ease);
}
.site-header.scrolled{border-bottom-color:var(--bp-line)}
.bar{display:flex;align-items:center;gap:var(--bp-s6);height:76px}
.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0}
.wordmark{font:800 1.3125rem/1 var(--bp-font-display);font-stretch:100%;letter-spacing:.02em}
.wm-a{color:var(--bp-iron)} .wm-b{color:var(--bp-steel)}
.nav{display:flex;gap:var(--bp-s6);margin-left:auto}
.nav a{font-size:.9375rem;font-weight:500;color:var(--bp-slate);text-decoration:none;padding:8px 0;transition:color var(--bp-dur-fast) var(--bp-ease)}
.nav a:hover{color:var(--bp-iron)}

/* ---------- hero ---------- */
.hero{
  position:relative;padding-block:var(--bp-s8) var(--bp-s9);
  background:var(--bp-paper);
  overflow:hidden;
}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:var(--bp-s5);align-items:center}
.hero-copy{display:grid;gap:var(--bp-s5);position:relative;z-index:2}
.hero-title{font-size:var(--bp-text-hero);line-height:.98;letter-spacing:-.03em;font-stretch:84%}
.hero-title span{display:block}
.hero-title .accent{color:var(--bp-steel)}
.hero-copy .lede{max-width:46ch}
.cta-row{display:flex;flex-wrap:wrap;gap:var(--bp-s3);margin-top:var(--bp-s2)}

.hero-stage{position:relative;aspect-ratio:1/1;width:100%;max-height:680px;margin-inline:auto}
.hero-stage canvas{position:absolute;inset:0;width:100%!important;height:100%!important;opacity:0;transition:opacity 900ms var(--bp-ease)}
.hero-stage.live canvas{opacity:1}
.hero-still{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:opacity 900ms var(--bp-ease)}
.hero-stage.live .hero-still{opacity:0}
.hero-annotations{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 600ms var(--bp-ease) 400ms}
.hero-stage.live .hero-annotations{opacity:1}
.anno{
  position:absolute;left:0;top:0;display:flex;align-items:center;gap:10px;
  font:500 11px/1 var(--bp-font-mono);letter-spacing:var(--bp-track-label);text-transform:uppercase;color:var(--bp-slate);
  white-space:nowrap;will-change:transform;
}
.anno i{display:block;width:44px;height:1px;background:var(--bp-line-strong);position:relative}
.anno i::before{content:"";position:absolute;left:-3px;top:-3px;width:7px;height:7px;border-radius:50%;background:var(--bp-white);border:1.5px solid var(--bp-steel)}
.anno-back{flex-direction:row-reverse}
.anno-back i::before{left:auto;right:-3px}

/* ---------- friction ---------- */
.friction{border-block:1px solid var(--bp-line);background:var(--bp-white)}
.friction-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bp-s6);padding-block:var(--bp-s7)}
.friction-grid p{font:600 1.0625rem/1.5 var(--bp-font-body);color:var(--bp-iron);padding-left:var(--bp-s4);border-left:2px solid var(--bp-titanium)}

/* ---------- manifesto ---------- */
.manifesto{padding-block:var(--bp-section)}
.manifesto-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--bp-s8);align-items:start}
.manifesto h2{font-size:var(--bp-text-h1);line-height:1.04;max-width:13ch}
.manifesto-body{display:grid;gap:var(--bp-s5);padding-top:var(--bp-s3)}
.manifesto-body p:not(.lede){color:var(--bp-slate);max-width:56ch}

/* ---------- what we build ---------- */
.build{padding-block:0 var(--bp-section)}
.svc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bp-s5)}
.svc{
  display:grid;grid-template-rows:auto 1fr;background:var(--bp-white);border:1px solid var(--bp-line);
  border-radius:var(--bp-radius-lg);overflow:hidden;box-shadow:var(--bp-shadow-1);
  transition:box-shadow var(--bp-dur) var(--bp-ease),transform var(--bp-dur) var(--bp-ease);
}
.svc:hover{box-shadow:var(--bp-shadow-2);transform:translateY(-2px)}
.svc-fig{margin:0;background:linear-gradient(180deg,var(--bp-mist),var(--bp-paper));border-bottom:1px solid var(--bp-line);padding:var(--bp-s5) var(--bp-s4)}
.svc-fig svg{width:100%;height:auto;max-height:170px;margin-inline:auto}
.svc-body{display:flex;flex-direction:column;gap:var(--bp-s4);padding:var(--bp-s6)}
.claim{font:500 var(--bp-text-small)/1.4 var(--bp-font-mono);color:var(--bp-steel-ink)}
.svc-body > p:not(.claim):not(.fit){color:var(--bp-slate)}
.spec{margin:0;border-top:1px solid var(--bp-line)}
.spec div{display:grid;grid-template-columns:96px minmax(0,1fr);gap:var(--bp-s4);padding-block:12px;border-bottom:1px solid var(--bp-line)}
.spec dt{font:500 11px/1.6 var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-slate)}
.spec dd{margin:0;font-size:var(--bp-text-small);line-height:1.5}
.fit{font-size:var(--bp-text-small);color:var(--bp-slate);background:var(--bp-paper);border-radius:var(--bp-radius-sm);padding:var(--bp-s4)}
.fit span{display:block;font:500 11px/1.6 var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-steel-ink);margin-bottom:4px}
.svc .link-arrow{margin-top:auto}

/* diagram strokes */
.f-panel{fill:var(--bp-white);stroke:var(--bp-line-strong);stroke-width:1.5}
.f-line{stroke:var(--bp-line-strong);stroke-width:1.5;fill:none}
.f-dash{stroke:var(--bp-titanium);stroke-width:1.5;stroke-dasharray:4 5;fill:none}
.f-dot{fill:var(--bp-titanium)}
.f-bar{fill:var(--bp-steel)}
.f-bar-soft{fill:var(--bp-glass-tint)}
.f-caret{stroke:var(--bp-iron);stroke-width:2}
.f-accent-fill{fill:var(--bp-steel)}
.f-accent-soft{fill:var(--bp-glass-tint);stroke:var(--bp-steel);stroke-width:1.5}
.f-check{stroke:var(--bp-white);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.f-check-dark{stroke:var(--bp-steel);stroke-width:2.4;fill:none;stroke-linecap:round;stroke-linejoin:round}
.f-curve{stroke:var(--bp-steel);stroke-width:3;fill:none;stroke-linecap:round}
.f-stroke{stroke:var(--bp-iron);stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.f-stroke-accent{stroke:var(--bp-risk);stroke-width:2;fill:none;stroke-linecap:round}
.f-text{font:500 11px var(--bp-font-mono);fill:var(--bp-slate);letter-spacing:.08em;text-transform:uppercase}

/* ---------- approach ---------- */
.approach{padding-block:var(--bp-section);background:var(--bp-white);border-block:1px solid var(--bp-line)}
.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bp-s5);counter-reset:none}
.steps li{display:grid;align-content:start;gap:var(--bp-s3);padding-top:var(--bp-s5);border-top:2px solid var(--bp-line)}
.steps li:first-child{border-top-color:var(--bp-steel)}
.step-n{font:500 var(--bp-text-label)/1 var(--bp-font-mono);letter-spacing:var(--bp-track-label);color:var(--bp-steel-ink)}
.steps p{color:var(--bp-slate);font-size:var(--bp-text-small)}
.steps li{transition:border-color var(--bp-dur) var(--bp-ease)}
.steps li:hover{border-top-color:var(--bp-steel)}

/* ---------- proof ---------- */
.proof{padding-block:var(--bp-section)}
.proof-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--bp-s8)}
.proof-grid > div:first-child{display:grid;gap:var(--bp-s5);align-content:start}
.proof-grid h2{font-size:var(--bp-text-h1);line-height:1.04;max-width:12ch}
.proof-body{display:grid;gap:var(--bp-s6);align-content:start;padding-top:var(--bp-s3)}
.proof-card{display:grid;gap:var(--bp-s5);background:var(--bp-white);border:1px solid var(--bp-line);border-radius:var(--bp-radius);padding:var(--bp-s6);box-shadow:var(--bp-shadow-1)}
.proof-card .btn{width:fit-content}

/* ---------- CTA band (the one dark moment) ---------- */
.cta{padding-block:0 var(--bp-section)}
.cta-panel{
  position:relative;overflow:hidden;isolation:isolate;
  background:radial-gradient(70% 90% at 85% 10%,#33475A 0%,var(--bp-iron) 60%);
  color:var(--bp-paper);border-radius:var(--bp-radius-lg);
  padding:clamp(40px,7vw,96px) clamp(24px,6vw,88px);display:grid;gap:var(--bp-s5);
}
.cta-panel h2{font-size:var(--bp-text-h1);line-height:1.04;max-width:20ch}
.cta-panel h2 span{display:block;color:var(--bp-titanium)}
.cta-panel .lede{color:var(--bp-titanium)}
.label-dark{color:var(--bp-glass-glow)}
.status{display:inline-flex;align-items:center;gap:10px;width:fit-content;font:500 var(--bp-text-label)/1 var(--bp-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bp-titanium);border:1px solid rgba(174,184,194,.3);border-radius:var(--bp-radius-pill);padding:9px 16px}
.status .dot{width:7px;height:7px;border-radius:50%;background:#4CC38A;box-shadow:0 0 0 4px rgba(76,195,138,.15)}
.cta-plates{position:absolute;inset:0;z-index:-1;pointer-events:none}
.cta-plates i{position:absolute;border-radius:22px;border:1px solid rgba(174,184,194,.22);background:linear-gradient(135deg,rgba(143,180,207,.16),rgba(143,180,207,.02))}
.cta-plates i:nth-child(1){width:300px;height:220px;right:-40px;top:40px;transform:rotate(-8deg)}
.cta-plates i:nth-child(2){width:240px;height:180px;right:90px;top:150px;transform:rotate(6deg)}
.cta-plates i:nth-child(3){width:180px;height:140px;right:20px;bottom:-30px;transform:rotate(-3deg)}

/* ---------- footer ---------- */
.site-footer{border-top:1px solid var(--bp-line);background:var(--bp-white)}
.foot{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) auto;gap:var(--bp-s6);padding-block:var(--bp-s8);align-items:start}
.foot-brand{display:grid;gap:var(--bp-s3)}
.foot-tag{color:var(--bp-slate);font-size:var(--bp-text-small)}
.foot-nav{display:grid;gap:var(--bp-s2)}
.foot-nav a{color:var(--bp-slate);text-decoration:none;font-size:var(--bp-text-small);width:fit-content}
.foot-nav a:hover{color:var(--bp-iron)}
.foot-meta{font:500 11px/2 var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-slate);text-align:right}

/* ---------- entrance (visible at rest; JS adds motion only) ---------- */
.js .rv{transition:opacity var(--bp-dur) var(--bp-ease),transform var(--bp-dur) var(--bp-ease)}
.js .rv.pre{opacity:0;transform:translateY(16px)}

/* ---------- responsive ---------- */
@media (max-width:1080px){
  .svc-grid{grid-template-columns:1fr;max-width:680px}
  .steps{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:900px){
  .hero{padding-block:var(--bp-s6) var(--bp-s7)}
  .hero-grid{grid-template-columns:1fr;gap:0}
  .hero-stage{max-width:440px;margin-top:var(--bp-s4)}
  .anno{display:none}
  .manifesto-grid,.proof-grid{grid-template-columns:1fr;gap:var(--bp-s5)}
  .friction-grid{grid-template-columns:1fr;gap:var(--bp-s4);padding-block:var(--bp-s6)}
  .foot{grid-template-columns:1fr 1fr}
  .foot-meta{text-align:left}
}
@media (max-width:720px){
  .nav{display:none}
  .bar{height:64px;gap:var(--bp-s4);justify-content:space-between}
  .bar .btn-sm{padding:0 16px}
  .steps{grid-template-columns:1fr}
  .spec div{grid-template-columns:1fr;gap:2px}
  .cta-plates{display:none}
}
@media (max-width:420px){
  .bar .btn-sm{font-size:.875rem;padding:0 14px}
  .bar .btn-sm svg{display:none}
  .wordmark{font-size:1.125rem}
  .foot{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important}
  .js .rv.pre{opacity:1;transform:none}
}

/* =====================================================================
   SHARED COMPONENTS (Backstop page, report)
   ===================================================================== */
.brand-pill{font:500 10px/1 var(--bp-font-mono);letter-spacing:.14em;text-transform:uppercase;color:var(--bp-steel-ink);border:1px solid var(--bp-line-strong);border-radius:var(--bp-radius-pill);padding:5px 9px;margin-left:4px}

/* flow card: an ordered sequence on a raised glass card */
.flow{position:relative;background:color-mix(in srgb,var(--bp-white) 78%,transparent);border:1px solid var(--bp-line);border-radius:var(--bp-radius-lg);box-shadow:var(--bp-shadow-2);padding:var(--bp-s6);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.flow::before{content:"";position:absolute;inset:-40px -30px auto auto;width:260px;height:260px;border-radius:50%;background:radial-gradient(closest-side,var(--bp-glass-tint),transparent);z-index:-1}
.flow .label{display:block;margin-bottom:var(--bp-s4)}
.flow ol{list-style:none;margin:0;padding:0;display:grid}
.flow li{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--bp-s3);padding-block:var(--bp-s4);border-top:1px solid var(--bp-line);align-items:start}
.flow li:first-of-type{border-top:0;padding-top:0}
.flow .fn{font:500 12px/1.9 var(--bp-font-mono);color:var(--bp-steel-ink)}
.flow b{font-weight:600}

.keeps{list-style:none;margin:0;padding:0;display:grid;gap:var(--bp-s3)}
.keeps li{display:grid;grid-template-columns:24px minmax(0,1fr);gap:var(--bp-s3);align-items:start}
.keeps svg{width:20px;height:20px;margin-top:3px;fill:none;stroke:var(--bp-ok);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.split-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:var(--bp-s8);align-items:center;background:var(--bp-white);border:1px solid var(--bp-line);border-radius:var(--bp-radius-lg);padding:clamp(28px,5vw,64px)}
.split-panel > div:first-child{display:grid;gap:var(--bp-s4)}
.chips{display:flex;flex-wrap:wrap;gap:var(--bp-s2)}
.chip{font-size:var(--bp-text-small);color:var(--bp-iron);background:var(--bp-white);border:1px solid var(--bp-line);border-radius:var(--bp-radius-pill);padding:8px 16px}
.page-section{padding-block:var(--bp-section)}
.page-section.tight{padding-top:0}
.status-light{color:var(--bp-slate);border-color:var(--bp-line-strong)}
@media (max-width:900px){.split-panel{grid-template-columns:1fr;gap:var(--bp-s6)}}

/* ---------- report document ---------- */
.sample-bar{background:var(--bp-iron);color:var(--bp-paper);font:500 12px/1.4 var(--bp-font-mono);letter-spacing:.1em;text-transform:uppercase;text-align:center;padding:10px 16px}
.sample-bar a{color:var(--bp-glass-glow)}
.report{max-width:920px;margin:var(--bp-s8) auto;padding-inline:var(--bp-gutter)}
.doc{background:var(--bp-white);border:1px solid var(--bp-line);border-radius:var(--bp-radius-lg);box-shadow:var(--bp-shadow-2);overflow:hidden}
.doc > *{padding:var(--bp-s7)}
.doc > * + *{border-top:1px solid var(--bp-line)}
.doc-head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--bp-s5);flex-wrap:wrap}
.period{font:500 11px/1.9 var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-slate);text-align:right}
.cust{display:grid;gap:var(--bp-s2)}
.cust h1{font-size:var(--bp-text-h2);line-height:1.1}
.cust .sub{color:var(--bp-slate)}
.tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:0!important}
.tile{padding:var(--bp-s7) var(--bp-s6);display:grid;gap:var(--bp-s3);align-content:start}
.tile + .tile{border-left:1px solid var(--bp-line)}
.tile .k{font:500 11px/1.4 var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-slate)}
.tile .v{font:800 clamp(2.25rem,5vw,3rem)/1 var(--bp-font-display);font-stretch:var(--bp-stretch-display);letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.tile .v.accent{color:var(--bp-steel)}
.tile .note{font-size:var(--bp-text-small);color:var(--bp-slate)}
.panel h3{display:flex;align-items:baseline;gap:var(--bp-s3);margin-bottom:var(--bp-s6);font-size:1.0625rem}
.panel h3 .tag{font:500 11px var(--bp-font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--bp-slate)}
.chart{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bp-s5);align-items:end;height:200px;border-bottom:1px solid var(--bp-line-strong);background:repeating-linear-gradient(to top,transparent 0 calc(33.333% - 1px),var(--bp-line) calc(33.333% - 1px) 33.333%)}
.chart .bar{height:100%;display:flex;align-items:flex-end;justify-content:center}
.chart .col{width:100%;max-width:72px;background:var(--bp-steel);border-radius:6px 6px 0 0;position:relative}
.chart .col:last-child{background:var(--bp-steel)}
.chart .val{position:absolute;top:-24px;left:0;right:0;text-align:center;font:500 13px var(--bp-font-mono);font-variant-numeric:tabular-nums}
.xlabels{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--bp-s5);margin-top:var(--bp-s3)}
.xlabels span{text-align:center;font:500 11px var(--bp-font-mono);letter-spacing:.06em;color:var(--bp-slate)}
.funnel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--bp-s6)}
.funnel .f{border-top:2px solid var(--bp-titanium);padding-top:var(--bp-s3);display:grid;gap:6px}
.funnel .f.last{border-color:var(--bp-steel)}
.funnel .fk{font:500 11px/1.4 var(--bp-font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--bp-slate)}
.funnel .fv{font:800 1.75rem/1 var(--bp-font-display);font-stretch:var(--bp-stretch-display);font-variant-numeric:tabular-nums}
.assure{background:var(--bp-paper);display:flex;flex-wrap:wrap;gap:var(--bp-s5);justify-content:space-between;align-items:center}
.assure .status{color:var(--bp-slate);border-color:var(--bp-line-strong)}
.assure .note{font-size:var(--bp-text-small);color:var(--bp-slate);max-width:44ch}
.report-cta{max-width:920px;margin:0 auto var(--bp-s9);padding-inline:var(--bp-gutter);display:grid;justify-items:center;gap:var(--bp-s5);text-align:center}
.report-cta p{color:var(--bp-slate)}
@media (max-width:640px){
  .doc > *{padding:var(--bp-s6) var(--bp-s5)}
  .tiles{grid-template-columns:1fr}
  .tile + .tile{border-left:0;border-top:1px solid var(--bp-line)}
  .tile{padding:var(--bp-s6) var(--bp-s5)}
  .funnel{grid-template-columns:1fr;gap:var(--bp-s4)}
  .period{text-align:left}
  .chart,.xlabels{gap:var(--bp-s3)}
}
.hero-title-sm{font-size:var(--bp-text-h1);line-height:1.02}
.hero-title-sm span{display:inline}
.hero-title-sm .accent{display:block}
@media (max-width:480px){.site-header .brand-pill{display:none}}


/* ---------- legal pages + 404 (added 2026-10-31) ---------- */
.legal{padding-block:var(--bp-s8) var(--bp-section)}
.legal-wrap{max-width:820px}
.legal-head{display:grid;gap:var(--bp-s4);margin-bottom:var(--bp-s7);padding-bottom:var(--bp-s6);border-bottom:1px solid var(--bp-line)}
.legal-head h1{font-size:var(--bp-text-h1);line-height:1.04}
.legal-body{display:grid;gap:var(--bp-s4);color:var(--bp-slate);max-width:68ch}
.legal-body h2{font-size:var(--bp-text-h3);line-height:1.25;color:var(--bp-iron);margin-top:var(--bp-s6)}
.legal-body h3{font:600 1rem/1.4 var(--bp-font-body);letter-spacing:0;color:var(--bp-iron);margin-top:var(--bp-s3)}
.legal-body strong{color:var(--bp-iron);font-weight:600}
.legal-body ul{margin:0;padding-left:1.2em;display:grid;gap:var(--bp-s2)}
.legal-body a{color:var(--bp-steel-ink)}
.legal-callout{background:var(--bp-white);border:1px solid var(--bp-line);border-left:3px solid var(--bp-steel);border-radius:var(--bp-radius-sm);padding:var(--bp-s5);color:var(--bp-iron);font-weight:500}
.notfound .legal-head{border-bottom:0;margin-bottom:var(--bp-s5)}
/* ---------- backstop explainer video (added 2026-11-01) ---------- */
.explainer{padding-block:var(--bp-s8)}
.explainer .wrap{display:grid;gap:var(--bp-s4)}
.video-frame{margin:0;border-radius:var(--bp-radius-lg);overflow:hidden;border:1px solid var(--bp-line);box-shadow:var(--bp-shadow-2);background:var(--bp-white)}
.video-frame video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:var(--bp-paper)}
