/* SPONSR — Option B "Livery Layers" — src/css/b.css (the only stylesheet)
   Contract: DESIGN-B.md. Same words, logo, photographs and colours as option A; depth comes from
   layers moving at different speeds (b.js). Shape language: the chamfer (no radius), the square
   full stop, the lime tick, viewfinder brackets, outlined Chakra numerals.
   Pre-animation states exist ONLY under html.b-motion (set by b.js once GSAP is running), so
   no-JS, reduced-motion and failed-script visitors always get the finished page. */

/* ------------------------------------------------------------------ tokens */
:root {
  --ink: #0A0A0A;
  --carbon: #151515;
  --tarmac: #22231F;
  --rule-d: #2E2F2B;
  --paper: #F3F3EF;
  --white: #FFFFFF;
  --lime: #DFFC60;
  --lime-ink: #405416;
  --mute-d: #9A9A96;   /* muted text on dark */
  --mute-l: #5E5E5A;   /* muted text on light */
  --rule-l: #D6D6D0;

  /* legacy names site.js / partials still use */
  --k: var(--ink); --w: var(--white); --accent: var(--lime); --on-accent: var(--ink); --g1: var(--rule-d); --g2: var(--mute-l); --g3: var(--mute-d); --g4: var(--rule-l); --g5: #E9E9E4;

  --f-display: 'Archivo Black', 'Arial Black', Impact, sans-serif;
  --f-body: Archivo, Arial, Helvetica, sans-serif;
  --f-fig: 'Chakra Petch', 'Trebuchet MS', Arial, sans-serif;

  --h1: clamp(44px, 3.8vw + 30px, 88px);
  --h2: clamp(34px, 1.9vw + 26px, 56px);
  --h3: clamp(21px, 0.45vw + 19px, 26px);
  --lead: clamp(19px, 0.3vw + 18px, 22px);
  --body: clamp(17px, 0.1vw + 16.6px, 18px);
  --small: 15px;
  --livery: clamp(96px, 17vw, 300px);

  --side: clamp(16px, 5vw, 72px);
  --max: 1320px;
  --gap: clamp(16px, 2.4vw, 32px);
  --sec: clamp(72px, 9vw, 144px);
  --hdr-h: 104px;
  --cut: 28px;
  --cut-s: 14px;
  --ease: cubic-bezier(.2, .7, .1, 1);
}
@media (max-width: 767px) { :root { --hdr-h: 76px; --cut: 18px; --cut-s: 10px; } }

/* ------------------------------------------------------------------ fonts (local only) */
@font-face { font-family: 'Archivo'; src: url('/assets/fonts/Archivo-Variable-latin.woff2') format('woff2'); font-weight: 100 900; font-stretch: 62% 125%; font-display: swap; }
@font-face { font-family: 'Archivo Black'; src: url('/assets/fonts/ArchivoBlack-Regular.woff2') format('woff2'); font-weight: 400; font-display: swap; }
@font-face { font-family: 'Chakra Petch'; src: url('/assets/fonts/ChakraPetch-Medium.woff2') format('woff2'); font-weight: 500; font-display: swap; }
@font-face { font-family: 'Chakra Petch'; src: url('/assets/fonts/ChakraPetch-SemiBold.woff2') format('woff2'); font-weight: 600; font-display: swap; }
@font-face { font-family: 'Chakra Petch'; src: url('/assets/fonts/ChakraPetch-Bold.woff2') format('woff2'); font-weight: 700; font-display: swap; }

/* ------------------------------------------------------------------ base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-stopped { overflow: clip; }
body { margin: 0; background: var(--ink); color: var(--ink); font-family: var(--f-body); font-size: var(--body); line-height: 1.55; -webkit-font-smoothing: antialiased; overflow-x: clip; }
body.menu-open { overflow: hidden; }
h1, h2, h3, h4, p, ul, ol, figure, blockquote { margin: 0; }
ul, ol { padding: 0; list-style: none; }
img, video, svg { display: block; max-width: 100%; }
a { color: inherit; text-decoration: none; }
main p a:not(.btn), main li a:not(.btn) { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; text-decoration-color: var(--lime); }
.g-paper main p a:not(.btn), main .g-paper p a:not(.btn), main .g-white p a:not(.btn), main .g-lime p a:not(.btn) { text-decoration-color: currentColor; }
button { font: inherit; color: inherit; background: none; border: 0; padding: 0; cursor: pointer; }
:focus { outline: none; }
:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
::selection { background: var(--lime); color: var(--ink); }
strong, b { font-weight: 700; }
.vh { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip { position: absolute; top: 8px; left: 8px; z-index: 100; padding: 12px 20px; background: var(--white); color: var(--ink); font-weight: 700; transform: translateY(-200%); }
.skip:focus { transform: none; outline: 2px solid var(--ink); }

.wrap { width: 100%; max-width: calc(var(--max) + 2 * var(--side)); margin-inline: auto; padding-inline: var(--side); }

/* grounds */
.g-ink { background: var(--ink); color: var(--white); }
.g-carbon { background: var(--carbon); color: var(--white); }
.g-paper { background: var(--paper); color: var(--ink); }
.g-white { background: var(--white); color: var(--ink); }
.g-lime { background: var(--lime); color: var(--ink); }
main > section { position: relative; }
.sec { padding-block: var(--sec); }
.sec--tight { padding-block: calc(var(--sec) * .7); }

/* ------------------------------------------------------------------ type */
h1, .h1 { font-family: var(--f-display); font-weight: 400; font-size: var(--h1); line-height: .98; letter-spacing: -0.02em; }
h2, .h2 { font-family: var(--f-display); font-weight: 400; font-size: var(--h2); line-height: 1.02; letter-spacing: -0.015em; max-width: 20ch; }
h3, .h3 { font-family: var(--f-display); font-weight: 400; font-size: var(--h3); line-height: 1.15; letter-spacing: -0.005em; }
.lead { font-size: var(--lead); line-height: 1.45; }
p { max-width: 64ch; }
.ac { color: var(--lime); }
.g-paper .ac, .g-white .ac { color: var(--lime-ink); }
.muted { color: var(--mute-l); }
.g-ink .muted, .g-carbon .muted { color: var(--mute-d); }
.prose > * + * { margin-top: 1em; }
.prose h3 { margin-top: 1.6em; }
.stack > * + * { margin-top: 24px; }

/* the tick: every section h2 carries it; b.js draws it in via --tick */
.tick::before { content: ""; display: block; width: 48px; height: 5px; margin-bottom: 22px; background: var(--lime); transform-origin: left center; transform: scaleX(var(--tick, 1)); }
.g-lime .tick::before { background: var(--ink); }
.g-paper .tick::before, .g-white .tick::before { background: var(--ink); box-shadow: 16px 0 0 -0px var(--lime); width: 32px; }
html.b-motion .tick { --tick: 0; }

/* line masks for SplitText (b.js) */
.line-mask { overflow: clip; padding-bottom: .06em; margin-bottom: -.06em; }

/* the outlined numeral */
.n-out { display: block; font-family: var(--f-fig); font-weight: 700; font-size: clamp(48px, 3vw + 30px, 76px); line-height: 1; letter-spacing: 0; font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 2px var(--lime); }
.g-paper .n-out, .g-white .n-out { -webkit-text-stroke-color: var(--ink); }
.g-paper .deck__card .n-out, .g-white .deck__card .n-out { -webkit-text-stroke-color: var(--lime); }
.g-lime .n-out { -webkit-text-stroke-color: var(--ink); }
@supports not (-webkit-text-stroke: 1px black) { .n-out { color: var(--lime); } .g-paper .n-out, .g-white .n-out, .g-lime .n-out { color: var(--ink); } }

/* livery lettering: giant, expanded, skewed, outlined — a layer, never content (aria-hidden) */
.livery { font-family: var(--f-body); font-weight: 900; font-stretch: 125%; font-variation-settings: 'wdth' 125; font-size: var(--livery); line-height: .82; letter-spacing: -0.03em; white-space: nowrap; transform: skewX(-8deg); color: transparent; -webkit-text-stroke: 1.5px rgba(255,255,255,.14); pointer-events: none; user-select: none; }
.g-paper .livery, .g-white .livery { -webkit-text-stroke-color: rgba(10,10,10,.10); }
.livery--fill { -webkit-text-stroke: 0; color: rgba(255,255,255,.035); }
.g-paper .livery--fill, .g-white .livery--fill { color: rgba(10,10,10,.045); }

/* ------------------------------------------------------------------ buttons: chamfered, lime wipe, square full stop */
.btn { position: relative; display: inline-flex; align-items: center; gap: 0; height: 56px; padding: 0 30px 0 26px; font: 700 17px/1 var(--f-body); letter-spacing: 0; white-space: nowrap; color: var(--white); background: var(--ink); isolation: isolate; overflow: hidden;
  clip-path: polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%); transition: color .35s var(--ease); }
.btn::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--lime); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--ease); }
.btn:hover::before, .btn:focus-visible::before { transform: scaleX(1); }
.btn:hover, .btn:focus-visible { color: var(--ink); }
.btn:focus-visible { outline: 3px solid var(--ink); outline-offset: -7px; }
.btn .stop { color: var(--lime); transition: color .35s var(--ease); }
.btn:hover .stop, .btn:focus-visible .stop { color: var(--ink); }
.btn--lime { background: var(--lime); color: var(--ink); }
.btn--lime::before { background: var(--white); }
.btn--lime .stop, .btn--accent .stop { color: var(--ink); }
.btn--accent { background: var(--lime); color: var(--ink); }
.btn--accent::before { background: var(--white); }
.g-ink .btn:not(.btn--lime):not(.btn--accent), .g-carbon .btn:not(.btn--lime):not(.btn--accent), .hero .btn:not(.btn--lime):not(.btn--accent) { background: var(--white); color: var(--ink); }
.g-ink .btn:not(.btn--lime):not(.btn--accent) .stop, .g-carbon .btn:not(.btn--lime):not(.btn--accent) .stop { color: var(--lime-ink); }
.g-ink .btn:not(.btn--lime):not(.btn--accent):hover .stop, .g-carbon .btn:not(.btn--lime):not(.btn--accent):hover .stop { color: var(--ink); }
.g-lime .btn { background: var(--ink); color: var(--white); }
.g-lime .btn::before { background: var(--white); }
.g-lime .btn:hover, .g-lime .btn:focus-visible { color: var(--ink); }
.g-lime .btn:focus-visible { outline-color: var(--ink); }
@media (max-width: 767px) { .btn { height: 52px; font-size: 16px; padding: 0 24px 0 20px; } }
.btn-row { display: flex; flex-wrap: wrap; gap: 12px; }

/* ------------------------------------------------------------------ header: solid black bar, progress line */
.hdr { position: fixed; top: 0; left: 0; right: 0; z-index: 40; background: var(--ink); color: var(--white); transition: background-color .3s ease; }
.hdr__row { display: flex; align-items: center; gap: 28px; height: var(--hdr-h); transition: height .3s var(--ease); }
.hdr.is-scrolled { background: rgba(10,10,10,.94); }
.hdr.is-scrolled .hdr__mark { background: transparent; }
@media (min-width: 768px) { .hdr.is-scrolled .hdr__row { height: 76px; } .hdr.is-scrolled .hdr__mark .wordmark { width: 156px; } }
body.menu-open .hdr.is-scrolled { background: var(--ink); }
.hdr__mark { display: block; flex: 0 0 auto; background: var(--ink); padding: 10px 16px 9px 0; }
.hdr__mark .wordmark { display: block; width: 184px; height: auto; transition: width .3s var(--ease); }
.hdr__progress { position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--lime); transform-origin: left center; transform: scaleX(0); pointer-events: none; }
html:not(.b-motion) .hdr__progress { display: none; }
.hdr__nav { flex: 1 1 auto; }
.hdr__nav > ul { display: flex; justify-content: center; align-items: stretch; gap: 30px; height: var(--hdr-h); transition: height .3s var(--ease); }
.hdr.is-scrolled .hdr__nav > ul { height: 76px; }
.hdr__nav > ul > li { display: flex; align-items: center; position: relative; }
.hdr__nav a, .nav-parent { position: relative; display: inline-flex; align-items: center; gap: 9px; white-space: nowrap; font-family: var(--f-body); font-weight: 500; font-size: 16px; line-height: 1; padding: 8px 0; color: inherit; }
.hdr__nav > ul > li > a::after, .nav-parent > .nav-u { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: var(--lime); transform: scaleX(0); transform-origin: right center; transition: transform .35s var(--ease); }
.hdr__nav > ul > li > a:hover::after, .hdr__nav > ul > li > a[aria-current="page"]::after { transform: scaleX(1); transform-origin: left center; }
.nav-parent::after { content: ""; width: 7px; height: 7px; margin-top: -4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
.nav-parent[aria-expanded="true"]::after { transform: rotate(-135deg); margin-top: 4px; }
.nav-parent:hover, .nav-parent[aria-expanded="true"], .has-sub:has(a[aria-current="page"]) > .nav-parent { color: var(--lime); }
.hdr__nav .sub { display: none; position: absolute; top: 100%; left: -24px; z-index: 60; min-width: 280px; background: var(--ink); border-top: 2px solid var(--lime); padding: 10px 0 14px; clip-path: polygon(0 0, 100% 0, 100% calc(100% - var(--cut-s)), calc(100% - var(--cut-s)) 100%, 0 100%); }
.nav-parent[aria-expanded="true"] + .sub { display: block; }
@media (hover: hover) and (min-width: 1280px) { .has-sub:hover > .sub { display: block; } }
html:not(.js) .has-sub:focus-within > .sub { display: block; }
.hdr__nav .sub a { display: block; padding: 12px 24px; font-size: 16px; }
.hdr__nav .sub a:hover, .hdr__nav .sub a:focus-visible, .hdr__nav .sub a[aria-current="page"] { color: var(--lime); }
.hdr__cta { flex: 0 0 auto; height: 48px; font-size: 16px; }
@media (min-width: 1280px) { .site-nav__cta-row { display: none !important; } }
.hdr__menu { display: none; font-weight: 700; font-size: 16px; padding: 12px 0; }
@media (max-width: 1279px) {
  .hdr__row { justify-content: space-between; }
  .hdr__menu { margin-left: auto; }
  .js .hdr__nav { display: none; }
  .js .hdr__menu { display: inline-block; }
  html:not(.js) .hdr__row { flex-wrap: wrap; height: auto; padding-block: 20px 8px; }
  html:not(.js) .hdr__nav { flex-basis: 100%; order: 9; padding-bottom: 12px; }
  html:not(.js) .hdr__nav > ul { flex-wrap: wrap; justify-content: flex-start; gap: 8px 20px; height: auto; }
  html:not(.js) .hdr__nav > ul > li { display: block; }
  html:not(.js) .hdr__nav .sub { display: block; position: static; border: 0; padding: 4px 0 8px; min-width: 0; clip-path: none; }
  html:not(.js) .nav-parent { pointer-events: none; color: var(--mute-d); font-size: var(--small); }
  html:not(.js) .nav-parent::after { display: none; }
}
@media (max-width: 767px) {
  .hdr .wrap { padding-inline: 16px; }
  .hdr__row { gap: 10px; }
  .hdr__mark { padding: 6px 8px 5px 0; }
  .hdr__mark .wordmark { width: 96px; }
  .hdr .hdr__cta { height: 40px; padding: 0 14px 0 12px; font-size: 14px; margin-left: auto; }
  .hdr__menu { margin-left: 0; font-size: 15px; }
}
html:not(.js) .hdr { position: static; }

/* full-screen menu */
.js .site-nav.is-open { display: block; position: fixed; inset: 0; z-index: 35; background: var(--ink); color: var(--white); overflow-y: auto; padding: calc(var(--hdr-h) + 16px) var(--side) 48px; }
.js .site-nav.is-open > ul { display: block; height: auto; max-width: calc(var(--max) + 2 * var(--side)); margin-inline: auto; padding-top: 16px; }
.js .site-nav.is-open > ul > li { display: block; border-top: 1px solid var(--rule-d); }
.js .site-nav.is-open > ul > li:last-child { border-bottom: 0; }
.js .site-nav.is-open li.site-nav__cta-row { padding-top: 32px; }
.js .site-nav.is-open a { white-space: normal; }
.js .site-nav.is-open > ul > li > a:not(.btn) { display: block; padding: 18px 0; font-family: var(--f-display); font-size: clamp(26px, 3vw + 14px, 40px); line-height: 1.1; color: var(--white); }
.js .site-nav.is-open > ul > li > a:not(.btn)::after { display: none; }
.js .site-nav.is-open .nav-parent { display: block; width: 100%; text-align: left; pointer-events: none; padding: 18px 0 6px; font-family: var(--f-display); font-size: clamp(26px, 3vw + 14px, 40px); line-height: 1.1; color: var(--white); }
.js .site-nav.is-open .nav-parent::after { display: none; }
.js .site-nav.is-open .sub { display: block; position: static; min-width: 0; border: 0; padding: 0 0 16px; background: none; clip-path: none; }
.js .site-nav.is-open .sub a { font-size: clamp(19px, 1vw + 15px, 22px); padding: 8px 0; color: var(--paper); }
.js .site-nav.is-open .sub a[aria-current="page"] { color: var(--lime); }
body.menu-open .hdr { color: var(--white); }
body.menu-open .hdr__cta { visibility: hidden; }
body.menu-open .hdr__mark, body.menu-open .hdr__menu { position: relative; z-index: 36; }

/* ------------------------------------------------------------------ page transition veil */
.veil { position: fixed; inset: 0; z-index: 60; background: var(--ink); transform: translateY(101%); pointer-events: none; visibility: hidden; display: grid; place-items: center; }
.veil::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 6px; background: var(--lime); }
html.is-arriving .veil, html.is-leaving .veil { visibility: visible; }
@keyframes veil-off { to { transform: translateY(-101%); visibility: hidden; } }
html.is-arriving .veil { transform: none; animation: veil-off .45s .7s forwards; }

/* ------------------------------------------------------------------ media helpers */
.frame { position: relative; overflow: hidden; background: var(--tarmac); }
.frame img, .frame video { width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); }
.frame[data-parallax] img { height: 118%; margin-top: -9%; }
.cut { clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
.cut-bl { clip-path: polygon(0 0, 100% 0, 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut))); }
.cut-both { clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, var(--cut) 100%, 0 calc(100% - var(--cut))); }

/* viewfinder brackets: four lime corners; --x/--y/--w/--h in % set the starting box (b.js opens them) */
.vf { position: absolute; left: var(--x, 0%); top: var(--y, 0%); width: var(--w, 100%); height: var(--h, 100%); pointer-events: none; z-index: 2; }
.vf i { position: absolute; width: clamp(16px, 2vw, 28px); height: clamp(16px, 2vw, 28px); border: 0 solid var(--lime); }
.vf i:nth-child(1) { left: 0; top: 0; border-left-width: 3px; border-top-width: 3px; }
.vf i:nth-child(2) { right: 0; top: 0; border-right-width: 3px; border-top-width: 3px; }
.vf i:nth-child(3) { left: 0; bottom: 0; border-left-width: 3px; border-bottom-width: 3px; }
.vf i:nth-child(4) { right: 0; bottom: 0; border-right-width: 3px; border-bottom-width: 3px; }
html:not(.b-motion) .vf { left: 12px; top: 12px; width: calc(100% - 24px); height: calc(100% - 24px); }

/* ------------------------------------------------------------------ HERO */
.hero { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: flex-end; overflow: clip; background: var(--ink); color: var(--white); isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -3; overflow: hidden; }
.hero__media > * { position: absolute; inset: 0; }
.hero__media img, .hero__media video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 50%); filter: contrast(1.06) saturate(.96); }
.slides img, .slides video { opacity: 0; transition: opacity 1.2s ease; }
.slides img.is-on, .slides video.is-on { opacity: 1; }
.slides img.was-on, .slides video.was-on { opacity: 1; z-index: 0; }
.slides .is-on { z-index: 1; }
.slides video.is-on { z-index: 2; }
html:not(.js) .slides img:first-child { opacity: 1; }
.hero__shade { position: absolute; inset: 0; z-index: -2; pointer-events: none;
  background: linear-gradient(to right, rgba(10,10,10,.88) 0%, rgba(10,10,10,.72) 34%, rgba(10,10,10,.2) 60%, rgba(10,10,10,0) 74%),
              linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.35) 30%, rgba(10,10,10,0) 55%),
              linear-gradient(to bottom, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 22%); }
@media (max-width: 767px) { .hero__shade { background: linear-gradient(to top, rgba(10,10,10,.92) 0%, rgba(10,10,10,.55) 45%, rgba(10,10,10,.25) 100%); } }
/* the ghost wordmark: outlined SPONSR. across the foot of the frame, lime full stop filled */
.hero__ghost { position: absolute; left: -1.5vw; right: -1.5vw; bottom: calc(var(--cut) * 2.4 + clamp(48px, 4.6vw, 64px) - 10.5vw); z-index: 1; pointer-events: none; }
.hero__body { z-index: 2; }
.hero__ghost svg { width: 100%; height: auto; overflow: visible; }
.hero__ghost svg path { fill: none !important; stroke: rgba(255,255,255,.2); stroke-width: 1.2px; vector-effect: non-scaling-stroke; }
.hero__ghost svg path[data-stop] { stroke: rgba(223,252,96,.55); }
.hero__body { position: relative; padding-top: calc(var(--hdr-h) + 48px); padding-bottom: calc(var(--cut) * 2.4 + clamp(48px, 4.6vw, 64px) + clamp(40px, 5vw, 80px)); }
.hero__main { max-width: 820px; }
.hero__main > * + * { margin-top: 22px; }
.hero__main .lead { max-width: 54ch; color: #EDEDE8; }
.hero h1 { max-width: 13ch; font-size: clamp(44px, 3.3vw + 26px, 84px); }
@media (min-width: 1024px) and (max-height: 820px) { .hero h1 { font-size: clamp(44px, 2.6vw + 24px, 70px); } .hero__main .lead { font-size: 18px; } }
/* the rail: five kinds of racing, moved by the scroll (b.js), never on a timer */
.rail { position: absolute; left: 0; right: 0; bottom: calc(var(--cut) * 2.4); z-index: 3; height: clamp(48px, 4.6vw, 64px); display: flex; align-items: center; overflow: hidden; background: var(--lime); color: var(--ink); clip-path: polygon(0 0, calc(100% - 40px) 0, 100% 100%, 0 100%); }
.rail__track { display: flex; flex: 0 0 auto; white-space: nowrap; will-change: transform; }
.rail__track span { display: inline-flex; align-items: center; gap: clamp(18px, 2vw, 32px); padding-right: clamp(18px, 2vw, 32px); font: 700 clamp(17px, .9vw + 11px, 24px)/1 var(--f-fig); letter-spacing: .01em; }
.rail__track span::after { content: ""; width: .5em; height: .5em; background: var(--ink); }
/* inner-page hero */
.hero--inner { min-height: min(78svh, 760px); }
.hero--inner .hero__body { padding-bottom: clamp(72px, 8vw, 120px); }
.hero--inner h1 { max-width: 16ch; font-size: clamp(40px, 3vw + 28px, 76px); }
.hero--short { min-height: auto; }
.hero--short .hero__body { padding-bottom: clamp(56px, 6vw, 88px); }
/* the section after a hero laps over it: its top-right corner is cut away so the hero shows through */
.lap { margin-top: calc(var(--cut) * -2.4); z-index: 3; clip-path: polygon(0 0, calc(100% - var(--cut) * 2.4) 0, 100% calc(var(--cut) * 2.4), 100% 100%, 0 100%); }
.lap.sec { padding-top: calc(var(--sec) + var(--cut)); }

/* ------------------------------------------------------------------ READ: sticky heading, words brighten as you read */
.read { overflow: clip; }
.read__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 36px; position: relative; z-index: 1; }
.read__h { grid-column: 1 / 6; align-self: start; }
.read__body { grid-column: 6 / 13; font-size: clamp(20px, .75vw + 15px, 28px); line-height: 1.42; font-weight: 500; letter-spacing: -0.005em; }
.read__body p { max-width: 36em; }
.read__body > * + * { margin-top: 1em; }
.read__body .w { color: var(--ink); }
html.b-motion .read__body .w { color: rgba(10,10,10,.16); }
.g-ink .read__body .w, .g-carbon .read__body .w { color: var(--white); }
html.b-motion .g-ink .read__body .w, html.b-motion .g-carbon .read__body .w { color: rgba(255,255,255,.18); }
.read__livery { position: absolute; left: 0; bottom: calc(var(--sec) * -.12); z-index: 0; }
@media (min-width: 1024px) { .read__h { position: sticky; top: calc(var(--hdr-h) + 40px); } }
@media (max-width: 1023px) { .read__h, .read__body { grid-column: 1 / -1; } }

/* ------------------------------------------------------------------ SPREAD: one machine becomes five (home signature) */
.spread { overflow: clip; }
.spread__pin { position: relative; min-height: 100svh; display: flex; flex-direction: column; justify-content: center; gap: clamp(28px, 3.4vw, 48px); padding-block: calc(var(--hdr-h) + 16px) 48px; }
.spread__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: end; row-gap: 20px; }
.spread__head h2 { grid-column: 1 / 7; }
.spread__head p { grid-column: 7 / 13; color: #D9D9D4; }
.spread__stage { position: relative; }
.spread__count { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); z-index: 0; font-family: var(--f-fig); font-weight: 700; font-size: clamp(160px, 26vw, 420px); line-height: 1; color: transparent; -webkit-text-stroke: 2px rgba(223,252,96,.5); pointer-events: none; font-variant-numeric: tabular-nums; max-width: none; letter-spacing: -0.02em; }
.spread__cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(10px, 1.2vw, 18px); }
.spread__card { position: relative; }
.spread__plate { position: relative; aspect-ratio: 1 / 1; background: linear-gradient(180deg, rgba(21,21,21,.62) 0%, rgba(27,28,25,.9) 100%); border-top: 2px solid var(--rule-d); overflow: hidden;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
.spread__plate::before { content: ""; position: absolute; inset: auto 0 0 0; height: 38%; background: repeating-linear-gradient(-62deg, rgba(255,255,255,.035) 0 2px, transparent 2px 14px); }
.spread__plate::after { content: ""; position: absolute; left: 0; bottom: 0; height: 5px; width: 100%; background: var(--lime); transform-origin: left center; transform: scaleX(var(--fill, 1)); }
.spread__machine { position: absolute; left: -10%; right: -10%; bottom: 12%; z-index: 2; pointer-events: none; }
.spread__machine img { width: 100%; height: auto; filter: drop-shadow(0 18px 16px rgba(0,0,0,.55)); }
.spread__label { position: absolute; left: 16px; top: 14px; z-index: 3; font: 600 clamp(15px, .5vw + 11px, 19px)/1.15 var(--f-fig); color: var(--white); max-width: none; }
.spread__label::before { content: ""; display: inline-block; width: .5em; height: .5em; margin-right: .45em; background: var(--lime); vertical-align: .08em; }
.spread__foot { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
.spread__foot p { grid-column: 7 / 13; color: #D9D9D4; }
@media (max-width: 1023px) {
  .spread__pin { min-height: 0; padding-block: var(--sec); }
  .spread__head h2, .spread__head p, .spread__foot p { grid-column: 1 / -1; }
  .spread__cards { grid-template-columns: repeat(5, minmax(220px, 1fr)); overflow-x: auto; scroll-snap-type: x mandatory; padding: 36px var(--side) 12px; margin-inline: calc(var(--side) * -1); scrollbar-width: none; }
  .spread__cards::-webkit-scrollbar { display: none; }
  .spread__card { scroll-snap-align: start; }
  .spread__count { font-size: 44vw; top: 50%; }
}

/* ------------------------------------------------------------------ RESKIN: the bare car takes its livery, pixel by pixel (b.js) */
.reskin { overflow: clip; background: var(--ink); }
.reskin__pin { position: relative; }
.reskin__stage { position: relative; width: 100%; aspect-ratio: 16 / 9; max-height: 100svh; overflow: hidden; background: var(--tarmac); }
.reskin__stage img, .reskin__stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--pos, 50% 55%); }
.reskin__stage canvas { opacity: 0; }
.reskin.is-live .reskin__stage canvas { opacity: 1; }
.reskin__stage::after { content: ""; position: absolute; inset: 0; pointer-events: none; background: linear-gradient(to top, rgba(10,10,10,.55), rgba(10,10,10,0) 30%), linear-gradient(to bottom, rgba(10,10,10,.5), rgba(10,10,10,0) 22%); }
.reskin .vf { opacity: 0; }
html:not(.b-motion) .reskin .vf { display: none; }
.reskin__callouts { position: absolute; inset: 0; z-index: 3; pointer-events: none; }
html:not(.b-motion) .reskin__callouts, .reskin:not(.is-live) .reskin__callouts { display: none; }
.reskin__lines { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.reskin__lines polyline { fill: none; stroke: var(--lime); stroke-width: 2; }
.reskin__lines circle.dot { fill: var(--lime); }
.reskin__lines circle.ring { fill: none; stroke: var(--lime); stroke-width: 2; }
.reskin .co { position: absolute; left: 0; top: 0; margin: 0; max-width: none; white-space: nowrap; padding: 9px 16px 8px 14px; background: var(--ink); color: var(--lime); font: 600 clamp(14px, .5vw + 10px, 19px)/1 var(--f-fig); letter-spacing: .01em;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); border-left: 4px solid var(--lime); opacity: 0; }
@media (max-width: 767px) { .reskin .co { padding: 6px 9px 5px 8px; border-left-width: 3px; font-size: 12px; } }
@media (min-width: 1024px) { .reskin__stage { height: 100svh; aspect-ratio: auto; } }
@media (max-width: 1023px) { .reskin__stage { aspect-ratio: 4 / 3; --pos: 60% 55%; } }

/* ------------------------------------------------------------------ DECK: sticky stacking cards */
.deck__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; }
.deck__side { grid-column: 1 / 5; align-self: start; }
.deck__count { margin-top: 28px; display: flex; align-items: baseline; gap: 10px; }
.deck__count .n-out { font-size: clamp(96px, 7vw, 150px); }
.deck__count .of { font: 600 20px/1 var(--f-fig); color: var(--mute-d); }
.deck__cards { grid-column: 5 / 13; display: grid; gap: clamp(28px, 4vw, 56px); }
.deck__card { position: relative; background: var(--carbon); color: var(--white); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); transform-origin: center top;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
.deck__card .frame { aspect-ratio: auto; min-height: 100%; }
.deck__text { padding: clamp(24px, 3vw, 44px); display: flex; flex-direction: column; gap: 16px; }
.deck__text .n-out { margin-bottom: 6px; }
.deck__text p { color: #D6D6D1; }
.deck__shade { position: absolute; inset: 0; background: var(--ink); opacity: 0; pointer-events: none; z-index: 4; }
.g-paper .deck__card, .g-white .deck__card { background: var(--ink); }
@media (min-width: 1024px) {
  .deck__side { position: sticky; top: calc(var(--hdr-h) + 48px); }
  .deck__card { position: sticky; top: calc(var(--hdr-h) + 48px + var(--i, 0) * 22px); min-height: min(62svh, 520px); }
}
@media (max-width: 1023px) {
  .deck__side, .deck__cards { grid-column: 1 / -1; }
  .deck__count { display: none; }
  .deck__card { grid-template-columns: 1fr; }
  .deck__card .frame { aspect-ratio: 16 / 10; min-height: 0; }
}

/* ------------------------------------------------------------------ SHOT: framed photograph + viewfinder, beside text */
.shot__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; align-items: center; }
.shot__text { grid-column: 1 / 6; }
.shot__text > * + * { margin-top: 22px; }
.shot__media { grid-column: 6 / 13; position: relative; }
.shot__media .frame { aspect-ratio: 3 / 2; }
.shot--flip .shot__text { grid-column: 8 / 13; order: 2; }
.shot--flip .shot__media { grid-column: 1 / 8; order: 1; }
.shot__livery { position: absolute; right: -4%; top: -18%; z-index: 0; }
.shot__media > .frame, .shot__media > .vf { z-index: 1; }
.shot--tall .shot__media .frame { aspect-ratio: 4 / 5; max-height: 640px; }
@media (max-width: 1023px) { .shot__text, .shot__media, .shot--flip .shot__text, .shot--flip .shot__media { grid-column: 1 / -1; order: 0; } .shot__media, .shot--flip .shot__media { order: -1; } }

/* ------------------------------------------------------------------ DOORS: big chamfered link panels with machines */
.doors__head { margin-bottom: clamp(36px, 4vw, 56px); }
.doors__row { display: flex; gap: var(--gap); align-items: stretch; }
.door { position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column; gap: 18px; padding: clamp(28px, 3vw, 44px); padding-bottom: clamp(150px, 14vw, 210px); background: var(--ink); color: var(--white); isolation: isolate; overflow: hidden;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); transition: flex-grow .7s var(--ease); }
.door p { color: #D6D6D1; }
.door .btn { align-self: flex-start; margin-top: 6px; background: var(--white); color: var(--ink); }
.door .btn .stop { color: var(--lime-ink); }
.door .btn:hover .stop, .door .btn:focus-visible .stop { color: var(--ink); }
.door__machine { position: absolute; right: -6%; bottom: -4%; width: min(78%, 480px); z-index: -1; transition: transform .8s var(--ease); pointer-events: none; }
.door__machine img { width: 100%; height: auto; }
.door__lane { position: absolute; left: 0; right: 0; bottom: 0; height: 36%; z-index: -2; background: repeating-linear-gradient(-62deg, rgba(255,255,255,.04) 0 2px, transparent 2px 16px); }
.door::after { content: ""; position: absolute; left: 0; bottom: 0; height: 6px; width: 100%; background: var(--lime); transform: scaleX(.12); transform-origin: left center; transition: transform .8s var(--ease); }
@media (hover: hover) and (min-width: 1024px) {
  .doors__row:hover .door { flex-grow: .82; }
  .doors__row .door:hover, .doors__row .door:focus-within { flex-grow: 1.25; }
  .door:hover .door__machine, .door:focus-within .door__machine { transform: translateX(-7%) scale(1.04); }
  .door:hover::after, .door:focus-within::after { transform: scaleX(1); }
}
.doors__foot { margin-top: 32px; }
@media (max-width: 1023px) { .doors__row { flex-direction: column; } .door { flex: none; padding-bottom: clamp(190px, 50vw, 300px); } .door__machine { width: min(74%, 400px); right: 3%; bottom: 0; } }

/* ------------------------------------------------------------------ CLUB: framed photo, then text with a network of members */
.club__media .frame { aspect-ratio: 21 / 9; }
.club__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 32px; margin-top: clamp(40px, 5vw, 72px); }
.club__left { grid-column: 1 / 6; }
.club__body { grid-column: 7 / 13; }
.club__body > * + * { margin-top: 22px; }
.club__net { margin-top: 36px; width: 100%; max-width: 440px; height: auto; overflow: visible; }
.club__left .donfield { margin-top: 32px; max-width: 540px; }
.club__net .node { fill: var(--carbon); stroke: #4A4B46; stroke-width: 1.5; }
.club__net .node.is-pair { fill: var(--lime); stroke: var(--lime); }
.club__net .link { stroke: #4A4B46; stroke-width: 1.5; fill: none; }
.club__net .link.is-pair { stroke: var(--lime); stroke-width: 3; }
@media (max-width: 1023px) { .club__left, .club__body { grid-column: 1 / -1; } .club__media .frame { aspect-ratio: 16 / 10; } }

/* ------------------------------------------------------------------ DONFIELD: drifting members that join up as Donington (b.js) */
.donfield { position: relative; width: 100%; aspect-ratio: 2 / 1; }
.donfield canvas { position: absolute; inset: 0; width: 100%; height: 100%; }
.donfield__still { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.donfield.is-live .donfield__still { display: none; }

/* ------------------------------------------------------------------ SECTORS: a real sequence, pinned horizontal on desktop */
.sectors { overflow: clip; }
.sectors__pin { display: flex; flex-direction: column; justify-content: center; gap: clamp(28px, 3vw, 44px); }
.sectors__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 24px; }
.sectors__bar { display: grid; grid-template-columns: repeat(var(--n, 4), minmax(0, 1fr)); gap: 6px; }
.sectors__bar span { position: relative; height: 10px; background: var(--rule-l); overflow: hidden; }
.g-ink .sectors__bar span, .g-carbon .sectors__bar span { background: var(--tarmac); }
.sectors__bar span::after { content: ""; position: absolute; inset: 0; background: var(--lime); transform: scaleX(var(--s, 1)); transform-origin: left center; }
.sectors__bar span:nth-child(odd)::after { background: var(--lime); }
.sectors__bar span:nth-child(even)::after { background: #C7E64A; }
.sectors__track { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: var(--gap); }
@media (min-width: 1024px) { .sectors__track:has(> :nth-child(5)) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 640px) and (max-width: 1023px) { .sectors__track { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
.sectors--pin .sectors__track { display: flex; }
.sectors--pin .sector { flex: 0 0 auto; width: min(560px, 42vw); }
.sector { min-height: clamp(240px, 24vw, 380px); display: flex; flex-direction: column; gap: 22px; padding: clamp(24px, 3vw, 40px); background: var(--paper); border-top: 5px solid var(--ink);
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
.g-paper .sector { background: var(--white); }
.g-ink .sector, .g-carbon .sector { background: var(--carbon); color: var(--white); border-top-color: var(--lime); }
.sector .n-out { font-size: clamp(72px, 5.4vw, 112px); }
.sector p { font-size: clamp(18px, .4vw + 16px, 22px); line-height: 1.45; }
.sector h3 + p { margin-top: -8px; }
.sectors__foot { margin-top: 8px; }
@media (min-width: 1024px) { .sectors.sectors--pin { padding-block: 0; } .sectors--pin .sectors__pin { min-height: 100svh; padding-block: calc(var(--hdr-h) + 24px) 48px; } }
@media (max-width: 1023px) { .sectors__track { grid-template-columns: 1fr; } .sector { min-height: 0; } .sectors__bar { display: none; } }
html:not(.b-motion) .sectors__bar span::after { transform: scaleX(1); }

/* ------------------------------------------------------------------ PAIR: two photographs layered at different speeds */
.pair__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 48px; align-items: center; }
.pair__text { grid-column: 1 / 6; }
.pair__text > * + * { margin-top: 22px; }
.pair__media { grid-column: 6 / 13; position: relative; padding-bottom: 14%; }
.pair__back { width: 86%; margin-left: auto; aspect-ratio: 4 / 3; }
.pair__front { position: absolute; left: 0; bottom: 0; width: 44%; aspect-ratio: 4 / 5; z-index: 2; outline: 10px solid var(--paper); }
.g-white .pair__front { outline-color: var(--white); }
.g-ink .pair__front, .g-carbon .pair__front { outline-color: var(--ink); }
@media (max-width: 1023px) { .pair__text, .pair__media { grid-column: 1 / -1; } }

/* ------------------------------------------------------------------ REEL: two rows of photographs, moved by the scroll */
.reel { overflow: clip; padding-block: clamp(20px, 2vw, 28px); display: grid; gap: clamp(10px, 1vw, 16px); }
.reel__row { display: flex; gap: clamp(10px, 1vw, 16px); width: max-content; will-change: transform; }
.reel__row .frame { flex: 0 0 auto; height: clamp(170px, 19vw, 300px); aspect-ratio: 3 / 2; }
.reel__row .frame.is-tall { aspect-ratio: 4 / 5; }
.reel__row:nth-child(2) { margin-left: -30vw; }

/* ------------------------------------------------------------------ CLOSE: the lime band, a machine breaking out of it */
.close { position: relative; z-index: 4; background: var(--lime); color: var(--ink); margin-top: 0; padding-block: clamp(80px, 8vw, 128px); }
.close__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: end; position: relative; z-index: 2; }
.close h2 { grid-column: 1 / 7; max-width: 17ch; }
.close h2::before { content: ""; display: block; width: 48px; height: 5px; margin-bottom: 22px; background: var(--ink); transform-origin: left center; transform: scaleX(var(--tick, 1)); }
html.b-motion .close h2 { --tick: 0; }
.close__body { grid-column: 1 / 7; }
.close__body > * + * { margin-top: 22px; }
/* --ar = the cut-out's width/height (set inline); the machine always breaks out over the band's top edge */
.close__machine { --mw: min(46vw, 640px); position: absolute; right: max(var(--side), calc((100vw - var(--max)) / 2)); top: calc(var(--mw) / var(--ar, 1.27) * -0.5); width: var(--mw); z-index: 1; pointer-events: none; }
.close__machine img { width: 100%; height: auto; filter: drop-shadow(0 30px 30px rgba(0,0,0,.35)); }
.close__livery { position: absolute; left: 0; bottom: -2%; z-index: 0; overflow: hidden; width: 100%; }
.close__livery .livery { -webkit-text-stroke-color: rgba(10,10,10,.12); }
main > .close:first-child, main > section:last-child.close { }
@media (max-width: 1023px) {
  .close { padding-top: clamp(48px, 10vw, 80px); }
  .close h2, .close__body { grid-column: 1 / -1; }
  .close__machine { --mw: min(84vw, 520px); right: 50%; transform: translateX(50%); top: calc(var(--mw) / var(--ar, 1.27) * -0.55); }
  .close__grid { padding-top: calc(min(84vw, 520px) / var(--ar, 1.27) * 0.45); }
}

/* ------------------------------------------------------------------ ROWS / COLS / PANELS (inner pages) */
.rows > * { padding-block: 22px; border-top: 1px solid var(--rule-l); }
.rows > *:last-child { border-bottom: 1px solid var(--rule-l); }
.g-ink .rows > *, .g-carbon .rows > * { border-color: var(--rule-d); }
.rows--lead > * { font-size: var(--lead); }
.rows--num > * { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: var(--gap); align-items: baseline; }
.rows--num .n-out { font-size: 52px; }
@media (max-width: 767px) { .rows--num > * { grid-template-columns: 1fr; gap: 8px; } }
.cols { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; }
.cols > .c-side { grid-column: 1 / 5; }
.cols > .c-main { grid-column: 6 / 13; }
.cols > .c-full { grid-column: 1 / -1; }
@media (min-width: 1024px) { .cols > .c-side.is-sticky { position: sticky; top: calc(var(--hdr-h) + 40px); align-self: start; } }
@media (max-width: 1023px) { .cols > .c-side, .cols > .c-main { grid-column: 1 / -1; } }
.panel { position: relative; background: var(--carbon); color: var(--white); padding: clamp(24px, 3vw, 44px); clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
.panel--white { background: var(--white); color: var(--ink); }
.panel--paper { background: var(--paper); color: var(--ink); }
.grid-2, .grid-3, .grid-4 { display: grid; gap: var(--gap); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1023px) { .grid-3, .grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .grid-2, .grid-3, .grid-4 { grid-template-columns: 1fr; } }
.card > * + * { margin-top: 14px; }
.sec-head { margin-bottom: clamp(36px, 4vw, 56px); }
.sec-head > * + * { margin-top: 20px; }
.sec-foot { margin-top: clamp(28px, 3vw, 44px); }

/* ------------------------------------------------------------------ forms (schema-injected controls; class names preserved for site.js) */
.enquiry { max-width: 680px; }
.enquiry > * + * { margin-top: 28px; }
.enquiry__field label { display: block; font-weight: 700; font-size: var(--body); margin-bottom: 8px; }
.enquiry__optional { font-weight: 400; color: var(--mute-l); }
.enquiry__hint { display: block; margin: 0 0 8px; color: var(--mute-l); font-size: var(--small); }
.enquiry__field input, .enquiry__field textarea { display: block; width: 100%; font: inherit; color: var(--ink); background: var(--white); border: 0; border-bottom: 2px solid var(--ink); padding: 0 16px; height: 58px; transition: background-color .25s, border-color .25s; }
.g-white .enquiry__field input, .g-white .enquiry__field textarea { background: var(--paper); }
.enquiry__field textarea { height: auto; min-height: 170px; padding: 16px; resize: vertical; }
.enquiry__field input:focus-visible, .enquiry__field textarea:focus-visible { outline: 0; border-bottom-color: var(--lime-ink); box-shadow: inset 0 -4px 0 var(--lime); }
.enquiry__field input[data-invalid], .enquiry__field textarea[data-invalid] { border-bottom: 3px solid #B42318; }
.enquiry__error { margin: 8px 0 0; font-size: var(--small); font-weight: 600; color: #B42318; }
.enquiry__error[hidden] { display: none; }
.enquiry__trap { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.enquiry__submit { position: relative; display: inline-flex; align-items: center; height: 58px; padding: 0 32px 0 28px; cursor: pointer; background: var(--ink); color: var(--white); font: 700 17px/1 var(--f-body); isolation: isolate; overflow: hidden; clip-path: polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%); transition: color .35s var(--ease); }
.enquiry__submit::before { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--lime); transform: scaleX(0); transform-origin: left; transition: transform .45s var(--ease); }
.enquiry__submit:hover::before, .enquiry__submit:focus-visible::before { transform: scaleX(1); }
.enquiry__submit:hover, .enquiry__submit:focus-visible { color: var(--ink); }
.enquiry__submit:focus-visible { outline: 3px solid var(--ink); outline-offset: -7px; }
.enquiry__submit:disabled { opacity: .6; cursor: wait; }
.enquiry__status { margin: 0; font-size: var(--lead); line-height: 1.4; font-weight: 600; min-height: 1.5em; max-width: 680px; }
.enquiry__preview-note { margin: 0; padding: 12px 16px; border-left: 4px solid var(--lime); background: var(--white); font-size: var(--small); }
.form-aside > * + * { margin-top: 22px; }

/* start lights (b.js): five lamps above the send button; all lit → lights out → button goes lime */
.lights { display: flex; gap: 10px; margin: 8px 0 18px; }
.lights i { width: 26px; height: 26px; border-radius: 50%; background: #2a2b27; box-shadow: inset 0 0 0 3px #111; transition: background-color .15s, box-shadow .15s; }
.lights i.is-on, .lights.is-armed i { background: #E0261B; box-shadow: inset 0 0 0 3px #111, 0 0 14px rgba(224, 38, 27, .7); }
.lights.is-go i { background: #2a2b27; box-shadow: inset 0 0 0 3px #111; }
.lights.is-go i:last-child::after { content: none; }
.enquiry__submit.is-go { background: var(--lime); color: var(--ink); }
.enquiry__submit.is-go::before { background: var(--ink); }
.enquiry__submit.is-go:hover, .enquiry__submit.is-go:focus-visible { color: var(--white); }

/* ------------------------------------------------------------------ footer: grid + the giant wordmark */
.ftr { position: relative; background: var(--ink); color: var(--mute-d); padding-top: clamp(64px, 7vw, 104px); font-size: 15px; line-height: 1.55; overflow: clip; }
.ftr p { max-width: none; }
.ftr__top { text-align: right; margin-bottom: 40px; }
.ftr__top a:hover { color: var(--white); }
.ftr__grid { display: grid; grid-template-columns: 280px repeat(3, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; border-top: 1px solid var(--rule-d); padding-top: 48px; }
.ftr__lockup .descriptor { width: 260px; height: auto; }
.ftr__company { color: var(--white); font-weight: 700; }
.ftr__col > * + * { margin-top: 12px; }
.ftr__col li + li { margin-top: 8px; }
.ftr a { color: var(--mute-d); transition: color .2s; }
.ftr a:hover, .ftr a:focus-visible { color: var(--lime); }
.ftr__address { font-style: normal; }
.ftr__address p + p { margin-top: 10px; }
.ftr__big { margin-top: clamp(56px, 7vw, 96px); padding-inline: var(--side); margin-bottom: -1.2vw; }
.ftr__big svg { width: 100%; height: auto; }
.ftr__big svg path { fill: #1A1A1A !important; }
.ftr__big svg path[data-stop] { fill: var(--lime) !important; }
@media (max-width: 1023px) { .ftr__grid { grid-template-columns: 1fr 1fr; } .ftr__lockup { grid-column: 1 / 3; } }
@media (max-width: 767px) { .ftr__grid { grid-template-columns: 1fr; } .ftr__lockup { grid-column: auto; } .ftr__lockup .descriptor { width: 200px; } }

/* ------------------------------------------------------------------ small answers to the pointer */
@media (hover: hover) {
  .spread__machine img { transition: transform .6s var(--ease); }
  .spread__card:hover .spread__machine img { transform: translateY(-8px) scale(1.03); }
  .reel .frame img { transition: transform .8s var(--ease); }
  .reel .frame:hover img { transform: scale(1.06); }
  .deck__card .frame img { transition: filter .6s var(--ease); }
  .deck__card:hover .frame img { filter: saturate(1.12) contrast(1.04); }
}

/* ------------------------------------------------------------------ pre-animation states (only while GSAP runs) */
html.b-motion [data-rise] { opacity: 0; transform: translateY(40px); }
html.b-motion .hero__main .lead, html.b-motion .hero__main .btn-row, html.b-motion .hero__main > p:last-child { opacity: 0; }
html.b-motion [data-split] { visibility: hidden; }
html.b-motion [data-split].is-split { visibility: visible; }

/* ------------------------------------------------------------------ reduced motion: final state, no transitions */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { transition-duration: 0s !important; animation-duration: 0s !important; }
  .slides img:not(:first-child), .slides video { display: none; }
  .slides img:first-child { opacity: 1; }
}

/* the Business Club lockup overlaid on its photograph (home club section, Jeff 29 Sep) */
.club__media { position: relative; }
.club__badge { position: absolute; left: clamp(16px, 2.4vw, 36px); bottom: clamp(16px, 2.4vw, 36px); z-index: 2; width: clamp(150px, 16vw, 250px); pointer-events: none; }
.club__badge svg { width: 100%; height: auto; display: block; filter: drop-shadow(0 6px 18px rgba(0,0,0,.55)); }
.club__media .frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, rgba(10,10,10,.55), rgba(10,10,10,0) 45%); pointer-events: none; }

/* v-C lead fixes (13 Oct): phone-menu CTA was white-on-lime with no padding */
.js .site-nav.is-open li.site-nav__cta-row a.btn,
.js .site-nav.is-open li.site-nav__cta-row a.btn .stop { color: var(--ink) !important; }
.js .site-nav.is-open li.site-nav__cta-row a.btn { display: inline-flex; padding: 14px 22px !important; background: var(--lime) !important; }

/* ---- src/css/parts/404.css ---- */
/* /404 — page-scoped additions to b.css (option B).
   The route rows read as big display links: a lime bar wipes in under the hovered row (no arrows). */
/* the rear-arch photo carries big decal lettering right where the headline sits: a deeper left shade
   keeps the photograph's words from reading into the headline */
body[data-page="404"] .hero__shade { background:
  linear-gradient(to right, rgba(10,10,10,.92) 0%, rgba(10,10,10,.9) 58%, rgba(10,10,10,.5) 74%, rgba(10,10,10,.12) 90%),
  linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.35) 30%, rgba(10,10,10,0) 55%),
  linear-gradient(to bottom, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 22%); }
body[data-page="404"] .hero__media img { --pos: 0% 50%; }
@media (max-width: 767px) { body[data-page="404"] .hero__media img { --pos: 16% 50%; } }
@media (max-width: 767px) { body[data-page="404"] .hero__shade { background: linear-gradient(to top, rgba(10,10,10,.94) 0%, rgba(10,10,10,.7) 50%, rgba(10,10,10,.45) 100%); } }
body[data-page="404"] .route-rows > * { padding-block: 0; }
body[data-page="404"] .route-rows a { position: relative; display: block; padding-block: clamp(16px, 1.6vw, 22px); font-family: var(--f-display); font-size: clamp(24px, 1vw + 18px, 34px); line-height: 1.1; text-decoration: none; }
body[data-page="404"] .route-rows a::after { content: ""; position: absolute; left: 0; bottom: -1px; height: 4px; width: 100%; background: var(--lime); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--ease); }
body[data-page="404"] .route-rows a:hover::after, body[data-page="404"] .route-rows a:focus-visible::after { transform: scaleX(1); }
body[data-page="404"] .route-rows a:focus-visible { outline-offset: 4px; }
body[data-page="404"] .cols > .c-side { font-weight: 500; }

/* ---- src/css/parts/accountability.css ---- */
/* /accountability — version C (PAGES-C.md §4). Three artefacts in B's language (DESIGN-B.md):
   THE FAN-OUT (six warm-white chamfered sheets that fan out like a hand of cards), the pitfalls (numbered rows
   on paper + a white closing panel) and THE DASH (the steering-wheel display, moved from How we work; its
   .hww-dash* class names are kept, page-scoped by the prefix).
   Base rules = the finished static page (no JS / reduced motion): the sheets in a 3×2 grid with their lines
   beneath (≥1024), a loose pile down the page (<1024); the dash as four compact panels. The pinned states
   only exist under .is-fanned / .is-pinned, which parts/accountability.js sets on desktop with motion on.
   Every artefact is aria-hidden (the sentences beside them say what they are). */

body[data-page="accountability"] {
  --sheet: #FDFDFB;
  --sheet-rule: #E4E4DE;
}

/* ------------------------------------------------------------ artefact section head + the "Illustrative" note */
body[data-page="accountability"] .acc-report__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 24px; align-items: end; margin-bottom: clamp(40px, 5vw, 72px); }
body[data-page="accountability"] .acc-report__head h2 { grid-column: 1 / 7; }
body[data-page="accountability"] .acc-report__head p { grid-column: 7 / 13; color: #D6D6D1; }
@media (max-width: 1023px) { body[data-page="accountability"] .acc-report__head h2, body[data-page="accountability"] .acc-report__head p { grid-column: 1 / -1; } }
body[data-page="accountability"] .acc-note { margin-top: 28px; font: 600 15px/1.3 var(--f-fig); color: var(--mute-d); display: flex; align-items: center; gap: 10px; }
body[data-page="accountability"] .acc-note::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }

/* ------------------------------------------------------------ the sheets (shared .doc look) */
body[data-page="accountability"] .report-mark { width: 118px; height: auto; }
body[data-page="accountability"] .doc { background: var(--sheet); color: var(--ink); padding: clamp(22px, 2vw, 30px) clamp(20px, 1.8vw, 28px) clamp(24px, 2.2vw, 32px); font-size: 14px; line-height: 1.45;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="accountability"] .doc > * + * { margin-top: 14px; }
body[data-page="accountability"] .doc p { max-width: none; }
body[data-page="accountability"] .doc-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
body[data-page="accountability"] .doc-hd .report-mark { width: 96px; flex: 0 1 auto; min-width: 0; }
body[data-page="accountability"] .doc-kind { font: 700 13px/1.1 var(--f-fig); letter-spacing: .06em; padding: 5px 8px 4px; background: var(--ink); color: var(--lime); white-space: nowrap; }
body[data-page="accountability"] .doc-title { font-family: var(--f-display); font-size: clamp(21px, .5vw + 16px, 25px); line-height: 1.08; letter-spacing: -.01em; margin-top: 18px; }
body[data-page="accountability"] .doc-title::before { content: ""; display: block; width: 26px; height: 5px; margin-bottom: 12px; background: var(--ink); box-shadow: 14px 0 0 0 var(--lime); }
body[data-page="accountability"] .doc-meta { font: 600 13.5px/1.35 var(--f-fig); color: var(--mute-l); }
body[data-page="accountability"] .doc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.35; }
body[data-page="accountability"] .doc-table td { padding: 8px 10px 8px 0; border-top: 1px solid var(--sheet-rule); vertical-align: top; }
body[data-page="accountability"] .doc-table tr:last-child td { border-bottom: 1px solid var(--sheet-rule); }
body[data-page="accountability"] .doc-table td:last-child { padding-right: 0; text-align: right; width: 1%; white-space: nowrap; }
body[data-page="accountability"] .doc-redact { display: inline-block; width: 44px; height: 12px; background: var(--ink); vertical-align: middle; }
body[data-page="accountability"] .doc-line { height: 1px; background: var(--sheet-rule); border: 0; margin: 16px 0 0; }

/* sheet contents */
body[data-page="accountability"] .fan__sign { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: auto !important; padding-top: 18px; }
body[data-page="accountability"] .fan__sign span { height: 2px; background: var(--ink); position: relative; }
body[data-page="accountability"] .fan__sign span:first-child::after { content: ""; position: absolute; left: 0; top: 0; width: 14px; height: 2px; background: var(--lime); }
body[data-page="accountability"] .fan__thumbs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; }
body[data-page="accountability"] .fan__thumbs .frame { display: block; aspect-ratio: 3 / 4; background: var(--tarmac); }
body[data-page="accountability"] .fan__thumbs img { width: 100%; height: 100%; object-fit: cover; }
/* the guest pass, drawn small: lime band, two rows, a barcode */
body[data-page="accountability"] .fan__pass { position: relative; width: 78%; margin-inline: auto; margin-top: 18px !important; background: var(--white); box-shadow: 0 0 0 1px var(--sheet-rule), 0 10px 18px rgba(10,10,10,.12); padding-bottom: 14px;
  clip-path: polygon(0 0, calc(100% - 14px) 0, 100% 14px, 100% 100%, 0 100%); }
body[data-page="accountability"] .fan__pass::before { content: ""; display: block; width: 28%; height: 6px; margin: 10px auto 0; background: var(--ink); }
body[data-page="accountability"] .fan__pass-band { position: relative; margin-top: 12px; background: var(--lime); padding: 10px 14px 8px; overflow: hidden; }
body[data-page="accountability"] .fan__pass-band::after { content: ""; position: absolute; right: -8px; top: 0; bottom: 0; width: 34%; background: repeating-linear-gradient(-62deg, rgba(10,10,10,.12) 0 3px, transparent 0 9px); }
body[data-page="accountability"] .fan__pass-band p { font-family: var(--f-display); font-size: clamp(22px, 1vw + 14px, 28px); line-height: 1; color: var(--ink); }
body[data-page="accountability"] .fan__pass-row { display: flex; align-items: center; gap: 8px; margin: 10px 14px 0 !important; font: 600 13px/1.2 var(--f-fig); color: var(--ink); }
body[data-page="accountability"] .fan__pass-row i { width: 8px; height: 8px; background: var(--ink); flex: 0 0 auto; }
body[data-page="accountability"] .fan__pass-bars { display: block; height: 16px; margin: 12px 14px 0; background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 8px, var(--ink) 8px 11px, transparent 11px 13px); }
/* the introduction: two members joined by a lime rule */
body[data-page="accountability"] .fan__match { display: grid; justify-items: start; gap: 0; margin-top: 18px !important; }
body[data-page="accountability"] .fan__who { display: flex; align-items: center; gap: 10px; width: 100%; background: var(--ink); color: var(--white); padding: 10px 12px; font: 700 13.5px/1.25 var(--f-body); }
body[data-page="accountability"] .fan__who i { width: 18px; height: 18px; background: var(--tarmac); flex: 0 0 auto; position: relative; }
body[data-page="accountability"] .fan__who i::after { content: ""; position: absolute; right: 0; top: 0; width: 7px; height: 7px; background: var(--lime); }
body[data-page="accountability"] .fan__link { display: block; width: 4px; height: 30px; margin-left: 19px; background: var(--lime); box-shadow: 0 0 0 1px var(--ink); }

/* ============================================================ THE FAN-OUT */
body[data-page="accountability"] .acc-fan { overflow: clip; }
body[data-page="accountability"] .fan__line { font-size: clamp(16px, .2vw + 15px, 18px); line-height: 1.45; color: #D6D6D1; max-width: 40ch; }
body[data-page="accountability"] .fan__line strong { display: block; color: var(--white); font-family: var(--f-display); font-weight: 400; font-size: clamp(19px, .4vw + 16px, 22px); line-height: 1.15; margin-bottom: 6px; }
body[data-page="accountability"] .fan__line::before { content: ""; display: block; width: 24px; height: 4px; margin-bottom: 14px; background: var(--lime); }
body[data-page="accountability"] .fan__card { filter: drop-shadow(0 24px 28px rgba(0, 0, 0, .55)); }
body[data-page="accountability"] .fan__sheet { display: flex; flex-direction: column; aspect-ratio: 1 / 1.3; overflow: hidden; }

/* static ≥1024: a 3×2 grid, each sheet above its line, laid slightly askew */
@media (min-width: 1024px) {
  body[data-page="accountability"] .fan { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(48px, 5vw, 80px) var(--gap); }
  body[data-page="accountability"] .fan__item { display: grid; grid-template-rows: auto 1fr; gap: 28px; }
  body[data-page="accountability"] .fan__card { width: min(100%, 360px); }
  body[data-page="accountability"] .fan__item:nth-child(odd) .fan__card { transform: rotate(-1.2deg); }
  body[data-page="accountability"] .fan__item:nth-child(even) .fan__card { transform: rotate(1deg); }
}
/* <1024: a loose pile down the page, each sheet at the left with its line beside it */
@media (max-width: 1023px) {
  body[data-page="accountability"] .fan { display: grid; gap: 0; }
  body[data-page="accountability"] .fan__item { display: grid; grid-template-columns: 160px minmax(0, 1fr); column-gap: clamp(18px, 4vw, 36px); align-items: center; }
  body[data-page="accountability"] .fan__item + .fan__item { margin-top: -24px; }
  body[data-page="accountability"] .fan__item:nth-child(odd) .fan__card { transform: rotate(-3deg); }
  body[data-page="accountability"] .fan__item:nth-child(even) .fan__card { transform: rotate(3deg); }
  body[data-page="accountability"] .fan__item:nth-child(n) .fan__card { position: relative; z-index: 1; }
  body[data-page="accountability"] .fan__line { padding-block: 40px; }
  /* the sheets are small here: tighten their type (artefact words never below 13px except the tiny sheet labels) */
  body[data-page="accountability"] .fan__sheet { padding: 12px 11px 12px; font-size: 11px; --cut: 16px; }
  body[data-page="accountability"] .fan__sheet > * + * { margin-top: 7px; }
  body[data-page="accountability"] .fan__sheet .doc-hd { padding-bottom: 6px; gap: 6px; }
  body[data-page="accountability"] .fan__sheet .report-mark { width: 52px; }
  body[data-page="accountability"] .fan__sheet .doc-kind { font-size: 8px; padding: 3px 4px 2px; }
  body[data-page="accountability"] .fan__sheet .doc-title { font-size: 12.5px; margin-top: 8px; }
  body[data-page="accountability"] .fan__sheet .doc-title::before { width: 14px; height: 3px; margin-bottom: 6px; box-shadow: 8px 0 0 0 var(--lime); }
  body[data-page="accountability"] .fan__sheet .doc-meta { font-size: 8.5px; }
  body[data-page="accountability"] .fan__sheet .doc-line { margin-top: 8px; }
  body[data-page="accountability"] .fan__sheet .doc-table { font-size: 8px; }
  body[data-page="accountability"] .fan__sheet .doc-table td { padding: 4px 4px 4px 0; }
  body[data-page="accountability"] .fan__sheet .doc-redact { width: 18px; height: 7px; }
  body[data-page="accountability"] .fan__sheet .fan__thumbs { gap: 3px; }
  body[data-page="accountability"] .fan__sheet .fan__pass { margin-top: 8px !important; padding-bottom: 7px; clip-path: polygon(0 0, calc(100% - 8px) 0, 100% 8px, 100% 100%, 0 100%); }
  body[data-page="accountability"] .fan__sheet .fan__pass::before { height: 3px; margin-top: 5px; }
  body[data-page="accountability"] .fan__sheet .fan__pass-band { margin-top: 6px; padding: 5px 7px 4px; }
  body[data-page="accountability"] .fan__sheet .fan__pass-band p { font-size: 13px; }
  body[data-page="accountability"] .fan__sheet .fan__pass-row { margin: 5px 7px 0 !important; font-size: 7.5px; gap: 4px; }
  body[data-page="accountability"] .fan__sheet .fan__pass-row i { width: 5px; height: 5px; }
  body[data-page="accountability"] .fan__sheet .fan__pass-bars { height: 8px; margin: 6px 7px 0; }
  body[data-page="accountability"] .fan__sheet .fan__match { margin-top: 8px !important; }
  body[data-page="accountability"] .fan__sheet .fan__who { font-size: 8px; padding: 5px 6px; gap: 5px; }
  body[data-page="accountability"] .fan__sheet .fan__who i { width: 9px; height: 9px; }
  body[data-page="accountability"] .fan__sheet .fan__who i::after { width: 4px; height: 4px; }
  body[data-page="accountability"] .fan__sheet .fan__link { height: 14px; width: 3px; margin-left: 9px; }
  body[data-page="accountability"] .fan__sheet .fan__sign { padding-top: 8px; gap: 8px; }
}
@media (max-width: 479px) {
  body[data-page="accountability"] .fan__item { grid-template-columns: 128px minmax(0, 1fr); column-gap: 18px; }
  body[data-page="accountability"] .fan__line { padding-block: 30px; font-size: 16px; }
  body[data-page="accountability"] .fan__line strong { font-size: 19px; }
  body[data-page="accountability"] .fan__sheet .report-mark { width: 40px; }
  body[data-page="accountability"] .fan__sheet .doc-kind { font-size: 7px; }
  body[data-page="accountability"] .fan__sheet .doc-title { font-size: 11px; }
}

/* ---- fanned: the pinned desktop hand (JS adds .is-fanned inside a (min-width:1024px) matchMedia and sets
   --card-h / --lines-h from the measured stage) */
@media (min-width: 1024px) {
  body[data-page="accountability"] .acc-fan.is-fanned { padding-block: 0; }
  body[data-page="accountability"] .acc-fan.is-fanned .acc-fan__pin { height: 100svh; display: flex; flex-direction: column; padding: calc(76px + clamp(20px, 3svh, 36px)) 0 clamp(16px, 2.4svh, 28px); }
  body[data-page="accountability"] .acc-fan.is-fanned .acc-fan__wrap { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
  body[data-page="accountability"] .acc-fan.is-fanned .acc-report__head { margin-bottom: clamp(12px, 2svh, 24px); }
  body[data-page="accountability"] .acc-fan.is-fanned .acc-report__head h2 { font-size: clamp(32px, min(1.6vw + 18px, 5.4svh), 52px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan { flex: 1 1 auto; min-height: 0; position: relative; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 0; align-items: start; align-content: end; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__item { display: block; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__card { position: absolute; left: 50%; bottom: var(--card-bottom, 240px); width: calc(var(--card-h, 360px) / 1.3); height: var(--card-h, 360px); margin-left: calc(var(--card-h, 360px) / -2.6); transform-origin: 50% 118%; will-change: transform; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet { height: 100%; aspect-ratio: auto; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__line { font-size: clamp(14px, .3vw + 11px, 16px); max-width: none; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__line strong { font-size: clamp(16px, .4vw + 11px, 20px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__line::before { margin-bottom: 10px; }
  body[data-page="accountability"] .acc-fan.is-fanned .acc-note { margin-top: 12px; }
  /* the sheets scale with the measured card height (≈ 280–500px tall) */
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet { --s: calc(var(--card-h, 360px) / 460px); padding: calc(var(--s) * 26px) calc(var(--s) * 22px); font-size: max(10px, calc(var(--s) * 14px)); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet > * + * { margin-top: calc(var(--s) * 12px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-hd { padding-bottom: calc(var(--s) * 10px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .report-mark { width: calc(var(--s) * 92px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-kind { font-size: max(9px, calc(var(--s) * 12.5px)); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-title { font-size: calc(var(--s) * 23px); margin-top: calc(var(--s) * 16px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-meta,
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-table,
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .fan__pass-row,
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .fan__who { font-size: max(9.5px, calc(var(--s) * 13px)); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-table td { padding-block: calc(var(--s) * 7px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .doc-redact { width: calc(var(--s) * 40px); height: calc(var(--s) * 11px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .fan__pass-band p { font-size: calc(var(--s) * 26px); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet .fan__link { height: calc(var(--s) * 28px); }
}
/* hovering a sheet in the hand lifts it */
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
  body[data-page="accountability"] .acc-fan.is-fanned .fan__sheet { transition: transform 320ms var(--ease); }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__card:hover { z-index: 20 !important; }
  body[data-page="accountability"] .acc-fan.is-fanned .fan__card:hover .fan__sheet { transform: translateY(-16px) scale(1.04); }
}

/* ============================================================ THE PITFALLS: numbered rows on paper */
body[data-page="accountability"] .acc-pit { overflow: clip; }
body[data-page="accountability"] .acc-pit .wrap { position: relative; z-index: 1; }
body[data-page="accountability"] .acc-pit__livery { position: absolute; right: -4vw; bottom: calc(var(--sec) * -.1); z-index: 0; }
body[data-page="accountability"] .acc-pit__intro { margin-top: 24px; font-size: var(--lead); line-height: 1.45; color: #2B2B28; }
body[data-page="accountability"] .acc-pit__list > li { grid-template-columns: 112px minmax(0, 1fr); padding-block: 26px; }
body[data-page="accountability"] .acc-pit__list p { color: #3A3A37; font-size: clamp(17px, .25vw + 16px, 20px); }
body[data-page="accountability"] .acc-pit__list strong { display: block; color: var(--ink); font-family: var(--f-display); font-weight: 400; font-size: var(--h3); line-height: 1.15; margin-bottom: 8px; }
body[data-page="accountability"] .acc-pit__close { margin-top: clamp(28px, 3vw, 44px); }
/* R2: three parts — the pull line (with its own lime tick), the why (two phrases in lead-foot highlight boxes), the standard */
body[data-page="accountability"] .acc-pit__close p { max-width: none; }
body[data-page="accountability"] .acc-pit__pull { font-family: var(--f-display); font-weight: 400; font-size: var(--h3); line-height: 1.18; letter-spacing: -.005em; color: var(--ink); max-width: 30ch !important; }
body[data-page="accountability"] .acc-pit__why { margin-top: 22px; font-size: var(--lead); line-height: 1.5; font-weight: 500; color: #2B2B28; max-width: 60ch !important; }
body[data-page="accountability"] .acc-pit__why .hl { background: linear-gradient(var(--lime), var(--lime)) left center / var(--hl, 100%) 100% no-repeat; color: var(--ink); padding: .05em .3em; font-weight: 700;
  box-decoration-break: clone; -webkit-box-decoration-break: clone; transition: background-size .9s var(--ease); }
html.b-motion body[data-page="accountability"] .acc-pit__why .hl { --hl: 0%; }
html.b-motion body[data-page="accountability"] .acc-pit__why .hl.is-on { --hl: 100%; }
body[data-page="accountability"] .acc-pit__why .hl:nth-of-type(2) { transition-delay: .3s; }
body[data-page="accountability"] .acc-pit__std { margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--rule-l); font-size: 17px; line-height: 1.5; color: #3A3A37; }
body[data-page="accountability"] .acc-pit__close::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 6px; background: var(--ink); }
body[data-page="accountability"] .acc-pit__close::after { content: ""; position: absolute; left: 0; top: 0; width: 6px; height: 36%; background: var(--lime); }
@media (max-width: 1023px) { body[data-page="accountability"] .acc-pit .cols > .c-side, body[data-page="accountability"] .acc-pit .cols > .c-main { grid-column: 1 / -1; } }
@media (max-width: 767px) { body[data-page="accountability"] .acc-pit__list > li { grid-template-columns: 1fr; } }

/* ============================================================ THE DASH (moved from How we work) */
body[data-page="accountability"] .hww-dash { --led-g: #35E06A; --led-a: #FFB21E; --led-r: #FF3B2F; --led-l: var(--lime); overflow: clip; padding-top: var(--sec); }
body[data-page="accountability"] .hww-dash__pin { padding-bottom: var(--sec); }
body[data-page="accountability"] .hww-dash__h { margin-bottom: clamp(32px, 4vw, 56px); }
/* carbon fibre: a 2×2 twill in near-blacks, a soft sheen across it */
body[data-page="accountability"] .hww-dash__unit,
body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__step {
  position: relative; isolation: isolate;
  background:
    linear-gradient(115deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,0) 28%, rgba(255,255,255,0) 62%, rgba(255,255,255,.045) 78%, rgba(255,255,255,0) 92%),
    linear-gradient(27deg, #1a1a1a 5px, transparent 5px) 0 5px / 20px 20px,
    linear-gradient(207deg, #1a1a1a 5px, transparent 5px) 10px 0 / 20px 20px,
    linear-gradient(27deg, #2a2a2a 5px, transparent 5px) 0 10px / 20px 20px,
    linear-gradient(207deg, #2a2a2a 5px, transparent 5px) 10px 5px / 20px 20px,
    linear-gradient(90deg, #202020 10px, transparent 10px) 0 0 / 20px 20px,
    linear-gradient(#232323 25%, #1e1e1e 25%, #1e1e1e 50%, transparent 50%, transparent 75%, #2c2c2c 75%, #2c2c2c) 0 0 / 20px 20px,
    #161616;
  /* the bezel: chamfered top corners like a wheel display, small cuts below */
  clip-path: polygon(var(--bz, 36px) 0, calc(100% - var(--bz, 36px)) 0, 100% var(--bz, 36px), 100% calc(100% - 12px), calc(100% - 12px) 100%, 12px 100%, 0 calc(100% - 12px), 0 var(--bz, 36px));
}
/* the screen, set into the housing with a thin rim */
body[data-page="accountability"] .hww-dash__unit::before,
body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__step::before {
  content: ""; position: absolute; inset: var(--rim, 14px); z-index: -1; background: radial-gradient(120% 90% at 30% 0%, #121311 0%, #070707 60%);
  box-shadow: inset 0 0 0 1px #2E2F2B;
  clip-path: polygon(calc(var(--bz, 36px) - 8px) 0, calc(100% - var(--bz, 36px) + 8px) 0, 100% calc(var(--bz, 36px) - 8px), 100% calc(100% - 6px), calc(100% - 6px) 100%, 6px 100%, 0 calc(100% - 6px), 0 calc(var(--bz, 36px) - 8px));
}
/* the shift lights */
body[data-page="accountability"] .hww-dash__leds { display: grid; grid-template-columns: repeat(15, minmax(0, 1fr)); gap: 5px; padding: 6px 4px; }
body[data-page="accountability"] .hww-dash__leds i { display: block; height: 12px; background: rgba(var(--c), .12); box-shadow: inset 0 0 0 1px rgba(var(--c), .22); transition: background-color .12s linear, box-shadow .12s linear; }
body[data-page="accountability"] .hww-dash__leds i:nth-child(5), body[data-page="accountability"] .hww-dash__leds i:nth-child(9), body[data-page="accountability"] .hww-dash__leds i:nth-child(13) { margin-left: 5px; }
body[data-page="accountability"] .hww-dash__leds .g { --c: 53,224,106; }
body[data-page="accountability"] .hww-dash__leds .a { --c: 255,178,30; }
body[data-page="accountability"] .hww-dash__leds .r { --c: 255,59,47; }
body[data-page="accountability"] .hww-dash__leds .l { --c: 223,252,96; }
body[data-page="accountability"] .hww-dash__leds i.on { background: linear-gradient(rgba(255,255,255,.45), rgba(255,255,255,0) 55%), rgb(var(--c)); box-shadow: 0 0 10px 1px rgba(var(--c), .75), 0 0 26px 2px rgba(var(--c), .35), inset 0 0 0 1px rgba(255,255,255,.3); }

/* the huge outlined gear numeral */
body[data-page="accountability"] .hww-dash__n,
body[data-page="accountability"] .hww-dash__roll b { font-family: var(--f-fig); font-weight: 700; line-height: 1; color: transparent; -webkit-text-stroke: 2px var(--lime); font-variant-numeric: tabular-nums; }
body[data-page="accountability"] .hww-dash__text h3 { font-size: clamp(26px, .9vw + 19px, 36px); line-height: 1.06; max-width: 18ch; color: var(--white); }
body[data-page="accountability"] .hww-dash__text h3.tick::before { margin-bottom: 16px; }
body[data-page="accountability"] .hww-dash__text p { margin-top: 18px; color: #D0D0CB; font-size: clamp(17px, .15vw + 16px, 19px); line-height: 1.52; }
body[data-page="accountability"] .hww-dash__text a { color: var(--white); }

/* --- four compact dash panels (phones, and any screen without the pin) --- */
body[data-page="accountability"] .hww-dash__leds--main, body[data-page="accountability"] .hww-dash__gear { display: none; }
body[data-page="accountability"] .hww-dash__steps { display: grid; gap: clamp(16px, 2vw, 28px); }
body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__step { --bz: 22px; --rim: 9px; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: clamp(18px, 2.4vw, 32px); row-gap: 16px; padding: 24px clamp(22px, 2.6vw, 34px) 30px; }
body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__step .hww-dash__leds { grid-column: 1 / -1; padding-inline: 12px; }
body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__n { font-size: clamp(88px, 7vw, 132px); margin-top: -6px; }
@media (min-width: 1024px) {
  body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__step { grid-template-columns: 1fr; row-gap: 10px; padding: 20px 20px 26px; }
  body[data-page="accountability"] .hww-dash:not(.is-pinned) .hww-dash__n { font-size: 84px; }
  body[data-page="accountability"] .hww-dash__leds { gap: 3px; }
  body[data-page="accountability"] .hww-dash__leds i:nth-child(5), body[data-page="accountability"] .hww-dash__leds i:nth-child(9), body[data-page="accountability"] .hww-dash__leds i:nth-child(13) { margin-left: 3px; }
  body[data-page="accountability"] .hww-dash__leds i { height: 10px; }
}

/* --- one display, pinned (desktop with motion); the section heading sits above the unit --- */
@media (min-width: 1024px) {
  body[data-page="accountability"] .hww-dash.is-pinned { padding-top: 0; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__pin { height: 100svh; display: flex; flex-direction: column; padding: calc(76px + clamp(16px, 2.6svh, 32px)) 0 clamp(16px, 2.4svh, 28px); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__wrap { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__h { margin-bottom: clamp(14px, 2.2svh, 28px); font-size: clamp(32px, min(1.6vw + 18px, 5.4svh), 52px); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__unit { --bz: 56px; --rim: 24px; flex: 1 1 auto; min-height: 0; max-height: 720px; display: grid; grid-template-columns: minmax(0, 38%) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); column-gap: clamp(24px, 3vw, 56px); padding: clamp(28px, 4svh, 44px) clamp(56px, 5.4vw, 88px) clamp(32px, 4.6svh, 52px); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__leds--main { display: grid; grid-column: 1 / -1; gap: 8px; padding: 4px 0 0; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__leds--main i { height: clamp(14px, 2.2svh, 24px); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__leds--main i:nth-child(5), body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__leds--main i:nth-child(9), body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__leds--main i:nth-child(13) { margin-left: 10px; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__gear { --gs: min(42svh, 25vw, 440px); display: block; grid-column: 1; grid-row: 2; align-self: center; justify-self: center; height: var(--gs); overflow: hidden; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__roll { display: block; will-change: transform; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__roll b { display: block; height: var(--gs); font-size: var(--gs); line-height: var(--gs); text-align: center; -webkit-text-stroke-width: 3px; filter: drop-shadow(0 0 18px rgba(223,252,96,.18)); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__steps { grid-column: 2; grid-row: 2; align-self: center; display: grid; gap: 0; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__step { grid-area: 1 / 1; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__step:not(:first-child) { opacity: 0; visibility: hidden; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__step > .hww-dash__leds, body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__step > .hww-dash__n { display: none; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__text h3 { font-size: clamp(30px, 1.3vw + 18px, 46px); }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__text p { max-width: 52ch; }
  /* a divider between the gear and the words, like the screen's own frame */
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__steps { border-left: 1px solid #2E2F2B; padding: 8px 0 8px clamp(28px, 3vw, 56px); }
}
@media (min-width: 1024px) and (max-height: 820px) {
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__text p { font-size: 16.5px; line-height: 1.48; }
  body[data-page="accountability"] .hww-dash.is-pinned .hww-dash__text h3 { font-size: clamp(26px, 1vw + 18px, 36px); }
}

/* ------------------------------------------------------------ close band: the F4 is long and low; keep it clear of the words */
@media (min-width: 1024px) { body[data-page="accountability"] .close__machine { bottom: auto; top: calc(min(46vw, 640px) / -1.98 * .55); } }

/* ---- src/css/parts/already-backing-a-driver.css ---- */
/* /already-backing-a-driver — version C (PAGES-C.md §5): hero with its words across the top and the car left
   clear below; an editorial spread; the split-flap pit board, now on a paper ground (the season strip moved
   to /coverage). Without motion each of the seven items carries its own finished board. */

/* ------------------------------------------------------------ HERO: words across the top, the car below */
body[data-page="already-backing-a-driver"] .ab-hero { min-height: min(92svh, 860px); justify-content: flex-start; }
body[data-page="already-backing-a-driver"] .ab-hero .hero__shade { background:
  linear-gradient(to bottom, rgba(10,10,10,.9) 0%, rgba(10,10,10,.74) 30%, rgba(10,10,10,.2) 52%, rgba(10,10,10,0) 64%),
  linear-gradient(to top, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 18%); }
body[data-page="already-backing-a-driver"] .ab-hero .hero__body { padding-top: calc(var(--hdr-h) + clamp(36px, 4vw, 64px)); padding-bottom: 0; }
body[data-page="already-backing-a-driver"] .ab-hero .hero__main { max-width: none; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 22px; align-items: end; }
body[data-page="already-backing-a-driver"] .ab-hero .hero__main > * + * { margin-top: 0; }
body[data-page="already-backing-a-driver"] .ab-hero h1 { grid-column: 1 / 8; grid-row: 1 / 3; max-width: 12ch; font-size: clamp(44px, 3.6vw + 26px, 92px); align-self: start; }
body[data-page="already-backing-a-driver"] .ab-hero .lead { grid-column: 8 / 13; grid-row: 1; font-size: clamp(18px, .25vw + 16px, 21px); padding-top: .4em; border-top: 2px solid var(--lime); }
body[data-page="already-backing-a-driver"] .ab-hero .btn-row { grid-column: 8 / 13; grid-row: 2; align-self: start; }
@media (max-width: 1023px) {
  body[data-page="already-backing-a-driver"] .ab-hero { min-height: max(94svh, 700px); }
  body[data-page="already-backing-a-driver"] .ab-hero h1, body[data-page="already-backing-a-driver"] .ab-hero .lead, body[data-page="already-backing-a-driver"] .ab-hero .btn-row { grid-column: 1 / -1; grid-row: auto; }
  body[data-page="already-backing-a-driver"] .ab-hero .lead { max-width: 46ch; }
  body[data-page="already-backing-a-driver"] .ab-hero .hero__shade { background: linear-gradient(to bottom, rgba(10,10,10,.9) 0%, rgba(10,10,10,.8) 45%, rgba(10,10,10,.2) 66%, rgba(10,10,10,0) 76%); }
}
@media (max-width: 767px) { body[data-page="already-backing-a-driver"] .ab-hero .hero__media img { object-position: 60% 100% !important; } }

/* ------------------------------------------------------------ EDITORIAL: heading across, a staggered pair of paragraphs */
body[data-page="already-backing-a-driver"] .ab-start { overflow: clip; }
body[data-page="already-backing-a-driver"] .ab-start__livery { position: absolute; left: 0; bottom: calc(var(--sec) * -.12); z-index: 0; }
body[data-page="already-backing-a-driver"] .ab-start__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(28px, 3vw, 44px); }
body[data-page="already-backing-a-driver"] .ab-start h2 { grid-column: 1 / 9; max-width: 16ch; font-size: clamp(38px, 2.6vw + 26px, 68px); }
body[data-page="already-backing-a-driver"] .ab-start__a { grid-column: 1 / 7; font-size: clamp(20px, .5vw + 16px, 24px); line-height: 1.45; font-weight: 500; }
body[data-page="already-backing-a-driver"] .ab-start__b { grid-column: 7 / 13; margin-top: clamp(0px, 7vw, 120px); padding-left: clamp(0px, 2vw, 32px); border-left: 2px solid var(--ink); }
@media (max-width: 1023px) {
  body[data-page="already-backing-a-driver"] .ab-start h2, body[data-page="already-backing-a-driver"] .ab-start__a, body[data-page="already-backing-a-driver"] .ab-start__b { grid-column: 1 / -1; }
  body[data-page="already-backing-a-driver"] .ab-start__b { margin-top: 0; padding-left: 18px; }
}

/* ------------------------------------------------------------ TEXT + PLAIN FRAME */
body[data-page="already-backing-a-driver"] .ab-keep .shot__media .frame { aspect-ratio: 16 / 10; }
body[data-page="already-backing-a-driver"] .ab-keep { overflow-x: clip; }   /* the "your driver" lettering spilled 2px past a 390 screen */

/* ------------------------------------------------------------ SIGNATURE B: THE PIT BOARD */
body[data-page="already-backing-a-driver"] .pit { overflow: clip; }
body[data-page="already-backing-a-driver"] .pit__pin { padding-block: var(--sec); }
body[data-page="already-backing-a-driver"] .pit__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(32px, 3.4vw, 52px); }
body[data-page="already-backing-a-driver"] .pit__h { grid-column: 1 / 9; }
body[data-page="already-backing-a-driver"] .pit__stage { display: none; }
body[data-page="already-backing-a-driver"] .pit__items { grid-column: 1 / -1; display: grid; gap: clamp(56px, 6vw, 96px); }
body[data-page="already-backing-a-driver"] .pit__item { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 24px; align-items: start; }
body[data-page="already-backing-a-driver"] .pit__item > .board { grid-column: 1 / 7; grid-row: 1 / 3; }
body[data-page="already-backing-a-driver"] .pit__photo { grid-column: 7 / 13; aspect-ratio: 3 / 2; }
body[data-page="already-backing-a-driver"] .pit__text { grid-column: 7 / 13; }
body[data-page="already-backing-a-driver"] .pit__text h3 { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
body[data-page="already-backing-a-driver"] .pit__text p { color: #D6D6D1; font-size: clamp(17px, .3vw + 15px, 20px); line-height: 1.5; }
/* version C: the board sits on paper — ink words, a softer shadow under the ink board, the progress bar's
   empty segments a light rule */
body[data-page="already-backing-a-driver"] .pit.g-paper .pit__text p { color: #2B2B28; }
body[data-page="already-backing-a-driver"] .pit.g-paper .board { box-shadow: inset 0 0 0 1px #2A2B27, 0 22px 40px rgba(10,10,10,.22); }
body[data-page="already-backing-a-driver"] .pit.g-paper .pit__bar span { background: var(--rule-l); }
body[data-page="already-backing-a-driver"] .pit__bar { display: none; }

/* the board: an ink board on a pole rail, white slats for the title, lime slats for the number */
body[data-page="already-backing-a-driver"] .board { --cw: clamp(19px, 2.6vw, 40px); --chh: calc(var(--cw) * 1.45); --g: calc(var(--cw) * .1); position: relative; justify-self: start; padding: calc(var(--cw) * .55) calc(var(--cw) * .55) calc(var(--cw) * .6); background: #0F0F0F; border-top: calc(var(--cw) * .2) solid #3B3C38;
  box-shadow: inset 0 0 0 1px #2A2B27, 0 24px 48px rgba(0,0,0,.45);
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="already-backing-a-driver"] .board::before { content: ""; position: absolute; top: calc(var(--cw) * -.2); left: 12%; width: 18%; height: calc(var(--cw) * .2); background: var(--lime); }
body[data-page="already-backing-a-driver"] .board__top { display: flex; align-items: flex-end; gap: calc(var(--cw) * .35); margin-bottom: calc(var(--cw) * .35); }
body[data-page="already-backing-a-driver"] .board__num { display: flex; gap: var(--g); }
body[data-page="already-backing-a-driver"] .board__of { font: 600 calc(var(--cw) * .5)/1 var(--f-fig); color: var(--mute-d); padding-bottom: calc(var(--cw) * .12); }
body[data-page="already-backing-a-driver"] .board__rows { display: grid; gap: calc(var(--g) * 1.4); }
body[data-page="already-backing-a-driver"] .board__row { display: flex; gap: var(--g); }
body[data-page="already-backing-a-driver"] .fl, body[data-page="already-backing-a-driver"] .fx { position: relative; flex: 0 0 auto; width: var(--cw); height: var(--chh); background: linear-gradient(#262723 0 50%, #1E1F1B 50% 100%); color: #F4F4F0; font: 700 calc(var(--cw) * .92)/var(--chh) var(--f-fig); text-align: center; letter-spacing: 0; }
body[data-page="already-backing-a-driver"] .fl b { font-weight: inherit; display: block; }
body[data-page="already-backing-a-driver"] .fl::after, body[data-page="already-backing-a-driver"] .fx::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: max(1px, calc(var(--cw) * .04)); margin-top: max(-.5px, calc(var(--cw) * -.02)); background: #090909; z-index: 5; }
body[data-page="already-backing-a-driver"] .board__num .fl, body[data-page="already-backing-a-driver"] .board__num .fx { background: linear-gradient(#E6FD7A 0 50%, var(--lime) 50% 100%); color: var(--ink); }
/* the flap cell (built by JS): four halves — the top half falls over the bottom */
body[data-page="already-backing-a-driver"] .fx { perspective: calc(var(--cw) * 7); background: none; }
body[data-page="already-backing-a-driver"] .fx > span { position: absolute; left: 0; right: 0; height: 50%; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
body[data-page="already-backing-a-driver"] .fx > span b { position: absolute; left: 0; right: 0; height: var(--chh); font-weight: inherit; }
body[data-page="already-backing-a-driver"] .fx__t, body[data-page="already-backing-a-driver"] .fx__ft { top: 0; background: #262723; }
body[data-page="already-backing-a-driver"] .fx__b, body[data-page="already-backing-a-driver"] .fx__fb { top: 50%; background: #1E1F1B; }
body[data-page="already-backing-a-driver"] .fx__t b, body[data-page="already-backing-a-driver"] .fx__ft b { top: 0; }
body[data-page="already-backing-a-driver"] .fx__b b, body[data-page="already-backing-a-driver"] .fx__fb b { top: -100%; }
body[data-page="already-backing-a-driver"] .fx__ft { transform-origin: 50% 100%; z-index: 3; }
body[data-page="already-backing-a-driver"] .fx__fb { transform-origin: 50% 0; z-index: 3; transform: rotateX(90deg); }
body[data-page="already-backing-a-driver"] .fx__ft::after, body[data-page="already-backing-a-driver"] .fx__fb::after { content: ""; position: absolute; inset: 0; background: #000; opacity: var(--sh, 0); pointer-events: none; }
body[data-page="already-backing-a-driver"] .board__num .fx__t, body[data-page="already-backing-a-driver"] .board__num .fx__ft { background: #E6FD7A; }
body[data-page="already-backing-a-driver"] .board__num .fx__b, body[data-page="already-backing-a-driver"] .board__num .fx__fb { background: var(--lime); }

/* desktop with motion: one big board pinned, the item beside it changes (pit.js adds .is-pinned) */
@media (min-width: 1024px) {
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__pin { min-height: 100svh; padding-block: calc(var(--hdr-h) - 8px) 28px; display: flex; flex-direction: column; justify-content: center; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__grid { row-gap: clamp(24px, 3svh, 40px); align-items: start; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__stage { display: block; grid-column: 1 / 8; grid-row: 2; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__stage .board { --cw: clamp(28px, min(2.95vw, 5.6svh), 46px); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__items { grid-column: 8 / 13; grid-row: 2 / 4; display: grid; gap: 0; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item { grid-area: 1 / 1; display: block; visibility: hidden; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item > .board { display: none; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item .pit__photo { aspect-ratio: auto; height: clamp(170px, 32svh, 380px); clip-path: inset(0 0 0 100%); transition: clip-path .7s var(--ease); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__text p { font-size: clamp(16px, .25vw + 14.5px, 19px); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__h { font-size: clamp(32px, min(1.9vw + 20px, 5.4svh), 56px); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item .pit__text { margin-top: 24px; opacity: 0; transform: translateY(18px); transition: opacity .45s var(--ease), transform .6s var(--ease); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.is-on { visibility: visible; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.is-on .pit__photo { clip-path: inset(0 0 0 0); }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.is-on .pit__text { opacity: 1; transform: none; transition-delay: .12s; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.was-on { visibility: visible; z-index: 0; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.is-on { z-index: 1; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__item.was-on .pit__photo { clip-path: inset(0 0 0 0); transition: none; }
  body[data-page="already-backing-a-driver"] .pit.is-pinned .pit__bar { display: grid; grid-column: 1 / 8; grid-row: 3; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 6px; }
  body[data-page="already-backing-a-driver"] .pit__bar span { position: relative; height: 8px; background: var(--tarmac); overflow: hidden; }
  body[data-page="already-backing-a-driver"] .pit__bar span::after { content: ""; position: absolute; inset: 0; background: var(--lime); transform-origin: left center; transform: scaleX(var(--s, 0)); }
}
@media (max-width: 1023px) {
  body[data-page="already-backing-a-driver"] .pit__h { grid-column: 1 / -1; }
  body[data-page="already-backing-a-driver"] .pit__item > .board, body[data-page="already-backing-a-driver"] .pit__photo, body[data-page="already-backing-a-driver"] .pit__text { grid-column: 1 / -1; grid-row: auto; }
  body[data-page="already-backing-a-driver"] .board { --cw: min(calc((100vw - 2 * var(--side) - 30px) / 15.6), 40px); }
  body[data-page="already-backing-a-driver"] .pit__items { gap: 64px; }
}

/* ------------------------------------------------------------ CLOSE: the Bentley (3.15:1) breaks out of the band */
@media (min-width: 1024px) { body[data-page="already-backing-a-driver"] .close__machine { bottom: auto; top: calc(min(46vw, 640px) / -3.15 * .62); } }
@media (max-width: 1023px) { body[data-page="already-backing-a-driver"] .close__machine { top: calc(min(84vw, 520px) / -3.15 * .62); } }

/* ---- src/css/parts/business-club.css ---- */
/* /business-club — round 2 (PAGES-B2.md + the client's 29 Sep direction): "introductions between businesses".
   Hero (balcony photo darkened, the SPONSR Business Club lockup large over it, a lime rule) → NETWORK on ink (the
   members as Donington Park) → CHAIN on paper (one long line, five nodes) → MEETINGS on ink (two plain frames
   above the words) → MATCH on paper (signature: two profile cards meet on the handshake) → PROMISE on ink → CLOSE.
   Every base rule below is the finished, static state (no JS / reduced motion). parts/business-club.js adds
   the motion and sets its own starting states. */

/* ------------------------------------------------------------ HERO: the lockup over the darkened photograph */
body[data-page="business-club"] .bc-hero { min-height: min(94svh, 900px); }
body[data-page="business-club"] .bc-hero .hero__shade { background:
  linear-gradient(to right, rgba(10,10,10,.9) 0%, rgba(10,10,10,.78) 30%, rgba(10,10,10,.34) 56%, rgba(10,10,10,.08) 76%),
  linear-gradient(to top, rgba(10,10,10,.8) 0%, rgba(10,10,10,0) 38%),
  linear-gradient(to bottom, rgba(10,10,10,.6) 0%, rgba(10,10,10,0) 24%),
  rgba(10,10,10,.16); }
body[data-page="business-club"] .bc-hero .hero__body { padding-bottom: clamp(64px, 7vw, 112px); }
body[data-page="business-club"] .bc-hero__mark { position: relative; width: clamp(260px, 30vw + 60px, 540px); margin-bottom: clamp(36px, 3.4vw, 52px); }
body[data-page="business-club"] .bc-lockup { width: 100%; height: auto; overflow: visible; }
/* the lime rule: from the edge of the screen, under the lockup */
body[data-page="business-club"] .bc-hero__mark::after { content: ""; position: absolute; right: 0; bottom: calc(clamp(18px, 1.8vw, 26px) * -1); width: calc(100% + var(--side) + max(0px, (100vw - var(--max) - 2 * var(--side)) / 2)); height: 3px; background: var(--lime); transform-origin: left center; transform: scaleX(var(--rule, 1)); }
body[data-page="business-club"] .bc-hero .hero__main { max-width: 640px; }
body[data-page="business-club"] .bc-hero h1 { max-width: 14ch; font-size: clamp(38px, 2.1vw + 24px, 66px); }
body[data-page="business-club"] .bc-hero .hero__main .lead { max-width: 50ch; }
@media (min-width: 1024px) and (max-height: 820px) { body[data-page="business-club"] .bc-hero__mark { width: clamp(260px, 22vw + 60px, 420px); } body[data-page="business-club"] .bc-hero h1 { font-size: clamp(36px, 1.8vw + 22px, 56px); } }
@media (max-width: 767px) {
  body[data-page="business-club"] .bc-hero { min-height: 0; }
  body[data-page="business-club"] .bc-hero .hero__body { padding-top: calc(var(--hdr-h) + 40px); padding-bottom: 72px; }
  body[data-page="business-club"] .bc-hero__mark { width: 260px; }
}
/* before the lockup lands (motion on only; parts/business-club.js lands it) */
html.b-motion body[data-page="business-club"] .bc-lockup path { opacity: 0; }
html.b-motion body[data-page="business-club"] .bc-hero__mark { --rule: 0; }

/* ------------------------------------------------------------ NETWORK: the members laid out as Donington Park */
body[data-page="business-club"] .bc-net { overflow: clip; }
body[data-page="business-club"] .bc-net__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: end; }
body[data-page="business-club"] .bc-net__head h2 { grid-column: 1 / 7; max-width: 14ch; }
body[data-page="business-club"] .bc-net__head .lead { grid-column: 8 / 13; color: #E4E4DF; }
body[data-page="business-club"] .bc-net__pin { padding-block: clamp(40px, 5vw, 80px); }
body[data-page="business-club"] .bc-net__stage { position: relative; }
body[data-page="business-club"] .bc-net__svg { display: block; width: 100%; height: auto; overflow: visible; }
body[data-page="business-club"] .bc-net__svg .track { fill: none; stroke: #6A6B65; stroke-width: 2.5; stroke-linejoin: miter; }
body[data-page="business-club"] .bc-net__svg .dots circle { fill: #8A8B85; }
body[data-page="business-club"] .bc-net__svg .link { stroke: #5A5B55; stroke-width: 1.5; }
body[data-page="business-club"] .bc-net__svg .link.is-pair { stroke: var(--lime); stroke-width: 3.5; }
body[data-page="business-club"] .bc-net__svg .node { fill: var(--carbon); stroke: #C9C9C4; stroke-width: 2; transform-box: fill-box; transform-origin: center; }
body[data-page="business-club"] .bc-net__svg .node.is-pair { fill: var(--lime); stroke: var(--lime); }
body[data-page="business-club"] .bc-net__svg .corner { fill: #9A9A96; font: 600 15px var(--f-fig); letter-spacing: .02em; }
body[data-page="business-club"] .bc-net__svg .marker { fill: var(--lime); }
body[data-page="business-club"] .bc-net__svg .pulse { fill: none; stroke: var(--lime); stroke-width: 2; transform-box: fill-box; transform-origin: center; opacity: 0; }
/* the introductions counter: an outlined figure in the empty corner above Coppice */
body[data-page="business-club"] .bc-net__count { position: absolute; right: 0; top: 2%; margin: 0; font: 700 clamp(72px, 7vw, 132px)/1 var(--f-fig); font-variant-numeric: tabular-nums; color: transparent; -webkit-text-stroke: 2px var(--lime); max-width: none; }
body[data-page="business-club"] .bc-net__foot { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); padding-bottom: var(--sec); }
body[data-page="business-club"] .bc-net__foot p { grid-column: 6 / 13; color: #D9D9D4; }
/* while the lap is being drawn (motion on): members wait unlit, names hidden, the matches still grey */
body[data-page="business-club"] .bc-net.is-live .dots circle { transition: fill .35s, opacity .35s; }
body[data-page="business-club"] .bc-net.is-live .dots circle:not(.is-on) { opacity: .16; }
body[data-page="business-club"] .bc-net.is-live .node { transition: transform .45s cubic-bezier(.3, 1.6, .5, 1), fill .4s, stroke .4s; }
body[data-page="business-club"] .bc-net.is-live .node:not(.is-on) { transform: scale(0); }
body[data-page="business-club"] .bc-net.is-live .node.is-pair:not(.is-matched) { fill: var(--carbon); stroke: #C9C9C4; }
body[data-page="business-club"] .bc-net.is-live .corner { transition: opacity .5s; }
body[data-page="business-club"] .bc-net.is-live .corner:not(.is-on) { opacity: 0; }
@media (min-width: 1024px) {
  body[data-page="business-club"] .bc-net.is-pinned .bc-net__pin { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: calc(var(--hdr-h) + 8px) 16px; }
  body[data-page="business-club"] .bc-net.is-pinned .bc-net__pin > .wrap { width: 100%; }
  body[data-page="business-club"] .bc-net.is-pinned .bc-net__stage { max-width: min(100%, calc((100svh - var(--hdr-h) - 48px) * 2.46)); margin-inline: auto; }
}
@media (max-width: 1023px) {
  body[data-page="business-club"] .bc-net__head h2, body[data-page="business-club"] .bc-net__head .lead, body[data-page="business-club"] .bc-net__foot p { grid-column: 1 / -1; }
  body[data-page="business-club"] .bc-net__stage { margin-inline: calc(var(--side) * -.6); }
  body[data-page="business-club"] .bc-net__svg .corner { font-size: 22px; }
  body[data-page="business-club"] .bc-net__count { position: static; margin: 0 0 8px auto; font-size: 64px; text-align: right; }
  body[data-page="business-club"] .bc-net__stage { display: flex; flex-direction: column-reverse; }
}
/* phones: the circuit stands up (turned a quarter), so the network can be big; the corner names stay upright */
@media (max-width: 767px) {
  body[data-page="business-club"] .bc-net__stage { margin-inline: 0; }
  body[data-page="business-club"] .bc-net__map { position: relative; width: min(100%, calc(78svh / 2.4635)); aspect-ratio: 479 / 1180; margin-inline: auto; container-type: inline-size; }
  body[data-page="business-club"] .bc-net__svg { position: absolute; left: 50%; top: 50%; width: calc(100cqw * 2.4635); height: 100cqw; max-width: none; transform: translate(-50%, -50%) rotate(90deg); }
  body[data-page="business-club"] .bc-net__svg .corner { font-size: 25px; transform-box: fill-box; transform-origin: center; transform: rotate(-90deg); }
  /* names that sat above their corner would now sit on it: slide them clear, to its right */
  body[data-page="business-club"] .bc-net__svg .corner[text-anchor="middle"] { transform: rotate(-90deg) translateX(calc(50% + 6px)); }
  body[data-page="business-club"] .bc-net__svg .track { stroke-width: 3.5; }
  body[data-page="business-club"] .bc-net__svg .link { stroke-width: 2.2; }
  body[data-page="business-club"] .bc-net__svg .link.is-pair { stroke-width: 5; }
  body[data-page="business-club"] .bc-net__count { margin-bottom: 0; }
}

/* ------------------------------------------------------------ CHAIN: one long line, five nodes */
body[data-page="business-club"] .bc-chain { overflow: clip; }
body[data-page="business-club"] .bc-chain__run { --node: 22px; --lane: 128px; position: relative; margin-top: clamp(48px, 6vw, 96px); }
body[data-page="business-club"] .bc-chain__line { position: absolute; left: 50%; top: 12px; bottom: 0; width: 3px; margin-left: -1.5px; background: var(--rule-l); }
body[data-page="business-club"] .bc-chain__line i { position: absolute; inset: 0; background: var(--ink); transform-origin: center top; transform: scaleY(var(--p, 1)); }
/* the run ends on the square full stop */
body[data-page="business-club"] .bc-chain__line::after { content: ""; position: absolute; left: 50%; bottom: -6px; width: 14px; height: 14px; margin-left: -7px; background: var(--lime); box-shadow: 0 0 0 2px var(--ink); transform: scale(var(--end, 1)); }
body[data-page="business-club"] .bc-chain__list { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: var(--lane); padding-bottom: 40px; }
body[data-page="business-club"] .bc-chain__step { position: relative; display: flex; flex-direction: column; gap: 16px; padding-bottom: clamp(36px, 4vw, 64px); }
body[data-page="business-club"] .bc-chain__step:nth-child(odd) { grid-column: 1; align-items: flex-end; text-align: right; }
body[data-page="business-club"] .bc-chain__step:nth-child(even) { grid-column: 2; }
body[data-page="business-club"] .bc-chain__step:nth-child(1) { grid-row: 1 / span 2; }
body[data-page="business-club"] .bc-chain__step:nth-child(2) { grid-row: 2 / span 2; }
body[data-page="business-club"] .bc-chain__step:nth-child(3) { grid-row: 3 / span 2; }
body[data-page="business-club"] .bc-chain__step:nth-child(4) { grid-row: 4 / span 2; }
body[data-page="business-club"] .bc-chain__step:nth-child(5) { grid-row: 5 / span 2; }
body[data-page="business-club"] .bc-chain__step p { max-width: 30em; font-size: clamp(19px, .35vw + 16px, 22px); color: var(--ink); }
body[data-page="business-club"] .bc-chain__step .n-out { font-size: clamp(64px, 4.6vw, 96px); }
body[data-page="business-club"] .bc-chain__node { position: absolute; top: calc(clamp(64px, 4.6vw, 96px) * .5 - var(--node) / 2); width: var(--node); height: var(--node); background: var(--lime); box-shadow: 0 0 0 3px var(--ink), 0 0 0 9px var(--paper); transition: background-color .35s var(--ease), box-shadow .35s var(--ease); }
body[data-page="business-club"] .bc-chain__step:nth-child(odd) .bc-chain__node { right: calc(var(--lane) / -2 - var(--node) / 2); }
body[data-page="business-club"] .bc-chain__step:nth-child(even) .bc-chain__node { left: calc(var(--lane) / -2 - var(--node) / 2); }
/* the connector from each node to its numeral */
body[data-page="business-club"] .bc-chain__step::before { content: ""; position: absolute; top: calc(clamp(64px, 4.6vw, 96px) * .5 - 1px); height: 2px; width: calc(var(--lane) / 2 - var(--node) / 2 - 14px); background: var(--ink); transform-origin: var(--from, right) center; transform: scaleX(var(--c, 1)); }
body[data-page="business-club"] .bc-chain__step:nth-child(odd)::before { right: calc(var(--lane) / -2 + var(--node) / 2 + 2px); --from: right; }
body[data-page="business-club"] .bc-chain__step:nth-child(even)::before { left: calc(var(--lane) / -2 + var(--node) / 2 + 2px); --from: left; }
/* with motion on, steps the line hasn't reached yet wait in the dark (parts/business-club.js lights them) */
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step:not(.is-on) .bc-chain__node { background: var(--white); box-shadow: 0 0 0 2px #B9B9B3, 0 0 0 9px var(--paper); }
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step:not(.is-on) { --c: 0; }
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step:not(.is-on) .n-out { -webkit-text-stroke-color: #C4C4BE; }
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step:not(.is-on) p { color: #A3A39D; }
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step p, html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step .n-out { transition: color .5s var(--ease), -webkit-text-stroke-color .5s var(--ease); }
html.b-motion body[data-page="business-club"] .bc-chain.is-live .bc-chain__step::before { transition: transform .5s var(--ease); }
@media (max-width: 1023px) {
  body[data-page="business-club"] .bc-chain__run { --lane: 64px; }
  body[data-page="business-club"] .bc-chain__line { left: 11px; }
  body[data-page="business-club"] .bc-chain__list { grid-template-columns: minmax(0, 1fr); padding-left: 52px; padding-bottom: 32px; }
  body[data-page="business-club"] .bc-chain__step:nth-child(n) { grid-column: 1; grid-row: auto; align-items: flex-start; text-align: left; gap: 10px; }
  body[data-page="business-club"] .bc-chain__step .n-out { font-size: 56px; }
  body[data-page="business-club"] .bc-chain__step:nth-child(n) .bc-chain__node { left: -52px; right: auto; top: calc(28px - var(--node) / 2); }
  body[data-page="business-club"] .bc-chain__step:nth-child(n)::before { display: none; }
  body[data-page="business-club"] .bc-chain__step p { font-size: 18px; }
}

/* ------------------------------------------------------------ MEETINGS: two frames above, the words below */
body[data-page="business-club"] .bc-meet__media { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: end; }
body[data-page="business-club"] .bc-meet__wide { grid-column: 1 / 9; aspect-ratio: 16 / 10; }
body[data-page="business-club"] .bc-meet__small { grid-column: 9 / 13; aspect-ratio: 4 / 5; margin-bottom: clamp(-96px, -6vw, -40px); z-index: 1; }
body[data-page="business-club"] .bc-meet__text { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; margin-top: clamp(48px, 6vw, 96px); }
body[data-page="business-club"] .bc-meet__text h2 { grid-column: 1 / 6; }
body[data-page="business-club"] .bc-meet__cols { color: #D9D9D4; grid-column: 6 / 13; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 20px; padding-top: 27px; }
@media (min-width: 1024px) { body[data-page="business-club"] .bc-meet__cols { padding-top: calc(clamp(96px, 7vw, 120px)); } }
@media (max-width: 1023px) {
  body[data-page="business-club"] .bc-meet__wide { grid-column: 1 / -1; }
  body[data-page="business-club"] .bc-meet__small { grid-column: 6 / -1; margin: -18% 0 0; aspect-ratio: 5 / 4; outline: 8px solid var(--ink); }
  body[data-page="business-club"] .bc-meet__text h2, body[data-page="business-club"] .bc-meet__cols { grid-column: 1 / -1; }
  body[data-page="business-club"] .bc-meet__cols { grid-template-columns: 1fr; padding-top: 0; }
}

/* ------------------------------------------------------------ MATCH (signature): two profile cards meet on the handshake */
body[data-page="business-club"] .bc-match { overflow: clip; padding-top: var(--sec); }
body[data-page="business-club"] .bc-match__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: start; }
body[data-page="business-club"] .bc-match__head h2 { grid-column: 1 / 6; }
body[data-page="business-club"] .bc-match__words { grid-column: 7 / 13; }
body[data-page="business-club"] .bc-match__words > * + * { margin-top: 22px; }
body[data-page="business-club"] .bc-match__words p:not(.lead) { color: #2A2A28; }
body[data-page="business-club"] .bc-match__pin { padding-block: clamp(48px, 6vw, 88px) var(--sec); }

/* the profile card */
body[data-page="business-club"] .bc-card { position: relative; z-index: 3; background: var(--carbon); color: var(--white); padding: 18px 22px 12px; border-top: 3px solid var(--rule-d);
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="business-club"] .bc-card--b { border-top-color: var(--rule-d); }
body[data-page="business-club"] .bc-card__top { display: flex; align-items: center; gap: 12px; margin-bottom: 14px; }
body[data-page="business-club"] .bc-card__mark { position: relative; width: 30px; height: 30px; background: var(--tarmac); flex: 0 0 auto; }
body[data-page="business-club"] .bc-card__mark::after { content: ""; position: absolute; right: 0; top: 0; width: 10px; height: 10px; background: var(--lime); }
body[data-page="business-club"] .bc-card__bars { display: grid; gap: 5px; flex: 1 1 auto; }
body[data-page="business-club"] .bc-card__bars i { display: block; height: 4px; background: #2F302C; }
body[data-page="business-club"] .bc-card__bars i:nth-child(1) { width: 62%; }
body[data-page="business-club"] .bc-card__bars i:nth-child(2) { width: 84%; }
body[data-page="business-club"] .bc-card__bars i:nth-child(3) { width: 40%; }
body[data-page="business-club"] .bc-card__name { font-family: var(--f-display); font-size: clamp(19px, .5vw + 15px, 23px); line-height: 1.12; min-height: 2.24em; max-width: none; }
body[data-page="business-club"] .bc-card__name::first-letter { text-transform: uppercase; }
body[data-page="business-club"] .bc-card__lines { margin-top: 12px; }
body[data-page="business-club"] .bc-card__lines li { position: relative; padding: 9px 10px 9px 12px; border-top: 1px solid var(--rule-d); font-size: 16px; line-height: 1.35; color: #BDBDB8; }
body[data-page="business-club"] .bc-card__lines li span { position: relative; z-index: 1; }
body[data-page="business-club"] .bc-card__lines li::after { content: ""; position: absolute; left: 0; top: 50%; width: 4px; height: 4px; margin-top: -2px; background: #4A4B46; }
body[data-page="business-club"] .bc-card__fit { color: var(--ink) !important; font-weight: 700; }
body[data-page="business-club"] .bc-card__fit::before { content: ""; position: absolute; inset: 3px 0; background: var(--lime); transform-origin: left center; transform: scaleX(var(--lit, 1)); }
body[data-page="business-club"] .bc-card--b .bc-card__fit::before { transform-origin: left center; }
body[data-page="business-club"] .bc-card__fit::after { display: none; }
/* while it's still dark (motion on, before the fit lights) the line reads as the others */
body[data-page="business-club"] .bc-match.is-live .bc-card__fit:not(.is-lit) { color: #BDBDB8 !important; font-weight: 400; }
body[data-page="business-club"] .bc-match.is-live .bc-card__fit { transition: color .3s var(--ease); }

/* the connection and its two square ends */
body[data-page="business-club"] .bc-match__wire { position: absolute; z-index: 4; height: 4px; pointer-events: none; }
body[data-page="business-club"] .bc-match__run { position: absolute; inset: 0; background: var(--lime); transform-origin: left center; transform: scaleX(var(--draw, 1)); box-shadow: 0 0 0 1px var(--ink); }
body[data-page="business-club"] .bc-match__end { position: absolute; top: 50%; width: 14px; height: 14px; margin-top: -7px; background: var(--lime); box-shadow: 0 0 0 3px var(--ink); transform: scale(var(--pop, 1)); }
body[data-page="business-club"] .bc-match__end--a { left: -7px; }
body[data-page="business-club"] .bc-match__end--b { right: -7px; }
body[data-page="business-club"] .bc-match__tag { font: 600 clamp(15px, .3vw + 13px, 18px)/1.2 var(--f-fig); letter-spacing: .02em; color: var(--lime-ink); max-width: none; }
body[data-page="business-club"] .bc-match__tag::before { content: ""; display: inline-block; width: .55em; height: .55em; margin-right: .6em; background: var(--lime); box-shadow: 0 0 0 2px var(--ink); vertical-align: .05em; }

/* desktop: one stage; the photograph centred, the two cards overlapping its lower corners, the wire across */
@media (min-width: 1024px) {
  body[data-page="business-club"] .bc-match__stage { --sh: min(540px, calc(100svh - var(--hdr-h) - var(--headH, 260px) - 90px), 40vw); --pw: calc(var(--sh) * .84 * 1.5); position: relative; height: var(--sh); }
  body[data-page="business-club"] .bc-match__photo { position: absolute; top: 0; left: calc(50% - var(--pw) / 2); width: var(--pw); height: 84%; z-index: 1; }
  body[data-page="business-club"] .bc-card { position: absolute; top: 36%; width: min(30%, 400px); }
  body[data-page="business-club"] .bc-card--a { left: calc(50% - var(--pw) / 2 - min(30%, 400px) + var(--pw) * .24); }
  body[data-page="business-club"] .bc-card--b { right: calc(50% - var(--pw) / 2 - min(30%, 400px) + var(--pw) * .24); }
  /* static wire: from A's right edge to B's left edge at the fit line (JS measures it exactly) */
  body[data-page="business-club"] .bc-match__wire { top: calc(36% + 118px); left: calc(50% - var(--pw) * .26); right: calc(50% - var(--pw) * .26); }
  body[data-page="business-club"] .bc-match__tag { position: absolute; left: 0; right: 0; bottom: 0; text-align: center; }
  body[data-page="business-club"] .bc-match.is-pinned .bc-match__pin { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: calc(var(--hdr-h) + 12px) 24px; }
  body[data-page="business-club"] .bc-match.is-pinned > .bc-match__pin > .wrap { width: 100%; }
}
/* phones and tablets: the cards stack, the line runs down between them, the photograph closes the run */
@media (max-width: 1023px) {
  body[data-page="business-club"] .bc-match__head h2, body[data-page="business-club"] .bc-match__words { grid-column: 1 / -1; }
  body[data-page="business-club"] .bc-match__stage { display: flex; flex-direction: column; max-width: 560px; }
  body[data-page="business-club"] .bc-card--a { order: 1; margin-right: 12%; }
  body[data-page="business-club"] .bc-match__wire { order: 2; position: relative; height: 84px; width: 4px; margin-left: 40px; }
  body[data-page="business-club"] .bc-match__run { transform-origin: center top; transform: scaleY(var(--draw, 1)); }
  body[data-page="business-club"] .bc-match__end { left: 50% !important; right: auto !important; margin: 0 0 0 -7px; }
  body[data-page="business-club"] .bc-match__end--a { top: -7px; }
  body[data-page="business-club"] .bc-match__end--b { top: auto; bottom: -7px; }
  body[data-page="business-club"] .bc-card--b { order: 3; margin-left: 12%; }
  body[data-page="business-club"] .bc-match__photo { order: 4; aspect-ratio: 3 / 2; margin-top: -28px; z-index: 1; }
  body[data-page="business-club"] .bc-match__tag { order: 5; margin-top: 18px; }
}

/* ------------------------------------------------------------ PROMISE: livery lettering behind the rows */
body[data-page="business-club"] .promise { overflow: clip; }
body[data-page="business-club"] .promise > .wrap { position: relative; z-index: 1; }
body[data-page="business-club"] .promise__livery { position: absolute; left: 0; bottom: 4%; z-index: 0; }

/* ------------------------------------------------------------ CLOSE: the BMW cut-out (2.11:1) breaks out of the band */
@media (min-width: 1024px) { body[data-page="business-club"] .close__machine { bottom: auto; top: calc(min(46vw, 640px) / -2.11 * .6); } }
@media (max-width: 1023px) { body[data-page="business-club"] .close__machine { top: calc(min(84vw, 520px) / -2.11 * .6); } }

/* WHY: the small-world statement (between hero and the network) */
body[data-page="business-club"] .bc-why__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(28px, 3vw, 44px); }
body[data-page="business-club"] .bc-why__h { grid-column: 1 / 9; font-size: clamp(40px, 4.2vw + 18px, 96px); max-width: 12ch; line-height: .98; }
body[data-page="business-club"] .bc-why__cols { grid-column: 1 / 13; display: grid; grid-template-columns: 1fr 1fr; gap: var(--gap); padding-top: 28px; border-top: 5px solid var(--ink); font-size: var(--lead); line-height: 1.45; }
body[data-page="business-club"] .bc-why__say { grid-column: 5 / 13; justify-self: stretch; max-width: none; padding: clamp(20px, 2.4vw, 32px) clamp(22px, 2.6vw, 36px); background: var(--ink); color: var(--white); border-left: 6px solid var(--lime); font: 400 clamp(20px, 1vw + 14px, 30px)/1.25 var(--f-display);
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
@media (max-width: 1023px) { body[data-page="business-club"] .bc-why__h, body[data-page="business-club"] .bc-why__say { grid-column: 1 / -1; } body[data-page="business-club"] .bc-why__cols { grid-template-columns: 1fr; } }

/* round 3: the network is a detail beside the words, not a section of its own */
body[data-page="business-club"] .bc-net2__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; align-items: center; }
body[data-page="business-club"] .bc-net2__text { grid-column: 1 / 7; }
body[data-page="business-club"] .bc-net2__text > * + * { margin-top: 22px; }
body[data-page="business-club"] .bc-net2__text .lead { color: #E4E4DF; }
body[data-page="business-club"] .bc-net2__text p:not(.lead) { color: #D6D6D1; }
body[data-page="business-club"] .bc-net2__detail { grid-column: 8 / 13; }
@media (max-width: 1023px) { body[data-page="business-club"] .bc-net2__text, body[data-page="business-club"] .bc-net2__detail { grid-column: 1 / -1; } }

/* round 3 (Jeff): the words stay on screen above the animation — no blank scroll between them */
body[data-page="business-club"] .bc-match { padding-top: calc(var(--sec) * .6); }
@media (min-width: 1024px) {
  body[data-page="business-club"] .bc-match__pin { padding-top: 0; }
  body[data-page="business-club"] .bc-match__pin > .bc-match__head { margin-bottom: clamp(24px, 3vh, 40px); }
  body[data-page="business-club"] .bc-match.is-pinned .bc-match__pin { justify-content: flex-start; padding-block: calc(var(--hdr-h) + 20px) 24px; }
}
@media (min-width: 1024px) and (max-height: 820px) {
  body[data-page="business-club"] .bc-match__head h2 { font-size: clamp(30px, 2.4vw + 6px, 44px); }
  body[data-page="business-club"] .bc-match__words { font-size: 15.5px; }
  body[data-page="business-club"] .bc-match__words .lead { font-size: 17px; }
  body[data-page="business-club"] .bc-match__words > * + * { margin-top: 12px; }
  body[data-page="business-club"] .bc-match.is-pinned .bc-match__pin { padding-top: calc(var(--hdr-h) + 8px); }
  body[data-page="business-club"] .bc-match__pin > .bc-match__head { margin-bottom: 16px; }
}

/* ---- src/css/parts/c-coverage.css ---- */
/* /coverage — VERSION C, ROUND 2 (ROUND2-C.md §A3). Every selector is page-scoped. The season strip block is the
   website-b already-backing-a-driver "SIGNATURE A" rules, moved here with the prefix changed; the map block is the
   new-to-motorsport .nmap block re-coloured for paper; the sheet block is accountability's .doc block.
   Base rules = the finished static page (no JS / reduced motion). Pre-animation and pinned states live only under
   html.b-motion / .is-pinned / [data-active], which parts/coverage.js sets. */
body[data-page="coverage"] { --sheet: #FDFDFB; --sheet-rule: #E4E4DE; }

/* the "Illustrative" label (same look as .acc-note / .md-note) */
body[data-page="coverage"] .cv-note { margin-top: 20px; font: 600 15px/1.3 var(--f-fig); color: var(--mute-d); display: flex; align-items: center; gap: 10px; max-width: none; }
body[data-page="coverage"] .cv-note::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }
body[data-page="coverage"] .g-white .cv-note, body[data-page="coverage"] .g-paper .cv-note { color: var(--mute-l); }

/* ------------------------------------------------------------ HERO (R2): split — h1 bottom-left, lead + button right */
body[data-page="coverage"] .cv-hero .hero__main { max-width: none; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: end; }
body[data-page="coverage"] .cv-hero .hero__main > * + * { margin-top: 0; }
body[data-page="coverage"] .cv-hero h1 { grid-column: 1 / 8; max-width: 12ch; font-size: clamp(44px, 4vw + 20px, 92px); }
body[data-page="coverage"] .cv-hero__aside { grid-column: 9 / 13; padding-left: clamp(20px, 2vw, 32px); border-left: 5px solid var(--lime); padding-block: 4px; }
body[data-page="coverage"] .cv-hero__aside .lead { font-size: clamp(19px, .2vw + 17px, 20px); line-height: 1.5; max-width: 36ch; color: #EDEDE8; }
body[data-page="coverage"] .cv-hero__aside .btn-row { margin-top: 22px; }
/* b.css hides .hero__main .lead/.btn-row until innerHero() reveals .hero__main's children: here the aside is that child */
html.b-motion body[data-page="coverage"] .cv-hero__aside .lead, html.b-motion body[data-page="coverage"] .cv-hero__aside .btn-row { opacity: 1; }
html.b-motion body[data-page="coverage"] .cv-hero__aside { opacity: 0; }
body[data-page="coverage"] .cv-hero .hero__shade { background: linear-gradient(to top, rgba(10,10,10,.9) 0%, rgba(10,10,10,.72) 34%, rgba(10,10,10,.3) 62%, rgba(10,10,10,0) 82%), linear-gradient(to bottom, rgba(10,10,10,.5) 0%, rgba(10,10,10,0) 22%); }
@media (max-width: 1023px) {
  body[data-page="coverage"] .cv-hero h1, body[data-page="coverage"] .cv-hero__aside { grid-column: 1 / -1; }
  body[data-page="coverage"] .cv-hero .hero__main { row-gap: 28px; }
}
@media (max-width: 767px) {
  body[data-page="coverage"] .cv-hero .hero__shade { background: linear-gradient(to top, rgba(10,10,10,.92) 0%, rgba(10,10,10,.6) 50%, rgba(10,10,10,.28) 100%); }
  body[data-page="coverage"] .cv-hero h1 { font-size: clamp(38px, 9vw + 4px, 52px); }
}

/* ------------------------------------------------------------ BETTER COVERAGE: plain framed photograph */
body[data-page="coverage"] .cv-same .shot__media .frame { aspect-ratio: 2 / 1; }
body[data-page="coverage"] .cv-same .shot__text { grid-column: 1 / 7; }
body[data-page="coverage"] .cv-same .shot__media { grid-column: 7 / 13; }
@media (max-width: 1023px) { body[data-page="coverage"] .cv-same .shot__text, body[data-page="coverage"] .cv-same .shot__media { grid-column: 1 / -1; } }

/* ------------------------------------------------------------ THE SEASON STRIP (moved from already-backing) */
body[data-page="coverage"] .season { overflow: clip; }
body[data-page="coverage"] .season__pin { padding-block: var(--sec); }
body[data-page="coverage"] .season__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: end; }
body[data-page="coverage"] .season__title { grid-column: 1 / 6; display: flex; align-items: flex-end; gap: clamp(16px, 2vw, 28px); }
body[data-page="coverage"] .season__one { font-size: clamp(110px, 9vw, 170px); line-height: .76; -webkit-text-stroke-width: 3px; flex: 0 0 auto; }
body[data-page="coverage"] .season__title h2 { max-width: 12ch; }
body[data-page="coverage"] .season__body { grid-column: 7 / 13; }
body[data-page="coverage"] .season__body p { font-size: clamp(16px, .15vw + 15px, 18px); }
body[data-page="coverage"] .ss { margin-top: clamp(36px, 4vw, 60px); }
body[data-page="coverage"] .ss__grid, body[data-page="coverage"] .ss { --lane: clamp(40px, 5.2svh, 56px); }
body[data-page="coverage"] .ss { position: relative; display: grid; grid-template-columns: minmax(170px, 1.6fr) repeat(8, minmax(0, 1fr)); grid-template-rows: auto var(--lane) 18px repeat(3, calc(var(--lane) * .78)); gap: 6px; }
body[data-page="coverage"] .ss > * { grid-row: var(--a); grid-column: var(--n); min-width: 0; }
body[data-page="coverage"] .ss__r { font: 600 clamp(14px, .4vw + 11px, 17px)/1 var(--f-fig); color: var(--mute-l); padding: 0 0 8px 2px; letter-spacing: .02em; }
body[data-page="coverage"] .ss__lab { display: flex; align-items: center; gap: 12px; padding-right: 12px; }
body[data-page="coverage"] .ss__thumb { flex: 0 0 auto; width: calc(var(--lane) * 1.5); height: var(--lane); }
body[data-page="coverage"] .ss__lab--spread { align-items: center; }
body[data-page="coverage"] .ss__lab--spread .ss__thumb { width: calc(var(--lane) * 1.5); height: calc(var(--lane) * 2.4); }
body[data-page="coverage"] .ss__name { font: 700 clamp(15px, .3vw + 13px, 18px)/1.1 var(--f-body); }
body[data-page="coverage"] .ss__c { position: relative; background: var(--paper); overflow: hidden; }
body[data-page="coverage"] .ss__c i { position: absolute; inset: 0; background: var(--lime); transform-origin: left center; transform: scaleX(var(--f, 1)); }
body[data-page="coverage"] .ss__c i::after { content: ""; position: absolute; inset: auto 0 0 0; height: 3px; background: rgba(10,10,10,.12); }
body[data-page="coverage"] .ss__c.is-out { background: var(--ink); display: grid; place-items: center; }
body[data-page="coverage"] .ss__flag { width: clamp(20px, 2vw, 28px); height: auto; color: #F4F4F0; fill: #E0262F; transform-origin: 20% 90%; }
body[data-page="coverage"] .ss__col { z-index: 2; pointer-events: none; box-shadow: 0 0 0 3px var(--ink), inset 0 0 0 3px var(--ink); margin: -6px -3px; }
body[data-page="coverage"] .ss__col::after { content: ""; position: absolute; left: 50%; top: -12px; width: 12px; height: 12px; margin-left: -6px; background: var(--lime); box-shadow: 0 0 0 3px var(--ink); }
body[data-page="coverage"] .ss__col { position: relative; }
@media (min-width: 1024px) {
  body[data-page="coverage"] .season.is-pinned .season__pin { min-height: 100svh; padding-block: calc(var(--hdr-h) + 12px) 36px; display: flex; flex-direction: column; justify-content: center; }
}
/* phones and tablets: the season runs down the page — rounds are rows, cars are columns */
@media (max-width: 1023px) {
  body[data-page="coverage"] .season__title, body[data-page="coverage"] .season__body { grid-column: 1 / -1; }
  body[data-page="coverage"] .ss { --lane: 38px; grid-template-columns: 36px minmax(0, 1.25fr) 8px repeat(3, minmax(0, 1fr)); grid-template-rows: auto repeat(8, var(--lane)); gap: 5px; }
  body[data-page="coverage"] .ss > * { grid-row: var(--n); grid-column: var(--a); }
  body[data-page="coverage"] .ss__r { align-self: center; padding: 0; font-size: 14px; }
  body[data-page="coverage"] .ss__lab, body[data-page="coverage"] .ss__lab--spread { flex-direction: column; align-items: flex-start; gap: 8px; padding: 0 0 8px; }
  body[data-page="coverage"] .ss__thumb, body[data-page="coverage"] .ss__lab--spread .ss__thumb { width: 100%; height: auto; aspect-ratio: 16 / 10; }
  body[data-page="coverage"] .ss__name { font-size: 14px; }
  body[data-page="coverage"] .ss__c i { transform-origin: center top; transform: scaleY(var(--f, 1)); }
  body[data-page="coverage"] .ss__col { margin: -3px -4px; }
  body[data-page="coverage"] .ss__col::after { left: auto; right: -12px; top: 50%; margin: -6px 0 0; }
}

/* ------------------------------------------------------------ THE MATCH BOARD (R2 signature): who you sell to → the racing
   Left: "Who do you sell to?" and five chamfered profile buttons (the selected one goes lime). Right: five carbon lanes,
   a cut-out machine overhanging each plate's left edge, the crowd described beside it, a "Good fit" tag when lit.
   Static = every lane lit, no tags. [data-active] (JS) = the fits lit, the rest dimmed to grey. */
body[data-page="coverage"] .cv-match { position: relative; overflow: clip; }
body[data-page="coverage"] .cv-match__pin { position: relative; }
body[data-page="coverage"] .cv-match__livery { position: absolute; left: 0; top: clamp(8px, 2vw, 32px); z-index: 0; }
body[data-page="coverage"] .cv-match .wrap { position: relative; z-index: 1; }
body[data-page="coverage"] .cv-match__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 20px; align-items: end; }
body[data-page="coverage"] .cv-match__head h2 { grid-column: 1 / 7; }
body[data-page="coverage"] .cv-match__head p { grid-column: 7 / 13; color: #D9D9D4; }
body[data-page="coverage"] .cv-match__stage { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: var(--gap); align-items: start; margin-top: clamp(36px, 4vw, 64px); }
body[data-page="coverage"] .cv-match__q { font: 500 var(--lead)/1.25 var(--f-body); color: var(--white); max-width: none; display: flex; align-items: center; gap: 12px; }
body[data-page="coverage"] .cv-match__q::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }
body[data-page="coverage"] .cv-match__list { display: grid; gap: 8px; margin-top: 18px; }
/* the five profiles: chamfered ghost buttons; the chosen one lime */
body[data-page="coverage"] .cv-who { position: relative; display: flex; align-items: center; gap: 16px; width: 100%; height: 56px; padding: 0 20px; border: 0; cursor: pointer; text-align: left;
  font: 700 17px/1.1 var(--f-body); color: var(--white); background: transparent; box-shadow: inset 0 0 0 2px #2E2F2B;
  clip-path: polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%);
  transition: background-color .32s var(--ease), color .32s var(--ease), box-shadow .32s var(--ease); }
body[data-page="coverage"] .cv-who .n-out { display: inline-block; font-size: 22px; -webkit-text-stroke: 1.5px #6E6F69; flex: 0 0 auto; transition: -webkit-text-stroke-color .32s var(--ease); }
body[data-page="coverage"] .cv-who .stop { color: var(--lime); margin-left: -15px; transition: color .32s var(--ease); }
body[data-page="coverage"] .cv-who:focus-visible { outline: 3px solid var(--lime); outline-offset: -3px; }
@media (hover: hover) and (pointer: fine) { body[data-page="coverage"] .cv-who:hover { box-shadow: inset 0 0 0 2px #55574F; } }
body[data-page="coverage"] .cv-match[data-active] .cv-who[aria-selected="true"] { background: var(--lime); color: var(--ink); box-shadow: none; }
body[data-page="coverage"] .cv-match[data-active] .cv-who[aria-selected="true"] .n-out { -webkit-text-stroke-color: var(--ink); }
body[data-page="coverage"] .cv-match[data-active] .cv-who[aria-selected="true"] .stop { color: var(--ink); }
body[data-page="coverage"] .cv-match__foot { margin-top: 28px; font: 500 var(--lead)/1.35 var(--f-body); color: #D6D6D1; max-width: 46ch; }
body[data-page="coverage"] .cv-match .cv-note { margin-top: 16px; }
/* the lanes */
body[data-page="coverage"] .cv-match__lanes { list-style: none; padding: 0; margin: 0; }
body[data-page="coverage"] .cv-lane { position: relative; display: grid; grid-template-columns: 22% minmax(0, 1fr); align-items: center; column-gap: clamp(16px, 1.6vw, 28px);
  min-height: clamp(104px, 11.5svh, 132px); padding: 10px 28px 10px 0; margin-top: 10px; }
/* the dim is carried by the lane's layers (the lane itself is free for the entrance tween) */
body[data-page="coverage"] .cv-lane__plate, body[data-page="coverage"] .cv-lane__text { transition: opacity .5s var(--ease); }
body[data-page="coverage"] .cv-lane:first-child { margin-top: 0; }
body[data-page="coverage"] .cv-lane__plate { position: absolute; inset: 0; z-index: 0; background: var(--carbon); border-top: 2px solid var(--rule-d); overflow: hidden;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="coverage"] .cv-lane__plate::before { content: ""; position: absolute; inset: auto 0 0 0; height: 46%; background: repeating-linear-gradient(-62deg, rgba(255,255,255,.035) 0 2px, transparent 2px 14px); }
body[data-page="coverage"] .cv-lane__plate::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--lime); transition: background-color .5s var(--ease); }
/* the machine sits ON the plate and overhangs its left edge */
body[data-page="coverage"] .cv-lane__machine { position: relative; z-index: 2; width: 100%; height: auto; margin-left: -8%; filter: drop-shadow(0 14px 12px rgba(0,0,0,.6)); pointer-events: none;
  transition: translate .6s var(--ease), filter .4s var(--ease), opacity .5s var(--ease); }
body[data-page="coverage"] .cv-lane__text { position: relative; z-index: 1; }
body[data-page="coverage"] .cv-lane__text h3 { font-size: clamp(20px, 1.2vw + 10px, 26px); line-height: 1.05; color: var(--white); padding-right: 96px; }
body[data-page="coverage"] .cv-lane__text p { margin-top: 6px; font-size: 15px; line-height: 1.4; color: #CFCFCA; max-width: 72ch; }
body[data-page="coverage"] .cv-lane__fit { position: absolute; z-index: 1; right: 36px; top: 12px; padding: 6px 12px 5px 9px; background: var(--lime); color: var(--ink); font: 600 12px/1 var(--f-fig); letter-spacing: .04em; white-space: nowrap;
  clip-path: polygon(0 0, calc(100% - 7px) 0, 100% 7px, 100% 100%, 0 100%); opacity: 0; translate: 8px 0; transition: opacity .5s var(--ease), translate .5s var(--ease); }
/* lit vs dim (JS sets data-active; without it every lane stays lit and no tag shows) */
body[data-page="coverage"] .cv-match[data-active] .cv-lane:not(.is-fit) .cv-lane__plate { opacity: .5; }
body[data-page="coverage"] .cv-match[data-active] .cv-lane:not(.is-fit) .cv-lane__text { opacity: .38; }
body[data-page="coverage"] .cv-match[data-active] .cv-lane:not(.is-fit) .cv-lane__plate::after { background: #2E2F2B; }
body[data-page="coverage"] .cv-match[data-active] .cv-lane:not(.is-fit) .cv-lane__machine { opacity: .6; filter: grayscale(1) brightness(.7) drop-shadow(0 14px 12px rgba(0,0,0,.6)); }
body[data-page="coverage"] .cv-match[data-active] .cv-lane.is-fit .cv-lane__fit { opacity: 1; translate: 0 0; }

/* pinned (≥1024 × ≥760, JS): one screen, under the header */
@media (min-width: 1024px) {
  body[data-page="coverage"] .cv-match.is-pinned { padding-block: 0; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__pin { min-height: 100svh; padding-block: calc(var(--hdr-h) + 12px) 28px; display: flex; flex-direction: column; justify-content: center; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__head h2 { font-size: clamp(28px, 4.2svh, 46px); }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__head h2::before { margin-bottom: 14px; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__head p { font-size: 16px; line-height: 1.45; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__stage { margin-top: clamp(16px, 2.4svh, 36px); }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__list { margin-top: 14px; }
  body[data-page="coverage"] .cv-who { height: clamp(46px, 6svh, 56px); }
  body[data-page="coverage"] .cv-match.is-pinned .cv-lane { min-height: clamp(84px, calc((100svh - var(--hdr-h) - 290px) / 5), 132px); margin-top: 6px; padding-block: 5px; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-lane:first-child { margin-top: 0; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-lane__text h3 { font-size: clamp(20px, 2.8svh, 26px); }
  body[data-page="coverage"] .cv-match.is-pinned .cv-lane__text p { margin-top: 4px; font-size: 14px; line-height: 1.32; }
  body[data-page="coverage"] .cv-match.is-pinned .cv-match__foot { font-size: 18px; margin-top: 22px; }
}
/* phones / tablets: profiles as a sticky chip row over taller, stacked lanes */
@media (max-width: 1023px) {
  body[data-page="coverage"] .cv-match__head h2, body[data-page="coverage"] .cv-match__head p { grid-column: 1 / -1; }
  body[data-page="coverage"] .cv-match__stage { grid-template-columns: minmax(0, 1fr); }
  body[data-page="coverage"] .cv-match__who { display: contents; }
  body[data-page="coverage"] .cv-match__q { order: 1; }
  body[data-page="coverage"] .cv-match__list { order: 2; position: sticky; top: var(--hdr-h); z-index: 3; background: var(--ink); padding-block: 12px; margin-top: 6px;
    grid-auto-flow: column; grid-auto-columns: max-content; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
    margin-inline: calc(var(--side) * -1); padding-inline: var(--side); scroll-padding-inline: var(--side); }
  body[data-page="coverage"] .cv-match__list::-webkit-scrollbar { display: none; }
  body[data-page="coverage"] .cv-who { width: auto; height: 48px; padding: 0 18px 0 14px; gap: 10px; font-size: 16px; scroll-snap-align: start; white-space: nowrap; }
  body[data-page="coverage"] .cv-who .n-out { font-size: 18px; }
  body[data-page="coverage"] .cv-who .stop { margin-left: -9px; }
  body[data-page="coverage"] .cv-match__lanes { order: 3; margin-top: 18px; }
  body[data-page="coverage"] .cv-match__foot { order: 4; }
  body[data-page="coverage"] .cv-match .cv-note { order: 5; }
  body[data-page="coverage"] .cv-lane { grid-template-columns: minmax(0, 1fr); align-items: start; padding: 0 22px 22px 22px; margin-top: 44px; min-height: 0; }
  body[data-page="coverage"] .cv-lane:first-child { margin-top: 44px; }
  body[data-page="coverage"] .cv-lane__machine { width: min(70%, 380px); margin: -12% 0 4px -4%; }
  body[data-page="coverage"] .cv-lane__text h3 { padding-right: 0; }
  body[data-page="coverage"] .cv-lane__fit { right: 26px; top: 16px; }
}

/* ------------------------------------------------------------ THE MAP (R2): the GB map from new-to-motorsport, on paper */
body[data-page="coverage"] .cv-map { overflow: clip; }
body[data-page="coverage"] .cv-map__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; align-items: start; }
body[data-page="coverage"] .cv-map__text { grid-column: 1 / 6; }
body[data-page="coverage"] .cv-map__text > * + * { margin-top: 22px; }
body[data-page="coverage"] .cv-map__text p { color: #2B2B28; }
body[data-page="coverage"] .cv-map__stage { grid-column: 6 / 13; }
body[data-page="coverage"] .cv-map__modes { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 30px !important; }
body[data-page="coverage"] .cv-map__mode { display: inline-flex; align-items: center; gap: 10px; padding: 11px 18px 10px 14px; font: 600 14px/1 var(--f-fig); letter-spacing: .02em; color: var(--ink); box-shadow: inset 0 0 0 2px var(--rule-l);
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); transition: background-color .35s var(--ease), box-shadow .35s var(--ease); }
body[data-page="coverage"] .cv-map__mode::before { content: ""; width: 10px; height: 10px; background: var(--lime); box-shadow: 0 0 0 1px var(--lime-ink); flex: 0 0 auto; transition: background-color .35s var(--ease); }
body[data-page="coverage"] .cv-map__mode.is-on { background: var(--lime); box-shadow: none; }
body[data-page="coverage"] .cv-map__mode.is-on::before { background: var(--ink); box-shadow: none; }
body[data-page="coverage"] .nmap__fig { position: relative; aspect-ratio: 890 / 1027; width: min(100%, calc((100svh - var(--hdr-h) - 56px) * 890 / 1027)); margin-inline: auto; }
body[data-page="coverage"] .nmap__fig::before { content: ""; position: absolute; inset: 0; border: 1px solid var(--rule-l); pointer-events: none;
  background: linear-gradient(var(--ink), var(--ink)) left top / 18px 2px no-repeat, linear-gradient(var(--ink), var(--ink)) left top / 2px 18px no-repeat,
              linear-gradient(var(--ink), var(--ink)) right bottom / 18px 2px no-repeat, linear-gradient(var(--ink), var(--ink)) right bottom / 2px 18px no-repeat; }
body[data-page="coverage"] .nmap__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
body[data-page="coverage"] .nmap__grat { fill: none; stroke: rgba(10,10,10,.08); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="coverage"] .nmap__land { fill: var(--white); stroke: none; }
body[data-page="coverage"] .nmap__coast { fill: none; stroke: rgba(10,10,10,.78); }
body[data-page="coverage"] .nmap__coast path { stroke-width: 1.1; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
body[data-page="coverage"] .nmap__fills { opacity: .22; }
body[data-page="coverage"] .nmap__fills circle { fill: var(--lime); }
body[data-page="coverage"] .nmap__ring { fill: none; stroke: rgba(64,84,22,.55); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="coverage"] .nmap__ripple { fill: none; stroke: rgba(64,84,22,.3); stroke-width: 1; stroke-dasharray: 2 6; vector-effect: non-scaling-stroke; }
body[data-page="coverage"] .nmap__leaders path { fill: none; stroke: rgba(10,10,10,.5); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="coverage"] .nmap__pins { position: absolute; inset: 0; list-style: none; margin: 0; padding: 0; }
body[data-page="coverage"] .nmap__dot { position: absolute; left: var(--x); top: var(--y); width: 12px; height: 12px; margin: -6px 0 0 -6px; background: var(--lime); box-shadow: 0 0 0 1.5px var(--ink), 0 0 0 4px var(--paper); }
body[data-page="coverage"] .nmap__name { position: absolute; left: var(--lx); top: var(--ly); translate: 10px -50%; white-space: nowrap; font: 600 clamp(13px, .45vw + 10.5px, 17px)/1 var(--f-fig); letter-spacing: .01em; color: var(--ink); text-shadow: 0 0 4px var(--paper), 0 0 10px var(--paper); }
body[data-page="coverage"] .nmap__pin--l .nmap__name { translate: calc(-100% - 10px) -50%; }
body[data-page="coverage"] .nmap__home { position: absolute; left: var(--x); top: var(--y); width: 24px; height: 24px; margin: -12px 0 0 -12px; border: 1.5px solid var(--lime-ink); }
/* the local circuit: its name goes into a lime box while it is the only one lit */
body[data-page="coverage"] .nmap__pin.is-local .nmap__name { background: var(--lime); padding: 4px 6px 3px; text-shadow: none; }
@media (min-width: 1024px) {
  body[data-page="coverage"] .cv-map__grid { min-height: 150svh; }
  body[data-page="coverage"] .cv-map__text, body[data-page="coverage"] .cv-map__stage { position: sticky; top: calc(var(--hdr-h) + 28px); }
  /* the text column is as tall as the map, so the two hold and let go together */
  body[data-page="coverage"] .cv-map__text { min-height: calc(100svh - var(--hdr-h) - 56px); }
}
@media (max-width: 1023px) {
  body[data-page="coverage"] .cv-map__text, body[data-page="coverage"] .cv-map__stage { grid-column: 1 / -1; }
  body[data-page="coverage"] .cv-map__stage { order: 2; }
  body[data-page="coverage"] .nmap__fig { width: min(100%, 620px); }
}
@media (max-width: 767px) {
  body[data-page="coverage"] .nmap__fig { width: calc(100% + 2 * var(--side)); margin-inline: calc(var(--side) * -1); }
  body[data-page="coverage"] .nmap__fig::before { border-inline: 0; }
  body[data-page="coverage"] .nmap__dot { width: 10px; height: 10px; margin: -5px 0 0 -5px; box-shadow: 0 0 0 1.5px var(--ink), 0 0 0 3px var(--paper); }
  body[data-page="coverage"] .nmap__home { width: 20px; height: 20px; margin: -10px 0 0 -10px; }
  body[data-page="coverage"] .nmap__name { translate: 6px -50%; }
  body[data-page="coverage"] .nmap__pin--l .nmap__name { translate: calc(-100% - 6px) -50%; }
}
@media (prefers-reduced-motion: reduce) { body[data-page="coverage"] .cv-map__text, body[data-page="coverage"] .cv-map__stage { position: static; } body[data-page="coverage"] .cv-map__grid { min-height: 0; } }

/* ------------------------------------------------------------ THE PROPOSAL SHEET, annotated (R2) */
body[data-page="coverage"] .cv-sign { overflow: clip; }
body[data-page="coverage"] .cv-sign__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 48px; align-items: start; }
body[data-page="coverage"] .cv-sign__text { grid-column: 1 / 7; }
body[data-page="coverage"] .cv-sign__stage { grid-column: 8 / 13; }
body[data-page="coverage"] .cv-sign__rows { margin-top: clamp(28px, 3vw, 44px); }
body[data-page="coverage"] .cv-sign__rows > li { grid-template-columns: 96px minmax(0, 1fr); padding-block: 22px; }
body[data-page="coverage"] .cv-sign__rows .n-out { font-size: 48px; transition: -webkit-text-stroke-color .4s var(--ease); }
body[data-page="coverage"] .cv-sign__rows p { font-size: var(--lead); line-height: 1.4; color: #3A3A37; max-width: 44ch; }
body[data-page="coverage"] .cv-sign__rows strong { color: var(--ink); font-weight: 700; }
body[data-page="coverage"] .cv-sign__foot { margin-top: clamp(28px, 3vw, 44px); font-size: var(--lead); font-weight: 600; }
body[data-page="coverage"] .cv-sign__foot a { text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: var(--lime-ink); }
body[data-page="coverage"] .cv-sign__foot a::after { content: ""; display: inline-block; width: .42em; height: .42em; margin-left: .3em; background: var(--lime); box-shadow: 0 0 0 1px var(--lime-ink); vertical-align: .06em; }
body[data-page="coverage"] .cv-sign__foot a:hover, body[data-page="coverage"] .cv-sign__foot a:focus-visible { color: var(--lime-ink); }
/* the sheet (accountability's .doc look) */
body[data-page="coverage"] .report-mark { width: 96px; height: auto; }
body[data-page="coverage"] .doc { background: var(--sheet); color: var(--ink); padding: clamp(22px, 2vw, 30px) clamp(24px, 2vw, 32px) clamp(24px, 2.2vw, 32px); font-size: 14px; line-height: 1.45;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="coverage"] .doc > * + * { margin-top: 14px; }
body[data-page="coverage"] .doc p { max-width: none; }
body[data-page="coverage"] .doc-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
body[data-page="coverage"] .doc-hd .report-mark { width: 96px; flex: 0 1 auto; min-width: 0; }
body[data-page="coverage"] .doc-kind { font: 700 13px/1.1 var(--f-fig); letter-spacing: .06em; padding: 5px 8px 4px; background: var(--ink); color: var(--lime); white-space: nowrap; }
body[data-page="coverage"] .doc-title { font-family: var(--f-display); font-size: clamp(21px, .5vw + 16px, 25px); line-height: 1.08; letter-spacing: -.01em; margin-top: 18px; }
body[data-page="coverage"] .doc-title::before { content: ""; display: block; width: 26px; height: 5px; margin-bottom: 12px; background: var(--ink); box-shadow: 14px 0 0 0 var(--lime); }
body[data-page="coverage"] .doc-meta { font: 600 13.5px/1.35 var(--f-fig); color: var(--mute-l); }
body[data-page="coverage"] .doc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.35; }
body[data-page="coverage"] .doc-table td { padding: 8px 10px 8px 0; border-top: 1px solid var(--sheet-rule); vertical-align: top; }
body[data-page="coverage"] .doc-table tr:last-child td { border-bottom: 1px solid var(--sheet-rule); }
body[data-page="coverage"] .doc-table td:last-child, body[data-page="coverage"] .doc-table th:last-child { padding-right: 0; text-align: right; width: 1%; white-space: nowrap; }
body[data-page="coverage"] .doc-table thead th { position: relative; padding: 18px 10px 7px 0; text-align: left; font: 600 12px/1.2 var(--f-fig); letter-spacing: .03em; color: var(--mute-l); border-bottom: 2px solid var(--ink); }
body[data-page="coverage"] .doc-table thead th:last-child { text-align: right; }
body[data-page="coverage"] .doc-redact { display: inline-block; width: 64px; height: 12px; background: var(--ink); vertical-align: middle; }
body[data-page="coverage"] .cv-sheet { position: relative; width: min(100%, 420px); margin-inline: auto; aspect-ratio: 1 / 1.3; display: flex; flex-direction: column; rotate: -1.5deg; filter: drop-shadow(0 24px 28px rgba(10,10,10,.22)); }
body[data-page="coverage"] .cv-sheet__line { position: relative; display: flex; align-items: center; gap: 10px; font-size: 13.5px; margin-top: 18px !important; }
body[data-page="coverage"] .cv-sheet__price { position: relative; display: flex; justify-content: space-between; align-items: center; font-weight: 700; border-top: 2px solid var(--ink); padding-top: 10px; }
body[data-page="coverage"] .cv-sheet__sign { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: auto !important; padding-top: 26px; }
body[data-page="coverage"] .cv-sheet__sign span { height: 2px; background: var(--ink); position: relative; }
body[data-page="coverage"] .cv-sheet__sign span:first-child::after { content: ""; position: absolute; left: 0; top: 0; width: 14px; height: 2px; background: var(--lime); }
/* the highlight box on the sheet element a row points at (ink on lime, the lead-foot box) */
body[data-page="coverage"] [data-mark] > span:first-child { padding: 1px 3px; margin-inline: -3px; box-decoration-break: clone; -webkit-box-decoration-break: clone; transition: background-color .35s var(--ease), color .35s var(--ease); }
body[data-page="coverage"] [data-mark].is-now > span:first-child { background: var(--lime); color: var(--ink); }
/* the marks: dot + ring + numbered plate (the reskin callout language), pinned to the element they annotate */
body[data-page="coverage"] .cv-mark { position: absolute; left: -17px; top: 50%; width: 12px; height: 12px; margin-top: -6px; z-index: 2; font-style: normal; pointer-events: none; transition: opacity .35s var(--ease), scale .45s cubic-bezier(.3, 1.6, .5, 1); }
body[data-page="coverage"] thead .cv-mark { top: auto; bottom: 7px; margin-top: 0; }
body[data-page="coverage"] .cv-mark > i { position: absolute; inset: 0; background: var(--lime); box-shadow: 0 0 0 2px var(--ink); transition: background-color .12s; }
body[data-page="coverage"] .cv-mark > i::after { content: ""; position: absolute; left: 50%; top: 50%; width: 22px; height: 22px; margin: -11px 0 0 -11px; box-shadow: 0 0 0 1.5px var(--lime-ink); }
body[data-page="coverage"] .cv-mark > b { position: absolute; left: 10px; bottom: 16px; padding: 4px 7px 3px 5px; background: var(--ink); color: var(--lime); font: 700 12px/1 var(--f-fig); letter-spacing: .04em;
  clip-path: polygon(0 0, calc(100% - 6px) 0, 100% 6px, 100% 100%, 0 100%); }
body[data-page="coverage"] th[data-mark] .cv-mark { left: -19px; }
body[data-page="coverage"] .cv-sheet__line .cv-mark, body[data-page="coverage"] .cv-sheet__price .cv-mark { left: -19px; top: .7em; }
body[data-page="coverage"] .cv-sheet__price .cv-mark { top: calc(10px + .7em); }
@media (min-width: 1024px) {
  body[data-page="coverage"] .cv-sign__stage { position: sticky; top: calc(var(--hdr-h) + 40px); }
  /* with motion on: the rows wait at half strength and the marks are folded away until their row reads */
  html.b-motion body[data-page="coverage"] .cv-sign__rows > li > * { opacity: .5; transition: opacity .4s var(--ease); }
  html.b-motion body[data-page="coverage"] .cv-sign__rows > li.is-on > * { opacity: 1; }
  html.b-motion body[data-page="coverage"] .cv-sign__rows > li.is-now .n-out { -webkit-text-stroke-color: var(--lime-ink); }
  html.b-motion body[data-page="coverage"] .cv-sign__rows > li.is-now strong { box-shadow: inset 0 -.38em 0 var(--lime); }
  html.b-motion body[data-page="coverage"] .cv-mark { opacity: 0; scale: .4; }
  html.b-motion body[data-page="coverage"] .cv-mark.is-on { opacity: 1; scale: 1; }
  html.b-motion body[data-page="coverage"] .cv-mark.is-on > i { animation: cv-flash .12s steps(1) 1; }
}
@keyframes cv-flash { 0% { background: var(--white); } 100% { background: var(--lime); } }
@media (max-width: 1023px) {
  body[data-page="coverage"] .cv-sign__text, body[data-page="coverage"] .cv-sign__stage { grid-column: 1 / -1; }
  body[data-page="coverage"] .cv-sign__stage { order: -1; }
  body[data-page="coverage"] .cv-sheet { width: min(100%, 360px); }
  body[data-page="coverage"] .cv-sign .cv-note { justify-content: center; }
}
@media (max-width: 767px) {
  body[data-page="coverage"] .cv-sign__rows > li { grid-template-columns: 1fr; gap: 6px; }
  body[data-page="coverage"] .cv-sign__rows .n-out { font-size: 40px; }
}
@media (prefers-reduced-motion: reduce) { body[data-page="coverage"] .cv-sheet { rotate: 0deg; } }

/* R3 (Jeff 13 Oct): right-hand copy hard to read over the cars + spacing off.
   The aside becomes a carbon plate (chamfered, lime edge), the photo is darker on the left and the
   bottom, and both columns sit on one baseline with proper room under them. */
body[data-page="coverage"] .cv-hero .hero__body { padding-bottom: clamp(130px, 11vw, 170px); }
body[data-page="coverage"] .cv-hero { min-height: min(84svh, 820px); }
body[data-page="coverage"] .cv-hero h1 { font-size: clamp(42px, 3.4vw + 18px, 80px); }
body[data-page="coverage"] .cv-hero .hero__main { align-items: end; }
body[data-page="coverage"] .cv-hero h1 { grid-column: 1 / 8; margin-bottom: 0; line-height: .98; }
body[data-page="coverage"] .cv-hero__aside { grid-column: 8 / 13; justify-self: end; max-width: 470px;
  background: rgba(10,10,10,.86); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  border-left: 5px solid var(--lime); padding: clamp(22px, 2vw, 30px) clamp(22px, 2.2vw, 34px) clamp(24px, 2.2vw, 32px);
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="coverage"] .cv-hero__aside .lead { color: #F3F3EF; max-width: none; font-size: clamp(17px, .25vw + 15px, 19px); }
body[data-page="coverage"] .cv-hero .hero__shade { background:
  linear-gradient(to top, rgba(10,10,10,.92) 0%, rgba(10,10,10,.7) 30%, rgba(10,10,10,.25) 62%, rgba(10,10,10,0) 80%),
  linear-gradient(to right, rgba(10,10,10,.55) 0%, rgba(10,10,10,.15) 55%, rgba(10,10,10,0) 70%),
  linear-gradient(to bottom, rgba(10,10,10,.5) 0%, rgba(10,10,10,0) 22%); }
@media (max-width: 1023px) {
  body[data-page="coverage"] .cv-hero__aside { grid-column: 1 / -1; justify-self: stretch; max-width: none; }
}
@media (max-width: 767px) {
  body[data-page="coverage"] .cv-hero .hero__body { padding-bottom: 72px; }
  body[data-page="coverage"] .cv-hero__aside { padding: 20px 20px 22px; }
}
/* R3: phone overflow (ghost mark + match livery poked 2px past 390) */
body[data-page="coverage"] .cv-hero, body[data-page="coverage"] .cv-match { overflow-x: clip; }

/* ---- src/css/parts/c-media.css ---- */
/* /media — VERSION C, ROUND 2 (ROUND2-C.md WP-B). Every selector is page-scoped.
   Base rules = the finished static page (no JS, reduced motion, phones): every example shown under its row, all
   nine posts on the phone with the nine captions listed, the three channel lines drawn, all five report lines
   ticked. Motion states only exist under classes media.js sets (.is-stage, .is-live, .is-drawn) or html.b-motion.
   Marram's posts are Marram's: their graphics use Marram's livery (slate + sand-gold band + white MARRAM), never
   SPONSR lime. Lime stays for SPONSR's own UI (play squares, viewfinders, flashes, ticks). */

body[data-page="media"] {
  --mr-slate: #2A2D31;
  --mr-deep: #1D2024;
  --mr-gold: #C8A75B;
  --mr-sand: #E9D9B0;
  --sheet: #FDFDFB;
  --sheet-rule: #E4E4DE;
}

/* ------------------------------------------------------------ HERO: a photograph with a plate on it (kept) */
body[data-page="media"] .md-hero .hero__shade { background: linear-gradient(to bottom, rgba(10,10,10,.6) 0%, rgba(10,10,10,0) 24%), linear-gradient(to top, rgba(10,10,10,.35) 0%, rgba(10,10,10,0) 30%); }
body[data-page="media"] .md-hero .hero__main { max-width: 680px; background: var(--carbon); padding: clamp(24px, 3vw, 44px); clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); border-bottom: 5px solid var(--lime); }
body[data-page="media"] .md-hero h1 { max-width: 13ch; }
body[data-page="media"] .md-hero .hero__body { padding-bottom: clamp(88px, 9vw, 140px); }
@media (max-width: 767px) {
  body[data-page="media"] .md-hero { min-height: 0; }
  body[data-page="media"] .md-hero .hero__body { padding-top: calc(var(--hdr-h) + 34svh); }
  body[data-page="media"] .md-hero .hero__main { margin-inline: calc(var(--side) * -.5); }
}
/* on phones keep the crew in the hero crop, not just the driver's shoulder */
@media (max-width: 760px) { body[data-page="media"] .hero img { object-position: 38% 30% !important; } }

/* "Illustrative" label */
body[data-page="media"] .md-note { font: 600 15px/1.3 var(--f-fig); color: var(--mute-d); display: flex; align-items: center; gap: 10px; }
body[data-page="media"] .md-note::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }
body[data-page="media"] .g-white .md-note, body[data-page="media"] .g-paper .md-note { color: var(--mute-l); }

/* ============================================================ THE DELIVERABLES (.md-what) */
body[data-page="media"] .md-what { position: relative; overflow: clip; }
body[data-page="media"] .md-what__livery { position: absolute; right: -6vw; top: clamp(40px, 6vw, 96px); z-index: 0; }
body[data-page="media"] .md-what > .wrap { position: relative; z-index: 1; }
body[data-page="media"] .md-what__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 20px; align-items: end; margin-bottom: clamp(32px, 4vw, 56px); }
body[data-page="media"] .md-what__head h2 { grid-column: 1 / 7; }
body[data-page="media"] .md-what__head p { grid-column: 8 / 13; font-size: var(--lead); line-height: 1.45; color: #33332F; }
@media (max-width: 1023px) { body[data-page="media"] .md-what__head h2, body[data-page="media"] .md-what__head p { grid-column: 1 / -1; } }

body[data-page="media"] .md-what__row { position: relative; display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: var(--gap); align-items: baseline; padding-block: 26px; border-top: 1px solid var(--rule-l); transition: opacity .4s var(--ease); }
body[data-page="media"] .md-what__row .n-out { font-size: 44px; transition: -webkit-text-stroke-color .3s var(--ease); }
body[data-page="media"] .md-what__row p { font-size: var(--lead); line-height: 1.45; max-width: 40ch; }
body[data-page="media"] .md-what__row strong { font-weight: 700; }
body[data-page="media"] .md-what__row::after { content: ""; position: absolute; left: 0; top: calc(26px + 52px); width: 24px; height: 4px; background: var(--lime); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--ease); }
body[data-page="media"] .md-what__item:last-child .md-what__row { border-bottom: 1px solid var(--rule-l); }

/* default (flow): each example under its row */
body[data-page="media"] .md-what__ex { position: relative; margin: 0 0 36px; max-width: 760px; }
@media (min-width: 768px) { body[data-page="media"] .md-what__ex { margin-left: calc(84px + var(--gap)); } }

/* --- the example plates (sizes in cqw of the plate, so they read at any width) */
body[data-page="media"] .ex { position: relative; display: block; width: 100%; background: var(--ink); color: var(--white); overflow: hidden; container-type: inline-size; isolation: isolate;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="media"] .ex::after { content: ""; position: absolute; inset: 0; z-index: 9; background: var(--lime); opacity: var(--flash, 0); pointer-events: none; }
body[data-page="media"] .ex p { max-width: none; margin: 0; }
body[data-page="media"] .ex--reel, body[data-page="media"] .ex--interview, body[data-page="media"] .ex--timeline { aspect-ratio: 16 / 9; }
body[data-page="media"] .ex--gallery { aspect-ratio: 3 / 2; }
body[data-page="media"] .ex--vertical { aspect-ratio: 16 / 10; }
body[data-page="media"] .ex--graphics { aspect-ratio: 2 / 1; }
body[data-page="media"] .ex__frame { position: absolute; inset: 0; }
body[data-page="media"] .ex .frame img { display: block; width: 100%; height: 100%; object-fit: cover; }

/* common pieces */
body[data-page="media"] .ex .vf { --vx: 4.5%; --vy: 7%; --vw: 91%; --vh: 78%; left: var(--vx); top: var(--vy); width: var(--vw); height: var(--vh); z-index: 3; }
body[data-page="media"] .ex .vf i { width: 18px; height: 18px; }
body[data-page="media"] .ex__play { position: absolute; left: 50%; top: 46%; z-index: 3; width: 14cqw; height: 14cqw; margin: -7cqw 0 0 -7cqw; background: var(--lime);
  clip-path: polygon(0 0, calc(100% - 3cqw) 0, 100% 3cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__play::after { content: ""; position: absolute; left: 39%; top: 29%; border-style: solid; border-width: 3.6cqw 0 3.6cqw 5.6cqw; border-color: transparent transparent transparent var(--ink); }
body[data-page="media"] .ex__tc { position: absolute; right: calc(var(--cut) * .6 + 3cqw); top: 3cqw; z-index: 4; padding: 1.2cqw 2cqw; background: rgba(10,10,10,.82); font: 600 3.6cqw/1 var(--f-fig); color: #9A9A94; letter-spacing: .02em; }
body[data-page="media"] .ex__tc b { color: var(--white); font-weight: 600; }
body[data-page="media"] .ex__bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 4; height: max(4px, 1cqw); background: rgba(255,255,255,.22); }
body[data-page="media"] .ex__bar i, body[data-page="media"] .ex__line i { position: absolute; inset: 0; background: var(--lime); transform: scaleX(var(--p, 1)); transform-origin: left center; }
body[data-page="media"] .ex__bar::after { content: ""; position: absolute; top: 50%; left: calc(29% - 1.2cqw); width: 2.4cqw; height: 2.4cqw; margin-top: -1.2cqw; background: var(--white); opacity: 0; }
body[data-page="media"] .ex__tag { position: absolute; left: 3cqw; bottom: calc(3cqw + max(4px, 1cqw)); z-index: 4; padding: 1.5cqw 3.4cqw 1.4cqw 2.4cqw; background: var(--ink); color: var(--white);
  font: 900 3.2cqw/1 var(--f-body); font-stretch: 125%; font-variation-settings: 'wdth' 125; letter-spacing: .06em; white-space: nowrap;
  clip-path: polygon(0 0, calc(100% - 1.8cqw) 0, 100% 1.8cqw, 100% 100%, 0 100%); }

/* 01 the reel: a shade at the foot so the bar and tag sit on dark */
body[data-page="media"] .ex--reel .ex__frame::after, body[data-page="media"] .ex--interview .ex__frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,.55) 0%, rgba(10,10,10,0) 34%); }
body[data-page="media"] .ex--reel .vf { --vx: 13%; --vy: 18%; --vw: 50%; --vh: 64%; }

/* 02 short vertical clips: three vertical frames on an ink plate, the middle one playing */
body[data-page="media"] .ex--vertical { display: flex; align-items: center; justify-content: center; gap: 3cqw;
  background: var(--ink) repeating-linear-gradient(-62deg, rgba(255,255,255,.035) 0 2px, transparent 2px 16px); }
body[data-page="media"] .ex__ph { position: relative; flex: 0 0 auto; height: 44cqw; aspect-ratio: 9 / 16; width: 24.75cqw; overflow: hidden; background: var(--tarmac);
  clip-path: polygon(0 0, calc(100% - 2cqw) 0, 100% 2cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__ph .frame { position: absolute; inset: 0; }
body[data-page="media"] .ex__ph--side .frame img { filter: brightness(.42) saturate(.7); }
body[data-page="media"] .ex__ph--main { height: 56cqw; width: 31.5cqw; container-type: inline-size; box-shadow: 0 0 0 3px #2E2F2B; }
body[data-page="media"] .ex__ph--main .frame::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,.6) 0%, rgba(10,10,10,0) 30%), linear-gradient(to bottom, rgba(10,10,10,.35) 0%, rgba(10,10,10,0) 18%); }
body[data-page="media"] .ex__pill { position: absolute; left: 6cqw; top: 6cqw; z-index: 2; padding: 2.6cqw 4.6cqw 2.6cqw 9cqw; background: var(--ink); color: var(--white); font: 600 7.4cqw/1 var(--f-body);
  clip-path: polygon(0 0, calc(100% - 3cqw) 0, 100% 3cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__pill::before { content: ""; position: absolute; left: 4cqw; top: 50%; width: 3cqw; height: 3cqw; margin-top: -1.5cqw; background: var(--lime); }
body[data-page="media"] .ex__acts { position: absolute; right: 7cqw; bottom: 26cqw; z-index: 2; display: grid; gap: 5cqw; }
body[data-page="media"] .ex__acts i { display: block; width: 8cqw; height: 8cqw; box-shadow: inset 0 0 0 max(1.5px, .9cqw) var(--white); }
body[data-page="media"] .ex__acts i:first-child { background: var(--white); clip-path: polygon(50% 100%, 0 40%, 0 10%, 25% 0, 50% 18%, 75% 0, 100% 10%, 100% 40%); box-shadow: none; }
body[data-page="media"] .ex__acts i:last-child { clip-path: polygon(0 0, 100% 50%, 0 100%, 0 70%, 60% 50%, 0 30%); background: var(--white); box-shadow: none; }
body[data-page="media"] .ex__vbar { position: absolute; right: 2.6cqw; top: 6cqw; bottom: 6cqw; z-index: 2; width: max(3px, 1.6cqw); background: rgba(255,255,255,.25); }
body[data-page="media"] .ex__vbar i { position: absolute; inset: 0; background: var(--lime); transform: scaleY(var(--p, 1)); transform-origin: center top; }
body[data-page="media"] .ex__tag--sm { left: 6cqw; bottom: 7cqw; padding: 2.6cqw 4.6cqw 2.4cqw 4cqw; font: 500 7.2cqw/1 var(--f-body); letter-spacing: 0; font-stretch: 100%; font-variation-settings: 'wdth' 100; }

/* 03 the interview: REC + running time, a proper lower third in Marram's colours */
body[data-page="media"] .ex__rec { position: absolute; right: calc(var(--cut) * .6 + 3cqw); top: 3cqw; z-index: 4; display: flex; align-items: center; gap: 1.6cqw; padding: 1.3cqw 2.2cqw; background: rgba(10,10,10,.8); font: 600 3.2cqw/1 var(--f-fig); color: var(--white); letter-spacing: .03em; }
body[data-page="media"] .ex__rec b { display: flex; align-items: center; gap: 1.2cqw; font-weight: 700; letter-spacing: .08em; }
body[data-page="media"] .ex__rec b::before { content: ""; width: 1.9cqw; height: 1.9cqw; border-radius: 50%; background: #E0262F; }
body[data-page="media"] .ex__third { position: absolute; left: 0; bottom: 6cqw; z-index: 4; display: grid; grid-template-columns: 4.6cqw auto; column-gap: 2.6cqw; padding: 2cqw 7cqw 2cqw 0; background: var(--white); color: var(--ink);
  clip-path: polygon(0 0, calc(100% - 2.6cqw) 0, 100% 2.6cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__third::before { content: ""; grid-row: 1 / 3; align-self: stretch; margin-block: -2cqw; background: linear-gradient(118deg, var(--mr-slate) 0 46%, var(--mr-gold) 46% 66%, var(--mr-slate) 66%); }
body[data-page="media"] .ex__third-n { font: 400 4cqw/1 var(--f-display); letter-spacing: .01em; text-transform: uppercase; }
body[data-page="media"] .ex__third-n::after { content: ""; display: block; width: 9cqw; height: .8cqw; margin: 1.2cqw 0 1cqw; background: var(--mr-gold); }
body[data-page="media"] .ex__third-d { font: 600 2.5cqw/1 var(--f-fig); color: #55554F; white-space: nowrap; letter-spacing: .02em; }

/* 04 the gallery: a contact sheet of six, two picked */
body[data-page="media"] .ex--gallery { padding: 1.2cqw; background: var(--ink); }
body[data-page="media"] .ex__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 1cqw; height: 100%; }
body[data-page="media"] .ex__grid > .frame { position: relative; display: block; overflow: hidden; }
body[data-page="media"] .ex__grid > .frame:first-child { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
body[data-page="media"] .ex__grid > .frame:last-child { clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%); }
body[data-page="media"] .ex__grid .vf { --vx: 6%; --vy: 8%; --vw: 88%; --vh: 84%; }
body[data-page="media"] .ex__grid .vf i { width: 14px; height: 14px; }
body[data-page="media"] .ex__grid .is-pick::after { content: ""; position: absolute; right: 2cqw; top: 2cqw; width: 3.6cqw; height: 3.6cqw; background: var(--lime); }
body[data-page="media"] .ex__grid .is-pick::before { content: ""; position: absolute; right: calc(2cqw + 1.25cqw); top: calc(2cqw + .6cqw); z-index: 1; width: .9cqw; height: 1.8cqw; border: solid var(--ink); border-width: 0 max(1.5px, .45cqw) max(1.5px, .45cqw) 0; transform: rotate(45deg); }
body[data-page="media"] .ex--gallery .ex__tag { left: auto; right: 2.6cqw; bottom: 2.6cqw; }

/* 05 the graphics: Marram's race-week and result posts, side by side on paper */
body[data-page="media"] .ex--graphics { display: flex; align-items: center; justify-content: center; gap: 4%; background: transparent; overflow: visible; clip-path: none; }
body[data-page="media"] .ex--graphics::after { display: none; }
body[data-page="media"] .ex--graphics > .ig-post { flex: 0 0 46%; box-shadow: 0 18px 30px rgba(10,10,10,.24); }
body[data-page="media"] .ex--graphics > .ig-post:first-child { transform: rotate(-2deg); }
body[data-page="media"] .ex--graphics > .ig-post:last-child { transform: rotate(1.5deg) translateY(4%); }
body[data-page="media"] .ex--graphics > .ig-post::after { opacity: var(--flash, 0); }

/* 06 the timeline: chequered flag → same night → within 48 hours */
body[data-page="media"] .ex--timeline { background: var(--ink) repeating-linear-gradient(-62deg, rgba(255,255,255,.03) 0 2px, transparent 2px 16px); }
body[data-page="media"] .ex__line { position: absolute; left: 7cqw; right: 7cqw; top: calc(35cqw - .45cqw); height: .9cqw; background: #2E2F2B; }
body[data-page="media"] .ex__stops { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 11.5cqw 7cqw 0; }
body[data-page="media"] .ex__stop { min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: 22cqw 3cqw auto auto; justify-items: start; align-content: start; }
body[data-page="media"] .ex__stop + .ex__stop { padding-left: 2cqw; }
body[data-page="media"] .ex__thumbs, body[data-page="media"] .ex__chq { grid-row: 1; align-self: end; margin-bottom: 2.4cqw; }
body[data-page="media"] .ex__chq { position: relative; width: 9cqw; height: 6.4cqw; margin-left: 1.2cqw; background: repeating-conic-gradient(var(--white) 0 25%, var(--ink) 0 50%) 0 0 / 3.2cqw 3.2cqw; box-shadow: 0 0 0 1px rgba(255,255,255,.5); }
body[data-page="media"] .ex__chq::before { content: ""; position: absolute; left: -1.2cqw; top: 0; width: .7cqw; height: 13cqw; background: var(--white); }
body[data-page="media"] .ex__chq { margin-bottom: calc(2.4cqw + 6.6cqw); }
body[data-page="media"] .ex__thumbs { display: flex; gap: .8cqw; }
body[data-page="media"] .ex__thumbs .frame { display: block; width: 19cqw; height: 13cqw; clip-path: polygon(0 0, calc(100% - 2cqw) 0, 100% 2cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__thumbs--3 .frame { width: 7.6cqw; height: 10cqw; clip-path: none; }
body[data-page="media"] .ex__thumbs--3 .frame:last-child { clip-path: polygon(0 0, calc(100% - 1.6cqw) 0, 100% 1.6cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ex__dot { grid-row: 2; align-self: center; position: relative; z-index: 1; width: 3cqw; height: 3cqw; background: var(--lime); box-shadow: 0 0 0 .8cqw var(--ink); }
body[data-page="media"] .ex__lbl { grid-row: 3; margin-top: 3cqw !important; font: 700 3.4cqw/1.1 var(--f-fig); color: var(--white); letter-spacing: .01em; }
body[data-page="media"] .ex__sub { grid-row: 4; margin-top: 1.2cqw !important; font: 500 2.7cqw/1.25 var(--f-body); color: #BDBDB8; }

/* --- ≥1024 with motion: one sticky stage beside the rows; the examples swap as each row passes (media.js) */
@media (min-width: 1024px) {
  body[data-page="media"] .md-what.is-stage .md-what__list { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: repeat(6, auto) 24svh; column-gap: var(--gap); }
  body[data-page="media"] .md-what.is-stage .md-what__item { display: contents; }
  body[data-page="media"] .md-what.is-stage .md-what__row { grid-column: 1 / 7; min-height: clamp(128px, 19svh, 180px); align-content: center; opacity: .45; }
  body[data-page="media"] .md-what.is-stage .md-what__item.is-on .md-what__row { opacity: 1; }
  body[data-page="media"] .md-what.is-stage .md-what__item.is-on .n-out { -webkit-text-stroke-color: var(--lime-ink); }
  body[data-page="media"] .md-what.is-stage .md-what__item.is-on .md-what__row::after { transform: scaleX(1); }
  body[data-page="media"] .md-what.is-stage .md-what__row::after { top: calc(50% + 28px); }
  body[data-page="media"] .md-what.is-stage .md-what__ex { grid-column: 7 / 13; grid-row: 1 / span 7; align-self: start; position: sticky; top: calc(var(--hdr-h) + max(24px, (100svh - var(--hdr-h) - 36vw * 10 / 16) / 2)); margin: 0 0 0 calc(var(--gap) * 1.2);
    aspect-ratio: 16 / 10; display: grid; place-items: center; max-width: none; }
  body[data-page="media"] .md-what.is-stage .ex { grid-area: 1 / 1; }
  body[data-page="media"] .md-what.is-stage .ex--gallery { width: 93.75%; }
  body[data-page="media"] .md-what.is-stage .ex--vertical { width: 100%; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(1) .md-what__row { grid-row: 1; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(2) .md-what__row { grid-row: 2; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(3) .md-what__row { grid-row: 3; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(4) .md-what__row { grid-row: 4; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(5) .md-what__row { grid-row: 5; }
  body[data-page="media"] .md-what.is-stage .md-what__item:nth-child(6) .md-what__row { grid-row: 6; }
}
@media (max-width: 767px) {
  body[data-page="media"] .md-what__row { grid-template-columns: 56px minmax(0, 1fr); gap: 14px; padding-block: 22px 18px; }
  body[data-page="media"] .md-what__row .n-out { font-size: 34px; }
  body[data-page="media"] .md-what__row p { font-size: 18px; }
  body[data-page="media"] .md-what__ex { margin-bottom: 28px; }
  body[data-page="media"] .ex--vertical { aspect-ratio: 4 / 3; }
  body[data-page="media"] .ex__ph { height: 54cqw; width: 30.4cqw; }
  body[data-page="media"] .ex__ph--main { height: 70cqw; width: 39.4cqw; }
  body[data-page="media"] .ex--graphics { aspect-ratio: auto; padding-block: 10px 18px; }
  body[data-page="media"] .ex__lbl { font-size: 3.5cqw; max-width: 100%; }
  body[data-page="media"] .ex__sub { font-size: 3cqw; }
  body[data-page="media"] .ex__stop + .ex__stop { padding-left: 3cqw; }
}

/* ============================================================ THE FEED (signature) */
body[data-page="media"] .md-feed { position: relative; overflow: clip; }
body[data-page="media"] .md-feed__pin { position: relative; padding-block: var(--sec); }
body[data-page="media"] .md-feed__livery { position: absolute; left: 0; bottom: clamp(20px, 4vw, 60px); z-index: 0; }
body[data-page="media"] .md-feed__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(40px, 5vw, 64px); align-items: center; }
body[data-page="media"] .md-feed__text { grid-column: 1 / 6; }
body[data-page="media"] .md-feed__text > * + * { margin-top: 24px; }
body[data-page="media"] .md-feed__text > p:not(.md-note):not(.md-feed__cap) { color: #D9D9D4; }
body[data-page="media"] .md-feed__stage { grid-column: 7 / 13; display: flex; justify-content: center; }

/* the caption that reads out beside the phone (desktop with motion only) */
body[data-page="media"] .md-feed__cap { display: none; }
body[data-page="media"] .md-feed.is-live .md-feed__cap { display: block; position: relative; min-height: calc(2 * 1.4em + 2 * 20px); padding: 20px 24px 20px 46px; background: var(--carbon); color: var(--white); font: 600 var(--lead)/1.4 var(--f-body); border-left: 3px solid var(--lime);
  clip-path: polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%); }
body[data-page="media"] .md-feed.is-live .md-feed__cap::before { content: ""; position: absolute; left: 20px; top: calc(20px + .5em); width: 12px; height: 12px; background: var(--lime); }

/* the device: a chamfered ink plate, not an iPhone drawing */
body[data-page="media"] .phone { --pw: clamp(300px, 27vw, 400px); position: relative; width: var(--pw); padding: 30px 12px 12px; background: var(--ink); box-shadow: inset 0 0 0 3px #2E2F2B;
  clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 0 100%); }
body[data-page="media"] .phone::before { content: ""; position: absolute; left: 50%; top: 11px; width: 9px; height: 9px; margin-left: -4.5px; background: var(--lime); }
body[data-page="media"] .phone::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 5px; background: var(--lime); }
body[data-page="media"] .phone__screen { position: relative; background: var(--white); color: var(--ink); overflow: hidden;
  clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 16px, 100% 100%, 0 100%); }
body[data-page="media"] .ig-head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 12px; row-gap: 10px; align-items: center; padding: 14px 14px 12px; }
/* Marram's avatar: slate, the sand-gold band, a white M */
body[data-page="media"] .ig-avatar { position: relative; display: grid; place-items: center; width: 48px; height: 48px; overflow: hidden; background: var(--mr-slate); color: var(--white); font: 400 24px/1 var(--f-display); isolation: isolate;
  clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
body[data-page="media"] .ig-avatar::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(118deg, transparent 0 58%, var(--white) 58% 61%, var(--mr-gold) 61% 78%, transparent 78%); }
body[data-page="media"] .ig-id { min-width: 0; }
body[data-page="media"] .ig-handle { font: 700 15px/1.2 var(--f-body); }
body[data-page="media"] .ig-name { font: 500 13px/1.3 var(--f-body); color: var(--mute-l); }
body[data-page="media"] .ig-stats { align-self: start; font: 600 11px/1 var(--f-fig); color: var(--lime-ink); letter-spacing: .04em; padding: 4px 6px; box-shadow: inset 0 0 0 1px var(--rule-l); }
body[data-page="media"] .ig-bio { grid-column: 1 / -1; font: 400 12px/1.45 var(--f-body); color: var(--ink); max-width: none; }
body[data-page="media"] .ig-grid { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 3px; border-top: 1px solid var(--rule-l); padding-top: 3px; }
/* the grid tab marker: a short ink rule over the first column, as on a real profile */
body[data-page="media"] .ig-grid::before { content: ""; position: absolute; left: 0; top: -1px; width: 33.333%; height: 2px; background: var(--ink); }

/* ============================================================ THE POSTS (shared anatomy with home: .ig-post…) */
body[data-page="media"] .ig-post { position: relative; aspect-ratio: 1; overflow: hidden; container-type: inline-size; background: var(--mr-slate); color: var(--white); }
body[data-page="media"] .ig-post__img { position: absolute; inset: 0; height: 100%; }
body[data-page="media"] .ig-post__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
body[data-page="media"] .ig-post__over { position: absolute; inset: 0; z-index: 2; pointer-events: none; color: var(--white); }
body[data-page="media"] .ig-post__over p { max-width: none; margin: 0; }
body[data-page="media"] .ig-post::after { content: ""; position: absolute; inset: 0; z-index: 4; background: var(--lime); opacity: var(--flash, 0); pointer-events: none; }

/* Marram's graphics: darkened photograph, a slate wash from the left, the livery band across the top-right corner */
body[data-page="media"] .ig-post--graphic .ig-post__img img { filter: brightness(.5) saturate(.85); }
body[data-page="media"] .ig-post--result .ig-post__img img { filter: brightness(.42) saturate(.8); }
body[data-page="media"] .ig-post--graphic .ig-post__over { background: linear-gradient(90deg, rgba(29,32,36,.92) 0%, rgba(29,32,36,.62) 44%, rgba(29,32,36,0) 78%); }
body[data-page="media"] .ig-post--result .ig-post__over { background: linear-gradient(to top, rgba(29,32,36,.9) 0%, rgba(29,32,36,.35) 46%, rgba(29,32,36,.15) 100%); }
body[data-page="media"] .ig-post--graphic .ig-post__over::before, body[data-page="media"] .ig-post--result .ig-post__over::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(118deg, transparent 0 62%, var(--white) 62% 62.8%, var(--mr-gold) 62.8% 70%, transparent 70% 71.6%, rgba(200,167,91,.5) 71.6% 72.6%, transparent 72.6%); }
/* the MARRAM mark, top-left: a sand-gold square (stands in for the grass mark) + the name in livery lettering */
body[data-page="media"] .ig-mark { position: absolute; left: 6cqw; top: 6cqw; z-index: 1; display: flex; align-items: center; gap: 2cqw; font: 900 7cqw/1 var(--f-body); font-stretch: 125%; font-variation-settings: 'wdth' 125; letter-spacing: .06em; color: var(--white); }
body[data-page="media"] .ig-mark::before { content: ""; width: 3cqw; height: 3cqw; background: var(--mr-sand); flex: 0 0 auto; transform: skewX(-12deg); }
/* race week */
body[data-page="media"] .ig-wk { position: absolute; left: 6cqw; top: 20cqw; z-index: 1; }
body[data-page="media"] .ig-big { font: 400 17cqw/.88 var(--f-display); letter-spacing: -.015em; color: var(--white); text-shadow: 0 .6cqw 2cqw rgba(0,0,0,.35); }
body[data-page="media"] .ig-sub { margin-top: 3.4cqw !important; font: 600 6cqw/1.1 var(--f-fig); color: var(--white); letter-spacing: .01em; }
body[data-page="media"] .ig-date { display: inline-block; margin-top: 2.4cqw !important; padding: 1.6cqw 4.4cqw 1.4cqw 2.4cqw; background: var(--mr-gold); color: var(--ink); font: 700 5.6cqw/1 var(--f-fig);
  clip-path: polygon(0 0, calc(100% - 2.4cqw) 0, 100% 2.4cqw, 100% 100%, 0 100%); }
/* the foot bar: slate, the gold rule above it */
body[data-page="media"] .ig-bar { position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: flex; align-items: center; gap: 2.4cqw; padding: 3.2cqw 6cqw; background: var(--mr-slate); color: var(--white); border-top: 1cqw solid var(--mr-gold);
  font: 900 5.6cqw/1 var(--f-body); font-stretch: 125%; font-variation-settings: 'wdth' 125; letter-spacing: .08em; white-space: nowrap; }
body[data-page="media"] .ig-bar::after { content: ""; margin-left: auto; width: 14cqw; height: 2.6cqw; background: repeating-linear-gradient(118deg, var(--mr-gold) 0 1cqw, transparent 1cqw 2.2cqw); }
/* the clip: REC, running time, lime play square (SPONSR's UI), a proper lower third */
body[data-page="media"] .ig-post--clip .ig-post__img::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(10,10,10,.5) 0%, rgba(10,10,10,0) 40%); }
body[data-page="media"] .ig-rec { position: absolute; left: 5cqw; top: 5cqw; display: flex; align-items: center; gap: 1.8cqw; padding: 1.8cqw 3cqw; background: rgba(10,10,10,.78); font: 700 5cqw/1 var(--f-fig); letter-spacing: .08em; color: var(--white); }
body[data-page="media"] .ig-rec::before { content: ""; width: 2.4cqw; height: 2.4cqw; border-radius: 50%; background: #E0262F; }
body[data-page="media"] .ig-time { position: absolute; right: 5cqw; top: 5cqw; padding: 1.8cqw 3cqw; background: rgba(10,10,10,.78); font: 600 5.6cqw/1 var(--f-fig); color: var(--white); }
body[data-page="media"] .ig-play { position: absolute; left: 50%; top: 42%; width: 20cqw; height: 20cqw; margin: -10cqw 0 0 -10cqw; background: var(--lime);
  clip-path: polygon(0 0, calc(100% - 4.4cqw) 0, 100% 4.4cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ig-play::after { content: ""; position: absolute; left: 39%; top: 28%; border-style: solid; border-width: 5.2cqw 0 5.2cqw 8cqw; border-color: transparent transparent transparent var(--ink); }
body[data-page="media"] .ig-third--mr { position: absolute; left: 0; bottom: 6cqw; display: grid; grid-template-columns: 5cqw auto; column-gap: 3.4cqw; padding: 3.2cqw 9cqw 3.2cqw 0; background: var(--white); color: var(--ink);
  clip-path: polygon(0 0, calc(100% - 4cqw) 0, 100% 4cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ig-third--mr::before { content: ""; grid-row: 1 / 3; margin-block: -3.2cqw; background: linear-gradient(118deg, var(--mr-slate) 0 40%, var(--mr-gold) 40% 66%, var(--mr-slate) 66%); }
body[data-page="media"] .ig-third__n { font: 400 7cqw/1 var(--f-display); letter-spacing: .01em; text-transform: uppercase; }
body[data-page="media"] .ig-third__n::after { content: ""; display: block; width: 14cqw; height: 1.6cqw; margin: 1.8cqw 0 1.6cqw; background: var(--mr-gold); }
body[data-page="media"] .ig-third__d { font: 600 5cqw/1 var(--f-fig); color: #55554F; white-space: nowrap; }
/* the result: a solid sand-gold P2 (Marram's graphic), a chequered strip, the race */
body[data-page="media"] .ig-res { position: absolute; left: 6cqw; top: 16cqw; z-index: 1; }
body[data-page="media"] .ig-res__p { font: 700 44cqw/.8 var(--f-fig); color: var(--mr-gold); letter-spacing: -.03em; text-shadow: 0 1cqw 4cqw rgba(0,0,0,.35); }
body[data-page="media"] .ig-res__chq { display: block; width: 42cqw; height: 3cqw; margin-top: 3cqw; background: repeating-conic-gradient(var(--white) 0 25%, var(--ink) 0 50%) 0 0 / 3cqw 3cqw; }
body[data-page="media"] .ig-res__d { margin-top: 3cqw !important; font: 600 6cqw/1.1 var(--f-fig); color: var(--white); white-space: nowrap; }
/* photos: the handle tag, bottom-left */
body[data-page="media"] .ig-tag { position: absolute; left: 5cqw; bottom: 5cqw; display: flex; align-items: center; gap: 2cqw; padding: 2.2cqw 3.6cqw 2.2cqw 3cqw; background: rgba(10,10,10,.82); color: var(--white); font: 500 5.6cqw/1 var(--f-body);
  clip-path: polygon(0 0, calc(100% - 3cqw) 0, 100% 3cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ig-tag::before { content: ""; width: 3.6cqw; height: 3.6cqw; flex: 0 0 auto; background: var(--white); clip-path: polygon(30% 0, 70% 0, 70% 45%, 30% 45%, 30% 0, 50% 52%, 100% 70%, 100% 100%, 0 100%, 0 70%, 50% 52%); }
body[data-page="media"] .ig-pill { position: absolute; left: 5cqw; top: 5cqw; padding: 2.4cqw 4.4cqw 2.4cqw 7.6cqw; background: var(--ink); color: var(--white); font: 600 6.2cqw/1 var(--f-body);
  clip-path: polygon(0 0, calc(100% - 3cqw) 0, 100% 3cqw, 100% 100%, 0 100%); }
body[data-page="media"] .ig-pill::before { content: ""; position: absolute; left: 3.6cqw; top: 50%; width: 2.4cqw; height: 2.4cqw; margin-top: -1.2cqw; background: var(--lime); }
/* the carousel cover (the @lead_foot_racing pattern in Marram's colours): blunt hook, the payoff boxed word by word, the counter */
body[data-page="media"] .ig-car { background: var(--mr-slate) repeating-linear-gradient(-62deg, rgba(255,255,255,.03) 0 2px, transparent 2px 14px); }
body[data-page="media"] .ig-stack { position: absolute; right: 6cqw; top: 6cqw; z-index: 1; width: 7cqw; height: 7cqw; box-shadow: inset 0 0 0 max(1px, .9cqw) var(--white); }
body[data-page="media"] .ig-stack::before { content: ""; position: absolute; left: 2cqw; top: -2cqw; right: -2cqw; bottom: 2cqw; border: solid var(--white); border-width: max(1px, .9cqw) max(1px, .9cqw) 0 0; }
body[data-page="media"] .ig-hook { position: absolute; left: 6cqw; right: 8cqw; top: 19cqw; z-index: 1; font: 400 10.4cqw/.98 var(--f-display); letter-spacing: -.015em; color: var(--white); }
body[data-page="media"] .ig-pay { position: absolute; left: 6cqw; right: 6cqw; top: 58cqw; z-index: 1; display: flex; flex-wrap: wrap; gap: 1.5cqw; }
body[data-page="media"] .ig-pay span { padding: 1.4cqw 2cqw 1.2cqw; background: var(--mr-gold); color: var(--ink); font: 700 6cqw/1 var(--f-fig); }
body[data-page="media"] .ig-dots { position: absolute; left: 6cqw; bottom: 7.4cqw; z-index: 1; display: flex; gap: 1.4cqw; }
body[data-page="media"] .ig-dots i { width: 2.2cqw; height: 2.2cqw; background: rgba(255,255,255,.28); }
body[data-page="media"] .ig-dots i:first-child { background: var(--mr-gold); }
body[data-page="media"] .ig-swipe { position: absolute; right: 6cqw; bottom: 6cqw; z-index: 1; font: 600 5cqw/1 var(--f-fig); color: #BDB9AE; white-space: nowrap; }

/* the viewfinder that frames each landing (desktop with motion only) */
body[data-page="media"] .md-feed__vf { display: none; }
body[data-page="media"] .md-feed.is-live .md-feed__vf { display: block; left: 0; top: 0; z-index: 5; opacity: 0; }
body[data-page="media"] .md-feed__vf i { width: 16px; height: 16px; border-color: var(--lime); }
body[data-page="media"] .md-feed__vf i:nth-child(1) { left: 4px; top: 4px; }
body[data-page="media"] .md-feed__vf i:nth-child(2) { right: 4px; top: 4px; }
body[data-page="media"] .md-feed__vf i:nth-child(3) { left: 4px; bottom: 4px; }
body[data-page="media"] .md-feed__vf i:nth-child(4) { right: 4px; bottom: 4px; }

/* the nine captions, listed (default; phones; reduced motion) */
body[data-page="media"] .md-feed__caps { position: relative; z-index: 1; margin-top: clamp(48px, 5vw, 72px); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--gap); }
body[data-page="media"] .md-feed__caps > li { grid-template-columns: 84px minmax(0, 1fr); align-items: center; }
body[data-page="media"] .md-feed__caps .n-out { font-size: 44px; }
body[data-page="media"] .md-feed__caps p { color: #D9D9D4; }
body[data-page="media"] .md-feed.is-live .md-feed__caps { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

@media (min-width: 1024px) {
  body[data-page="media"] .md-feed.is-live .md-feed__pin { min-height: 100svh; padding-block: calc(var(--hdr-h) + 16px) 32px; display: flex; flex-direction: column; justify-content: center; }
  body[data-page="media"] .md-feed.is-live .phone { --pw: min(clamp(320px, 30vw, 440px), calc((100svh - var(--hdr-h) - 150px) * 0.78)); }
}
@media (hover: hover) and (pointer: fine) {
  body[data-page="media"] .md-feed.is-live .ig-post { transition: scale .32s var(--ease); }
  body[data-page="media"] .md-feed.is-live .ig-post.is-landed:hover { scale: 1.05; z-index: 6; box-shadow: 0 10px 24px rgba(0,0,0,.35); }
}
@media (max-width: 1023px) {
  body[data-page="media"] .md-feed__text, body[data-page="media"] .md-feed__stage { grid-column: 1 / -1; }
  body[data-page="media"] .phone { --pw: min(100%, 400px); }
  body[data-page="media"] .md-feed__caps { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  body[data-page="media"] .md-feed__caps > li { grid-template-columns: 64px minmax(0, 1fr); gap: 12px; }
  body[data-page="media"] .md-feed__caps .n-out { font-size: 36px; }
}

/* ============================================================ ONE POST, THREE CHANNELS (.md-where) */
body[data-page="media"] .md-where { position: relative; overflow: clip; }
body[data-page="media"] .md-where__livery { position: absolute; left: -4vw; bottom: clamp(24px, 4vw, 64px); z-index: 0; }
body[data-page="media"] .md-where > .wrap { position: relative; z-index: 1; }
body[data-page="media"] .md-where__stage { position: relative; margin-top: clamp(36px, 4vw, 60px); display: grid; grid-template-columns: 3fr 1.2fr 7fr; align-items: stretch; column-gap: 0; }
body[data-page="media"] .md-where__post { align-self: center; display: flex; flex-direction: column; align-items: flex-start; gap: 18px; position: relative; z-index: 2; }
body[data-page="media"] .md-where__one { width: min(100%, 320px); }
body[data-page="media"] .md-where__one .ig-post { transform: rotate(-2deg); box-shadow: 0 24px 40px rgba(10,10,10,.25); }
body[data-page="media"] .md-where__lines { display: block; width: calc(100% + 32px); max-width: none; height: 100%; margin: 0 -2px 0 -30px; overflow: visible; }
body[data-page="media"] .md-where__line { fill: none; stroke: var(--lime); stroke-width: 3; vector-effect: non-scaling-stroke; stroke-linejoin: miter; filter: drop-shadow(0 0 .5px var(--ink)) drop-shadow(0 0 .5px var(--ink)); }
body[data-page="media"] .md-where__chan { display: grid; grid-template-rows: repeat(3, minmax(0, 1fr)); }
body[data-page="media"] .md-where__chan > li { display: flex; flex-direction: column; justify-content: center; gap: 14px; position: relative; }
body[data-page="media"] .md-where__chan > li::before { content: ""; position: absolute; left: -6px; top: 50%; width: 11px; height: 11px; margin-top: -5.5px; background: var(--lime); box-shadow: 0 0 0 1.5px var(--ink); }
body[data-page="media"] .md-where__chan p { max-width: 54ch; }
body[data-page="media"] .md-where__chan strong { font-weight: 700; }
body[data-page="media"] .md-where__chan > li { padding-left: 26px; }
/* the channel plate: ink strip, avatar, who it reaches, the same post, tagged */
body[data-page="media"] .md-chan { position: relative; display: grid; grid-template-columns: 38px minmax(0, 1fr) 46px; column-gap: 14px; align-items: center; max-width: 560px; padding: 10px 14px 10px 10px; background: var(--ink); color: var(--white);
  clip-path: polygon(0 0, calc(100% - var(--cut-s)) 0, 100% var(--cut-s), 100% 100%, 0 100%); }
body[data-page="media"] .md-chan::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--lime); transform: scaleX(var(--tagged, 1)); transform-origin: left center; }
body[data-page="media"] .md-chan__av { display: grid; place-items: center; width: 38px; height: 38px; background: var(--carbon); box-shadow: inset 0 0 0 1px #2E2F2B; color: var(--white); font: 400 18px/1 var(--f-display); font-style: normal;
  clip-path: polygon(0 0, calc(100% - 9px) 0, 100% 9px, 100% 100%, 0 100%); }
body[data-page="media"] .md-chan__av--s { background: var(--lime); color: var(--ink); box-shadow: none; }
body[data-page="media"] .md-chan__id { min-width: 0; display: grid; gap: 3px; }
body[data-page="media"] .md-chan__id b { font: 700 15px/1.2 var(--f-body); color: var(--white); }
body[data-page="media"] .md-chan__id small { font: 600 12px/1.25 var(--f-fig); color: #BDBDB8; }
body[data-page="media"] .md-chan__post { position: relative; grid-row: 1 / 3; grid-column: 3; width: 46px; height: 46px; overflow: hidden; background: var(--mr-slate); }
body[data-page="media"] .md-chan__post img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 52%; filter: brightness(.5); }
body[data-page="media"] .md-chan__post em { position: absolute; left: 5px; bottom: 3px; font: 700 20px/1 var(--f-fig); font-style: normal; color: var(--mr-gold); }
body[data-page="media"] .md-chan__post::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 3px; background: var(--mr-gold); }
body[data-page="media"] .md-chan__tag { grid-column: 2; display: flex; align-items: center; gap: 8px; margin-top: 7px; font: 600 12px/1 var(--f-fig); color: var(--white); letter-spacing: .02em; }
body[data-page="media"] .md-chan__tag::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }
body[data-page="media"] .md-chan__id { grid-row: 1; grid-column: 2; }
body[data-page="media"] .md-chan__av { grid-row: 1 / 3; grid-column: 1; }
body[data-page="media"] .md-where__rights { margin-top: clamp(36px, 4vw, 56px); max-width: 56ch; }

@media (max-width: 1023px) {
  body[data-page="media"] .md-where__stage { grid-template-columns: 1fr; row-gap: 36px; }
  body[data-page="media"] .md-where__post { align-items: center; }
  body[data-page="media"] .md-where__one { width: min(100%, 280px); }
  body[data-page="media"] .md-where__lines { display: none; }
  body[data-page="media"] .md-where__chan { grid-template-rows: none; position: relative; }
  body[data-page="media"] .md-where__chan::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--rule-l); }
  body[data-page="media"] .md-where__chan::after { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--lime); box-shadow: 0 0 0 1px var(--ink); transform: scaleY(var(--p, 1)); transform-origin: center top; }
  body[data-page="media"] .md-where__chan > li::before { left: -4px; top: 34px; z-index: 1; }
  body[data-page="media"] .md-where__chan > li { padding-left: 24px; }
}
@media (max-width: 479px) {
  body[data-page="media"] .md-chan { grid-template-columns: 34px minmax(0, 1fr) 40px; column-gap: 10px; }
  body[data-page="media"] .md-chan__av { width: 34px; height: 34px; }
  body[data-page="media"] .md-chan__post { width: 40px; height: 40px; }
  body[data-page="media"] .md-chan__post em { font-size: 17px; }
}

/* ============================================================ THE REPORT SHEET (.md-count) */
@media (min-width: 768px) { body[data-page="media"] .md-count { padding-bottom: calc(var(--sec) + min(46vw, 640px) / 1.27 * .5 - 40px); } }
body[data-page="media"] .md-count__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 48px; align-items: center; }
body[data-page="media"] .md-count__text { grid-column: 1 / 6; }
body[data-page="media"] .md-count__text > * + * { margin-top: 26px; }
body[data-page="media"] .md-count__text p:not(:last-child) { max-width: 46ch; font-size: var(--lead); line-height: 1.5; color: #33332F; }
body[data-page="media"] .md-count__stage { grid-column: 7 / 13; display: flex; flex-direction: column; align-items: center; gap: 22px; }
body[data-page="media"] .md-count__stage .md-note { align-self: center; }
@media (max-width: 1023px) {
  body[data-page="media"] .md-count__text, body[data-page="media"] .md-count__stage { grid-column: 1 / -1; }
}
/* the sheet (shared .doc look, copied from accountability for the lead to consolidate) */
body[data-page="media"] .report-mark { width: 118px; height: auto; }
body[data-page="media"] .doc { background: var(--sheet); color: var(--ink); padding: clamp(22px, 2vw, 30px) clamp(20px, 1.8vw, 28px) clamp(24px, 2.2vw, 32px); font-size: 14px; line-height: 1.45;
  clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="media"] .doc > * + * { margin-top: 14px; }
body[data-page="media"] .doc p { max-width: none; }
body[data-page="media"] .doc-hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: 12px; border-bottom: 2px solid var(--ink); }
body[data-page="media"] .doc-hd .report-mark { width: 96px; flex: 0 1 auto; min-width: 0; }
body[data-page="media"] .doc-kind { font: 700 13px/1.1 var(--f-fig); letter-spacing: .06em; padding: 5px 8px 4px; background: var(--ink); color: var(--lime); white-space: nowrap; }
body[data-page="media"] .doc-title { font-family: var(--f-display); font-size: clamp(21px, .5vw + 16px, 25px); line-height: 1.08; letter-spacing: -.01em; margin-top: 18px; }
body[data-page="media"] .doc-title::before { content: ""; display: block; width: 26px; height: 5px; margin-bottom: 12px; background: var(--ink); box-shadow: 14px 0 0 0 var(--lime); }
body[data-page="media"] .doc-meta { font: 600 13.5px/1.35 var(--f-fig); color: var(--mute-l); }
body[data-page="media"] .doc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; line-height: 1.35; }
body[data-page="media"] .doc-table td { padding: 9px 10px 9px 0; border-top: 1px solid var(--sheet-rule); vertical-align: middle; }
body[data-page="media"] .doc-table tr:last-child td { border-bottom: 1px solid var(--sheet-rule); }
body[data-page="media"] .doc-table td:last-child { padding-right: 0; text-align: right; width: 1%; white-space: nowrap; }
body[data-page="media"] .doc-redact { display: inline-block; width: 30px; height: 12px; background: var(--ink); vertical-align: middle; }
body[data-page="media"] .doc-redact--date { width: 60px; background: #3A3A37; }

body[data-page="media"] .md-sheet { position: relative; width: min(100%, 400px); aspect-ratio: 1 / 1.3; display: flex; flex-direction: column; transform: rotate(1.5deg); filter: drop-shadow(0 24px 28px rgba(10,10,10,.22)); }
body[data-page="media"] .md-sheet__table td:first-child { display: flex; align-items: center; gap: 10px; font-weight: 600; }
body[data-page="media"] .md-sheet__table td:nth-child(2) { width: 1%; }
body[data-page="media"] .md-sheet__table tr { position: relative; }
body[data-page="media"] .md-sheet__tick { position: relative; flex: 0 0 auto; width: 14px; height: 14px; box-shadow: inset 0 0 0 1.5px var(--ink); background: var(--lime); }
body[data-page="media"] .md-sheet__tick::after { content: ""; position: absolute; left: 4.5px; top: 1.5px; width: 3.5px; height: 7.5px; border: solid var(--ink); border-width: 0 2px 2px 0; transform: rotate(45deg); }
html.b-motion body[data-page="media"] .md-count.is-ticking .md-sheet__tick { background: transparent; }
html.b-motion body[data-page="media"] .md-count.is-ticking .md-sheet__tick::after { opacity: 0; }
html.b-motion body[data-page="media"] .md-count.is-ticking tr.is-on .md-sheet__tick { background: var(--lime); animation: md-tick .5s var(--ease); }
html.b-motion body[data-page="media"] .md-count.is-ticking tr.is-on .md-sheet__tick::after { opacity: 1; }
@keyframes md-tick { 0% { transform: scale(.6); box-shadow: inset 0 0 0 1.5px var(--ink), 0 0 0 10px rgba(223,252,96,.9); } 30% { transform: scale(1.15); } 100% { transform: scale(1); box-shadow: inset 0 0 0 1.5px var(--ink), 0 0 0 0 rgba(223,252,96,0); } }
body[data-page="media"] .md-sheet__foot { padding-left: 18px; position: relative; }
body[data-page="media"] .md-sheet__foot::before { content: ""; position: absolute; left: 0; top: .32em; width: 10px; height: 10px; background: var(--lime); box-shadow: 0 0 0 1px var(--ink); }
body[data-page="media"] .md-sheet__strip { margin-top: auto !important; padding-top: 16px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
body[data-page="media"] .md-sheet__strip .frame { display: block; aspect-ratio: 4 / 3; }
body[data-page="media"] .md-sheet__strip img { width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 1023px) { body[data-page="media"] .md-sheet { max-width: 360px; } }
/* R3: each deliverable row gets more scroll so the stage settles on it (Jeff: hard to stop on 2) */
@media (min-width: 1024px) { body[data-page="media"] .md-what.is-stage .md-what__row { min-height: clamp(240px, 36svh, 340px); } }

/* ---- src/css/parts/home.css ---- */
/* / (home) — version C additions to b.css (PAGES-C.md §1). Every selector is page-scoped.
   New sections: .what (four tiles), .hm (media: photograph + three example posts), .ways (doorways strip).
   Plus: the deck now sits on paper, so its counter is re-coloured for a light ground. */

/* ------------------------------------------------------------------ WHAT WE DO (R2): four photo plates
   Each tile is a tall ink plate (the panel chamfer) carrying a photograph like a decal: the photo's bottom-left corner
   is cut so the plate shows through, an outlined Chakra numeral straddles the photo's foot (a layer across the
   boundary), the .door hatch runs under the words. Stepped row ≥1024 (2nd and 4th sit lower). Ghost "what we do."
   drifts behind the grid at a third speed (b.js data-drift). The photographs move inside their frames (data-parallax)
   and wipe in from the cut corner (parts/home.js; only with motion on). */
body[data-page="home"] .what { position: relative; overflow: clip; padding-bottom: calc(var(--sec) * .7); }
body[data-page="home"] .what__livery { position: absolute; right: -4vw; top: clamp(24px, 4vw, 64px); z-index: 0; }
body[data-page="home"] .what > .wrap { position: relative; z-index: 1; }
body[data-page="home"] .what__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--gap); margin-top: clamp(28px, 3vw, 44px); list-style: none; padding: 0; }
@media (min-width: 480px) { body[data-page="home"] .what__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) {
  /* equal plates, the 2nd and 4th stepped 36px lower (a relative offset on the card: the tile's transform is the rise's) */
  body[data-page="home"] .what__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); padding-bottom: 36px; }
  body[data-page="home"] .what__tile:nth-child(even) .what__card { top: 36px; }
}
body[data-page="home"] .what__tile { display: flex; min-width: 0; }
body[data-page="home"] .what__card { position: relative; flex: 1 1 auto; display: grid; grid-template-rows: auto 1fr; background: var(--ink); color: var(--white); isolation: isolate; overflow: hidden;
  text-decoration: none; clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); transition: transform .5s var(--ease); }
body[data-page="home"] .what__card:focus-visible { outline: 3px solid var(--lime); outline-offset: -3px; }
/* the lime foot rule (the .door accent): a stub at rest, runs the full width on hover */
body[data-page="home"] .what__card::after { content: ""; position: absolute; left: 0; bottom: 0; height: 6px; width: 100%; background: var(--lime); transform: scaleX(.12); transform-origin: left center; transition: transform .8s var(--ease); z-index: 3; }
/* the photograph: a decal on the plate; its cut corner shows the ink through */
body[data-page="home"] .what__photo { aspect-ratio: 4 / 3; background: var(--tarmac); }
body[data-page="home"] .what__photo img { transition: scale .9s var(--ease); }
/* the body: words on ink, the hatch lane underneath */
body[data-page="home"] .what__body { position: relative; display: flex; flex-direction: column; gap: 12px; padding: clamp(20px, 2.2vw, 30px) clamp(20px, 2.2vw, 30px) clamp(26px, 2.8vw, 38px); }
body[data-page="home"] .what__n { position: absolute; right: 14px; top: -.4em; z-index: 2; font-size: clamp(64px, 5vw, 84px); line-height: 1; -webkit-text-stroke: 2px #4A4B46; transition: -webkit-text-stroke-color .3s var(--ease); pointer-events: none; }
body[data-page="home"] .what__tick { display: block; width: 48px; height: 5px; background: var(--lime); transition: width .4s var(--ease); }
body[data-page="home"] .what__body h3 { font-size: var(--h3); color: var(--white); padding-right: 64px; }
body[data-page="home"] .what__body p { font-size: 17px; line-height: 1.5; color: #D6D6D1; max-width: none; flex: 1 1 auto; }
body[data-page="home"] .what__link { align-self: flex-start; margin-top: 6px; font: 700 17px/1.3 var(--f-body); color: var(--white); text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 5px; text-decoration-color: var(--lime); }
body[data-page="home"] .what__link .stop { display: inline-block; color: var(--lime); }
body[data-page="home"] .what__lane { position: absolute; left: 0; right: 0; bottom: 0; height: 34%; z-index: -1; background: repeating-linear-gradient(-62deg, rgba(255,255,255,.04) 0 2px, transparent 2px 16px); }
@media (hover: hover) and (pointer: fine) {
  body[data-page="home"] .what__card:hover, body[data-page="home"] .what__card:focus-visible { transform: translateY(-6px); }
  body[data-page="home"] .what__card:hover .what__photo img, body[data-page="home"] .what__card:focus-visible .what__photo img { scale: 1.05; }
  body[data-page="home"] .what__card:hover .what__tick, body[data-page="home"] .what__card:focus-visible .what__tick { width: 72px; }
  body[data-page="home"] .what__card:hover .what__n, body[data-page="home"] .what__card:focus-visible .what__n { -webkit-text-stroke-color: var(--lime); }
  body[data-page="home"] .what__card:hover::after, body[data-page="home"] .what__card:focus-visible::after { transform: scaleX(1); }
}
/* the wipe: with motion on, each photograph is revealed from its cut (bottom-left) corner as --w runs 0 → 200% */
html.b-motion body[data-page="home"] .what__photo img { clip-path: polygon(0 100%, 0 calc(100% - var(--w, 200%)), var(--w, 200%) 100%); }
body[data-page="home"] .what__foot { margin-top: clamp(28px, 3vw, 48px); font-size: var(--lead); font-weight: 500; max-width: none; }
body[data-page="home"] .what__foot a { text-decoration-color: currentColor; }
body[data-page="home"] .what__arrow { display: inline-block; color: var(--lime-ink); transition: transform .24s var(--ease); }
body[data-page="home"] .what__foot a:hover .what__arrow, body[data-page="home"] .what__foot a:focus-visible .what__arrow { transform: translateX(6px); }
@media (min-width: 1024px) { body[data-page="home"] .what__foot { text-align: right; } }
@media (max-width: 479px) {
  body[data-page="home"] .what__grid { gap: 14px; margin-top: 24px; }
  body[data-page="home"] .what__photo { aspect-ratio: 16 / 9; }
  body[data-page="home"] .what__n { font-size: 56px; }
  body[data-page="home"] .what__body { gap: 10px; padding: 18px 20px 24px; }
}

/* ------------------------------------------------------------------ SPREAD: the foot is just the button now */
body[data-page="home"] .spread__foot p { color: inherit; }

/* ------------------------------------------------------------------ MEDIA: photograph + three example posts */
body[data-page="home"] .hm__grid { display: grid; grid-template-columns: minmax(0, 1fr); gap: clamp(32px, 4vw, 56px); }
body[data-page="home"] .hm__grid > * { min-width: 0; }
body[data-page="home"] .hm__text > * + * { margin-top: 24px; }
body[data-page="home"] .hm__media { position: relative; }
body[data-page="home"] .hm__photo { width: 100%; aspect-ratio: 16 / 10; }
body[data-page="home"] .hm__posts { list-style: none; padding: 0; margin: 0; }
body[data-page="home"] .hm__note { margin-top: 16px; font: 600 15px/1.3 var(--f-fig); color: var(--mute-l); display: flex; align-items: center; justify-content: flex-end; gap: 10px; max-width: none; }
body[data-page="home"] .hm__note::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }

/* 600–1023: photograph full width (cropped 16:10 to keep the page short), posts in a row of three beneath */
@media (min-width: 600px) and (max-width: 1023px) {
  body[data-page="home"] .hm__posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
}
/* <600: photograph, then the posts in a horizontal snap row */
@media (max-width: 599px) {
  body[data-page="home"] .hm__photo { aspect-ratio: 4 / 3; }
  body[data-page="home"] .hm__posts { display: grid; grid-auto-flow: column; grid-auto-columns: 72vw; gap: 12px; margin-top: 12px; margin-inline: calc(var(--side) * -1); padding-inline: var(--side); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  body[data-page="home"] .hm__posts::-webkit-scrollbar { display: none; }
  body[data-page="home"] .hm__posts .ig-post { scroll-snap-align: start; }
}
/* ≥1024: text 1/6, media 6/13; the 4:5 photograph left, the three posts a loose pile down its right edge */
@media (min-width: 1024px) {
  body[data-page="home"] .hm__grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: center; }
  body[data-page="home"] .hm__text { grid-column: 1 / 6; }
  body[data-page="home"] .hm__media { grid-column: 6 / 13; display: grid; grid-template-columns: 56% 44%; align-items: start; }
  body[data-page="home"] .hm__photo { aspect-ratio: 4 / 5; grid-column: 1; grid-row: 1; }
  body[data-page="home"] .hm__posts { grid-column: 2; grid-row: 1; position: relative; z-index: 2; margin-left: -24px; padding-top: 28px; display: flex; flex-direction: column; gap: 0; }
  body[data-page="home"] .hm__posts .ig-post { width: 54%; box-shadow: 0 18px 30px rgba(10,10,10,.28); }
  body[data-page="home"] .hm__posts .ig-post:nth-child(1) { margin-top: 0; margin-left: 0; }
  body[data-page="home"] .hm__posts .ig-post:nth-child(2) { margin-top: 14px; margin-left: 34%; }
  body[data-page="home"] .hm__posts .ig-post:nth-child(3) { margin-top: 14px; margin-left: 12%; }
  body[data-page="home"] .hm__note { grid-column: 1 / -1; grid-row: 2; }
}

/* the example posts: Media §B3 posts 1, 3, 5 (R2), Marram's own graphics in Marram's livery colours (slate + sand-gold
   band + white MARRAM); SPONSR lime stays for the UI only (the play square). Sizes in cqw so a post reads at any width. */
body[data-page="home"] { --mr-slate: #2A2D31; --mr-gold: #C8A75B; --mr-sand: #E9D9B0; }
body[data-page="home"] .ig-post { position: relative; aspect-ratio: 1; overflow: hidden; container-type: inline-size; background: var(--ink); color: var(--white); }
body[data-page="home"] .ig-post__img { position: absolute; inset: 0; height: 100%; }
body[data-page="home"] .ig-post__img img { height: 100%; }
body[data-page="home"] .ig-post--graphic .ig-post__img img, body[data-page="home"] .ig-post--result .ig-post__img img { filter: brightness(.5); }
body[data-page="home"] .ig-post__over { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
body[data-page="home"] .ig-post__over p { max-width: none; margin: 0; }
/* the Marram livery band: a sand-gold diagonal stripe across the top-right corner, the cars' own angle */
body[data-page="home"] .ig-post--graphic .ig-post__over::before, body[data-page="home"] .ig-post--result .ig-post__over::before { content: ""; position: absolute; inset: 0; background: linear-gradient(118deg, transparent 0 62%, var(--mr-gold) 62% 70%, transparent 70%); opacity: .92; }
body[data-page="home"] .ig-mark { position: absolute; left: 6cqw; top: 6cqw; display: flex; align-items: center; gap: 2cqw; font: 900 7cqw/1 var(--f-body); font-stretch: 125%; font-variation-settings: 'wdth' 125; letter-spacing: .06em; color: var(--white); }
body[data-page="home"] .ig-mark::before { content: ""; width: 3cqw; height: 3cqw; background: var(--mr-sand); flex: 0 0 auto; }
body[data-page="home"] .ig-wk { position: absolute; left: 6cqw; top: 21cqw; }
body[data-page="home"] .ig-big { font: 400 17cqw/.9 var(--f-display); letter-spacing: -.01em; color: var(--white); }
body[data-page="home"] .ig-sub { margin-top: 3cqw !important; font: 600 6cqw/1.1 var(--f-fig); color: var(--white); }
body[data-page="home"] .ig-date { display: inline-block; margin-top: 2.4cqw !important; padding: 1.6cqw 4.4cqw 1.4cqw 2.4cqw; background: var(--mr-gold); color: var(--ink); font: 700 5.6cqw/1 var(--f-fig);
  clip-path: polygon(0 0, calc(100% - 2.4cqw) 0, 100% 2.4cqw, 100% 100%, 0 100%); }
body[data-page="home"] .ig-bar { position: absolute; left: 0; right: 0; bottom: 0; padding: 3.4cqw 6cqw; background: var(--lime); color: var(--ink); font: 900 5.6cqw/1 var(--f-body); font-stretch: 125%; font-variation-settings: 'wdth' 125; letter-spacing: .06em; white-space: nowrap; }
body[data-page="home"] .ig-bar--mr { background: var(--mr-slate); color: var(--white); border-top: 1cqw solid var(--mr-gold); }
/* the clip */
body[data-page="home"] .ig-play { position: absolute; left: 50%; top: 44%; width: 26cqw; height: 26cqw; margin: -13cqw 0 0 -13cqw; background: var(--lime);
  clip-path: polygon(0 0, calc(100% - 5cqw) 0, 100% 5cqw, 100% 100%, 0 100%); }
body[data-page="home"] .ig-play::after { content: ""; position: absolute; left: 38%; top: 30%; border-style: solid; border-width: 6.6cqw 0 6.6cqw 10.4cqw; border-color: transparent transparent transparent var(--ink); }
body[data-page="home"] .ig-time { position: absolute; right: 5cqw; top: 5cqw; padding: 1.8cqw 3cqw; background: rgba(10,10,10,.78); font: 600 5.6cqw/1 var(--f-fig); color: var(--white); }
body[data-page="home"] .ig-rec { position: absolute; left: 5cqw; top: 5cqw; display: flex; align-items: center; gap: 1.8cqw; padding: 1.8cqw 3cqw; background: rgba(10,10,10,.78); font: 600 5cqw/1 var(--f-fig); letter-spacing: .06em; color: var(--white); }
body[data-page="home"] .ig-rec::before { content: ""; width: 2.4cqw; height: 2.4cqw; border-radius: 50%; background: #E0262F; }
body[data-page="home"] .ig-third--mr { position: absolute; left: 0; bottom: 7cqw; padding: 3.2cqw 9cqw 3.2cqw 5cqw; background: var(--white); color: var(--ink);
  clip-path: polygon(0 0, calc(100% - 4cqw) 0, 100% 4cqw, 100% 100%, 0 100%); }
body[data-page="home"] .ig-third__n { font: 400 7cqw/1 var(--f-display); letter-spacing: -.005em; }
body[data-page="home"] .ig-third__n::after { content: ""; display: block; width: 14cqw; height: 1.6cqw; margin: 1.8cqw 0 1.6cqw; background: var(--mr-gold); }
body[data-page="home"] .ig-third__d { font: 600 5cqw/1 var(--f-fig); color: #55554F; white-space: nowrap; }
/* the result */
body[data-page="home"] .ig-res { position: absolute; left: 6cqw; top: 15cqw; }
body[data-page="home"] .ig-res__p { font: 700 44cqw/.84 var(--f-fig); color: var(--mr-gold); letter-spacing: -.02em; }
body[data-page="home"] .ig-res__chq { display: block; width: 40cqw; height: 3cqw; margin-top: 2.4cqw; background: repeating-conic-gradient(var(--white) 0 25%, var(--ink) 0 50%) 0 0 / 3cqw 3cqw; }
body[data-page="home"] .ig-res__d { margin-top: 2.6cqw !important; font: 600 6cqw/1.1 var(--f-fig); color: var(--white); white-space: nowrap; }

/* ------------------------------------------------------------------ DECK on paper: counter reads ink on a light ground */
body[data-page="home"] .deck.g-paper .deck__count .of { color: var(--mute-l); }

/* ------------------------------------------------------------------ DOORWAYS: slim carbon strip, links only */
body[data-page="home"] .ways { padding-block: calc(var(--sec) * .55); border-top: 1px solid var(--rule-d); border-bottom: 1px solid var(--rule-d); }
body[data-page="home"] .ways__row { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
body[data-page="home"] .ways__lead { font: 500 var(--lead)/1.25 var(--f-body); color: var(--white); max-width: none; }
body[data-page="home"] .ways ul { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 599px) {
  body[data-page="home"] .ways ul { flex-direction: column; width: 100%; }
  body[data-page="home"] .ways ul .btn { width: 100%; }
}
@media (min-width: 1024px) {
  body[data-page="home"] .ways__row { flex-direction: row; align-items: center; justify-content: space-between; gap: var(--gap); }
}

/* the close band's Aston breaks out over the strip: on home it breaks out a third of its height (not half),
   and the strip keeps that much carbon clear under its buttons so the car never sits on a link */
body[data-page="home"] .close__machine { --mw: min(40vw, 540px); top: calc(var(--mw) / var(--ar, 1.27) * -0.3); }
body[data-page="home"] .ways { padding-bottom: calc(min(40vw, 540px) / 1.27 * 0.3 + 32px); }
@media (max-width: 1023px) {
  body[data-page="home"] .close__machine { --mw: min(84vw, 520px); top: calc(var(--mw) / var(--ar, 1.27) * -0.3); }
  body[data-page="home"] .close__grid { padding-top: calc(min(84vw, 520px) / 1.27 * 0.62); }
  body[data-page="home"] .ways { padding-bottom: calc(min(84vw, 520px) / 1.27 * 0.3 + 24px); }
}

@media (max-width: 599px) { body[data-page="home"] .deck__card .frame { aspect-ratio: 2 / 1; } }
/* R3 (mobile check): the snap row started flush to the screen edge and cut the second post off; two posts in
   a tidy grid inside the gutter reads better on a phone */
@media (max-width: 599px) {
  body[data-page="home"] .hm__posts { grid-auto-flow: row; grid-auto-columns: auto; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-inline: 0; padding-inline: 0; overflow: visible; scroll-snap-type: none; }
  body[data-page="home"] .hm__posts > li:nth-child(3) { display: none; }
}

/* ---- src/css/parts/hospitality.css ---- */
/* /hospitality — round 2 signature: THE GUEST PASS (PAGES-B2.md).
   A SPONSR guest pass on a lime lanyard hangs from under the header, over the hero/next-section boundary.
   Card proportions follow a real 86 × 120 mm credential. Geometry (all derived from --pw, the card width):
     --ch  card height · --st  distance from the top of the page to the top of the card (the lanyard length)
     --drop how far the card hangs below the hero's bottom edge. Without motion everything is static and final:
   the pass hangs and scrolls away; the checklist shows the pass already turned over, every item ticked. */
body[data-page="hospitality"] {
  --pw: clamp(220px, 30svh, 300px);
  --ch: calc(var(--pw) * 1.3953);
  --heroH: min(78svh, 760px);
  --drop: 8svh;
  --st: calc(var(--heroH) + var(--drop) - var(--ch));
}
@media (max-width: 1023px) { body[data-page="hospitality"] { --pw: 168px; --drop: 96px; } }
@media (max-width: 767px) { body[data-page="hospitality"] { --pw: 116px; --drop: 84px; } }
body[data-page="hospitality"] main { position: relative; }

/* ------------------------------------------------------------ the rail the pass hangs in */
body[data-page="hospitality"] .passrail { position: absolute; left: 0; right: 0; top: 0; z-index: 5; height: calc(var(--st) + var(--ch) + 24px); pointer-events: none; }
body[data-page="hospitality"] .passrail__grid { height: 100%; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); }
body[data-page="hospitality"] .passrail__col { grid-column: 9 / 13; height: 100%; display: flex; justify-content: center; }
@media (max-width: 1023px) { body[data-page="hospitality"] .passrail__col { grid-column: 1 / -1; justify-content: flex-end; padding-right: 4px; } }
@media (max-width: 767px) { body[data-page="hospitality"] .passrail__col { padding-right: 0; } }

body[data-page="hospitality"] .pass { position: relative; flex: 0 0 auto; width: var(--pw); height: calc(var(--st) + var(--ch)); transform-origin: 50% 0; perspective: 1400px; }
@media (min-width: 1024px) { html.b-motion body[data-page="hospitality"] .passrail .pass { position: sticky; top: 0; } }

/* the lanyard: two lime straps from under the header, printed with the wordmark, meeting at the clip */
body[data-page="hospitality"] .pass__lanyard { --L: calc(var(--st) - 34px); --sw: 17px; --spread: 26px; position: absolute; left: 50%; top: 0; height: var(--L); width: 0; }
body[data-page="hospitality"] .pass__strap { position: absolute; top: 0; width: var(--sw); height: var(--L); transform-origin: 50% 0; overflow: hidden;
  background: linear-gradient(90deg, rgba(10,10,10,.18), rgba(10,10,10,0) 22%, rgba(255,255,255,.25) 50%, rgba(10,10,10,0) 78%, rgba(10,10,10,.2)),
              repeating-linear-gradient(0deg, rgba(10,10,10,.05) 0 1px, transparent 1px 3px), var(--lime); }
body[data-page="hospitality"] .pass__strap--l { left: calc(-1 * var(--spread) - var(--sw) / 2); transform: rotate(calc(-1 * atan2(calc(var(--spread) - 7px), var(--L)))); }
body[data-page="hospitality"] .pass__strap--r { left: calc(var(--spread) - var(--sw) / 2); transform: rotate(atan2(calc(var(--spread) - 7px), var(--L))); }
/* the print along the strap: the square full stop, repeated */
body[data-page="hospitality"] .pass__strap i { position: absolute; left: 50%; top: 0; bottom: 0; width: 5px; margin-left: -2.5px; background: repeating-linear-gradient(180deg, transparent 0 30px, rgba(10,10,10,.78) 30px 35px); }
body[data-page="hospitality"] .pass__clip { position: absolute; left: 50%; top: calc(var(--st) - 40px); width: 44px; height: auto; margin-left: -22px; z-index: 3; filter: drop-shadow(0 2px 2px rgba(0,0,0,.35)); }

/* the card and its two faces */
body[data-page="hospitality"] .pass { --ct: var(--st); }
body[data-page="hospitality"] .pass__card { position: absolute; z-index: 1; left: 0; top: var(--ct); width: 100%; height: var(--ch); transform-style: preserve-3d; }
body[data-page="hospitality"] .pass::after { content: ""; position: absolute; z-index: 0; left: 5%; right: -3%; top: calc(var(--ct) + var(--ch) * .05); height: calc(var(--ch) * .98); background: rgba(0,0,0,.4); filter: blur(16px); pointer-events: none; }
body[data-page="hospitality"] .pass__face { --cc: calc(var(--pw) * .075); --u: calc(var(--pw) / 100); position: absolute; inset: 0; display: flex; flex-direction: column; overflow: hidden; backface-visibility: hidden; -webkit-backface-visibility: hidden;
  background: linear-gradient(118deg, rgba(255,255,255,0) 38%, rgba(255,255,255,.55) 47%, rgba(255,255,255,0) 58%), #FAFAF6; color: var(--ink);
  clip-path: polygon(0 0, calc(100% - var(--cc)) 0, 100% var(--cc), 100% 100%, 0 100%);
  /* the punched slot the clip goes through */
  -webkit-mask: linear-gradient(#000 0 0) 0 0 / 100% 100% no-repeat, linear-gradient(#000 0 0) 50% calc(var(--u) * 5) / 34% calc(var(--u) * 3.4) no-repeat; -webkit-mask-composite: xor;
          mask: linear-gradient(#000 0 0) 0 0 / 100% 100% no-repeat exclude, linear-gradient(#000 0 0) 50% calc(var(--u) * 5) / 34% calc(var(--u) * 3.4) no-repeat; }
body[data-page="hospitality"] .pass__face::after { content: ""; position: absolute; inset: 0; box-shadow: inset 0 0 0 1px rgba(10,10,10,.1); pointer-events: none; }
body[data-page="hospitality"] .pass__back { transform: rotateY(180deg); }
body[data-page="hospitality"] .pass p { max-width: none; margin: 0; }

body[data-page="hospitality"] .pass__brand { padding: calc(var(--u) * 15) calc(var(--u) * 9) calc(var(--u) * 7); }
body[data-page="hospitality"] .pass__brand svg { width: 70%; height: auto; }
body[data-page="hospitality"] .pass__brand--s { padding-bottom: calc(var(--u) * 5); }
body[data-page="hospitality"] .pass__brand--s svg { width: 46%; }
body[data-page="hospitality"] .pass__band { position: relative; background: var(--lime); padding: calc(var(--u) * 4.5) calc(var(--u) * 9) calc(var(--u) * 3.5); overflow: hidden; }
body[data-page="hospitality"] .pass__band::after { content: ""; position: absolute; right: calc(var(--u) * -6); top: 0; bottom: 0; width: 34%; background: repeating-linear-gradient(-62deg, rgba(10,10,10,.12) 0 calc(var(--u) * 1.4), transparent 0 calc(var(--u) * 4.2)); }
body[data-page="hospitality"] .pass__role { position: relative; z-index: 1; font-family: var(--f-display); font-size: calc(var(--u) * 21); line-height: .95; letter-spacing: -0.02em; }
body[data-page="hospitality"] .pass__rows { padding: calc(var(--u) * 6) calc(var(--u) * 9) 0; display: grid; gap: calc(var(--u) * 2.6); }
body[data-page="hospitality"] .pass__row { display: flex; align-items: center; gap: calc(var(--u) * 3); font: 700 calc(var(--u) * 5.4)/1.1 var(--f-body); text-transform: uppercase; letter-spacing: .05em; }
body[data-page="hospitality"] .pass__row i { flex: 0 0 auto; width: calc(var(--u) * 3.6); height: calc(var(--u) * 3.6); background: var(--ink); }
/* the chamfer S, printed faint in the open space of the card */
body[data-page="hospitality"] .pass__s { position: absolute; right: -14%; bottom: 9%; width: 66%; pointer-events: none; }
body[data-page="hospitality"] .pass__s svg { width: 100%; height: auto; color: rgba(10,10,10,.055) !important; }
body[data-page="hospitality"] .pass__foot { position: relative; z-index: 1; margin-top: auto; padding: 0 calc(var(--u) * 9) calc(var(--u) * 3); display: flex; align-items: flex-end; justify-content: space-between; gap: calc(var(--u) * 4); }
body[data-page="hospitality"] .pass__serial { font: 700 calc(var(--u) * 10.5)/.9 var(--f-fig); letter-spacing: .02em; font-variant-numeric: tabular-nums; }
body[data-page="hospitality"] .pass__bars { flex: 0 0 42%; height: calc(var(--u) * 9);
  background: repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 5px, transparent 5px 8px, var(--ink) 8px 11px, transparent 11px 12px, var(--ink) 12px 13px, transparent 13px 16px); }
body[data-page="hospitality"] .pass__small { padding: 0 calc(var(--u) * 9) calc(var(--u) * 5.5); font: 600 max(9px, calc(var(--u) * 3.3))/1.2 var(--f-body); letter-spacing: .12em; text-transform: uppercase; color: var(--mute-l); }

/* the back: the checklist, ticked in lime */
body[data-page="hospitality"] .pass__list { list-style: none; padding: calc(var(--u) * 2) calc(var(--u) * 8) 0; display: grid; gap: calc(var(--u) * 3.4); border-top: calc(var(--u) * 1.2) solid var(--lime); margin: 0 0 auto; padding-top: calc(var(--u) * 6); }
body[data-page="hospitality"] .pass__list li { display: grid; grid-template-columns: calc(var(--u) * 7) minmax(0, 1fr); gap: calc(var(--u) * 3.4); align-items: start; font: 700 calc(var(--u) * 5.2)/1.22 var(--f-body); letter-spacing: -0.005em; }
body[data-page="hospitality"] .pass__box { display: block; width: calc(var(--u) * 7); height: calc(var(--u) * 7); box-shadow: inset 0 0 0 max(1.5px, calc(var(--u) * .7)) var(--ink); background: var(--lime); position: relative; }
body[data-page="hospitality"] .pass__box svg { position: absolute; inset: 8%; width: 84%; height: 84%; overflow: visible; }
body[data-page="hospitality"] .pass__box path { fill: none; stroke: var(--ink); stroke-width: 2.6; stroke-linecap: square; }
body[data-page="hospitality"] .pass__back .pass__small { margin-top: calc(var(--u) * 4); }
body[data-page="hospitality"] .pass__small { position: relative; z-index: 1; }
body[data-page="hospitality"] .pass__s--back { width: 54%; bottom: 4%; right: -10%; }

/* phones: the card is small, so the lanyard is lighter and the print goes */
@media (max-width: 767px) {
  body[data-page="hospitality"] .pass__lanyard { --sw: 10px; --spread: 9px; }
  body[data-page="hospitality"] .pass__strap i { display: none; }
  body[data-page="hospitality"] .pass__clip { width: 30px; margin-left: -15px; top: calc(var(--st) - 30px); }
  body[data-page="hospitality"] .pass__lanyard { --L: calc(var(--st) - 26px); }
  body[data-page="hospitality"] .pass::after { filter: blur(9px); }
}

/* ------------------------------------------------------------ hero: room for the lanyard on the right */
@media (min-width: 1024px) { body[data-page="hospitality"] .hero__main { max-width: min(820px, calc(62vw - var(--side))); } }
@media (max-width: 1023px) { body[data-page="hospitality"] .hero__main { padding-right: calc(var(--pw) * .5 + 24px); } }
@media (max-width: 767px) { body[data-page="hospitality"] .hero__main { padding-right: 82px; } body[data-page="hospitality"] .hero--inner .hero__body { padding-bottom: 88px; } }

/* ------------------------------------------------------------ PAIR: the left two-thirds; the pass hangs in the third */
@media (min-width: 1024px) {
  body[data-page="hospitality"] .hx-arrive .pair__text { grid-column: 1 / 8; }
  body[data-page="hospitality"] .hx-arrive .pair__text p { max-width: 54ch; }
  body[data-page="hospitality"] .hx-arrive .pair__media { grid-column: 1 / 9; padding-bottom: 16%; }
  body[data-page="hospitality"] .hx-arrive .pair__back { width: 78%; aspect-ratio: 16 / 9; }
  body[data-page="hospitality"] .hx-arrive .pair__front { width: 38%; aspect-ratio: 4 / 5; }
}
@media (max-width: 1023px) { body[data-page="hospitality"] .hx-arrive.lap.sec { padding-top: calc(var(--sec) + var(--cut) + var(--drop) - 20px); } }

/* ------------------------------------------------------------ THE CHECKLIST */
body[data-page="hospitality"] .hx-check__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 40px; }
body[data-page="hospitality"] .hx-check__main { grid-column: 1 / 9; }
body[data-page="hospitality"] .hx-check__side { grid-column: 9 / 13; display: flex; justify-content: center; align-items: flex-start; }
body[data-page="hospitality"] .hx-check__photo { margin-top: clamp(32px, 3.4vw, 48px); aspect-ratio: 16 / 8; }
body[data-page="hospitality"] .hx-check__rows { margin-top: clamp(36px, 4vw, 56px); }
body[data-page="hospitality"] .hx-check__rows p { max-width: 58ch; }
@media (min-width: 1024px) { body[data-page="hospitality"] .hx-check .rows--num > * { grid-template-columns: 96px minmax(0, 1fr); } }
body[data-page="hospitality"] .pass--still { --ch: calc(var(--pw) * 1.3953); --ct: 0px; height: var(--ch); perspective: 1600px; }
body[data-page="hospitality"] .pass--still .pass__card { transform: rotateY(180deg); }
@media (min-width: 1024px) {
  body[data-page="hospitality"] .hx-check__side .pass--still { position: sticky; top: calc(var(--hdr-h) + 48px); }
  /* with motion on desktop the travelling pass lands in this column instead */
  html.b-motion body[data-page="hospitality"] .hx-check__side { visibility: hidden; }
}
/* below 1024: heading → the pass (turns over as it arrives) → the items → the photograph */
@media (max-width: 1023px) {
  body[data-page="hospitality"] .hx-check__grid { display: flex; flex-direction: column; }
  body[data-page="hospitality"] .hx-check__main { display: contents; }
  body[data-page="hospitality"] .hx-check__side { order: 1; margin-top: 36px; justify-content: flex-start; }
  body[data-page="hospitality"] .hx-check__rows { order: 2; }
  body[data-page="hospitality"] .hx-check__photo { order: 3; margin-top: 36px; aspect-ratio: 16 / 10; }
  body[data-page="hospitality"] .pass--still { --pw: min(64vw, 280px); }
}

/* ------------------------------------------------------------ FIVE CIRCUITS: the big list */
body[data-page="hospitality"] .circuits { overflow: clip; }
/* room for the Honda breaking out of the close band below */
@media (min-width: 1024px) { body[data-page="hospitality"] .circuits.sec { padding-bottom: calc(var(--sec) + min(46vw, 640px) / 1.61 * .5 - 40px); } }
body[data-page="hospitality"] .circuits > .wrap { position: relative; z-index: 1; }
body[data-page="hospitality"] .circuits__livery { position: absolute; left: 0; bottom: 4%; z-index: 0; }
body[data-page="hospitality"] .circuits__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: end; }
body[data-page="hospitality"] .circuits__head h2 { grid-column: 1 / 9; }
body[data-page="hospitality"] .circuits__n { grid-column: 10 / 13; justify-self: end; font-size: clamp(150px, 17vw, 300px); line-height: .78; -webkit-text-stroke-width: 3px; margin-bottom: -.04em; }
body[data-page="hospitality"] .circuits__list { margin-top: clamp(40px, 5vw, 72px); border-bottom: 1px solid var(--rule-d); }
body[data-page="hospitality"] .circ { position: relative; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; column-gap: 20px; border-top: 1px solid var(--rule-d); padding-block: clamp(12px, 1.5vw, 22px); }
body[data-page="hospitality"] .circ__name { display: block; flex: 1 1 0; min-width: 0; font-family: var(--f-display); font-size: clamp(38px, 5.6vw + 4px, 104px); line-height: 1; letter-spacing: -0.025em; transition: transform .6s var(--ease), color .35s var(--ease), opacity .35s var(--ease); }
body[data-page="hospitality"] .circ__plus { display: none; position: relative; width: 26px; height: 26px; flex: 0 0 auto; box-shadow: inset 0 0 0 2px var(--rule-d); }
body[data-page="hospitality"] .circ__plus::before, body[data-page="hospitality"] .circ__plus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; margin: -1px 0 0 -6px; background: var(--lime); transition: transform .4s var(--ease); }
body[data-page="hospitality"] .circ__plus::after { transform: rotate(90deg); }
body[data-page="hospitality"] .circ.is-open .circ__plus::after { transform: rotate(0deg); }
body[data-page="hospitality"] .circ__ph { display: none; }
body[data-page="hospitality"] .circuits__body { margin: clamp(32px, 3.4vw, 48px) 0 0 auto; max-width: 60ch; color: #D6D6D1; }
@media (min-width: 1024px) { body[data-page="hospitality"] .circuits__body { width: 50%; } }
@media (max-width: 1023px) {
  body[data-page="hospitality"] .circuits__head h2 { grid-column: 1 / 10; }
  body[data-page="hospitality"] .circuits__n { grid-column: 10 / 13; font-size: clamp(110px, 30vw, 200px); }
}
@media (max-width: 767px) { body[data-page="hospitality"] .circuits__head h2 { grid-column: 1 / 9; } body[data-page="hospitality"] .circuits__n { grid-column: 9 / 13; } }

/* pointer: the names answer, the others step back; a photograph follows the cursor (b:ready JS) */
@media (hover: hover) and (pointer: fine) {
  html.b-motion body[data-page="hospitality"] .circ { cursor: default; }
  html.b-motion body[data-page="hospitality"] .circ__name::before { content: ""; display: inline-block; width: .32em; height: .32em; margin-right: .2em; vertical-align: .1em; background: var(--lime); transform: scaleX(0); transform-origin: left center; transition: transform .45s var(--ease); }
  html.b-motion body[data-page="hospitality"] .circ.is-on .circ__name { transform: translateX(-.52em); color: var(--lime); }
  html.b-motion body[data-page="hospitality"] .circ__name { transform: translateX(-.52em); }
  html.b-motion body[data-page="hospitality"] .circ.is-on .circ__name { transform: translateX(0); }
  html.b-motion body[data-page="hospitality"] .circ.is-on .circ__name::before { transform: scaleX(1); }
  html.b-motion body[data-page="hospitality"] .circuits__list.is-hover .circ:not(.is-on) .circ__name { opacity: .3; }
}
body[data-page="hospitality"] .circ-follow { position: absolute; left: 0; top: 0; z-index: 3; width: clamp(300px, 28vw, 440px); aspect-ratio: 3 / 2; pointer-events: none; visibility: hidden; }
body[data-page="hospitality"] .circ-follow .frame { position: absolute; inset: 0; }
body[data-page="hospitality"] .circ-follow img { position: absolute; inset: 0; opacity: 0; }
body[data-page="hospitality"] .circ-follow img.is-on { opacity: 1; }
body[data-page="hospitality"] .circ-follow::after { content: ""; position: absolute; left: 0; bottom: 0; height: 5px; width: 100%; background: var(--lime); z-index: 2; }
/* touch: tap a name to open its photograph under it */
@media (hover: none), (pointer: coarse) {
  html.b-motion body[data-page="hospitality"] .circ { cursor: pointer; -webkit-tap-highlight-color: transparent; }
  html.b-motion body[data-page="hospitality"] .circ__plus { display: block; }
  html.b-motion body[data-page="hospitality"] .circ__ph { display: block; flex: 0 0 100%; height: 0; transition: height .55s var(--ease), margin .55s var(--ease); }
  html.b-motion body[data-page="hospitality"] .circ.is-open .circ__ph { height: calc((min(100vw, var(--max) + 2 * var(--side)) - 2 * var(--side)) * .6); margin-top: 16px; }
  html.b-motion body[data-page="hospitality"] .circ.is-open .circ__name { color: var(--lime); }
}

/* ------------------------------------------------------------ CLOSE: the Honda cut-out (1.61:1) breaks out of the band */
@media (min-width: 1024px) { body[data-page="hospitality"] .close__machine { bottom: auto; top: calc(min(46vw, 640px) / -1.61 * .5); } }
@media (max-width: 1023px) { body[data-page="hospitality"] .close__machine { top: calc(min(84vw, 520px) / -1.61 * .6); } }

/* ten circuits (Jeff, 29 Sep): two columns on desktop so the list stays compact */
@media (min-width: 1024px) { body[data-page="hospitality"] .circuits__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: calc(var(--gap) * 2); } body[data-page="hospitality"] .circ__name { font-size: clamp(34px, 2.9vw + 6px, 60px); white-space: nowrap; } }
@media (max-width: 1023px) { body[data-page="hospitality"] .circ__name { font-size: clamp(30px, 7vw, 56px); } }

/* ---- src/css/parts/looking-for-sponsorship.css ---- */
/* /looking-for-sponsorship — page-scoped additions to b.css (option B, round 2 — PAGES-B2.md).
   1. HERO with no photograph: ink ground, the junior Ginetta cut-out over a giant outlined 48;
   2. the problem as an editorial spread (huge pull-line, two columns);
   3. the Ducati framed plainly, bleeding off the right-hand edge;
   4. THE PROPOSAL (round 3 content: PROPOSAL-B3.md): a printed SPONSR proposal (pp = a page, pb = the
      book, pn = SPONSR's lime "Why this works" margin note). Default = the spreads laid out in order (no
      JS, reduced motion, short desktop windows), notes beside the pages (≥1180) or under them. Phones/
      tablets (<1180) with motion = a swipe deck (pure CSS scroll-snap; JS only adds counter + arrows).
      Desktop (≥1180) with motion = .is-book, built by parts/looking-for-sponsorship.js: leaves hinged on
      the spine, turned with rotateY by the scroll. Paper = an opaque warm sheet + CSS-only grain. Type
      inside pages scales with the page (container units), never below 12px;
   5. rows, the form beside its aside, the close band. */

body[data-page="looking-for-sponsorship"] {
  --sheet: #FCFCF9;
  --sheet-rule: #E3E3DC;
  --grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .34 0 0 0 0 .32 0 0 0 0 .27 0 0 0 .075 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
}

/* ============================================================ 1. HERO — no photograph */
body[data-page="looking-for-sponsorship"] .lfs-hero { min-height: min(84svh, 800px); }
body[data-page="looking-for-sponsorship"] .lfs-hero__lane, body[data-page="looking-for-sponsorship"] .lfs-hero__num, body[data-page="looking-for-sponsorship"] .lfs-hero__car { inset: auto; }
body[data-page="looking-for-sponsorship"] .lfs-hero__lane { left: 0; right: 0; bottom: 0; height: 46%;
  background: radial-gradient(ellipse 42% 60% at 72% 78%, rgba(223, 252, 96, .07), rgba(223, 252, 96, 0) 70%),
              repeating-linear-gradient(-62deg, rgba(255, 255, 255, .035) 0 2px, transparent 2px 16px);
  -webkit-mask-image: linear-gradient(to top, #000 30%, transparent); mask-image: linear-gradient(to top, #000 30%, transparent); }
body[data-page="looking-for-sponsorship"] .lfs-hero__num { right: calc(var(--side) - 1.5vw); top: calc(var(--hdr-h) + 1vh); max-width: none; margin: 0;
  font: 700 clamp(260px, 36vw, 560px)/.82 var(--f-fig); letter-spacing: -.04em; font-variant-numeric: tabular-nums;
  color: transparent; -webkit-text-stroke: 2px rgba(223, 252, 96, .55); user-select: none; }
/* the car stays clear of the next section's lap (it overlaps the hero's foot by --cut × 2.4) */
body[data-page="looking-for-sponsorship"] .lfs-hero__car { right: calc(var(--side) - 1vw); bottom: calc(var(--cut) * 2.4 + 2%); width: min(46vw, 100svh * .82, 700px); }
body[data-page="looking-for-sponsorship"] .lfs-hero__car img { position: relative; inset: auto; width: 100%; height: auto; object-fit: fill; filter: drop-shadow(0 26px 22px rgba(0, 0, 0, .65)); }
body[data-page="looking-for-sponsorship"] .lfs-hero .hero__main { max-width: min(600px, 44vw); }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .lfs-hero__num { top: calc(var(--hdr-h) + 2vw); right: 1vw; font-size: min(62vw, 440px); }
  body[data-page="looking-for-sponsorship"] .lfs-hero__car { top: calc(var(--hdr-h) + min(20vw, 150px)); bottom: auto; right: 5vw; width: min(86vw, 560px); }
  body[data-page="looking-for-sponsorship"] .lfs-hero__lane { top: 0; bottom: auto; height: calc(var(--hdr-h) + min(76vw, 500px)); -webkit-mask-image: linear-gradient(to top, transparent, #000 30%, #000 70%, transparent); mask-image: linear-gradient(to top, transparent, #000 30%, #000 70%, transparent); }
  body[data-page="looking-for-sponsorship"] .lfs-hero .hero__body { padding-top: calc(var(--hdr-h) + min(74vw, 480px)); }
  body[data-page="looking-for-sponsorship"] .lfs-hero .hero__main { max-width: 640px; }
}

/* ============================================================ 2. THE PROBLEM — editorial spread */
body[data-page="looking-for-sponsorship"] .lfs-hard { overflow: clip; }
body[data-page="looking-for-sponsorship"] .lfs-pull { margin-top: clamp(36px, 5vw, 72px); max-width: none; font-family: var(--f-body); font-weight: 900; font-stretch: 125%; font-variation-settings: 'wdth' 125;
  font-size: clamp(38px, 5.9vw, 96px); line-height: .92; letter-spacing: -.03em; transform: skewX(-8deg); transform-origin: 0 100%; user-select: none; }
body[data-page="looking-for-sponsorship"] .lfs-pull > span { display: block; width: max-content; max-width: 100%; }
body[data-page="looking-for-sponsorship"] .lfs-pull__a { color: transparent; -webkit-text-stroke: 1.5px var(--ink); }
body[data-page="looking-for-sponsorship"] .lfs-pull__b { color: var(--ink); margin-left: auto; }
body[data-page="looking-for-sponsorship"] .lfs-pull__strike, body[data-page="looking-for-sponsorship"] .lfs-pull__mark { position: relative; display: inline-block; white-space: nowrap; }
body[data-page="looking-for-sponsorship"] .lfs-pull__strike::after { content: ""; position: absolute; left: -.04em; right: -.04em; top: 50%; height: .085em; background: var(--ink); transform-origin: left center; transform: scaleX(var(--k, 1)); }
body[data-page="looking-for-sponsorship"] .lfs-pull__mark { z-index: 0; }
body[data-page="looking-for-sponsorship"] .lfs-pull__mark::before { content: ""; position: absolute; z-index: -1; left: -.05em; right: -.02em; bottom: .02em; height: .36em; background: var(--lime); transform-origin: left center; transform: scaleX(var(--m, 1)); }
@supports not (-webkit-text-stroke: 1px black) { body[data-page="looking-for-sponsorship"] .lfs-pull__a { color: rgba(10, 10, 10, .28); } }
body[data-page="looking-for-sponsorship"] .lfs-hard__cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: calc(var(--gap) * 2.4); margin-top: clamp(40px, 5vw, 72px); padding-top: 28px; border-top: 2px solid var(--ink); font-size: clamp(18px, .3vw + 16px, 20px); line-height: 1.55; }
body[data-page="looking-for-sponsorship"] .lfs-hard__cols p { max-width: 58ch; }
@media (max-width: 767px) {
  body[data-page="looking-for-sponsorship"] .lfs-pull { font-size: clamp(26px, 7.6vw, 60px); }
  body[data-page="looking-for-sponsorship"] .lfs-pull > span { width: auto; }
  body[data-page="looking-for-sponsorship"] .lfs-pull__b { margin-left: 0; }
  body[data-page="looking-for-sponsorship"] .lfs-hard__cols { grid-template-columns: minmax(0, 1fr); row-gap: 1em; }
}

/* ============================================================ 3. WIN THEM — the Ducati bleeding off the right edge */
body[data-page="looking-for-sponsorship"] .lfs-win { overflow: clip; }
body[data-page="looking-for-sponsorship"] .lfs-win__livery { position: absolute; left: -3vw; bottom: calc(var(--sec) * -.08); z-index: 0; }
body[data-page="looking-for-sponsorship"] .lfs-win__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(32px, 4vw, 56px); align-items: start; }
body[data-page="looking-for-sponsorship"] .lfs-win__grid > h2 { grid-column: 1 / 10; max-width: 22ch; }
body[data-page="looking-for-sponsorship"] .lfs-win__text { grid-column: 1 / 5; grid-row: 2; padding-top: clamp(8px, 3vw, 48px); }
body[data-page="looking-for-sponsorship"] .lfs-win__media { grid-column: 5 / 13; grid-row: 2; margin-right: calc(-1 * (var(--side) + max(0px, (100vw - var(--max) - 2 * var(--side)) / 2))); }
body[data-page="looking-for-sponsorship"] .lfs-win__media .frame { aspect-ratio: 16 / 10; }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .lfs-win__grid > h2, body[data-page="looking-for-sponsorship"] .lfs-win__text, body[data-page="looking-for-sponsorship"] .lfs-win__media { grid-column: 1 / -1; grid-row: auto; }
  body[data-page="looking-for-sponsorship"] .lfs-win__text { padding-top: 0; }
  body[data-page="looking-for-sponsorship"] .lfs-win__media { margin-inline: calc(var(--side) * -1); }
  body[data-page="looking-for-sponsorship"] .lfs-win__media .frame { aspect-ratio: 3 / 2; }
}

/* ============================================================ 4. THE PROPOSAL */
body[data-page="looking-for-sponsorship"] .lfs-prop { overflow: clip; }
body[data-page="looking-for-sponsorship"] .lfs-prop__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 32px; align-items: end; margin-bottom: clamp(48px, 6vw, 88px); }
body[data-page="looking-for-sponsorship"] .lfs-prop__text { grid-column: 1 / 7; }
body[data-page="looking-for-sponsorship"] .lfs-prop__text > * + * { margin-top: 22px; }
body[data-page="looking-for-sponsorship"] .lfs-prop__text .prose { color: #D9D9D4; }
body[data-page="looking-for-sponsorship"] .lfs-prop__desk { grid-column: 8 / 13; }
body[data-page="looking-for-sponsorship"] .lfs-prop__desk .frame { aspect-ratio: 3 / 2; }
body[data-page="looking-for-sponsorship"] .lfs-note { font: 600 15px/1.3 var(--f-fig); color: var(--mute-d); display: flex; align-items: center; gap: 10px; }
body[data-page="looking-for-sponsorship"] .lfs-note::before { content: ""; width: 10px; height: 10px; background: var(--lime); flex: 0 0 auto; }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .lfs-prop__text, body[data-page="looking-for-sponsorship"] .lfs-prop__desk { grid-column: 1 / -1; }
}

/* ---- THE PACK (round 5): four sheets, piled then fanned; overlapping on phones */
body[data-page="looking-for-sponsorship"] .pk { position: relative; display: flex; justify-content: center; margin-top: clamp(48px, 6vw, 88px); padding-bottom: 24px; }
body[data-page="looking-for-sponsorship"] .pk__sheet { position: relative; flex: 0 0 auto; width: calc((100% + 3 * 22px) / 4); aspect-ratio: 1 / 1.414; padding: clamp(20px, 2vw, 30px); display: flex; flex-direction: column; gap: 14px; background: #FBFBF8; color: var(--ink);
  box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 24px 50px rgba(0,0,0,.45); transition: box-shadow .3s; outline-offset: 4px; }
body[data-page="looking-for-sponsorship"] .pk__sheet + .pk__sheet { margin-left: -22px; }
body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(1) { transform: rotate(-2.2deg); z-index: 1; }
body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(2) { transform: rotate(1.2deg) translateY(18px); z-index: 2; }
body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(3) { transform: rotate(-.8deg) translateY(-6px); z-index: 3; }
body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(4) { transform: rotate(1.8deg) translateY(12px); z-index: 4; }
body[data-page="looking-for-sponsorship"] .pk__sheet.is-front { z-index: 10 !important; box-shadow: 0 1px 0 rgba(0,0,0,.05), 0 36px 70px rgba(0,0,0,.6); }
body[data-page="looking-for-sponsorship"] .pk__sheet--cover { background: #121210; color: var(--white); overflow: hidden; }
body[data-page="looking-for-sponsorship"] .pk__mark .pk__logo { width: 110px; height: auto; display: block; }
body[data-page="looking-for-sponsorship"] .pk__kicker { font: 600 12px/1 var(--f-fig); letter-spacing: .04em; color: var(--lime); margin-top: 18px; }
body[data-page="looking-for-sponsorship"] .pk__cover-title { font: 400 clamp(24px, 1.4vw + 10px, 32px)/1.05 var(--f-display); letter-spacing: -.01em; }
body[data-page="looking-for-sponsorship"] .pk__cover-sub { font-size: 13px; color: #C9C9C4; }
body[data-page="looking-for-sponsorship"] .pk__big { position: absolute; right: -8px; bottom: 38px; font: 700 clamp(130px, 11vw, 190px)/1 var(--f-fig); color: transparent; -webkit-text-stroke: 2px rgba(223,252,96,.55); pointer-events: none; }
body[data-page="looking-for-sponsorship"] .pk__foot { margin-top: auto; display: flex; justify-content: space-between; gap: 10px; padding-top: 10px; border-top: 1px solid rgba(10,10,10,.14); font: 600 11.5px/1 var(--f-fig); color: #6E6E69; max-width: none; }
body[data-page="looking-for-sponsorship"] .pk__sheet--cover .pk__foot { border-top-color: #2E2F2B; color: #9A9A96; position: relative; z-index: 1; }
body[data-page="looking-for-sponsorship"] .pk__run { display: flex; justify-content: space-between; font: 600 11.5px/1 var(--f-fig); color: #6E6E69; padding-bottom: 10px; border-bottom: 1px solid rgba(10,10,10,.14); max-width: none; }
body[data-page="looking-for-sponsorship"] .pk__title { font: 400 22px/1.1 var(--f-display); }
body[data-page="looking-for-sponsorship"] .pk__title::before { content: ""; display: block; width: 28px; height: 4px; margin-bottom: 10px; background: linear-gradient(90deg, var(--ink) 60%, var(--lime) 60%); }
body[data-page="looking-for-sponsorship"] .pk__lede { font-size: 13.5px; line-height: 1.45; }
body[data-page="looking-for-sponsorship"] .pk__small { font-size: 12px; line-height: 1.4; color: #5E5E5A; }
body[data-page="looking-for-sponsorship"] .pk__table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
body[data-page="looking-for-sponsorship"] .pk__table th { text-align: left; font: 600 11px/1 var(--f-fig); color: #6E6E69; padding: 6px 4px 6px 0; border-bottom: 2px solid var(--ink); }
body[data-page="looking-for-sponsorship"] .pk__table td { padding: 8px 4px 8px 0; border-bottom: 1px solid rgba(10,10,10,.12); vertical-align: top; line-height: 1.3; }
body[data-page="looking-for-sponsorship"] .pk__table tr.is-driver td { background: rgba(223,252,96,.45); }
body[data-page="looking-for-sponsorship"] .pk__table tr.is-driver td:first-child { box-shadow: inset 4px 0 0 var(--ink); padding-left: 8px; }
body[data-page="looking-for-sponsorship"] .pk__table b { display: block; font: 600 11px/1.3 var(--f-fig); }
body[data-page="looking-for-sponsorship"] .pk__ticks li { position: relative; padding: 7px 0 7px 24px; border-top: 1px solid rgba(10,10,10,.12); font-size: 12.5px; line-height: 1.35; }
body[data-page="looking-for-sponsorship"] .pk__ticks li::before { content: ""; position: absolute; left: 0; top: 9px; width: 14px; height: 14px; background: var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14'%3E%3Cpath d='M3 7.4l2.6 2.6L11 4.2' fill='none' stroke='%230A0A0A' stroke-width='2'/%3E%3C/svg%3E") center/100% no-repeat; }
body[data-page="looking-for-sponsorship"] .pk__price { background: var(--ink); color: var(--white); padding: 12px 14px; font: 400 16px/1.25 var(--f-display); clip-path: polygon(0 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%); }
body[data-page="looking-for-sponsorship"] .pk__price span { display: block; font: 600 11px/1 var(--f-fig); color: var(--lime); margin-bottom: 6px; }
body[data-page="looking-for-sponsorship"] .pk__contact { margin-top: auto; display: flex; flex-direction: column; gap: 10px; font: 600 13px/1.5 var(--f-fig); }
body[data-page="looking-for-sponsorship"] .pk__sheet--last .pk__foot { margin-top: 12px; }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .pk { flex-direction: column; align-items: center; }
  body[data-page="looking-for-sponsorship"] .pk__sheet { width: min(88vw, 380px); }
  body[data-page="looking-for-sponsorship"] .pk__sheet + .pk__sheet { margin-left: 0; }
  body[data-page="looking-for-sponsorship"] .pk__sheet + .pk__sheet { margin-left: 0; margin-top: -56px; }
  body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(odd) { align-self: flex-start; }
  body[data-page="looking-for-sponsorship"] .pk__sheet:nth-child(even) { align-self: flex-end; }
}

/* the cover, matching the printed proposal in the desk photograph */
body[data-page="looking-for-sponsorship"] .pk__sheet--cover { padding: 0; gap: 0; }
body[data-page="looking-for-sponsorship"] .pk__photos { position: relative; display: grid; grid-template-columns: 1.7fr 1fr; gap: 3px; background: var(--lime); padding-bottom: 3px; height: 44%; }
body[data-page="looking-for-sponsorship"] .pk__ph { position: relative; overflow: hidden; display: block; }
body[data-page="looking-for-sponsorship"] .pk__ph img { width: 100%; height: 100%; object-fit: cover; }
body[data-page="looking-for-sponsorship"] .pk__ph--car img { object-position: 30% 55%; }
body[data-page="looking-for-sponsorship"] .pk__ph--host img { object-position: 62% 30%; }
body[data-page="looking-for-sponsorship"] .pk__tag { position: absolute; top: 10px; display: inline-flex; align-items: center; height: 20px; padding: 0 8px; font: 600 9.5px/1 var(--f-fig); letter-spacing: .12em; text-transform: uppercase; }
body[data-page="looking-for-sponsorship"] .pk__tag--mark { left: 10px; background: var(--ink); }
body[data-page="looking-for-sponsorship"] .pk__tag--mark .pk__tag-logo { width: 54px; height: auto; display: block; }
body[data-page="looking-for-sponsorship"] .pk__tag--season { left: 40%; background: var(--lime); color: var(--ink); }
body[data-page="looking-for-sponsorship"] .pk__cover-body { flex: 1; display: flex; flex-direction: column; gap: 10px; padding: clamp(16px, 1.6vw, 24px); }
body[data-page="looking-for-sponsorship"] .pk__sheet--cover .pk__kicker { margin-top: 4px; letter-spacing: .22em; text-transform: uppercase; font-size: 10.5px; }
body[data-page="looking-for-sponsorship"] .pk__sheet--cover .pk__cover-title { font-size: clamp(22px, 1.35vw + 6px, 28px); }
body[data-page="looking-for-sponsorship"] .pk__sheet--cover .pk__cover-sub { color: #BDBDB8; }
body[data-page="looking-for-sponsorship"] .pk__assoc { margin-top: auto; align-self: flex-end; display: flex; flex-direction: column; align-items: flex-end; gap: 6px; }
body[data-page="looking-for-sponsorship"] .pk__assoc span { font: 600 9.5px/1 var(--f-fig); letter-spacing: .2em; text-transform: uppercase; color: #BDBDB8; }
body[data-page="looking-for-sponsorship"] .pk__assoc img { width: 96px; height: auto; }

/* ============================================================ 5. rows, form, close */
body[data-page="looking-for-sponsorship"] .lfs-rows .rows + .rows > :first-child { border-top: 0; }
body[data-page="looking-for-sponsorship"] .lfs-rows .rows > * { padding-block: 26px; }
body[data-page="looking-for-sponsorship"] .lfs-rows strong { display: block; margin-bottom: 6px; font-family: var(--f-display); font-weight: 400; font-size: var(--h3); line-height: 1.15; }

body[data-page="looking-for-sponsorship"] .lfs-form .panel--white .enquiry__field input,
body[data-page="looking-for-sponsorship"] .lfs-form .panel--white .enquiry__field textarea { background: var(--paper); }
body[data-page="looking-for-sponsorship"] .lfs-form .panel { padding: clamp(24px, 4vw, 56px); }
body[data-page="looking-for-sponsorship"] .lfs-form .form-aside h2 + p { margin-top: 18px; }
body[data-page="looking-for-sponsorship"] .lfs-form .form-aside p + h2 { margin-top: 44px; }
/* the close band follows a paper section here (on home it follows ink): its top margin would show the
   ink body as a stray black stripe, so the paper section fills that space instead */
body[data-page="looking-for-sponsorship"] main > .close { margin-top: 0; }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .lfs-form { padding-bottom: calc(var(--sec) + clamp(140px, 36vw, 260px)); }
}
@media (min-width: 1024px) {
  /* the sticky aside ends at the foot of the form; the MINI breaks ~0.22 × its width out of the band's top edge */
  body[data-page="looking-for-sponsorship"] .lfs-form { padding-bottom: calc(var(--sec) + min(46vw, 640px) * .22); }
  body[data-page="looking-for-sponsorship"] .lfs-form .cols > .c-main { grid-column: 1 / 8; grid-row: 1; }
  body[data-page="looking-for-sponsorship"] .lfs-form .cols > .c-side { grid-column: 9 / 13; grid-row: 1; }
}

/* round 4 (lead) — ALONE vs THROUGH SPONSR */
body[data-page="looking-for-sponsorship"] .lfs-alone__head { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 28px; align-items: end; }
body[data-page="looking-for-sponsorship"] .lfs-alone__head h2 { grid-column: 1 / 7; max-width: 15ch; }
body[data-page="looking-for-sponsorship"] .lfs-alone__intro { grid-column: 7 / 13; color: #D9D9D4; }
body[data-page="looking-for-sponsorship"] .lfs-alone__intro > * + * { margin-top: 18px; }
body[data-page="looking-for-sponsorship"] .lfs-alone__cards { position: relative; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); margin-top: clamp(48px, 6vw, 88px); align-items: start; }
body[data-page="looking-for-sponsorship"] .lfs-alone__card { position: relative; padding: clamp(24px, 3vw, 44px); clip-path: polygon(0 0, calc(100% - var(--cut)) 0, 100% var(--cut), 100% 100%, 0 100%); }
body[data-page="looking-for-sponsorship"] .lfs-alone__label { font: 600 15px/1 var(--f-fig); letter-spacing: .02em; margin-bottom: 22px; display: flex; align-items: center; gap: 10px; }
body[data-page="looking-for-sponsorship"] .lfs-alone__label::before { content: ""; width: 10px; height: 10px; background: currentColor; }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--solo { grid-column: 1 / 5; grid-row: 1; margin-top: clamp(40px, 5vw, 80px); background: var(--carbon); color: #8E8E89; border-top: 3px solid #3A3B36; }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--solo li { font: 400 clamp(20px, 1vw + 14px, 26px)/1.25 var(--f-display); padding-block: 14px; border-top: 1px solid #2A2B27; }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--us { grid-column: 4 / 13; grid-row: 1; z-index: 2; background: var(--white); color: var(--ink); border-top: 6px solid var(--lime); box-shadow: -30px 30px 60px rgba(0,0,0,.45); }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--us .lfs-alone__label { color: var(--lime-ink); }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--us li { position: relative; padding: 14px 0 14px 40px; border-top: 1px solid var(--rule-l); font-size: clamp(17px, .3vw + 15.5px, 20px); line-height: 1.4; }
body[data-page="looking-for-sponsorship"] .lfs-alone__card--us li::before { content: ""; position: absolute; left: 0; top: 16px; width: 22px; height: 22px; background: var(--lime) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M5 11.5l4 4 8-9' fill='none' stroke='%230A0A0A' stroke-width='2.6'/%3E%3C/svg%3E") center/100% no-repeat; }
@media (max-width: 1023px) {
  body[data-page="looking-for-sponsorship"] .lfs-alone__head h2, body[data-page="looking-for-sponsorship"] .lfs-alone__intro { grid-column: 1 / -1; }
  body[data-page="looking-for-sponsorship"] .lfs-alone__card--solo { grid-column: 1 / 11; margin-top: 0; }
  body[data-page="looking-for-sponsorship"] .lfs-alone__card--us { grid-column: 2 / -1; grid-row: 2; margin-top: -24px; }
}
@media (max-width: 599px) { body[data-page="looking-for-sponsorship"] .lfs-alone__card--solo { grid-column: 1 / -1; } body[data-page="looking-for-sponsorship"] .lfs-alone__card--us { grid-column: 1 / -1; } }
body[data-page="looking-for-sponsorship"] .lfs-alone { padding-bottom: calc(var(--sec) * .45); }
/* the next sheet overlaps each page's right edge by ~40px once rotated: keep content out of that strip */
@media (min-width: 1024px) {
  body[data-page="looking-for-sponsorship"] .pk__sheet:not(:last-child) { padding-right: calc(clamp(20px, 2vw, 30px) + 30px); }
  body[data-page="looking-for-sponsorship"] .pk__sheet--cover:not(:last-child) { padding-right: 0; }
  body[data-page="looking-for-sponsorship"] .pk__sheet--cover .pk__cover-body { padding-right: calc(clamp(16px, 1.6vw, 24px) + 30px); }
}
/* lead fix: cards sliding in made the page 434px wide on phones before they landed */
body[data-page="looking-for-sponsorship"] main { overflow-x: clip; }

/* ---- src/css/parts/new-to-motorsport.css ---- */
/* /new-to-motorsport — round 2 (PAGES-B2.md): "it's simpler and closer than you think".
   Hero with the text low-centre and the ghost mark above it · the plain answer in two columns ·
   THE MAP (Great Britain, ten circuits, rings of reach) · the football comparison · THE LAP (a stylised
   circuit, the six steps at its corners) · a quiet statement · the close band.
   Motion lives in src/js/parts/new-to-motorsport.js; without it every section below is complete. */

/* ------------------------------------------------------------------ HERO: text low-centre, the ghost mark above it */
/* the photograph is a band across the top that fades into ink; the words sit low and centred on the ink
   beneath it, the ghost mark straddling the fade */
/* the photograph is in the flow: it takes whatever height the words leave, then fades into ink */
body[data-page="new-to-motorsport"] .nhero { min-height: 100svh; justify-content: flex-end; text-align: center; }
body[data-page="new-to-motorsport"] .nhero .hero__media { position: relative; inset: auto; flex: 1 1 auto; min-height: 36svh;
  -webkit-mask-image: linear-gradient(to bottom, #000 62%, rgba(0,0,0,.5) 84%, transparent 100%); mask-image: linear-gradient(to bottom, #000 62%, rgba(0,0,0,.5) 84%, transparent 100%); }
body[data-page="new-to-motorsport"] .nhero .hero__shade { background: linear-gradient(to bottom, rgba(10,10,10,.5) 0%, rgba(10,10,10,0) 22%); }
body[data-page="new-to-motorsport"] .nhero .hero__ghost { position: relative; left: auto; right: auto; bottom: auto; z-index: 1; width: min(520px, 64vw); margin: calc(min(520px, 64vw) / -4.8 * .8) auto 0; }
body[data-page="new-to-motorsport"] .nhero .hero__ghost svg path { stroke: rgba(255,255,255,.34); }
body[data-page="new-to-motorsport"] .nhero .hero__ghost svg path[data-stop] { fill: var(--lime) !important; stroke: none; }
body[data-page="new-to-motorsport"] .nhero .hero__body { padding-top: clamp(10px, 1.2vw, 20px); padding-bottom: clamp(92px, 7.4vw, 112px); }
body[data-page="new-to-motorsport"] .nhero .hero__main { max-width: 940px; margin-inline: auto; }
body[data-page="new-to-motorsport"] .nhero h1 { max-width: 22ch; margin-inline: auto; }
body[data-page="new-to-motorsport"] .nhero .lead { margin-inline: auto; max-width: 62ch; }
body[data-page="new-to-motorsport"] .nhero .btn-row { justify-content: center; max-width: none; }
body[data-page="new-to-motorsport"] .nhero h1 { font-size: clamp(40px, 2.6vw + 26px, 72px); }
@media (max-width: 767px) {
  body[data-page="new-to-motorsport"] .nhero { min-height: 100svh; }
  body[data-page="new-to-motorsport"] .nhero .hero__ghost { width: 78vw; margin-top: calc(78vw / -4.8 * .62); }
  body[data-page="new-to-motorsport"] .nhero .hero__media { min-height: 44svh; }
  body[data-page="new-to-motorsport"] .nhero .hero__media img { object-position: 62% 58%; }
}

/* ------------------------------------------------------------------ THE PLAIN ANSWER: from outside (hairline) beside the reality (bold rule) */
body[data-page="new-to-motorsport"] .nintro { overflow: clip; }
body[data-page="new-to-motorsport"] .nintro__livery { position: absolute; left: 0; bottom: calc(var(--sec) * -.12); z-index: 0; }
body[data-page="new-to-motorsport"] .nintro__grid { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: clamp(40px, 5vw, 72px); }
body[data-page="new-to-motorsport"] .nintro h2 { grid-column: 1 / 10; max-width: 15ch; font-size: clamp(38px, 2.8vw + 24px, 72px); }
body[data-page="new-to-motorsport"] .nintro__cols { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 36px; }
body[data-page="new-to-motorsport"] .nintro__cols p { font-size: clamp(19px, .35vw + 17px, 22px); line-height: 1.5; padding-top: 24px; }
body[data-page="new-to-motorsport"] .nintro__out { grid-column: 1 / 6; color: var(--mute-l); border-top: 1px solid #BDBDB6; }
body[data-page="new-to-motorsport"] .nintro__in { grid-column: 7 / 13; border-top: 5px solid var(--ink); }
@media (max-width: 1023px) {
  body[data-page="new-to-motorsport"] .nintro h2, body[data-page="new-to-motorsport"] .nintro__out, body[data-page="new-to-motorsport"] .nintro__in { grid-column: 1 / -1; }
}

/* ------------------------------------------------------------------ THE MAP */
body[data-page="new-to-motorsport"] .nmap { overflow: clip; }
body[data-page="new-to-motorsport"] .nmap__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); row-gap: 48px; align-items: start; }
body[data-page="new-to-motorsport"] .nmap__text { grid-column: 1 / 6; }
body[data-page="new-to-motorsport"] .nmap__text > * + * { margin-top: 22px; }
body[data-page="new-to-motorsport"] .nmap__text p { color: #D9D9D4; }
body[data-page="new-to-motorsport"] .nmap__text .nmap__photo { margin-top: clamp(36px, 4vw, 60px); aspect-ratio: 16 / 10; }
body[data-page="new-to-motorsport"] .nmap__stage { grid-column: 6 / 13; }
body[data-page="new-to-motorsport"] .nmap__fig { position: relative; aspect-ratio: 890 / 1027; width: min(100%, calc((100svh - var(--hdr-h) - 56px) * 890 / 1027)); margin-inline: auto; }
/* a hairline frame with lime corner ticks: the map as an instrument, not a picture */
body[data-page="new-to-motorsport"] .nmap__fig::before { content: ""; position: absolute; inset: 0; border: 1px solid var(--rule-d); pointer-events: none;
  background: linear-gradient(var(--lime), var(--lime)) left top / 18px 2px no-repeat, linear-gradient(var(--lime), var(--lime)) left top / 2px 18px no-repeat,
              linear-gradient(var(--lime), var(--lime)) right bottom / 18px 2px no-repeat, linear-gradient(var(--lime), var(--lime)) right bottom / 2px 18px no-repeat; }
body[data-page="new-to-motorsport"] .nmap__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
body[data-page="new-to-motorsport"] .nmap__grat { fill: none; stroke: rgba(255,255,255,.075); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="new-to-motorsport"] .nmap__land { fill: #161715; stroke: none; }
body[data-page="new-to-motorsport"] .nmap__coast { fill: none; stroke: rgba(255,255,255,.82); }
body[data-page="new-to-motorsport"] .nmap__coast path { stroke-width: 1.1; stroke-linejoin: round; vector-effect: non-scaling-stroke; }
/* the reach is one flat wash: the circles are solid and the GROUP carries the opacity, so where rings overlap
   the lime doesn't stack up into a blob; the outlines stay thin so ten of them read as a lattice, not a mess */
body[data-page="new-to-motorsport"] .nmap__fills { opacity: .15; }
body[data-page="new-to-motorsport"] .nmap__fills circle { fill: var(--lime); }
body[data-page="new-to-motorsport"] .nmap__ring { fill: none; stroke: rgba(223,252,96,.46); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="new-to-motorsport"] .nmap__ripple { fill: none; stroke: rgba(223,252,96,.2); stroke-width: 1; stroke-dasharray: 2 6; vector-effect: non-scaling-stroke; }
body[data-page="new-to-motorsport"] .nmap__leaders path { fill: none; stroke: rgba(255,255,255,.6); stroke-width: 1; vector-effect: non-scaling-stroke; }
body[data-page="new-to-motorsport"] .nmap__pins { position: absolute; inset: 0; }
body[data-page="new-to-motorsport"] .nmap__dot { position: absolute; left: var(--x); top: var(--y); width: 12px; height: 12px; margin: -6px 0 0 -6px; background: var(--lime); box-shadow: 0 0 0 3px var(--ink); }
body[data-page="new-to-motorsport"] .nmap__name { position: absolute; left: var(--lx); top: var(--ly); translate: 10px -50%; white-space: nowrap; font: 600 clamp(13px, .45vw + 10.5px, 17px)/1 var(--f-fig); letter-spacing: .01em; color: var(--white); text-shadow: 0 0 4px var(--ink), 0 0 10px var(--ink); }
body[data-page="new-to-motorsport"] .nmap__pin--l .nmap__name { translate: calc(-100% - 10px) -50%; }
/* the Isle of Man is home: its pin carries a second, outlined square */
body[data-page="new-to-motorsport"] .nmap__home { position: absolute; left: var(--x); top: var(--y); width: 24px; height: 24px; margin: -12px 0 0 -12px; border: 1.5px solid var(--lime); }
@media (min-width: 1024px) {
  body[data-page="new-to-motorsport"] .nmap__stage { position: sticky; top: calc(var(--hdr-h) + 28px); }
}
@media (max-width: 1023px) {
  body[data-page="new-to-motorsport"] .nmap__text, body[data-page="new-to-motorsport"] .nmap__stage { grid-column: 1 / -1; }
  body[data-page="new-to-motorsport"] .nmap__stage { order: 2; }
  body[data-page="new-to-motorsport"] .nmap__fig { width: min(100%, 620px); margin-inline: auto; }
}
@media (max-width: 767px) {
  /* phones: the map runs edge to edge so the labels have the sea to sit in */
  body[data-page="new-to-motorsport"] .nmap__fig { width: calc(100% + 2 * var(--side)); margin-inline: calc(var(--side) * -1); }
  body[data-page="new-to-motorsport"] .nmap__fig::before { border-inline: 0; }
  body[data-page="new-to-motorsport"] .nmap__dot { width: 10px; height: 10px; margin: -5px 0 0 -5px; box-shadow: 0 0 0 2px var(--ink); }
  body[data-page="new-to-motorsport"] .nmap__home { width: 20px; height: 20px; margin: -10px 0 0 -10px; }
  body[data-page="new-to-motorsport"] .nmap__name { translate: 6px -50%; }
  body[data-page="new-to-motorsport"] .nmap__pin--l .nmap__name { translate: calc(-100% - 6px) -50%; }
}

/* ------------------------------------------------------------------ THE COMPARISON: two photographs at a seam */
body[data-page="new-to-motorsport"] .nvs { overflow: clip; }
body[data-page="new-to-motorsport"] .nvs__h { max-width: 17ch; margin-bottom: clamp(40px, 5vw, 76px); }
body[data-page="new-to-motorsport"] .nvs__grid { display: grid; grid-template-columns: minmax(0, 1fr) clamp(48px, 6vw, 96px) minmax(0, 1fr); align-items: start; }
body[data-page="new-to-motorsport"] .nvs__side { display: flex; flex-direction: column; gap: clamp(24px, 2.4vw, 34px); }
body[data-page="new-to-motorsport"] .nvs__side--b { margin-top: clamp(56px, 8vw, 128px); }
body[data-page="new-to-motorsport"] .nvs__frame { aspect-ratio: 4 / 3; }
body[data-page="new-to-motorsport"] .nvs__side p { max-width: 42ch; font-size: clamp(18px, .3vw + 16.5px, 21px); line-height: 1.5; }
body[data-page="new-to-motorsport"] .nvs__seam { position: relative; align-self: stretch; }
body[data-page="new-to-motorsport"] .nvs__seam::before { content: ""; position: absolute; left: 50%; top: 0; bottom: 0; width: 1px; background: var(--rule-l); transform-origin: 50% 0; transform: scaleY(var(--seam, 1)); }
body[data-page="new-to-motorsport"] .nvs__seam i { position: absolute; left: 50%; top: 34%; width: 14px; height: 14px; margin: -7px 0 0 -7px; background: var(--lime); box-shadow: 0 0 0 1.5px var(--ink), 0 0 0 7px var(--white); }
@media (max-width: 767px) {
  body[data-page="new-to-motorsport"] .nvs__grid { grid-template-columns: 1fr; }
  body[data-page="new-to-motorsport"] .nvs__side--b { margin-top: 0; }
  body[data-page="new-to-motorsport"] .nvs__seam { height: 72px; }
  body[data-page="new-to-motorsport"] .nvs__seam::before { left: 0; right: 0; top: 50%; bottom: auto; width: auto; height: 1px; transform-origin: 0 50%; transform: scaleX(var(--seam, 1)); }
  body[data-page="new-to-motorsport"] .nvs__seam i { left: 50%; top: 50%; }
}

/* ------------------------------------------------------------------ THE LAP: a stylised circuit, the six steps at its corners */
body[data-page="new-to-motorsport"] .nlap { overflow: clip; }
body[data-page="new-to-motorsport"] .nlap__svg { display: block; width: 100%; height: auto; overflow: visible; }
body[data-page="new-to-motorsport"] .nlap__verge { fill: none; stroke: var(--white); stroke-width: 34; stroke-linejoin: round; }
body[data-page="new-to-motorsport"] .nlap__tarmac { fill: none; stroke: var(--ink); stroke-width: 20; stroke-linejoin: round; }
body[data-page="new-to-motorsport"] .nlap__line { fill: none; stroke: var(--lime); stroke-width: 3; stroke-linejoin: round; }
body[data-page="new-to-motorsport"] .nlap__start rect { fill: var(--white); }
body[data-page="new-to-motorsport"] .nlap__corners path { fill: none; stroke: #A9A9A2; stroke-width: 1; stroke-dasharray: 3 4; vector-effect: non-scaling-stroke; }
body[data-page="new-to-motorsport"] .nlap__corners rect { fill: var(--lime); stroke: var(--ink); stroke-width: 2.5; }
body[data-page="new-to-motorsport"] .nlap__car { fill: var(--lime); stroke: var(--ink); stroke-width: 3; }
html:not(.b-motion) body[data-page="new-to-motorsport"] .nlap__car { display: none; }
body[data-page="new-to-motorsport"] .nlap__step .n-out { font-size: clamp(40px, 1.8vw + 22px, 60px); }
body[data-page="new-to-motorsport"] .nlap__step p { font-size: clamp(16px, .2vw + 14.5px, 17.5px); line-height: 1.5; }

@media (min-width: 1024px) {
  body[data-page="new-to-motorsport"] .nlap__stage { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(24px, 3vw, 48px); }
  body[data-page="new-to-motorsport"] .nlap__steps { display: contents; }
  body[data-page="new-to-motorsport"] .nlap__track { grid-row: 2; grid-column: 1 / -1; position: relative; margin-block: 10px; }
  /* the heading sits in the infield */
  body[data-page="new-to-motorsport"] .nlap__h { position: absolute; left: 50%; top: 51%; transform: translate(-50%, -50%); z-index: 2; width: max-content; max-width: 19ch; text-align: center;
    font-size: clamp(28px, 1.5vw + 14px, 42px); }
  body[data-page="new-to-motorsport"] .nlap__h.tick::before { margin-inline: auto; margin-bottom: 16px; }
  body[data-page="new-to-motorsport"] .nlap__step { display: flex; gap: 18px; align-items: flex-start; }
  body[data-page="new-to-motorsport"] .nlap__step .n-out { flex: 0 0 auto; margin-top: -4px; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(1) { grid-row: 1; grid-column: 1; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(2) { grid-row: 1; grid-column: 2; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(3) { grid-row: 1; grid-column: 3; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(4) { grid-row: 3; grid-column: 3; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(5) { grid-row: 3; grid-column: 2; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(6) { grid-row: 3; grid-column: 1; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(-n+3) { align-self: end; }
  body[data-page="new-to-motorsport"] .nlap__step:nth-child(n+4) { align-self: start; }
  /* pinned (JS adds .is-pinned when the viewport is tall enough) */
  body[data-page="new-to-motorsport"] .nlap.is-pinned { padding-block: 0; }
  body[data-page="new-to-motorsport"] .nlap.is-pinned .nlap__pin { min-height: 100svh; display: flex; flex-direction: column; justify-content: center; padding-block: calc(76px + 20px) 24px; }
}

@media (max-width: 1023px) {
  /* phones and tablets: the track becomes a vertical racing line down the left, the steps along it */
  body[data-page="new-to-motorsport"] .nlap__svg { display: none; }
  body[data-page="new-to-motorsport"] .nlap__track { margin-bottom: clamp(36px, 6vw, 56px); }
  body[data-page="new-to-motorsport"] .nlap__steps { position: relative; display: grid; gap: clamp(36px, 6vw, 52px); padding-left: 54px; }
  body[data-page="new-to-motorsport"] .nlap__steps::before { content: ""; position: absolute; left: 12px; top: 4px; bottom: 4px; width: 14px;
    background: linear-gradient(var(--lime), var(--lime)) 50% 0 / 2px calc(var(--car, 1) * 100%) no-repeat, var(--ink); }
  body[data-page="new-to-motorsport"] .nlap__steps::after { content: ""; position: absolute; left: 10px; top: calc(4px + var(--car, 0) * (100% - 26px)); width: 18px; height: 18px; background: var(--lime); box-shadow: 0 0 0 2.5px var(--ink); }
  html:not(.b-motion) body[data-page="new-to-motorsport"] .nlap__steps::after { display: none; }
  body[data-page="new-to-motorsport"] .nlap__step { display: grid; gap: 10px; }
  body[data-page="new-to-motorsport"] .nlap__step p { font-size: 17px; }
}

/* ------------------------------------------------------------------ THE STATEMENT: quiet, centred, on ink */
body[data-page="new-to-motorsport"] .nsay__inner { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 28px; padding-block: clamp(8px, 2vw, 32px); }
body[data-page="new-to-motorsport"] .nsay h2 { max-width: 18ch; }
body[data-page="new-to-motorsport"] .nsay h2.tick::before { margin-inline: auto; }
body[data-page="new-to-motorsport"] .nsay p { max-width: 50ch; font-size: var(--lead); line-height: 1.5; color: #CFCFCA; }

/* ------------------------------------------------------------------ CLOSE: the Porsche cut-out is long and low (2.56:1): lift it so it breaks out of the band's top edge */
@media (min-width: 1024px) { body[data-page="new-to-motorsport"] .close__machine { bottom: auto; top: calc(min(46vw, 640px) / -2.56 * .62); } }
@media (max-width: 1023px) { body[data-page="new-to-motorsport"] .close__machine { top: calc(min(84vw, 520px) / -2.56 * .62); } }
@media (prefers-reduced-motion: reduce) { body[data-page="new-to-motorsport"] .nmap__stage { position: static; } }

/* ---- src/css/parts/privacy.css ---- */
/* /privacy — page-scoped additions to b.css (option B).
   The ink title band that stands in for a photo hero on text pages, and the ruled document blocks. */
body[data-page="privacy"] .legal-band { position: relative; overflow: clip; padding-top: calc(var(--hdr-h) + clamp(64px, 7vw, 112px)); padding-bottom: calc(var(--sec) + var(--cut) * 2.4); }
body[data-page="privacy"] .legal-band .wrap { position: relative; z-index: 1; }
body[data-page="privacy"] .legal-band h1 { max-width: 15ch; }
body[data-page="privacy"] .legal-band__livery { position: absolute; left: 0; bottom: calc(var(--cut) * 2.4 - .06em); z-index: 0; }
body[data-page="privacy"] .legal-rows > * { padding-block: clamp(32px, 4vw, 56px); }
body[data-page="privacy"] .legal-rows > :first-child { border-top: 0; padding-top: 0; }
body[data-page="privacy"] .legal-rows > :last-child { border-bottom: 0; padding-bottom: 0; }
body[data-page="privacy"] .legal-rows .c-side { max-width: 18ch; }
body[data-page="privacy"] .legal-rows .c-main { font-size: clamp(18px, .3vw + 16px, 20px); }
body[data-page="privacy"] .legal-rows p a { text-decoration-color: currentColor; }

/* ---- src/css/parts/talk-to-us.css ---- */
/* /talk-to-us — page-scoped additions to b.css (option B).
   Form layout: the form panel on the left, the sticky aside on the right (DOM keeps the form first,
   so on phones the form comes straight after the hero). Inputs sit on paper inside the white panel. */
/* the short hero still shows enough of the Aston to read as a photograph */
body[data-page="talk-to-us"] .hero--short { min-height: min(58svh, 540px); }
body[data-page="talk-to-us"] .ttu-form .panel--white .enquiry__field input,
body[data-page="talk-to-us"] .ttu-form .panel--white .enquiry__field textarea { background: var(--paper); }
body[data-page="talk-to-us"] .ttu-form .panel { padding: clamp(24px, 4vw, 56px); }
body[data-page="talk-to-us"] .ttu-form .form-aside h2 + p { margin-top: 18px; }
body[data-page="talk-to-us"] .ttu-form .form-aside p + h2 { margin-top: 44px; }
@media (min-width: 1024px) {
  body[data-page="talk-to-us"] .ttu-form .cols > .c-main { grid-column: 1 / 8; grid-row: 1; }
  body[data-page="talk-to-us"] .ttu-form .cols > .c-side { grid-column: 9 / 13; grid-row: 1; }
}

/* ---- src/css/parts/terms.css ---- */
/* /terms — page-scoped additions to b.css (option B).
   The ink title band that stands in for a photo hero on text pages, the ruled document blocks, and the
   credits list set a size down so forty-odd credits read as a register, not a wall. */
body[data-page="terms"] .legal-band { position: relative; overflow: clip; padding-top: calc(var(--hdr-h) + clamp(64px, 7vw, 112px)); padding-bottom: calc(var(--sec) + var(--cut) * 2.4); }
body[data-page="terms"] .legal-band .wrap { position: relative; z-index: 1; }
body[data-page="terms"] .legal-band h1 { max-width: 15ch; }
body[data-page="terms"] .legal-band__livery { position: absolute; left: 0; bottom: calc(var(--cut) * 2.4 - .06em); z-index: 0; }
body[data-page="terms"] .legal-rows > * { padding-block: clamp(32px, 4vw, 56px); }
body[data-page="terms"] .legal-rows > :first-child { border-top: 0; padding-top: 0; }
body[data-page="terms"] .legal-rows > :last-child { border-bottom: 0; padding-bottom: 0; }
body[data-page="terms"] .legal-rows .c-side { max-width: 18ch; }
body[data-page="terms"] .legal-rows .prose { font-size: clamp(18px, .3vw + 16px, 20px); }
body[data-page="terms"] .legal-rows p a { text-decoration-color: currentColor; }
body[data-page="terms"] .rows--credits { margin-top: clamp(28px, 3vw, 40px); }
body[data-page="terms"] .rows--credits > * { padding-block: 16px; font-size: var(--small); line-height: 1.55; color: var(--mute-l); }
body[data-page="terms"] .rows--credits strong { color: var(--ink); }
body[data-page="terms"] .rows--credits a { color: var(--ink); text-decoration-color: currentColor; text-decoration-thickness: 1px; }
body[data-page="terms"] .rows--credits a:hover { text-decoration-color: var(--lime-ink); text-decoration-thickness: 2px; }
body[data-page="terms"] #credits h3 { margin-top: clamp(40px, 5vw, 64px); }
