/* Ghost Student Fraud — one design system for both surfaces.
   Deep documentary pages + the Meridian Lakes parody root share the SAME
   color/space/radius/shadow/type tokens. The campus layer overrides only
   font-family and layout roles — never the primitives. (docs/DESIGN.md) */
:root {
  /* Color — one brand red, one warm-neutral ink ramp (no greens) */
  --brand-red: #bf2228;
  --brand-red-ink: #8f191d;
  --ink: #14110f;
  --ink-2: #4a4744;
  --ink-3: #6c6763;
  --rule: #d7d5d2;
  --rule-strong: #a8a5a1;
  --surface: #ffffff;
  --paper: #f7f7f4;
  --wash: #f2f1ee;
  --on-red: #ffffff;
  --on-ink: #f4f2ef;
  --banner-bg: #171a18;

  /* Type scale — modular ~1.20; snap every value to a step */
  --fs-100: .75rem;  --fs-200: .875rem; --fs-300: 1rem;    --fs-400: 1.125rem;
  --fs-500: 1.375rem;--fs-600: 1.75rem; --fs-700: 2.25rem; --fs-800: 3rem;
  --fs-900: clamp(2.5rem, 4.1vw, 4rem);

  --w-body: 400; --w-med: 600; --w-bold: 700;

  /* Spacing — 4px base, one rhythm */
  --sp-1: .25rem; --sp-2: .5rem; --sp-3: .75rem; --sp-4: 1rem;
  --sp-6: 1.5rem; --sp-8: 2rem; --sp-12: 3rem; --sp-16: 4rem; --sp-24: 6rem;

  --radius-0: 0; --radius-input: 3px;
  --shadow-1: 0 2px 8px rgba(20,17,15,.10);
  --shadow-2: 0 12px 28px rgba(20,17,15,.14);

  --font-doc-serif: "Charter", "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --font-ui-sans: system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  --font-campus-display: Arial, Helvetica, system-ui, sans-serif;
}
* { margin: 0; padding: 0; box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--font-doc-serif);
  font-size: var(--fs-400);
  line-height: 1.65;
}
.skip-link {
  position: fixed;
  top: var(--sp-2); left: var(--sp-2);
  z-index: 20;
  transform: translateY(-200%);
  background: var(--surface);
  color: var(--ink);
  padding: var(--sp-3) var(--sp-3);
  font-family: var(--font-ui-sans);
  font-weight: var(--w-bold);
}
.skip-link:focus { transform: translateY(0); }

/* ─────────────────────────  DEEP DOCUMENTARY PAGES  ───────────────────────── */

/* Non-affiliation banner — first paintable node on every deep page. Dark, never red. */
.banner {
  background: var(--banner-bg);
  color: var(--on-ink);
  font-family: var(--font-ui-sans);
  font-size: var(--fs-100);
  line-height: 1.45;
  padding: var(--sp-2) var(--sp-4);
  text-align: center;
}
.banner a { color: var(--on-ink); text-decoration: underline; }

.shell { max-width: 42rem; margin: 0 auto; padding: 0 var(--sp-4); }

header.site {
  border-bottom: 2px solid var(--ink);
  padding: var(--sp-6) 0 var(--sp-4);
  margin-bottom: var(--sp-8);
}
.wordmark {
  font-family: var(--font-ui-sans);
  font-weight: var(--w-bold);
  font-size: var(--fs-400);
  color: var(--ink);
  text-decoration: none;
  display: block;
}
.wordmark span { display: block; }
.wordmark small {
  display: block;
  color: var(--brand-red-ink);
  font-size: var(--fs-100);
  font-weight: var(--w-bold);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.tagline {
  font-family: var(--font-ui-sans);
  font-size: var(--fs-200);
  color: var(--ink-2);
  margin-top: var(--sp-1);
}
nav.primary {
  margin-top: var(--sp-3);
  font-family: var(--font-ui-sans);
  font-size: var(--fs-200);
  display: flex; flex-wrap: wrap; gap: var(--sp-2) var(--sp-4);
}
nav.primary a {
  color: var(--ink);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}
nav.primary a:hover, nav.primary a[aria-current="page"] { border-bottom-color: var(--brand-red); }

main { padding-bottom: var(--sp-12); }
h1 {
  font-family: var(--font-ui-sans);
  font-size: var(--fs-700);
  line-height: 1.2;
  margin-bottom: var(--sp-3);
}
.dek { font-size: var(--fs-400); color: var(--ink-2); margin-bottom: var(--sp-6); }
h2 { font-family: var(--font-ui-sans); font-size: var(--fs-500); margin: var(--sp-8) 0 var(--sp-3); }
h3 { font-family: var(--font-ui-sans); font-size: var(--fs-400); margin: var(--sp-6) 0 var(--sp-2); }
p { margin-bottom: var(--sp-4); }
a { color: var(--ink); text-decoration-color: var(--brand-red); text-underline-offset: 2px; }
ul, ol { margin: 0 0 var(--sp-4) var(--sp-6); }
li { margin-bottom: var(--sp-2); }
strong { font-weight: var(--w-bold); }
.updated { font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-3); margin-bottom: var(--sp-6); }

/* Timeline */
.timeline { list-style: none; margin: var(--sp-6) 0; }
.timeline li {
  display: grid; grid-template-columns: 7.5rem 1fr; gap: var(--sp-4);
  padding: var(--sp-3) 0; border-top: 1px solid var(--rule);
}
.timeline .when { font-family: var(--font-ui-sans); font-weight: var(--w-bold); font-size: var(--fs-200); padding-top: 2px; }
.timeline .src { display: block; font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-3); margin-top: var(--sp-1); }

/* Evidence callout */
.evidence { background: var(--wash); border-left: 3px solid var(--brand-red); padding: var(--sp-3) var(--sp-4); margin: var(--sp-6) 0; }
.evidence .label {
  display: block; font-family: var(--font-ui-sans); font-size: var(--fs-100);
  font-weight: var(--w-bold); text-transform: uppercase; letter-spacing: .08em;
  color: var(--brand-red-ink); margin-bottom: var(--sp-1);
}
.evidence p:last-child { margin-bottom: 0; }

/* Verbatim quote */
blockquote { border: 1px solid var(--rule); border-left: 3px solid var(--ink); padding: var(--sp-3) var(--sp-4); margin: var(--sp-6) 0; font-style: italic; }
blockquote .attr { display: block; font-family: var(--font-ui-sans); font-style: normal; font-size: var(--fs-100); color: var(--ink-3); margin-top: var(--sp-2); }

/* Numbered flags / steps */
ol.flags, ol.steps { list-style: none; counter-reset: n; margin-left: 0; }
ol.flags--continue { counter-reset: n 5; }         /* second What-Went-Wrong list resumes at 6 */
ol.flags > li, ol.steps > li { counter-increment: n; padding: var(--sp-3) 0 var(--sp-3) var(--sp-8); border-top: 1px solid var(--rule); position: relative; }
ol.flags > li::before, ol.steps > li::before {
  content: counter(n); position: absolute; left: 0; top: var(--sp-3);
  font-family: var(--font-ui-sans); font-weight: var(--w-bold); font-size: var(--fs-200);
  color: var(--brand-red-ink); width: var(--sp-6);
}
ol.flags b, ol.steps b { display: block; margin-bottom: var(--sp-1); }
ol.flags p, ol.steps p { margin-bottom: var(--sp-1); }

/* Satire vs facts — kept structurally + visually distinct (satire-copy-blocks.md) */
.satire { margin: var(--sp-8) 0; }
.facts { margin: var(--sp-8) 0; padding-top: var(--sp-4); border-top: 2px solid var(--ink); }

/* Empty-box "Fraud Detection Checklist" (the ☐ glyph is in the item text) */
ul.checklist { list-style: none; margin: var(--sp-4) 0; padding: 0; font-family: var(--font-ui-sans); font-size: var(--fs-200); }
ul.checklist > li { padding: var(--sp-2) 0 var(--sp-2) 1.6rem; text-indent: -1.6rem; border-top: 1px solid var(--rule); }

/* Hypocrisy ledger — documented statement vs documented fact, side by side */
.ledger { display: grid; gap: var(--sp-4); margin: var(--sp-6) 0; }
.ledger-pair { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--rule-strong); }
.ledger-pair .said, .ledger-pair .record { padding: var(--sp-3) var(--sp-4); margin: 0; font-size: var(--fs-200); }
.ledger-pair .said { border-right: 1px solid var(--rule); background: var(--wash); }
.ledger-pair .record { border-left: 3px solid var(--brand-red); }
.ledger-pair .said strong, .ledger-pair .record strong { display: block; font-family: var(--font-ui-sans); font-size: var(--fs-100); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); margin-bottom: var(--sp-1); }
@media (max-width: 640px) { .ledger-pair { grid-template-columns: 1fr; } .ledger-pair .said { border-right: 0; border-bottom: 1px solid var(--rule); } }

/* By the Numbers */
dl.numbers { display: grid; grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr)); gap: var(--sp-5); margin: var(--sp-6) 0; }
dl.numbers > div { border-top: 3px solid var(--brand-red); padding-top: var(--sp-2); }
dl.numbers dt { font-size: var(--fs-700); font-weight: var(--w-bold); line-height: 1; letter-spacing: -.02em; }
dl.numbers dd { margin: var(--sp-2) 0 0; font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-2); line-height: 1.45; }

/* Fair-comment riff: verbatim quote + labeled commentary */
.riff { margin: var(--sp-6) 0; padding-top: var(--sp-4); border-top: 1px solid var(--rule); }
.riff .realquote { border-left: 3px solid var(--ink); padding: var(--sp-2) var(--sp-4); margin: 0 0 var(--sp-3); font-style: italic; }
.riff .realquote cite { display: block; font-family: var(--font-ui-sans); font-style: normal; font-size: var(--fs-100); color: var(--ink-3); margin-top: var(--sp-2); }
.riff > p { margin: 0; }

/* Recurring scoreboard gag */
.scoreboard { font-family: var(--font-ui-sans); font-weight: var(--w-bold); font-size: var(--fs-200); text-transform: uppercase; letter-spacing: .06em; background: var(--ink); color: var(--surface); padding: var(--sp-2) var(--sp-4); margin: var(--sp-6) 0; text-align: center; }


/* Stats table */
table { width: 100%; border-collapse: collapse; font-family: var(--font-ui-sans); font-size: var(--fs-200); margin: var(--sp-6) 0; }
th, td { text-align: left; padding: var(--sp-2) var(--sp-3) var(--sp-2) 0; border-top: 1px solid var(--rule); vertical-align: top; }
th { font-size: var(--fs-100); text-transform: uppercase; letter-spacing: .06em; color: var(--ink-3); border-top: none; }
td.num { font-variant-numeric: tabular-nums; font-weight: var(--w-bold); white-space: nowrap; }
.table-scroll { overflow-x: auto; }

/* FAQ */
details { border-top: 1px solid var(--rule); padding: var(--sp-3) 0; }
summary { font-family: var(--font-ui-sans); font-weight: var(--w-bold); font-size: var(--fs-200); cursor: pointer; padding: var(--sp-1) 0; }
details .answer-lead { font-weight: var(--w-bold); }
details > div { padding-top: var(--sp-2); }

/* Forms */
form.intake { font-family: var(--font-ui-sans); font-size: var(--fs-200); }
form.intake label { display: block; font-weight: var(--w-bold); margin: var(--sp-4) 0 var(--sp-1); }
form.intake input[type="text"], form.intake input[type="email"], form.intake select, form.intake textarea {
  width: 100%; padding: var(--sp-2); border: 1px solid var(--ink-3); border-radius: var(--radius-input); background: var(--surface); font: inherit;
}
form.intake textarea { min-height: 9rem; }
form.intake .consent { display: flex; gap: var(--sp-2); align-items: flex-start; margin: var(--sp-4) 0; font-weight: var(--w-body); }
form.intake button { font: inherit; font-weight: var(--w-bold); background: var(--ink); color: var(--on-ink); border: none; padding: var(--sp-3) var(--sp-6); border-radius: var(--radius-input); cursor: pointer; margin-top: var(--sp-1); }
.hp-field { position: absolute; left: -9999px; height: 1px; overflow: hidden; }

/* Shared documentary footer */
footer.site { border-top: 2px solid var(--ink); margin-top: var(--sp-8); padding: var(--sp-6) 0 var(--sp-12); font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-3); }
footer.site p { margin-bottom: var(--sp-3); }
footer.site a { color: var(--ink-3); }
footer.site .pages { line-height: 2; }

@media (max-width: 600px) {
  body { font-size: var(--fs-300); }
  h1 { font-size: var(--fs-600); }
  .timeline li { grid-template-columns: 1fr; gap: var(--sp-1); }
}

/* ───────────────────────  MERIDIAN LAKES PARODY ROOT  ─────────────────────── */
/* Exact root route only. Inherits the tokens above; overrides font + layout. */
.campus-page {
  background: var(--surface);
  color: var(--ink);
  font-family: var(--font-campus-display);
}
.campus-page .shell { width: 100%; max-width: none; margin: 0; overflow-x: clip; background: var(--surface); padding: 0; }
.campus-page main { max-width: none; padding: 0; }
.campus-page h1, .campus-page h2, .campus-page h3 { font-family: var(--font-campus-display); font-weight: var(--w-bold); letter-spacing: -.02em; }
.campus-page a:focus-visible, .campus-page button:focus-visible { outline: 3px solid var(--surface); outline-offset: 3px; box-shadow: 0 0 0 6px var(--brand-red); }

.campus-wrap { width: min(calc(100% - 2.5rem), 78rem); margin-inline: auto; }
.campus-kicker { margin: 0 0 var(--sp-2); color: var(--brand-red-ink); font-size: var(--fs-100); font-weight: var(--w-bold); letter-spacing: .09em; text-transform: uppercase; }
.campus-kicker--dark { color: var(--ink); }
.campus-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }

/* Parody tell chip — visible above the fold */
.campus-tell { display: inline-flex; align-items: center; gap: var(--sp-2); margin: 0 0 var(--sp-6); color: rgba(244,242,239,.68); font-size: .8rem; font-weight: var(--w-med); letter-spacing: .01em; }
.campus-tell::before { content: ""; width: .42rem; height: .42rem; flex: none; border-radius: 50%; background: var(--brand-red); }
.campus-tell b { color: var(--surface); font-weight: var(--w-bold); }

/* Masthead */
.campus-header { position: relative; z-index: 5; background: var(--surface); }

/* Tier 1 — official-website strip (the visible parody tell) */
.campus-govbar { background: var(--ink); color: var(--on-ink); font-family: var(--font-campus-display); font-size: var(--fs-100); }
.campus-govbar p { margin: 0; padding: var(--sp-2) 0; line-height: 1.45; }
.campus-govbar b { color: var(--surface); }
.campus-govbar span { color: rgba(244,242,239,.7); }

/* Tier 2 — masthead: seal + wordmark left, utility note right */
.campus-brand-row { display: flex; min-height: 6rem; align-items: center; justify-content: space-between; gap: var(--sp-8); padding: var(--sp-4) 0; }
.campus-brand { display: flex; align-items: center; gap: var(--sp-3); text-decoration: none; }
.campus-seal { width: 3.9rem; height: 3.9rem; flex: none; }
.campus-brand > span:last-child { display: flex; flex-direction: column; }
.campus-brand strong { color: var(--ink); font-family: var(--font-campus-display); font-weight: var(--w-bold); font-size: var(--fs-600); line-height: .95; letter-spacing: -.02em; }
.campus-brand small { margin-top: var(--sp-1); color: var(--brand-red-ink); font-size: var(--fs-100); font-weight: var(--w-bold); letter-spacing: .1em; text-transform: uppercase; }
.campus-utility-note { margin: 0; color: var(--ink-3); font-family: var(--font-campus-display); font-size: var(--fs-100); font-weight: var(--w-med); text-transform: uppercase; letter-spacing: .05em; text-align: right; }
.campus-utility-note span { display: block; margin-bottom: var(--sp-1); color: var(--ink-2); font-size: var(--fs-200); text-transform: none; letter-spacing: 0; }

/* Tier 3 — agency primary nav with dropdowns */
.campus-primary { border-block: 1px solid var(--rule); background: var(--surface); }
.campus-primary__burger { display: none; }
.campus-primary > ul { display: flex; list-style: none; margin: 0 auto; padding: 0; }
.campus-primary > ul > li { position: relative; }
.campus-primary > ul > li > a { display: flex; align-items: center; min-height: 3.25rem; padding: 0 var(--sp-4); color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-200); font-weight: var(--w-bold); letter-spacing: .02em; text-decoration: none; border-bottom: 3px solid transparent; }
/* Indent the whole first item (not the <a>'s padding) so its hover underline and
   hitbox hug the label like every other tab, while the label still lands under
   the wordmark. Shift = seal(3.9rem) + brand gap(--sp-3) − the <a>'s own --sp-4. */
.campus-primary > ul > li:first-child { margin-left: calc(3.9rem + var(--sp-3) - var(--sp-4)); }
.campus-primary > ul > li > a[aria-current="page"], .campus-primary > ul > li:hover > a, .campus-primary > ul > li:focus-within > a { border-bottom-color: var(--brand-red); }
.campus-primary li ul { position: absolute; top: 100%; left: 0; z-index: 6; display: none; min-width: 15rem; list-style: none; margin: 0; padding: var(--sp-2) 0; background: var(--surface); border: 1px solid var(--rule); box-shadow: var(--shadow-2); }
.campus-primary li:hover > ul, .campus-primary li:focus-within > ul { display: block; }
.campus-primary li ul a { display: block; padding: var(--sp-2) var(--sp-4); color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-200); text-decoration: none; }
.campus-primary li ul a:hover, .campus-primary li ul a:focus { background: var(--wash); color: var(--brand-red-ink); }

/* Status ribbon (red) — sits at the top of main, directly under the nav */
.campus-statusbar { background: var(--brand-red); color: var(--on-red); }
.campus-statusbar p { margin: 0; padding: var(--sp-2) 0; font-family: var(--font-campus-display); font-size: var(--fs-100); font-weight: var(--w-med); letter-spacing: .02em; }
.campus-statusbar b { font-weight: var(--w-bold); }

/* Hero carousel */
.campus-hero { position: relative; min-height: 38rem; background: var(--ink); }
/* min-height sized above the tallest slide's content at the widest desktop
   viewport, so every slide pins to the SAME height (equal cards) instead of each
   sizing to its own copy — while still growing rather than clipping if needed. */
.campus-slide { display: grid; grid-template-columns: minmax(25rem, .9fr) minmax(0, 1.1fr); min-height: 38rem; background: var(--ink); }
.campus-slide[hidden] { display: none; }
.campus-slide > img { grid-column: 2; grid-row: 1; width: 100%; height: 100%; min-height: 38rem; object-fit: cover; object-position: 57% center; background: var(--wash); }
.campus-slide:nth-child(2) > img, .campus-slide:nth-child(3) > img { object-position: center; }
.campus-hero__content { display: flex; grid-column: 1; grid-row: 1; flex-direction: column; justify-content: center; padding: var(--sp-16) clamp(var(--sp-8), 5vw, 5.5rem) var(--sp-16) max(1.25rem, calc((100vw - 78rem) / 2)); color: var(--on-ink); }
.campus-hero .campus-kicker { color: rgba(244,242,239,.78); }   /* AA on the dark hero (~11:1) */
.campus-hero h1, .campus-hero h2 { max-width: 40rem; margin: 0 0 var(--sp-2); color: var(--surface); font-size: var(--fs-900); line-height: 1; letter-spacing: -.035em; }
.campus-hero__headline-sub { max-width: 35rem; margin: 0 0 var(--sp-4); color: rgba(244,242,239,.78); font-size: var(--fs-600); font-weight: var(--w-bold); line-height: 1.05; }
.campus-hero__lead { max-width: 35rem; margin-bottom: var(--sp-6); color: rgba(244,242,239,.92); font-size: var(--fs-400); line-height: 1.55; }
.campus-carousel__controls { position: absolute; right: clamp(var(--sp-4), 3vw, var(--sp-8)); bottom: var(--sp-4); z-index: 3; display: flex; align-items: center; gap: var(--sp-1); padding: var(--sp-1); border: 1px solid rgba(255,255,255,.3); background: rgba(0,0,0,.82); box-shadow: var(--shadow-1); }
.campus-carousel__tabs { display: flex; align-items: center; gap: var(--sp-1); }
.campus-carousel__arrow, .campus-carousel__tabs button { display: grid; width: 2.75rem; height: 2.75rem; min-width: 2.75rem; min-height: 2.75rem; place-items: center; border: 1px solid transparent; border-radius: var(--radius-0); background: transparent; color: var(--surface); cursor: pointer; font: inherit; }
.campus-carousel__arrow { font-size: var(--fs-400); font-weight: var(--w-bold); }
.campus-carousel__tabs button::before { content: ""; width: .6rem; height: .6rem; border: 2px solid var(--surface); border-radius: 50%; background: transparent; transition: transform 160ms ease, background 160ms ease; }
.campus-carousel__tabs button[aria-selected="true"]::before { background: var(--brand-red); border-color: var(--brand-red); transform: scale(1.25); }
.campus-carousel__arrow:hover, .campus-carousel__tabs button:hover { border-color: rgba(255,255,255,.58); background: rgba(255,255,255,.12); }

/* Buttons */
.campus-button-row { display: flex; flex-wrap: wrap; gap: var(--sp-3); }
.campus-button { display: inline-flex; min-height: 3.5rem; flex-direction: column; justify-content: center; border: 2px solid transparent; padding: var(--sp-3) var(--sp-4); font-family: var(--font-campus-display); line-height: 1.15; text-decoration: none; }
.campus-button span { font-size: var(--fs-200); font-weight: var(--w-bold); letter-spacing: .02em; text-transform: uppercase; }
.campus-button small { margin-top: var(--sp-1); font-size: var(--fs-100); font-weight: var(--w-med); }
.campus-button--primary { background: var(--brand-red); color: var(--on-red); }
.campus-button--primary small { color: rgba(255,255,255,.86); }
.campus-button--outline { border-color: var(--surface); color: var(--surface); }
.campus-button--ink { background: var(--ink); color: var(--on-ink); }
.campus-button:hover { background: var(--surface); color: var(--ink); }
.campus-button--outline:hover small, .campus-button:hover small { color: var(--ink-2); }

/* Quick actions band */
.campus-actions { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); margin: 0; background: var(--brand-red); }
.campus-actions a { display: flex; min-width: 0; min-height: 7rem; flex-direction: column; justify-content: center; border-right: 1px solid rgba(255,255,255,.25); padding: var(--sp-4) clamp(var(--sp-4), 2.5vw, var(--sp-8)); color: var(--on-red); line-height: 1.2; text-decoration: none; }
.campus-actions a:last-child { border-right: 0; }
.campus-actions span { font-size: var(--fs-100); font-weight: var(--w-bold); letter-spacing: .08em; text-transform: uppercase; }
.campus-actions strong { margin-top: var(--sp-1); font-family: var(--font-campus-display); font-size: var(--fs-400); }
.campus-actions small { margin-top: var(--sp-2); color: rgba(255,255,255,.85); font-size: var(--fs-100); }
.campus-actions a:hover { background: var(--ink); }

/* Stats band */
.campus-stats { border-bottom: 1px solid var(--rule-strong); background: var(--surface); }
.campus-stats__grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); }
.campus-stats__grid > div { padding: var(--sp-8) var(--sp-6); border-right: 1px solid var(--rule); text-align: center; }
.campus-stats__grid > div:last-child { border-right: 0; }
.campus-stats strong, .campus-stats span { display: block; }
.campus-stats strong { color: var(--brand-red-ink); font-family: var(--font-campus-display); font-weight: var(--w-bold); font-size: var(--fs-700); line-height: 1; letter-spacing: -.02em; }
.campus-stats span { margin-top: var(--sp-2); color: var(--ink-3); font-size: var(--fs-100); font-weight: var(--w-med); text-transform: uppercase; letter-spacing: .04em; }
.campus-stats__note { margin: 0 auto; padding: var(--sp-4) var(--sp-4) var(--sp-8); color: var(--ink-3); font-family: var(--font-campus-display); font-size: var(--fs-100); font-style: italic; text-align: center; }

/* Sections */
.campus-section { padding: var(--sp-24) 0; }
.campus-section h2, .campus-risk h2, .campus-policy h2 { margin: 0 0 var(--sp-3); color: var(--ink); font-size: var(--fs-800); line-height: 1.08; letter-spacing: -.025em; }
.campus-section__heading { display: flex; align-items: end; justify-content: space-between; gap: var(--sp-8); margin-bottom: var(--sp-8); }
.campus-section__heading p { max-width: 44rem; margin: 0; color: var(--ink-2); }
.campus-text-link { display: inline-flex; min-height: 2.75rem; flex-direction: column; justify-content: center; color: var(--ink); font-size: var(--fs-200); font-weight: var(--w-bold); text-align: right; text-decoration: none; }
.campus-text-link:hover { color: var(--brand-red-ink); }
.campus-text-link span { display: block; color: var(--ink-3); font-size: var(--fs-100); font-weight: var(--w-med); }

/* Program cards */
.campus-programs { background: var(--wash); }
.campus-program-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: var(--sp-4); }
.campus-program { display: grid; grid-template-rows: 12rem 1fr; min-width: 0; border: 1px solid var(--rule-strong); background: var(--surface); color: var(--ink); text-decoration: none; }
.campus-program > img { width: 100%; height: 12rem; object-fit: cover; background: var(--wash); }
.campus-program__body { display: flex; flex-direction: column; padding: var(--sp-4); border-top: 4px solid var(--brand-red); }
.campus-program__body small { color: var(--brand-red-ink); font-size: var(--fs-100); font-weight: var(--w-bold); letter-spacing: .08em; text-transform: uppercase; }
.campus-program__body h3 { margin: var(--sp-1) 0 var(--sp-2); color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-500); line-height: 1.12; }
.campus-program__body > span { color: var(--ink-2); font-size: var(--fs-200); line-height: 1.55; }
.campus-program__body b { margin-top: auto; padding-top: var(--sp-4); color: var(--ink); font-size: var(--fs-100); line-height: 1.35; text-decoration: underline; }
.campus-program:hover { transform: translateY(-3px); box-shadow: var(--shadow-2); }

/* Experience / lore */
.campus-experience { background: var(--surface); }
/* Balanced, contained card: two equal halves, image stretched edge-to-edge to
   the content's height (no centered dead space), text padded inside the card. */
.campus-experience__grid { display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; gap: 0; border: 1px solid var(--rule-strong); background: var(--surface); overflow: hidden; }
.campus-experience img { width: 100%; height: 100%; min-height: 27rem; object-fit: cover; object-position: center; background: var(--wash); }
.campus-experience__grid > div { align-self: center; padding: clamp(var(--sp-8), 4vw, var(--sp-16)); }
.campus-experience p { max-width: 37rem; color: var(--ink-2); }
.campus-inline-links { display: grid; gap: var(--sp-2); margin-top: var(--sp-6); }
.campus-inline-links a { display: inline-flex; min-height: 2.75rem; flex-direction: column; justify-content: center; color: var(--ink); font-weight: var(--w-bold); text-decoration: none; }
.campus-inline-links a:hover { color: var(--brand-red-ink); }
.campus-inline-links a span { color: var(--ink-3); font-size: var(--fs-100); font-weight: var(--w-med); }

/* Risk band — SOBER. No jokes. */
.campus-risk { padding: var(--sp-24) 0; background: var(--ink); color: var(--on-ink); }
.campus-risk__grid { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(20rem,.65fr); gap: clamp(var(--sp-12), 7vw, 7rem); align-items: center; }
.campus-risk h2 { max-width: 50rem; color: var(--surface); }
.campus-risk .campus-kicker { color: rgba(244,242,239,.78); }
.campus-risk p { max-width: 50rem; color: rgba(244,242,239,.92); }
.campus-risk__notes { border-left: 5px solid var(--brand-red); padding: var(--sp-1) 0 var(--sp-1) var(--sp-6); }
.campus-risk__notes strong { display: block; margin-bottom: var(--sp-2); color: rgba(244,242,239,.78); font-size: var(--fs-100); letter-spacing: .07em; text-transform: uppercase; }
.campus-risk__notes p { font-size: var(--fs-200); line-height: 1.55; }
.campus-risk__notes a { display: inline-flex; min-height: 2.75rem; flex-direction: column; justify-content: center; color: var(--surface); font-size: var(--fs-200); font-weight: var(--w-bold); text-decoration: none; }
.campus-risk__notes a:hover { text-decoration: underline; }
.campus-risk__notes a span { display: block; color: rgba(244,242,239,.7); font-size: var(--fs-100); font-weight: var(--w-med); }

/* Events */
.campus-events { background: var(--surface); }
.campus-event-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: var(--sp-4); }
.campus-event-grid > a { display: grid; grid-template-columns: 4.5rem 1fr; min-width: 0; border-top: 4px solid var(--ink); padding: var(--sp-4); background: var(--wash); color: var(--ink); text-decoration: none; }
.campus-event-grid time { display: flex; flex-direction: column; align-items: center; border-right: 1px solid var(--rule-strong); padding-right: var(--sp-4); }
.campus-event-grid time b { color: var(--brand-red-ink); font-size: var(--fs-100); font-weight: var(--w-bold); letter-spacing: .08em; }
.campus-event-grid time strong { color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-600); line-height: 1.05; }
.campus-event-grid > a > div { display: flex; min-width: 0; flex-direction: column; padding-left: var(--sp-4); }
.campus-event-grid small { color: var(--brand-red-ink); font-size: var(--fs-100); font-weight: var(--w-bold); text-transform: uppercase; }
.campus-event-grid div > h3 { margin: var(--sp-1) 0 var(--sp-2); font-family: var(--font-campus-display); font-size: var(--fs-400); line-height: 1.2; }
.campus-event-grid div > span { color: var(--ink-2); font-size: var(--fs-200); line-height: 1.4; }
.campus-event-grid div > b { margin-top: auto; padding-top: var(--sp-3); color: var(--ink); font-size: var(--fs-100); text-decoration: underline; }
.campus-event-grid > a:hover { box-shadow: var(--shadow-1); }

/* Answers */
.campus-answers { background: var(--wash); }
.campus-answer-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--sp-4); margin-top: var(--sp-8); }
.campus-answer { display: flex; flex-direction: column; border: 1px solid var(--rule-strong); border-left: 5px solid var(--brand-red); padding: var(--sp-6); background: var(--surface); color: var(--ink); text-decoration: none; }
.campus-answer > h3 { margin: 0; color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-500); line-height: 1.2; }
.campus-answer__answer { margin-top: var(--sp-3); color: var(--ink-2); font-size: var(--fs-200); line-height: 1.55; }
.campus-answer > b { margin-top: auto; padding-top: var(--sp-4); color: var(--ink); font-size: var(--fs-100); text-decoration: underline; }
.campus-answer:hover { box-shadow: var(--shadow-2); }

/* Policy CTA band */
.campus-policy { padding: var(--sp-16) 0; background: var(--ink); color: var(--on-ink); }
.campus-policy__grid { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(18rem,.55fr); align-items: center; gap: var(--sp-12); }
.campus-policy .campus-kicker--dark { color: rgba(244,242,239,.78); }
.campus-policy h2 { color: var(--surface); }
.campus-policy p { max-width: 55rem; margin-bottom: 0; color: rgba(244,242,239,.92); }
.campus-policy .campus-button { justify-self: end; }
.campus-policy .campus-button--ink { background: var(--brand-red); color: var(--on-red); }
.campus-policy .campus-button--ink small { color: rgba(255,255,255,.86); }

/* Campus footer */
.campus-page footer.site.campus-footer { width: 100%; max-width: none; margin: 0; border-top: 6px solid var(--brand-red); padding: var(--sp-16) max(var(--sp-4), calc((100% - 78rem) / 2)); background: var(--ink); color: rgba(244,242,239,.85); font-size: var(--fs-100); }
.campus-page footer.site.campus-footer a { color: var(--surface); }
.campus-footer__institution { display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-8); max-width: 78rem; margin: 0 auto var(--sp-8); border-bottom: 1px solid rgba(255,255,255,.18); padding-bottom: var(--sp-8); }
.campus-footer__institution > div:last-child { text-align: right; }
.campus-footer__institution strong { color: var(--surface); font-family: var(--font-campus-display); font-size: var(--fs-400); }
.campus-footer__institution p { margin: var(--sp-1) 0 0; }
.campus-page footer.site.campus-footer > p, .campus-page .portal-footer__disclosure { max-width: 78rem; margin-left: auto; margin-right: auto; }
.campus-footer__fiction { border-left: 5px solid var(--brand-red); padding: var(--sp-1) 0 var(--sp-1) var(--sp-4); font-size: var(--fs-200); }
.campus-footer__fiction strong { color: var(--surface); }
.campus-page .portal-footer__disclosure { margin-top: var(--sp-6); margin-bottom: var(--sp-4); border-block: 1px solid rgba(255,255,255,.18); padding-block: var(--sp-4); }
.campus-page .portal-footer__disclosure > strong { display: block; margin-bottom: var(--sp-2); color: var(--surface); font-size: var(--fs-400); }
.campus-page .portal-footer__disclosure p { margin-bottom: 0; font-size: var(--fs-200); line-height: 1.55; }
.campus-footer__finewrap small { font-size: var(--fs-100); }   /* keep fine print at the 12px floor */

/* ─────────────────────────────  RESPONSIVE  ───────────────────────────────── */
@media (max-width: 1024px) {
  .campus-program-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 800px) {
  .campus-wrap { width: min(calc(100% - 2rem), 78rem); }
  .campus-brand-row { min-height: 5.5rem; }
  .campus-brand strong { font-size: var(--fs-500); }
  .campus-seal { width: 3.2rem; height: 3.2rem; }
  .campus-utility-note { display: none; }
  .campus-primary__burger { display: block; width: 100%; min-height: 3rem; padding: 0 var(--sp-4); border: 0; background: var(--surface); color: var(--ink); font-family: var(--font-campus-display); font-size: var(--fs-200); font-weight: var(--w-bold); text-align: left; text-transform: uppercase; letter-spacing: .04em; cursor: pointer; }
  .campus-primary > ul { display: none; flex-direction: column; margin-inline: 0; border-top: 1px solid var(--rule); }
  .campus-primary > ul.is-open { display: flex; }
  .campus-primary > ul > li > a { min-height: 3rem; border-bottom: 1px solid var(--rule); }
  .campus-primary > ul > li:first-child { margin-left: 0; }
  .campus-primary li ul { position: static; display: block; min-width: 0; margin: 0; padding: 0 0 var(--sp-2); border: 0; box-shadow: none; background: var(--wash); }
  .campus-primary li ul a { padding-left: var(--sp-8); }
  .campus-hero, .campus-slide { height: auto; min-height: 0; overflow: visible; }
  .campus-slide { grid-template-columns: 1fr; }
  .campus-slide > img { grid-column: 1; grid-row: 1; height: 17.5rem; min-height: 0; }
  .campus-hero__content { grid-column: 1; grid-row: 2; padding: var(--sp-8) var(--sp-4); }
  .campus-hero h1, .campus-hero h2 { font-size: clamp(2.3rem, 8vw, 3.25rem); }
  .campus-carousel__controls { top: 14.25rem; right: var(--sp-3); bottom: auto; }
  .campus-actions { grid-template-columns: 1fr 1fr; }
  .campus-actions a { min-height: 6.5rem; border-bottom: 1px solid rgba(255,255,255,.25); }
  .campus-actions a:nth-child(2) { border-right: 0; }
  .campus-section { padding: var(--sp-16) 0; }
  .campus-section h2, .campus-risk h2, .campus-policy h2 { font-size: var(--fs-700); }
  .campus-section__heading { align-items: start; flex-direction: column; gap: var(--sp-3); }
  .campus-text-link { text-align: left; }
  .campus-experience__grid, .campus-risk__grid, .campus-policy__grid { grid-template-columns: 1fr; }
  .campus-experience img { min-height: 22rem; }
  .campus-policy .campus-button { justify-self: start; }
  .campus-event-grid { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
  .campus-brand-row { min-height: 4.6rem; }
  .campus-seal { width: 2.9rem; height: 2.9rem; }
  .campus-brand strong { font-size: var(--fs-400); }
  .campus-brand small { font-size: var(--fs-100); letter-spacing: .1em; }
  .campus-section h2, .campus-risk h2, .campus-policy h2 { font-size: clamp(1.9rem, 7.5vw, 2.25rem); }
  .campus-slide > img { height: 14rem; }
  .campus-hero__content { padding: var(--sp-6) var(--sp-4); }
  .campus-hero__headline-sub { font-size: var(--fs-500); }
  .campus-hero__lead { font-size: var(--fs-300); }
  .campus-carousel__controls { top: 10.75rem; right: var(--sp-2); }
  .campus-button-row { display: grid; grid-template-columns: 1fr; }
  .campus-button { width: 100%; }
  .campus-actions a { padding: var(--sp-3); }
  .campus-stats__grid { grid-template-columns: 1fr 1fr; }
  .campus-stats__grid > div { padding: var(--sp-6) var(--sp-3); border-bottom: 1px solid var(--rule); }
  .campus-stats__grid > div:nth-child(even) { border-right: 0; }
  .campus-program-grid { grid-template-columns: 1fr; }
  .campus-experience img { min-height: 0; height: 19rem; }
  .campus-answer-grid { grid-template-columns: 1fr; }
  .campus-footer__institution { grid-template-columns: 1fr; gap: var(--sp-4); }
  .campus-footer__institution > div:last-child { text-align: left; }
}

/* Short viewports: compact the hero so the heading stays above the fold. */
@media (max-height: 650px) and (max-width: 560px) {
  .campus-brand-row { min-height: 3.5rem; }
  .campus-brand { min-height: 2.75rem; }
  .campus-seal { width: 2.5rem; height: 2.5rem; }
  .campus-brand strong { font-size: var(--fs-300); }
  .campus-primary__burger { min-height: 2.5rem; }
  .campus-slide > img { height: 8rem; }
  .campus-hero__content { padding: var(--sp-4); }
  .campus-tell { margin-bottom: var(--sp-2); }
  .campus-hero h1, .campus-hero h2 { margin-bottom: var(--sp-2); font-size: 1.6rem; line-height: 1.05; }
  .campus-hero__headline-sub { margin-bottom: var(--sp-2); font-size: 1.15rem; }
  .campus-hero__lead { margin-bottom: var(--sp-3); font-size: var(--fs-100); line-height: 1.35; }
  .campus-carousel__controls { top: 6rem; }
  .campus-button { min-height: 2.75rem; }
}
@media (max-height: 650px) and (min-width: 561px) and (max-width: 960px) {
  .campus-slide { grid-template-columns: minmax(20rem, 1fr) 1fr; min-height: 0; }
  .campus-slide > img { grid-column: 2; grid-row: 1; height: 20rem; min-height: 20rem; }
  .campus-hero__content { grid-column: 1; grid-row: 1; padding: var(--sp-6) var(--sp-4); }
  .campus-hero h1, .campus-hero h2 { font-size: var(--fs-700); }
  .campus-hero__headline-sub { margin-bottom: var(--sp-2); font-size: var(--fs-500); }
  .campus-hero__lead { margin-bottom: var(--sp-3); font-size: var(--fs-200); }
}

@media (prefers-reduced-motion: reduce) {
  .campus-program:hover { transform: none; }
  .campus-carousel__tabs button::before { transition: none; }
}

@media print {
  .banner { color: #000; background: #fff; border-bottom: 2px solid #000; }
  nav.primary, form.intake button { display: none; }
  .campus-primary, .campus-actions, .campus-carousel__controls, .campus-button-row, .campus-program img, .campus-experience img { display: none; }
  .campus-page, .campus-hero, .campus-risk, .campus-policy, .campus-page footer.site.campus-footer { background: #fff; color: #000; }
  .campus-hero, .campus-slide { display: block; min-height: 0; }
  .campus-slide[hidden] { display: none; }
  .campus-hero__content { display: block; padding: 1rem 0; color: #000; }
  .campus-page .campus-hero *, .campus-page .campus-risk *, .campus-page .campus-policy *, .campus-page footer.site.campus-footer * { color: #000; }
  .campus-page footer.site.campus-footer a, .campus-page .campus-risk a, .campus-page .campus-policy a { color: #000; }
  .campus-page .campus-policy .campus-button { border-color: #000; background: #fff; color: #000; }
}

/* ── Direction C: answer-first Q&A components (2026-07-19 redesign) ───────── */
.shortanswer { border: 2px solid var(--ink); border-left: 6px solid var(--brand-red); background: var(--surface); padding: var(--sp-4); margin: 0 0 var(--sp-6); }
.shortanswer .label { display: block; font-family: var(--font-ui-sans); font-size: var(--fs-100); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-red-ink, #8f191d); margin-bottom: var(--sp-2); }
.shortanswer p { margin-bottom: 0; }
.onpage { font-family: var(--font-ui-sans); font-size: var(--fs-200); border-top: 1px solid var(--rule); border-bottom: 1px solid var(--rule); padding: var(--sp-3) 0; margin-bottom: var(--sp-6); }
.onpage .label { font-weight: 700; text-transform: uppercase; letter-spacing: .06em; font-size: var(--fs-100); color: var(--ink-3); margin-right: var(--sp-3); }
.onpage a { display: inline-block; margin: var(--sp-1) var(--sp-3) var(--sp-1) 0; }
.qa { border-top: 1px solid var(--rule); padding-top: var(--sp-2); }
.qa .first { font-weight: 700; }
ol.steps-compact { list-style: none; margin-left: 0; counter-reset: n; }
ol.steps-compact > li { counter-increment: n; padding: var(--sp-2) 0 var(--sp-2) var(--sp-8); border-top: 1px solid var(--rule); position: relative; font-size: var(--fs-300); margin: 0; }
ol.steps-compact > li::before { content: counter(n); position: absolute; left: 0; top: var(--sp-2); font-family: var(--font-ui-sans); font-weight: 700; font-size: var(--fs-200); color: var(--brand-red-ink, #8f191d); width: var(--sp-6); }
ol.steps-compact b { font-family: var(--font-ui-sans); font-size: var(--fs-200); }
ol.steps-compact span { display: block; color: var(--ink-2); font-size: var(--fs-200); line-height: 1.5; }
.fold { background: var(--wash); border-left: 3px solid var(--brand-red); padding: var(--sp-3) var(--sp-4); margin: var(--sp-4) 0; font-size: var(--fs-200); }
.fold .label { display: block; font-family: var(--font-ui-sans); font-size: var(--fs-100); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--brand-red-ink, #8f191d); margin-bottom: var(--sp-1); }
.fold p { margin-bottom: var(--sp-2); }
.fold p:last-child { margin-bottom: 0; }
.fold .attr { display: block; font-family: var(--font-ui-sans); font-style: normal; font-size: var(--fs-100); color: var(--ink-3); margin-top: var(--sp-1); }
.srcline { font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-3); margin: 0 0 var(--sp-4); }
.srcline a { color: var(--ink-3); }
.citethis { border: 1px solid var(--rule-strong); background: var(--surface); padding: var(--sp-4); margin: var(--sp-8) 0; font-family: var(--font-ui-sans); font-size: var(--fs-200); }
.citethis .label { display: block; font-size: var(--fs-100); font-weight: 700; text-transform: uppercase; letter-spacing: .08em; color: var(--ink-3); margin-bottom: var(--sp-2); }
.citethis .cite-url { color: var(--ink-3); }
.parity { font-family: var(--font-ui-sans); font-size: var(--fs-100); color: var(--ink-3); border-top: 1px solid var(--rule); padding-top: var(--sp-3); margin-top: var(--sp-8); }
details.more { border: 1px solid var(--rule); background: var(--surface); margin: var(--sp-4) 0; }
details.more summary { cursor: pointer; font-family: var(--font-ui-sans); font-size: var(--fs-200); font-weight: 700; padding: var(--sp-2) var(--sp-3); list-style: none; }
details.more summary::-webkit-details-marker { display: none; }
details.more summary::after { content: " +"; color: var(--ink-3); }
details.more[open] summary::after { content: " −"; }
details.more .more-body { padding: 0 var(--sp-3) var(--sp-3); font-size: var(--fs-200); color: var(--ink-2); }

/* ── Corrections form (native POST → edge KV; no JS) ─────────────────────── */
#submitted { display: none; }
#submitted:target { display: block; }
.correction-form { border: 1px solid var(--rule-strong); background: var(--surface); padding: var(--sp-4); margin: var(--sp-4) 0 var(--sp-6); }
.correction-form label { display: block; font-family: var(--font-ui-sans); font-size: var(--fs-200); font-weight: 700; }
.correction-form .opt, .correction-form .req { font-weight: 400; color: var(--ink-3); }
.correction-form .req { color: var(--brand-red-ink); }
.correction-form input[type="text"], .correction-form textarea {
  display: block; width: 100%; margin-top: var(--sp-1); padding: var(--sp-2) var(--sp-3);
  font: inherit; font-family: var(--font-ui-sans); font-weight: 400; font-size: var(--fs-300);
  color: var(--ink); background: var(--paper); border: 1px solid var(--rule-strong); border-radius: var(--radius-input);
}
.correction-form input:focus, .correction-form textarea:focus { outline: 2px solid var(--brand-red); outline-offset: 1px; }
.correction-form textarea { resize: vertical; }
.correction-form .hp-wrap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.form-submit {
  font-family: var(--font-ui-sans); font-weight: 700; font-size: var(--fs-300);
  color: var(--on-red); background: var(--brand-red); border: 0; border-radius: var(--radius-input);
  padding: var(--sp-3) var(--sp-6); cursor: pointer;
}
.form-submit:hover { background: var(--brand-red-ink); }
.form-submit:focus-visible { outline: 2px solid var(--ink); outline-offset: 2px; }

/* ─────────────────────────  /why/ HEADLINE VIDEO HERO  ───────────────────────── */
/* Full-width-of-column, sober muted-autoplay hero. Sits above the <h1>; the
   non-affiliation .banner still paints first in <body>. Poster shows until a
   clip is uploaded (the <source> 404s gracefully — intended scaffolding). */
/* Two portrait clips side by side (an explainer + a personal statement). Stacks
   to one column on narrow screens. Each clip is contained (never crops a face)
   on the dark ground and height-capped so the pair doesn't dominate the page. */
.why-hero--dual {
  margin: 0 0 var(--sp-6);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--sp-3);
}
@media (max-width: 640px) {
  .why-hero--dual { grid-template-columns: 1fr; }
}
.why-hero__item {
  margin: 0;
  min-width: 0;
  background: var(--ink);
  border: 1px solid var(--rule-strong);
  border-radius: var(--radius-0);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.why-hero__video {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 66vh;
  object-fit: contain;
  background: var(--ink);
}
.why-hero__label {
  font-family: var(--font-ui-sans);
  font-size: var(--fs-200);
  font-weight: var(--w-bold);
  line-height: 1.35;
  color: var(--on-ink);
  padding: var(--sp-3) var(--sp-4);
}
.why-hero__fallback {
  display: block;
  padding: var(--sp-4);
  font-family: var(--font-ui-sans);
  font-size: var(--fs-200);
  line-height: 1.5;
  color: var(--on-ink);
}
.why-hero__fallback a { color: var(--on-ink); text-decoration: underline; }
/* Visually-hidden accessible caption (screen readers only). */
.why-hero__sr {
  position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;
}
