/* Talk deck content: slide layouts and components on deck.css tokens. Design size 1920x1080.
   Rules: large shapes and high contrast for Zoom at 30fps; spectrum colours for rails, rings, stamps and marks only;
   kept vs withheld and match vs miss never rely on colour alone. */

.reveal .slides section.c-tight { --pad-top: 84px; }
.reveal .slides section.c-a { --pad-top: 80px; --pad-bottom: 140px; }
/* The lockup at 72px keeps its wordmark readable through a compressed screen share (at 44px it was about 8px tall). */
.c-logo { display: block; align-self: flex-start; height: 72px; width: auto; margin: 0 0 24px; }
.c-foot { margin-top: 16px; max-width: none; font: 400 19px/1.45 var(--mono); color: var(--ink-300); }
.c-foot b { color: var(--ink-200); font-weight: 500; }
.c-replay-badge { position: absolute; top: 40px; right: 280px; z-index: 3; margin: 0; padding: 7px 14px; border: 2px solid var(--s-amber); border-radius: 999px;
  font: 600 16px/1.2 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--s-amber); opacity: 0; transition: opacity .35s var(--ease); }
.c-replay-badge::before { content: ''; display: inline-block; width: 9px; height: 9px; margin-right: 10px; border-radius: 50%; background: var(--s-amber); vertical-align: 1px; }
.c-replay-badge.is-on { opacity: 1; }
.c-mark { font-weight: 600; color: var(--paper); background: linear-gradient(var(--s-amber), var(--s-amber)) no-repeat 0 100% / 100% .2em; padding-bottom: .05em; }
.reveal i.fragment.c-step { display: block; width: 0; height: 0; margin: 0; position: absolute; }
.c-label { font: 500 16px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }

/* S1 title */
.c-s1.d-title h1 { margin-top: 0; font-size: 90px; max-width: 17ch; }
.c-s1-card { margin: auto 0 0; max-width: 900px; padding: 26px 34px 24px; background: rgba(15, 22, 38, .78); border-left: 6px solid var(--s-orange); }
.c-s1-card blockquote { margin: 0; font: 400 34px/1.34 var(--sans); max-width: none; }
.c-s1-card figcaption { margin-top: 14px; font: 500 17px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-s1-card figcaption b { color: var(--s-orange); font-weight: 600; }
.c-s1.d-title .d-byline { margin-top: 36px; }

/* S2 bars */
.c-s2 h2 { max-width: none; }
.c-bars { display: grid; gap: 30px; margin-top: 76px; }
.c-bar-row { display: grid; grid-template-columns: 290px minmax(0, 1fr) 170px; column-gap: 36px; align-items: center; }
.c-bar-name { font: 700 36px/1.05 var(--display); }
.c-bar-name small { display: block; margin-top: 8px; font: 500 16px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-track { position: relative; height: 88px; background: rgba(251, 252, 254, .06); }
.c-fill { position: absolute; inset: 0 auto 0 0; width: calc(var(--v) * 100%); background: var(--paper); }
.c-bar-row.is-jev .c-fill { background: var(--blue-300); }
.c-pass-tick { position: absolute; top: -12px; bottom: -12px; left: calc(var(--at) * 100%); width: 4px; margin-left: -2px; background: var(--paper); box-shadow: 0 0 0 2px var(--ink); }
.c-gap { position: absolute; top: 0; bottom: 0; left: calc(var(--lo) * 100%); width: calc((var(--hi) - var(--lo)) * 100%);
  background: repeating-linear-gradient(135deg, var(--diff) 0 7px, transparent 7px 15px); box-shadow: inset 0 0 0 3px var(--diff); }
.c-gap-label { position: absolute; right: 0; bottom: calc(100% + 18px); margin: 0; max-width: none; font: 600 22px/1.2 var(--mono); color: var(--diff); white-space: nowrap; }
.c-bar-val { font: 900 92px/1 var(--display); letter-spacing: -.04em; }
.c-passes { grid-column: 2; margin-top: 14px; max-width: none; font: 500 18px/1.3 var(--mono); letter-spacing: .08em; color: var(--ink-300); }
.c-axis { max-width: none; margin: -6px 206px 0 326px; display: flex; justify-content: space-between; margin-top: -14px; font: 500 16px var(--mono); color: var(--ink-500); }
.c-punch { margin-top: auto; font: 800 96px/1 var(--display); letter-spacing: -.035em; color: var(--blue-200); }

/* S3 about */
.c-about { display: grid; grid-template-columns: 600px minmax(0, 1fr); gap: 100px; align-items: center; flex: 1; min-height: 0; }
.c-portrait { position: relative; margin: 0; }
.c-portrait img { display: block; width: 600px; height: 600px; object-fit: cover; }
.c-portrait::after { content: ''; position: absolute; left: 0; right: 0; bottom: -14px; height: 8px; background: var(--ladder); }
.c-about h2 { font-size: 100px; }
.c-about p { margin-top: 26px; font: 400 44px/1.25 var(--sans); color: var(--ink-200); max-width: 22ch; }
.c-about .d-ladder { margin-top: 48px; }

/* S4 timeline additions */
.c-s4 .d-track { margin-top: 64px; }
.c-wtick { position: absolute; left: calc(var(--at) * 100%); top: 50%; width: 8px; height: 18px; margin: calc(-26px - var(--k, 0) * 24px) 0 0 -4px;
  background: var(--ink-300); list-style: none; opacity: 0; }
.c-wtick.is-on { opacity: 1; }
.c-s4 .c-foot { margin-top: 8px; }

/* S5 matrix row */
.c-s5 h2 { font-size: 52px; max-width: 34ch; }
.c-questions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-top: 30px; }
.c-questions div { padding: 12px 18px 14px; background: rgba(251, 252, 254, .035); border-top: 4px solid var(--rail, var(--blue)); }
.c-questions b { display: block; font: 700 24px/1.2 var(--display); }
.c-questions span { display: block; margin-top: 4px; font: 400 16px/1.35 var(--mono); color: var(--ink-300); }
.c-mxrow { display: grid; grid-template-columns: repeat(var(--n, 5), minmax(0, 1fr)); gap: 36px; margin-top: 34px; }
.c-mx { margin: 0; --cell: 78px; }
.c-mx figcaption b { display: block; font: 700 27px/1.1 var(--display); }
.c-mx figcaption span { display: block; margin-top: 4px; font: 500 16px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-mx-score { display: flex; align-items: baseline; gap: 10px; margin: 8px 0 10px; max-width: none; }
.c-mx-score .d-num { font: 900 60px/1 var(--display); letter-spacing: -.03em; }
.c-mx-score small { font: 500 16px/1.2 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-mx-grid { display: grid; grid-template-columns: repeat(3, var(--cell)); gap: 7px; }
.c-mx-grid > i { font: 500 16px/1.6 var(--mono); font-style: normal; text-align: center; color: var(--ink-300); }
.c-cell { position: relative; display: grid; place-items: center; width: var(--cell); height: var(--cell); background: var(--fill, transparent); }
.c-cell-n { font: 800 30px/1 var(--display); color: var(--paper); font-variant-numeric: tabular-nums; }
.c-cell.is-light .c-cell-n { color: var(--ink-950); }
.c-cell.is-empty { box-shadow: inset 0 0 0 2px var(--ink-600); background: none; }
.c-cell.is-stopped { background: repeating-linear-gradient(135deg, var(--ink-600) 0 5px, transparent 5px 11px); box-shadow: inset 0 0 0 2px var(--ink-500); }
.c-cell-note { padding: 2px 4px; background: var(--ink); font: 600 16px/1.2 var(--mono); color: var(--paper); }
.c-cell.is-patched::after { content: ''; position: absolute; top: 0; right: 0; border: 9px solid var(--ink); border-bottom-color: transparent; border-left-color: transparent; }
.c-legend { display: flex; flex-wrap: wrap; gap: 14px 36px; align-items: center; margin-top: 26px; max-width: none; font: 500 16px/1.3 var(--mono); color: var(--ink-300); }
.c-legend > span { display: inline-flex; align-items: center; gap: 10px; }
.c-ramp { display: inline-block; width: 200px; height: 14px; background: linear-gradient(90deg, rgb(43, 54, 80), rgb(21, 101, 192) 60%, rgb(227, 238, 252)); }
.c-key-empty, .c-key-patch { position: relative; display: inline-block; width: 22px; height: 22px; box-shadow: inset 0 0 0 2px var(--ink-600); }
.c-key-patch { background: var(--blue-300); box-shadow: none; }
.c-key-patch::after { content: ''; position: absolute; top: 0; right: 0; border: 6px solid var(--ink); border-bottom-color: transparent; border-left-color: transparent; }

/* S6 cost cards */
.c-costs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; flex: 1; min-height: 0; align-content: center; }
.c-cost { padding: 52px 56px 58px; background: rgba(251, 252, 254, .04); border-top: 8px solid var(--rail); }
.c-who { max-width: none; font: 500 20px/1.4 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-200); }
.c-amount { margin: 26px 0 30px; font: 900 172px/1 var(--display); letter-spacing: -.05em; max-width: none; }
.c-kind { display: inline-block; padding: 10px 20px; border: 3px solid var(--rail); font: 600 26px/1.2 var(--mono); }
.c-cost.is-estimate .c-kind { border-style: dashed; }
.c-who b { font: 800 34px/1 var(--display); letter-spacing: -.01em; text-transform: none; color: var(--paper); margin-right: 6px; }
.c-kind small { display: block; margin-top: 6px; font: 500 18px/1.3 var(--mono); color: var(--ink-200); }

/* S7 soup text */
.c-s7 blockquote { font-size: 86px; line-height: 1.12; max-width: 17ch; }

/* S8 flip */
.c-s8-top { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: end; }
.c-s8-top blockquote { margin: 0; font: 400 34px/1.3 var(--sans); color: var(--ink-200); max-width: 32ch; }
.c-flagged { font-size: 58px; text-align: right; max-width: none; white-space: nowrap; }
.c-key { display: flex; gap: 34px; align-items: baseline; margin-top: 26px; padding: 12px 0; border-top: 1px solid var(--ink-700); border-bottom: 1px solid var(--ink-700); max-width: none; }
.c-key > span { font: 500 16px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-300); }
.c-key b { font: 700 26px/1.2 var(--display); }
.c-key small { display: block; font: 500 16px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-pips { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; }
.c-pip { position: relative; display: block; width: 44px; height: 10px; overflow: hidden; border-radius: 5px; background: var(--ink-700); }
.c-pip b { position: absolute; inset: 0; background: var(--paper); transform-origin: 0 50%; transform: scaleX(0); }
.c-pip.is-on b { transform: scaleX(1); }
.c-flip-row { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 20px; margin-top: 14px; perspective: 1600px; }
.c-flip { height: 344px; }
.c-flip-in { position: relative; width: 100%; height: 100%; transform-style: preserve-3d; }
.c-face { position: absolute; inset: 0; display: flex; flex-direction: column; padding: 20px 18px; backface-visibility: hidden; -webkit-backface-visibility: hidden; }
.c-face > b { font: 700 25px/1.1 var(--display); }
.c-back { align-items: center; justify-content: center; gap: 22px; background: var(--ink-800); box-shadow: inset 0 0 0 2px var(--ink-600); text-align: center; }
.c-back small { font: 500 16px var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--ink-300); }
.c-front { transform: rotateY(180deg); background: #232d42; border-top: 6px solid var(--diff); }
.c-flip[data-match='true'] .c-front { border-top-color: var(--paper); }
.c-front ul, .c-jev ul { display: grid; gap: 6px; margin: 10px 0 0; padding: 0; list-style: none; }
.c-front li span, .c-jev li span { display: block; font: 500 16px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-front li b, .c-jev li b { font: 700 26px/1.1 var(--display); }
.c-front li.is-diff b, .c-jev li.is-diff b { color: var(--diff); }
.c-s8-extra { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; align-items: center; margin-top: 28px; }
.c-jev { padding: 14px 24px 16px; background: rgba(251, 252, 254, .045); border-left: 6px solid var(--blue-300); }
.c-jev > p { max-width: none; font: 500 17px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-200); }
.c-jev ul { display: flex; gap: 28px; }
.c-jev .c-conf { margin-top: 8px; font: 400 22px/1.3 var(--sans); text-transform: none; letter-spacing: 0; }
.c-general { font: 800 44px/1.15 var(--display); letter-spacing: -.02em; max-width: 20ch; }

/* S9 hard-six wall */
.c-s9-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 48px; }
.c-s9-head h2 { max-width: none; font-size: 68px; white-space: nowrap; }
.c-s9-head .d-eyebrow { margin-bottom: 20px; }
.c-histo-inset { margin: 0; width: 430px; }
.c-histo-inset figcaption { font: 500 16px/1.35 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-histo { display: grid; grid-template-columns: repeat(var(--bars, 8), minmax(0, 1fr)); gap: 6px; align-items: end; height: 92px; margin-top: 8px; }
.c-hbar { position: relative; display: flex; flex-direction: column; justify-content: flex-end; height: 100%; text-align: center; }
.c-hbar i { display: block; height: calc(var(--h) * 64px); min-height: 3px; background: var(--ink-300); }
.c-hbar span { font: 600 16px/1.2 var(--mono); }
.c-hbar small { font: 500 16px/1.3 var(--mono); color: var(--ink-300); }
.c-wall { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(2, minmax(0, 1fr)); gap: 22px; flex: 1; min-height: 0; margin-top: 18px; }
.c-hard { position: relative; display: flex; flex-direction: column; min-height: 0; padding: 14px 22px 14px; background: rgba(251, 252, 254, .045); border-top: 5px solid var(--diff); }
.c-hard:not(.is-shown) { background: none; box-shadow: inset 0 0 0 2px var(--ink-700); border-top-color: transparent; }
.c-hard:not(.is-shown) > * { visibility: hidden; }
.c-hard header { display: flex; align-items: center; gap: 12px; white-space: nowrap; font: 600 16px/1.2 var(--mono); letter-spacing: .08em; }
.c-cause { padding: 3px 10px; border: 2px solid var(--ink-500); border-radius: 6px; font: 500 16px/1.2 var(--mono); letter-spacing: .06em; text-transform: uppercase; color: var(--paper); }
.c-hard-text { margin-top: 10px; max-width: none; font: 400 22px/1.32 var(--sans); }
.c-hard-key { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 8px; margin-top: auto; padding-top: 10px; max-width: none; font: 600 19px/1.2 var(--sans); }
.c-hard-key span, .c-hard-key i { font: 500 16px var(--mono); font-style: normal; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-tiles { display: flex; gap: 8px; margin-top: 10px; }
.c-tile { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 3px; width: 56px; height: 26px; }
.c-tile i { display: block; background: rgba(251, 252, 254, .2); }
.c-tile i.is-diff { background: var(--diff); }
.c-tile small { display: none; }
.c-hard footer { display: flex; justify-content: space-between; gap: 12px; margin-top: 10px; font: 500 16px/1.3 var(--mono); color: var(--ink-300); }
.c-hard footer b { font: 800 26px/1 var(--display); color: var(--paper); }
/* DEV-059's tab: the review that opened the talk. Amber is the deck's rare-highlight colour, never "differs". */
.c-opened { position: absolute; top: -16px; right: 20px; margin: 0; max-width: none; padding: 4px 14px; border: 2px solid var(--s-amber); border-radius: 999px;
  background: var(--ink); font: 600 16px/1.2 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--s-amber); }

/* S10 gate */
.c-s10 h2 { font-size: 60px; max-width: 34ch; }
.c-gate { position: relative; flex: 1; min-height: 0; margin-top: 18px; }
.c-gate-head { display: flex; justify-content: space-between; align-items: baseline; max-width: none; }
.c-gate-readout { font: 500 20px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--s-sky); }
.c-gate-readout b { margin-left: 8px; font: 800 40px/1 var(--display); letter-spacing: 0; color: var(--paper); }
.c-gate-stage { position: relative; width: 1664px; height: 500px; margin-top: 8px; }
.c-gate-stage svg { position: absolute; inset: 0; width: 1664px; height: 500px; overflow: visible; }
.c-grid { stroke: var(--ink-700); stroke-width: 1.5; }
.c-tick { fill: var(--ink-300); font: 500 17px var(--mono); text-anchor: end; }
.c-core { fill: var(--paper); stroke: var(--paper); stroke-width: 3; transition: fill .2s linear; }
.c-dot.is-held .c-core { fill: var(--ink); }
.c-ring { fill: none; stroke: var(--diff); stroke-width: 4; }
.c-dot.is-hero .c-ring { stroke: var(--s-red); stroke-width: 6; }
.c-gate-line line { stroke: var(--s-sky); stroke-width: 4; }
.c-gate-shade { fill: rgba(15, 22, 38, .55); }
.c-leader { stroke: var(--ink-300); stroke-width: 2; stroke-dasharray: 3 6; }
.c-keep { position: absolute; right: 0; margin: 0; max-width: none; transform: translateY(calc(-100% - 6px)); font: 500 17px var(--mono); color: var(--ink-200); }
.c-callout { position: absolute; margin: 0; max-width: none; padding: 12px 18px; background: var(--ink-800); border-left: 5px solid var(--diff); font: 400 21px/1.35 var(--sans); }
.c-callout.is-hero { width: 470px; border-left-color: var(--s-red); }
.c-callout b { font: 700 24px var(--display); }
.c-callout small { display: block; font: 500 16px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-gate-legend { position: absolute; left: 96px; bottom: -6px; display: flex; gap: 30px; max-width: none; font: 500 17px var(--mono); color: var(--ink-300); }
.c-gate-legend i { display: inline-block; width: 16px; height: 16px; margin-right: 8px; border-radius: 50%; vertical-align: -2px; border: 3px solid var(--paper); }
.c-gate-legend i.is-kept { background: var(--paper); }
.c-gate-legend i.is-wrong { border-color: var(--diff); }

/* S11 stairs and tally */
.c-s11-body { display: grid; grid-template-columns: 560px minmax(0, 1fr); gap: 100px; flex: 1; min-height: 0; margin-top: 44px; }
.c-stairs-fig, .c-tally { margin: 0; }
.c-stairs { position: relative; height: 400px; margin-top: 18px; border-left: 2px solid var(--ink-600); border-bottom: 2px solid var(--ink-600); }
.c-tread { position: absolute; bottom: calc(var(--y) * 100%); width: 33.3%; padding: 0 0 8px 14px; border-bottom: 6px solid var(--paper); }
.c-tread:nth-child(2) { left: 33.3%; } .c-tread:nth-child(3) { left: 66.6%; }
.c-tread b { display: block; font: 900 76px/1 var(--display); letter-spacing: -.03em; }
.c-tread span { font: 500 16px var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-tally-row { margin-top: 34px; }
.c-tally-label { font: 700 34px/1.1 var(--display); max-width: none; }
.c-units { display: grid; grid-template-columns: repeat(39, minmax(0, 1fr)); gap: 4px; height: 44px; margin-top: 14px; }
.c-units i { display: block; }
.c-units i.is-up { background: var(--blue-200); }
.c-units i.is-same { background: var(--ink-500); }
.c-units i.is-down { background: var(--diff); }
.c-tally-row .c-parts { margin-top: 12px; max-width: none; font: 500 20px/1.3 var(--mono); color: var(--ink-200); }
.c-parts b { font: 800 30px/1 var(--display); color: var(--paper); }
.c-parts .is-down b { color: var(--diff); }

/* S12 sorter */
.c-s12 h2 { font-size: 60px; max-width: none; }
.c-sorter { position: relative; flex: 1; min-height: 0; margin-top: 22px; }
.c-cards { position: absolute; inset: 0; }
.c-rv { position: absolute; left: 0; top: 0; box-sizing: border-box; display: flex; align-items: center; gap: 8px; width: 116px; height: 50px; padding: 0 10px; border-radius: 8px; overflow: hidden; white-space: nowrap;
  background: var(--ink-800); box-shadow: inset 0 0 0 2px var(--ink-600); font: 500 16px/1 var(--mono); color: var(--ink-200); }
.c-rv b { font-weight: 500; }
.c-rv b span { display: none; }
.c-rv.is-person b span { display: inline; }
.c-st { display: block; flex: none; width: 24px; height: 24px; border-radius: 50%; background: var(--blue-200); font: 700 16px/24px var(--mono); font-style: normal; text-align: center; color: var(--ink-950); }
.c-sorter[data-pair='a'] .c-st:nth-of-type(1)::after { content: 'S'; } .c-sorter[data-pair='a'] .c-st:nth-of-type(2)::after { content: 'P'; }
.c-sorter[data-pair='b'] .c-st:nth-of-type(1)::after { content: 'Q'; } .c-sorter[data-pair='b'] .c-st:nth-of-type(2)::after { content: 'G'; }
.c-rv.is-split .c-st:nth-of-type(2) { background: var(--diff); }
.c-rv.is-person { box-shadow: inset 0 0 0 3px var(--diff); color: var(--paper); }
.c-rv em { display: none; margin-left: auto; font: 600 16px var(--mono); font-style: normal; color: var(--paper); }
.c-rv.is-person em { display: inline; }
.c-zone { position: absolute; top: 0; margin: 0; max-width: none; font: 700 30px/1.2 var(--display); }
.c-zone b { font-weight: 900; }
.c-zone small { font: 500 16px var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-zone-per { left: 1310px; color: var(--diff); }
.c-pair { position: absolute; left: 0; top: 536px; margin: 0; max-width: none; padding: 10px 18px; border: 2px solid var(--s-green); font: 500 20px/1.3 var(--mono); }
.c-pair b { font: 800 26px var(--display); }

/* S13 policy and queue */
.c-s13-body { display: grid; grid-template-columns: minmax(0, 1fr) 720px; gap: 80px; margin-top: 8px; }
.c-policy { margin: 0; padding: 0; list-style: none; counter-reset: p; }
.c-policy li { display: flex; gap: 22px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--ink-700); font: 700 38px/1.2 var(--display); counter-increment: p; }
.c-policy li::before { content: counter(p); flex: none; width: 28px; font: 600 20px var(--mono); color: var(--blue-300); }
.c-queue-head { max-width: none; font: 500 17px/1.4 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-queue-head b { font: 800 28px var(--display); letter-spacing: 0; color: var(--paper); }
.c-band { margin-top: 20px; padding-left: 20px; border-left: 6px solid var(--rail); }
.c-band-head { max-width: none; font: 700 26px/1.2 var(--display); }
.c-band-head b { font: 900 44px/1 var(--display); margin-right: 10px; }
.c-band-cards { display: grid; grid-template-columns: repeat(13, 40px); gap: 8px; margin-top: 10px; }
.c-band-cards i { display: block; height: 28px; background: var(--ink-600); }
.c-band[data-band='concern'] .c-band-cards i { background: var(--ink-500); box-shadow: inset 0 0 0 2px var(--s-red); }
.c-ask { margin-top: auto; max-width: none; font: 800 60px/1.1 var(--display); letter-spacing: -.02em; color: var(--blue-200); }

/* S14 pipeline */
.c-pipe { margin-top: 60px; }
.c-nodes { display: flex; align-items: center; }
.c-node { flex: none; width: 236px; padding: 26px 18px 24px; border: 3px solid var(--paper); text-align: center; font: 700 32px/1.1 var(--display); }
.c-node small { display: block; margin-top: 8px; font: 500 16px/1.3 var(--mono); letter-spacing: .1em; text-transform: uppercase; color: var(--ink-300); }
.c-node.is-run { border-color: var(--blue-300); }
.c-link { position: relative; flex: 1; height: 3px; margin: 0 8px; background: var(--ink-300); }
.c-link::after { content: ''; position: absolute; right: -2px; top: -7px; border: 8px solid transparent; border-left: 12px solid var(--ink-300); border-right: 0; }
.c-drop { width: 3px; height: 54px; margin: 0 auto; background: var(--blue-300); }
.c-routes { display: flex; justify-content: center; gap: 18px; }
.c-route { padding: 14px 22px; border: 3px solid var(--s-amber); border-style: dashed; font: 600 22px/1.2 var(--mono); }
.c-route.is-live { border-color: var(--s-green); border-style: solid; }
.c-route.is-live::before { content: ''; display: inline-block; width: 12px; height: 12px; margin-right: 12px; border-radius: 50%; background: var(--s-green); }
.c-pipe-foot { display: flex; justify-content: space-between; align-items: center; margin-top: 36px; }
.c-pipe-badge { --rail: var(--s-sky); font-size: 22px; padding: 10px 20px; color: var(--paper); }
.c-route-key { display: inline-block; width: 12px; height: 12px; border-radius: 50%; background: var(--s-green); }

/* S15 Monday and the appendix index */
.c-s15-body { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 80px; }
.c-s15 h2 { font-size: 92px; }
.c-recipe { margin: 18px 0 0; padding: 0; list-style: none; counter-reset: r; }
.c-recipe li { position: relative; padding-left: 56px; font: 800 58px/1.2 var(--display); letter-spacing: -.02em; counter-increment: r; }
.c-recipe li::before { content: counter(r); position: absolute; left: 0; top: .9em; font: 600 24px/1 var(--mono); color: var(--blue-300); }
.c-qr { margin: 0; }
.c-qr img { display: block; width: 360px; height: 360px; }
.c-qr figcaption { margin-top: 14px; font: 500 17px/1.4 var(--mono); color: var(--ink-200); overflow-wrap: anywhere; }
.c-index { margin-top: auto; padding-top: 18px; border-top: 1px solid var(--ink-700); }
.c-index h3 { font: 500 16px/1.4 var(--mono); letter-spacing: .16em; text-transform: uppercase; color: var(--ink-300); }
.c-index ol { columns: 4; column-gap: 32px; margin: 8px 0 0; padding: 0; list-style: none; font: 500 16px/1.55 var(--mono); }
.c-index a { color: var(--ink-200); text-decoration: none; }
.c-index a b { color: var(--blue-300); font-weight: 600; margin-right: 8px; }

/* Appendix shared */
.c-a h2 { font-size: 54px; max-width: 40ch; }
.c-a .d-eyebrow { margin-bottom: 22px; }
.c-grid5 { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 24px; margin-top: 40px; }
.c-grid3 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; margin-top: 36px; }
.c-grid2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 72px; margin-top: 36px; }
.c-card { padding: 22px 24px 24px; background: rgba(251, 252, 254, .04); border-top: 5px solid var(--rail, var(--blue)); }
.c-card h3 { font-size: 30px; }
.c-card .c-maker { font: 500 16px/1.3 var(--mono); letter-spacing: .12em; text-transform: uppercase; color: var(--ink-300); }
.c-card .c-big { margin-top: 12px; font: 900 52px/1 var(--display); letter-spacing: -.03em; max-width: none; color: var(--paper); }
.c-card .c-big small { font: 500 16px var(--mono); letter-spacing: .06em; color: var(--ink-300); }
.c-card ul { margin: 14px 0 0; padding: 0 0 0 20px; font: 400 21px/1.4 var(--sans); color: var(--ink-200); }
.c-card p { margin-top: 12px; font-size: 21px; line-height: 1.4; color: var(--ink-200); }
.c-card .c-src { margin-top: 12px; font: 400 16px/1.4 var(--mono); color: var(--ink-300); }
.c-compact { font-size: 21px; }
.c-compact th, .c-compact td { padding: 6px 18px 6px 10px; }
.c-compact thead th { font-size: 16px; }
.c-compact td .d-num, .c-num { font-variant-numeric: tabular-nums; }
.c-compact tr.is-zero th { box-shadow: inset 5px 0 0 var(--s-green); padding-left: 16px; }
.c-compact em { font: 500 16px var(--mono); font-style: normal; color: var(--diff); margin-left: 8px; }
.c-compact td.is-diff { color: var(--diff); }
.c-list { margin: 0; padding: 0; list-style: none; }
.c-list li { padding: 12px 0; border-bottom: 1px solid var(--ink-700); font: 400 25px/1.35 var(--sans); }
.c-list li b { font-family: var(--display); font-weight: 800; }
.c-stat { margin-top: 18px; max-width: none; font: 400 24px/1.3 var(--sans); color: var(--ink-200); }
.c-stat > b:first-child { display: inline-block; margin-right: 14px; font: 900 56px/1 var(--display); letter-spacing: -.02em; color: var(--paper); }
.c-stat b { color: var(--paper); }
.c-hrows { display: grid; gap: 8px; margin-top: 26px; }
.c-hrow { display: grid; grid-template-columns: 470px minmax(0, 1fr) 270px; gap: 18px; align-items: center; font: 600 22px/1.2 var(--sans); }
.c-hrow i { display: block; height: 26px; width: calc(var(--w) * 100%); background: var(--ink-300); }
.c-hrow.is-jev i { background: var(--blue-300); }
.c-hrow small { font: 500 16px var(--mono); color: var(--ink-300); }
.c-a .c-mx { --cell: 70px; }
.c-a .c-mx-score .d-num { font-size: 48px; }
.c-a .c-histo { height: 210px; }
.c-a .c-hbar i { height: calc(var(--h) * 150px); }
.c-a .c-hbar span { font-size: 18px; }
.c-a .c-hbar small { font-size: 16px; }

/* A13-A18 replay */
.c-replay-head { display: flex; gap: 16px; align-items: center; font: 600 18px var(--mono); letter-spacing: .08em; }
.c-replay-text { margin-top: 16px; max-width: 58ch; font: 400 31px/1.34 var(--sans); }
.c-replay .d-data { margin-top: 22px; }
.c-replay .d-data td { font-weight: 600; }
.c-replay:not(.is-open) .c-row { visibility: hidden; }
.c-verdict { font: 600 16px var(--mono) !important; letter-spacing: .1em; text-transform: uppercase; }
.c-verdict.is-miss { color: var(--diff); }
.c-verdict.is-match { color: var(--s-green); }

/* A19 evidence */
.c-ev .c-big { font-size: 60px; }

@media (prefers-reduced-motion: reduce) {
  .c-replay-badge, .c-core { transition: none !important; }
}

/* Panels follow MOTION.md: 14px radius, one rule, one soft shadow. */
.c-cost, .c-card, .c-hard, .c-face, .c-jev, .c-callout, .c-questions div, .c-s1-card { border-radius: 14px; }
.c-cost, .c-hard.is-shown, .c-face, .c-jev, .c-callout { box-shadow: 0 24px 60px rgba(8, 12, 22, .35); }
.c-hard:not(.is-shown) { box-shadow: inset 0 0 0 2px var(--ink-700); }
.c-cell { border-radius: 6px; }

/* A10: 21 rows fit above the source line */
.c-pairs-table { font-size: 18px; }
.c-pairs-table th, .c-pairs-table td { padding: 3px 14px 3px 10px; }
.c-pairs-table thead th { padding-bottom: 6px; }

.c-qual { display: block; margin-top: 8px; font: 500 18px/1.3 var(--mono); letter-spacing: .04em; color: var(--ink-200); }
.c-a .c-legend { margin-top: 16px; }

/* A10: narrow numeric columns with wrapped headers, so the table never runs under the side panel */
.c-pairs-table thead th { white-space: normal; letter-spacing: .04em; line-height: 1.15; vertical-align: bottom; width: 84px; }
.c-pairs-table thead th:first-child { width: auto; }
.c-a10 .c-stat > b:first-child { font-size: 46px; }
.c-a10 .c-stat { font-size: 21px; }
.c-stat.c-plain > b:first-child { display: inline; margin: 0; font: inherit; font-weight: 700; letter-spacing: 0; }

/* v3 copy pass (docs/talk/13-deck-brief-review.md): sentence headlines, talking points on the slide, engagement prompts.
   Headlines drop a size step where they became sentences; nothing goes below 16px. */
.c-say { margin-top: 16px; max-width: none; font: 400 26px/1.36 var(--sans); color: var(--ink-200); }
.c-say b { color: var(--paper); font-weight: 600; }
.c-prompt { align-self: flex-start; margin-top: 18px; max-width: none; padding: 12px 22px 14px; border: 2px solid var(--blue-300); border-radius: 14px; font: 600 26px/1.3 var(--sans); color: var(--paper); }
.c-prompt small, .c-ask small { display: block; margin-bottom: 4px; font: 600 16px/1.3 var(--mono); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-200); }

/* S1 */
.c-s1.d-title h1 { font-size: 70px; max-width: 24ch; }
.c-s1-card { padding: 20px 30px 18px; }
.c-s1-card blockquote { font-size: 30px; }
.c-s1-say { margin-top: 18px; max-width: 900px; font: 400 24px/1.4 var(--sans); color: var(--ink-200); }
.c-s1.d-title .d-byline { margin-top: 22px; }

/* S2 */
.c-s2 h2 { font-size: 52px; line-height: 1.06; }
.c-s2 .c-bars { margin-top: 56px; }
.c-s2-def { margin-top: 8px; font-size: 24px; }
.c-s2 .c-punch { font-size: 42px; line-height: 1.12; letter-spacing: -.02em; }

/* S3 */
.c-about h2 { font-size: 84px; }
.c-bio { margin: 18px 0 0; padding: 0; list-style: none; }
.c-bio li { margin-top: 10px; font: 400 28px/1.3 var(--sans); color: var(--ink-200); }
.c-bio li:first-child { color: var(--paper); }
.c-bio .c-bio-links { margin-top: 18px; font: 500 20px/1.4 var(--mono); color: var(--blue-200); }
.c-about .d-ladder { margin-top: 32px; }

/* S4 decision models (new) */
.c-dm h2 { font-size: 56px; max-width: 30ch; }
.c-dm-cols { margin-top: 44px; gap: 48px; }
.c-dm .c-card { padding: 28px 34px 32px; }
.c-dm .c-card h3 { font-size: 40px; }
.c-dm-say { margin-top: 14px; font-size: 28px !important; line-height: 1.35 !important; color: var(--paper) !important; }
.c-dm .c-label { margin-top: 26px; }
.c-dm-eg { margin-top: 6px !important; font-size: 26px !important; color: var(--ink-200); }

/* S5 launch wave */
.c-s4 h2 { font-size: 54px; max-width: 34ch; }
.c-s4 .c-say { max-width: 70ch; font-size: 24px; }
.c-s4 .d-track { margin-top: 40px; }

/* S6 what we did (new) */
.c-wwd h2 { font-size: 50px; max-width: 36ch; }
.c-wwd .c-questions { margin-top: 36px; }
.c-wwd .c-questions b { font-size: 26px; }
.c-wwd-list { margin-top: 26px; }
.c-wwd-list li { font-size: 28px; color: var(--ink-200); }

/* S7 proof 1 */
.c-s5 h2 { max-width: 36ch; }
.c-s5 > .c-say { margin-top: 12px; font-size: 24px; }
.c-s5 .c-mxrow { margin-top: 26px; }
.c-s5 .c-legend { margin-top: 18px; }

/* S8 cost */
.c-s6 h2 { font-size: 52px; max-width: 36ch; }
.c-s6 .c-costs { margin-top: 32px; }
.c-s6 .c-cost { padding: 34px 48px 40px; }
.c-s6 .c-amount { margin: 18px 0 22px; font-size: 136px; }

/* S9 consequences (new) */
.c-cq h2 { font-size: 64px; max-width: 26ch; }
.c-cq-body { display: grid; grid-template-columns: minmax(0, 1fr) 560px; gap: 64px; align-items: start; margin-top: 40px; }
.c-cq-body .c-say { margin-top: 0; font-size: 28px; }
.c-cq-line { margin-top: 30px; padding-left: 24px; border-left: 6px solid var(--s-red); max-width: none; font: 700 32px/1.3 var(--display); letter-spacing: -.01em; color: var(--paper); }
.c-cq-cards { display: grid; gap: 22px; }
.c-cq-cards .c-big { font-size: 56px; }

/* S10 the soup */
.c-s7 .c-prompt { max-width: 1060px; margin-top: 0; }
.c-s7 cite { margin-bottom: 28px; }

/* S11 zero of seven */
.c-flagged { font-size: 42px; }
.c-s8-top blockquote { font-size: 30px; max-width: none; }
.c-key { margin-top: 18px; padding: 8px 0; }
.c-key b { font-size: 24px; }
.c-flip { height: 290px; }
.c-face { padding: 16px 16px; }
.c-front ul { gap: 3px; margin-top: 6px; }
.c-front li b { font-size: 24px; }
.c-s8-extra { margin-top: 16px; }
.c-general { font-size: 30px; max-width: none; }
.c-jev .c-conf { font-size: 22px; }
.c-sys2 { margin-top: 14px; font-size: 24px; color: var(--paper); }

/* S12 hard six */
.c-s9-head h2 { font-size: 52px; white-space: normal; }
.c-s9-head > div:first-child { flex: 1; min-width: 0; }
.c-s9-say { margin-top: 10px; font-size: 22px; line-height: 1.35; }
.c-hard-text { font-size: 20px; line-height: 1.3; }
.c-hard { padding: 12px 20px 12px; }

/* S13 still wrong */
.c-s10 .d-eyebrow { margin-bottom: 24px; }
.c-s10 h2 { font-size: 48px; max-width: 40ch; }
.c-s10 .c-gate { margin-top: 10px; }
.c-gate-head .c-label { max-width: none; }
.c-s10-say { margin-top: 10px; font-size: 22px; line-height: 1.32; color: var(--paper); }
.c-s10 .c-foot { margin-top: 6px; font-size: 17px; }

/* S14 the fixes I'd reach for first */
.c-s11 h2 { font-size: 56px; max-width: none; }
.c-s11 .c-s11-body { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr); gap: 48px; margin-top: 34px; }
.c-fix { padding-top: 18px; border-top: 5px solid var(--blue-300); }
.c-fix h3 { font-size: 36px; }
.c-fix-say { margin-top: 10px; max-width: none; font: 400 24px/1.36 var(--sans); color: var(--ink-200); }
.c-fix-figs { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 40px; margin-top: 18px; }
.c-s11 .c-stairs { height: 230px; }
.c-s11 .c-tread b { font-size: 48px; }
.c-s11 .c-tread { padding-left: 8px; }
.c-s11 .c-tally-row { margin-top: 14px; }
.c-s11 .c-tally-label { font-size: 24px; }
.c-s11 .c-units { height: 28px; gap: 3px; }
.c-s11 .c-tally-row .c-parts { font-size: 18px; }
.c-s11 .c-parts b { font-size: 26px; }

/* S15 agree or defer */
.c-s12 h2 { font-size: 38px; line-height: 1.12; letter-spacing: -.015em; }
.c-s12 h2 em { font-style: normal; color: var(--blue-200); }
.c-s12-say { margin-top: 8px; font-size: 24px; }

/* S16 policy and queue */
.c-policy li { font-size: 30px; padding: 13px 0; }
.c-queue-say { margin-top: 20px; font-size: 22px; color: var(--paper); }
.c-ask { font-size: 54px; }

/* S17 classification-bench */
.c-s14 h2 { font-size: 56px; max-width: 32ch; }
.c-s14 .c-pipe { margin-top: 40px; }
.c-s14 .c-pipe-foot { margin-top: 24px; }
.c-s14-say { margin-top: 22px; font-size: 24px; }

/* S18 Monday, appendix index on one line */
.c-s15 h2 { font-size: 64px; }
.c-recipe li { font-size: 34px; line-height: 1.25; margin-top: 12px; padding-left: 52px; }
.c-recipe li::before { top: .35em; }
.c-s15 .c-say { margin-top: 22px; font-size: 24px; }
.c-index ol { columns: auto; display: flex; flex-wrap: wrap; gap: 4px 22px; }
.c-index a { color: var(--blue-300); font-weight: 600; }

/* Appendix ledes */
.c-a .c-say { margin-top: 10px; font-size: 22px; line-height: 1.35; }
.c-a .c-grid5 { margin-top: 28px; }

/* v3 batch 2: Adam's slide feedback (00-adam-brief.md) and layout fixes. */
.c-nb { white-space: nowrap; }
:is(h2, .c-say, .c-s1-say, .c-fix-say, .c-dm-eg) .d-num:not([data-countup]) { display: inline; }
.c-s2 h2 { font-size: 48px; max-width: 40ch; }
.c-s2 .c-bars { margin-top: 48px; }
.c-s2 .c-punch { max-width: none; font-size: 40px; }
/* Adam's orange portrait; the view box trims the generator mark in the bottom-right corner. */
.c-portrait img { object-view-box: inset(0% 4% 8% 4%); border-radius: 14px; }
.c-portrait::after { display: none; }
.c-dm h2 { max-width: 38ch; }
.c-s5 h2 { max-width: none; }
.c-s6 h2 { max-width: 44ch; }
.c-cq-body { grid-template-columns: minmax(0, 1fr); max-width: 1400px; margin-top: 56px; }
.c-cq-body .c-say { font-size: 34px; line-height: 1.35; }
.c-cq-line { margin-top: 44px; font-size: 40px; }
.c-s7 .c-prompt { margin: 44px 0 auto; }
.c-flip { height: 328px; }
.c-back .d-ladder { display: none; }
.c-s10 h2 { max-width: none; }
.c-fix-figs { grid-template-columns: 300px minmax(0, 1fr); }
.c-s11 .c-stairs { margin-top: 40px; }
.c-s7 .c-prompt { max-width: 860px; background: var(--ink); }

/* v3 batch 3 (Adam's slide feedback, lead rulings): no visible source lines, no replay pills, no rainbow motif,
   neutral rails, no blue text on navy for body copy and labels. Footers stay in the DOM as machine-readable provenance. */
.reveal .slides section .d-source { display: none !important; }
.c-replay-badge { display: none !important; }
.d-rail, .d-ladder { display: none !important; }
.c-card, .c-cost, .c-questions div, .c-fix, .c-hard { border-top-color: var(--ink-600) !important; }
.c-label, .c-legend, .c-foot, .d-eyebrow, .c-mx figcaption span, .c-mx-score small, .c-mx-grid > i, .c-hard footer, .c-hard-key span, .c-hard-key i,
.c-key > span, .c-key small, .c-front li span, .c-jev li span, .c-queue-head, .c-node small, .c-tread span, .c-index h3, .c-qr figcaption,
.c-histo-inset figcaption, .c-hbar small, .c-callout small, .c-keep, .c-gate-legend, .c-tick, .c-qual, .c-cell-note, .c-axis { color: var(--ink-200) !important; }
.c-punch, .c-ask, .c-s12 h2 em, .c-prompt small, .c-ask small, .c-bio .c-bio-links, .c-index a, .d-title h1 em, .c-gate-readout { color: var(--paper) !important; }
.c-prompt { border-color: var(--ink-300); }
/* Hard-six cards: each answer under its question. */
.c-hard-key b::before { display: block; font: 500 16px/1.2 var(--mono); letter-spacing: .06em; text-transform: none; color: var(--ink-200); }
.c-hard-key b:nth-of-type(1)::before { content: 'Sentiment?'; }
.c-hard-key b:nth-of-type(2)::before { content: 'Follow up?'; }
.c-hard-key b:nth-of-type(3)::before { content: 'Serious concern?'; }
.c-hard-key b:nth-of-type(4)::before { content: 'Testimonial?'; }
.c-hard-key i { display: none; }
.c-hard-key { gap: 6px 18px; }
/* S9 general models */
.c-gm h2 { font-size: 54px; max-width: 34ch; }
.c-gm-list { margin-top: 30px; }
.c-gm-list li { font-size: 30px; color: var(--paper); padding: 16px 0; }
.reveal .slides section.c-a h2 + .c-say { margin-top: 10px; }
.c-hard-key > span { display: none; }
.c-hard-key { flex-wrap: nowrap; gap: 0 14px; }
.c-hard-key b:nth-of-type(2)::before { content: 'Follow-up?'; }
.c-hard-key b:nth-of-type(3)::before { content: 'Concern?'; }

/* v4 final pass (docs/talk/sprint): information before animation. Every main slide is complete on entry; motion is entrance
   choreography under about two seconds. Kicker eyebrows are hidden, blue accents on navy become orange or paper. */
.d-eyebrow { display: none !important; }
.c-policy li::before, .c-recipe li::before { color: var(--s-orange); }
.c-node.is-run { border-color: var(--s-orange); }
.c-s13 h2 { font-size: 44px; max-width: none; }
.c-s13-body { margin-top: 30px; }
.c-s13 .c-policy li { font-size: 28px; padding: 11px 0; }
/* Launch wave: one tick per launch day, labelled with the models and the date, on two alternating rows under the line. */
.c-s4 .d-track { margin-top: 40px; }
.c-s4 h2 { font-size: 48px; }
.c-s4 .c-say { font-size: 23px; }
.c-wtick { position: absolute; left: calc(var(--at) * 100%); top: 50%; width: 4px; height: 22px; margin: -11px 0 0 -2px; background: none; list-style: none; opacity: 0; }
.c-wtick::before { content: ''; position: absolute; inset: 0; background: var(--ink-200); }
.c-wtick.is-on { opacity: 1; }
.c-wtick span { position: absolute; left: 8px; top: calc(146px + var(--row, 0) * 42px); white-space: nowrap; font: 500 17px/1.2 var(--mono); color: var(--ink-200); }
.c-wtick span small { display: block; font: 500 16px/1.25 var(--mono); color: var(--ink-300); }
.c-wtick.is-right span { left: auto; right: 8px; text-align: right; }
.c-wtick::after { content: ''; position: absolute; left: 1px; top: 22px; width: 2px; height: calc(120px + var(--row, 0) * 42px); background: var(--ink-700); }

/* With the eyebrows hidden a headline sits on the content-box edge, and its inline number spans have a content area a few
   pixels taller than the line box; the padding keeps them inside the box (fit.mjs). */
.reveal .slides section > h2:first-child, .reveal .slides section > .d-eyebrow + h2 { padding-top: 6px; }
.c-flagged { padding-top: 6px; }

/* v4 round 3: plain progress bar instead of the ladder motif; the "opened with" tag is text, not a pill; four queue bands. */
.reveal .progress::before { background: var(--ink-300); }
.c-opened { border: none; background: none; padding: 0; right: 20px; top: 12px; }
.c-band { margin-top: 12px; }
.c-band-head { font-size: 22px; }
.c-band-head b { font-size: 36px; }
.c-band-cards { grid-template-columns: repeat(13, 36px); gap: 6px; margin-top: 6px; }
.c-band-cards i { height: 22px; }

/* v4.1 (Adam's edit list, 15:30): wide callout with the four questions, thank-you slide, calibration tables. */
.c-callout-wide { width: 640px; font-size: 19px; line-height: 1.4; }
.c-callout-wide b { font-size: 21px; }
.c-thanks h1 { margin-top: auto; font-size: 120px; }
.c-thanks h2 { margin-top: 20px; font-size: 64px; color: var(--ink-200); }
.c-thanks .d-byline { margin: 36px 0 auto; }
.c-a .d-data caption { white-space: normal; }
