:root {
  --paper: #f4e8cc;
  --paper-deep: #e7d8ba;
  --ink: #10110e;
  --muted: #5f655f;
  --line: #b8aa91;
  --line-dark: #10110e;
  --white: #fffaf0;
  --night: #071426;
  --night-deep: #030a13;
  --night-soft: #0e2037;
  --accent: #9d2432;
  --accent-dark: #761b26;
  --positive: #0b7750;
  --signal: #f3e84d;
  --ucl: #4057ff;
  --ucl-bright: #8cf5ff;
  --ucl-dark: #080d35;
  --uel: #ff5a00;
  --uel-dark: #17100b;
  --uecl: #21c96b;
  --uecl-dark: #0b1b13;
  --cobalt: var(--ucl);
  --amber: var(--uel);
  --teal: var(--uecl);
  --sans: "Manrope", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --serif: "Barlow Condensed", "Arial Narrow", Arial, sans-serif;
  --editorial: "Newsreader", Georgia, serif;
  --hard-rule: 3px solid var(--ink);
  --hard-shadow: 7px 7px 0 var(--ink);
  --hard-shadow-small: 4px 4px 0 var(--ink);
  --max: 1240px;
  --desktop-scale: 1.25;
}

* { box-sizing: border-box; }
html { color-scheme: light; scroll-behavior: smooth; scroll-padding-top: 24px; }
body { margin: 0; min-width: 320px; background: var(--paper); color: var(--ink); font-family: var(--sans); font-size: 16px; line-height: 1.55; letter-spacing: 0; text-rendering: optimizeLegibility; }

/* Match the comfortable 125% view produced by two Safari zoom steps. The
   threshold keeps the scaled layout above the 900px desktop breakpoint. */
@media (min-width: 1126px) {
  body { zoom: var(--desktop-scale); }
}

a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: .2em; }
a:hover { color: var(--accent-dark); }
a:focus-visible, button:focus-visible, input:focus-visible, [tabindex]:focus-visible { outline: 3px solid var(--ink); outline-offset: 3px; box-shadow: 0 0 0 7px var(--signal); }
button, input, select { font: inherit; letter-spacing: 0; }
.page-shell { width: min(calc(100% - 48px), var(--max)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 12px; left: 12px; transform: translateY(-160%); padding: 10px 14px; background: var(--signal); color: var(--night); font-weight: 800; }
.skip-link:focus { transform: none; }
.visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.masthead { border-bottom: 3px solid var(--ink); background: var(--night); color: #f6f3eb; }
.utility-bar { border-bottom: 2px solid #28384d; background: var(--night-deep); color: #aab7c8; font: 600 12px/1 var(--serif); letter-spacing: .05em; text-transform: uppercase; }
.utility-inner { min-height: 34px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.coverage-context { display: flex; align-items: center; gap: 8px; color: #d1d8e2; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 2px rgb(215 255 63 / 18%); }
.brand-row { min-height: 88px; display: flex; align-items: stretch; justify-content: space-between; border-bottom: 2px solid var(--night-deep); }
.wordmark { display: inline-flex; align-items: center; gap: 13px; color: #fff; font: 700 28px/.88 var(--serif); letter-spacing: .015em; text-decoration: none; text-transform: uppercase; }
.wordmark:hover { color: #fff; }
.wordmark strong { color: #8fd9ce; font-style: italic; font-weight: 700; }
.wordmark-mark { position: relative; display: grid; place-items: center; width: 42px; height: 42px; overflow: hidden; border: 2px solid var(--ink); background: var(--white); box-shadow: var(--hard-shadow-small); color: var(--night); font: 800 11px/1 var(--serif); }
.wordmark-mark::after { position: absolute; right: 0; bottom: 0; width: 9px; height: 9px; background: var(--uecl); box-shadow: -9px 0 0 var(--uel), 0 -9px 0 var(--ucl); content: ""; }
.primary-nav { display: flex; align-items: stretch; gap: 31px; }
.primary-nav a { position: relative; display: flex; align-items: center; color: #b7c2d0; font: 600 15px/1 var(--serif); letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.primary-nav a:hover, .primary-nav a[aria-current="page"] { color: #fff; }
.primary-nav a[aria-current="page"]::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 6px; background: var(--signal); content: ""; }
.menu-button { display: none; border: 0; background: none; }
.competition-switcher { background: #050e1b; border-bottom: 0; }
.competition-switcher-inner { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.competition-switcher-item { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 12px; min-height: 50px; padding: 7px 18px; border-left: 3px solid var(--night-deep); border-bottom: 3px solid var(--night-deep); color: #c9d2df; text-decoration: none; transition: transform 120ms ease, background-color 120ms ease; }
.competition-switcher-item:last-child { border-right: 3px solid var(--night-deep); }
.competition-switcher-item:hover { transform: translateY(-2px); color: #fff; }
.competition-switcher-code { display: grid; place-items: center; min-width: 46px; height: 30px; padding-inline: 7px; border: 2px solid var(--night-deep); color: #fff; font: 800 13px/1 var(--serif); letter-spacing: .04em; }
.competition-switcher-name { overflow: hidden; font-size: 11px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
.competition-switcher-item--cobalt .competition-switcher-code { background: var(--ucl); }
.competition-switcher-item--amber .competition-switcher-code { background: var(--uel); color: #210c03; }
.competition-switcher-item--teal .competition-switcher-code { background: var(--uecl); color: #031f11; }
.competition-switcher-item--cobalt[aria-current="page"] { background: var(--ucl); box-shadow: inset 0 -6px 0 var(--ucl-bright); color: #fff; }
.competition-switcher-item--amber[aria-current="page"] { background: var(--uel); box-shadow: inset 0 -6px 0 #ffad7b; color: var(--ink); }
.competition-switcher-item--teal[aria-current="page"] { background: var(--uecl); box-shadow: inset 0 -6px 0 #8bffb6; color: var(--ink); }
.eyebrow { margin: 0 0 7px; color: var(--accent-dark); font: 700 13px/1.15 var(--serif); letter-spacing: .055em; text-transform: uppercase; }
.text-link { display: inline-block; border-bottom: 1px solid currentColor; font: 700 14px/1.2 var(--serif); letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.home-hero { overflow: hidden; padding-block: 28px 37px; border-bottom: 3px solid var(--ink); background: var(--paper); }
.home-hero-grid { position: relative; display: grid; grid-template-areas: "folio story final" "folio facts final"; grid-template-columns: 68px minmax(0, 1.12fr) minmax(360px, .88fr); grid-template-rows: minmax(0, 1fr) auto; min-height: 510px; padding-inline: 0; border: var(--hard-rule); box-shadow: var(--hard-shadow); }
.home-folio { position: relative; z-index: 2; grid-area: folio; display: flex; flex-direction: column; justify-content: space-between; padding: 30px 16px; border-right: 3px solid var(--ink); background: #086041; color: var(--white); font: 700 14px/1 var(--serif); letter-spacing: .065em; text-align: center; text-transform: uppercase; }
.home-folio span { writing-mode: vertical-rl; }
.home-folio strong { font: 700 20px/1.05 var(--serif); }
.home-hero-copy { position: relative; z-index: 1; grid-area: story; display: flex; flex-direction: column; justify-content: center; overflow: hidden; padding: 58px 46px 38px; }
.home-hero-copy::before { position: absolute; z-index: -1; top: 24px; left: 8%; width: 430px; height: 430px; border: 2px solid rgb(8 96 65 / 24%); border-radius: 50%; box-shadow: -215px 0 0 -213px rgb(8 96 65 / 24%); content: ""; }
.home-issue-sticker { position: absolute; z-index: 2; top: 25px; right: 25px; padding: 7px 10px; border: 2px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); font: 700 13px/1 var(--serif); letter-spacing: .05em; text-transform: uppercase; transform: rotate(2.5deg); }
.home-hero-copy h1 { max-width: 680px; margin: 13px 0 24px; font: 800 clamp(62px, 6.2vw, 94px)/.82 var(--serif); letter-spacing: -.035em; text-transform: uppercase; }
.home-hero-copy h1 span, .home-hero-copy h1 em { display: block; }
.home-hero-copy h1 em { width: fit-content; margin-top: 5px; padding: 0 .09em .04em; border: 3px solid var(--ink); background: var(--ucl); box-shadow: var(--hard-shadow); color: #fff; font-style: italic; font-weight: 700; transform: rotate(-1deg); }
.home-hero-copy > p:not(.eyebrow) { max-width: 610px; margin: 0; color: #343a35; font-size: 14px; }
.hero-link { align-self: flex-start; margin-top: 22px; padding: 9px 13px; border: var(--hard-rule); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); font: 700 16px/1.2 var(--serif); letter-spacing: .025em; text-decoration: none; text-transform: uppercase; transition: transform 120ms ease, box-shadow 120ms ease; }
.hero-link:hover { color: var(--ink); transform: translate(3px, 3px); box-shadow: 1px 1px 0 var(--ink); }
.home-hero-facts { grid-area: facts; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0; border-top: 3px solid var(--ink); }
.home-hero-facts div { min-width: 0; padding: 13px 14px 12px; border-right: 2px solid var(--ink); background: #fffbef; }
.home-hero-facts div:first-child { padding-left: 46px; }
.home-hero-facts div:last-child { border-right: 0; }
.home-hero-facts dt { color: var(--muted); font: 600 13px/1.1 var(--serif); letter-spacing: .035em; text-transform: uppercase; }
.home-hero-facts dd { margin: 3px 0 0; font: 700 24px/1 var(--serif); }
.home-featured-final { position: relative; grid-area: final; display: flex; flex-direction: column; justify-content: center; padding: 42px 30px; border-left: 3px solid var(--ink); background: var(--ucl-dark); color: #f7f8ff; }
.home-featured-final::after { position: absolute; right: 18px; bottom: 18px; width: 46px; height: 46px; border: 3px solid var(--ink); background: var(--ucl); box-shadow: 8px 8px 0 var(--uel), 16px 16px 0 var(--uecl); content: ""; transform: rotate(-4deg); }
.home-featured-final header { display: flex; justify-content: space-between; gap: 16px; padding-bottom: 13px; border-bottom: 1px solid rgb(255 255 255 / 34%); font: 700 14px/1.15 var(--serif); letter-spacing: .05em; text-transform: uppercase; }
.home-featured-final header span { color: var(--ucl-bright); }
.home-featured-final .scoreline { gap: 0 18px; font-size: 14px; }
.home-featured-final .scoreline span, .home-featured-final .scoreline strong { padding-block: 15px; border-bottom: 1px solid rgb(255 255 255 / 30%); }
.home-featured-final .scoreline strong { color: var(--ucl-bright); font-size: 48px; }
.home-featured-final footer { display: grid; gap: 6px; padding-top: 17px; }
.home-featured-final footer strong { color: var(--ucl-bright); font: 700 14px/1.2 var(--serif); letter-spacing: .055em; text-transform: uppercase; }
.home-featured-final footer span { color: #b9c5d7; font-size: 12px; }
.home-index { position: relative; border-bottom: 3px solid var(--ink); background: var(--signal); color: var(--ink); }
.home-index::before { position: absolute; inset: 0 0 auto; height: 5px; background: linear-gradient(90deg, var(--ucl) 0 33.333%, var(--uel) 33.333% 66.666%, var(--uecl) 66.666%); content: ""; }
.home-index-inner { display: grid; grid-template-columns: 1.2fr repeat(4, 1fr) 1.2fr; align-items: center; min-height: 64px; padding-top: 5px; }
.home-index-inner > * { padding-inline: 16px; font: 600 14px/1.1 var(--serif); letter-spacing: .04em; text-transform: uppercase; }
.home-index-inner > *:first-child { padding-left: 0; }
.home-index-inner a { border-left: 2px solid var(--ink); text-decoration: none; }
.home-index-inner a:hover { background: var(--ink); color: var(--signal); }
.home-index-inner .home-index-cta { align-self: stretch; display: flex; align-items: center; justify-content: flex-end; padding-right: 13px; background: var(--ink); color: var(--signal); text-align: right; }
.product-grid { display: grid; grid-template-columns: minmax(0, 1fr) 290px; gap: 52px; padding-block: 68px 82px; }
.section-heading { position: relative; display: flex; justify-content: space-between; align-items: end; gap: 40px; margin-bottom: 28px; padding-bottom: 16px; border-bottom: 4px solid var(--ink); }
.section-heading .eyebrow { display: inline-block; padding: 5px 8px; border: 2px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); transform: rotate(-1deg); }
.section-heading h2, .rankings-intro h2 { margin: 0; font: 800 45px/.88 var(--serif); letter-spacing: -.018em; text-transform: uppercase; }
.section-heading > p { max-width: 330px; margin: 0 0 2px; color: var(--muted); font-size: 12px; text-align: right; }
.competition-ledger { border-top: 0; }
.competition-entry { --entry-accent: var(--ucl); --entry-ink: #263fb8; --entry-score: var(--ucl-bright); display: grid; grid-template-columns: 48px minmax(220px, 1fr) minmax(245px, .8fr); gap: 20px; align-items: center; margin: 0 7px 20px 0; padding: 24px 18px; border: var(--hard-rule); background: #e8e6f8; box-shadow: var(--hard-shadow); transition: transform 120ms ease, box-shadow 120ms ease; }
.competition-entry:has(.entry-link:hover), .competition-entry:focus-within { transform: translate(-2px, -2px); box-shadow: 9px 9px 0 var(--ink); }
.competition-entry[data-accent="amber"] { --entry-accent: var(--uel); --entry-ink: #a33200; --entry-score: #ff7c22; background: #f5d9c4; }
.competition-entry[data-accent="teal"] { --entry-accent: var(--uecl); --entry-ink: #087748; --entry-score: #70ef77; background: #d7ead7; }
.entry-number { align-self: start; display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid var(--ink); background: var(--entry-accent); box-shadow: var(--hard-shadow-small); color: var(--ink); font: 800 19px/1 var(--serif); }
.competition-entry[data-accent="cobalt"] .entry-number { color: #fff; }
.competition-name { margin: 0 0 5px; color: var(--entry-ink); font: 700 14px/1.1 var(--serif); letter-spacing: .055em; text-transform: uppercase; }
.entry-main h3 { margin: 0 0 8px; font: italic 700 30px/1 var(--editorial); }
.entry-main > p { margin: 0 0 15px; color: var(--muted); font-size: 11px; }
.entry-link { display: inline-block; padding: 4px 7px; border: 2px solid var(--ink); background: var(--white); color: var(--ink); font: 700 13px/1.1 var(--serif); letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.entry-link:hover { background: var(--entry-ink); color: #fff; }
.entry-result { padding-left: 20px; border-left: 3px solid var(--ink); }
.result-label { display: block; margin-bottom: 9px; color: var(--entry-ink, var(--muted)); font: 700 12px/1.1 var(--serif); letter-spacing: .045em; text-transform: uppercase; }
.scoreline { display: grid; grid-template-columns: minmax(0, 1fr) 26px; gap: 4px 12px; align-items: baseline; font-size: 13px; }
.scoreline strong { font: 700 21px/1 var(--serif); font-variant-numeric: tabular-nums; text-align: right; }
.scheduled-final { display: grid; gap: 2px; padding: 12px 13px; border: 2px solid var(--ink); border-top: 7px solid var(--entry-accent, var(--accent)); background: var(--night); color: var(--white); }
.scheduled-final span, .scheduled-final small { color: #aeb9c5; font: 700 10px/1.2 var(--serif); letter-spacing: .04em; text-transform: uppercase; }
.scheduled-final strong { color: var(--entry-score, var(--white)); font: italic 700 25px/1 var(--editorial); }
.scheduled-final--large { gap: 7px; padding: 18px; }
.scheduled-final--large strong { font-size: 38px; }
.draw-status { display: flex; align-items: center; gap: 8px; margin-top: 10px; color: var(--entry-ink, var(--positive)); font: 700 11px/1.2 var(--serif); letter-spacing: .035em; text-transform: uppercase; }
.draw-status .status-dot { flex: 0 0 auto; background: var(--entry-accent, var(--positive)); box-shadow: none; }
.competition-entry .scoreline { padding: 9px 11px; border: 2px solid var(--ink); border-top: 7px solid var(--entry-accent); background: var(--night); color: var(--white); }
.competition-entry .scoreline strong { color: var(--entry-score); }
.champion { display: block; margin-top: 10px; color: var(--entry-ink, var(--positive)); font: 700 11px/1.2 var(--serif); letter-spacing: .035em; text-transform: uppercase; }
.side-column { border-top: 0; }
.side-section { margin: 0 4px 22px 0; padding: 20px; border: var(--hard-rule); background: var(--white); box-shadow: var(--hard-shadow-small); }
.side-section:first-child { background: var(--signal); transform: rotate(1deg); }
.side-section h2 { margin: 0 0 10px; font: 700 29px/.95 var(--serif); text-transform: uppercase; }
.side-section > p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.coverage-list ul { margin: 0; padding: 0; list-style: none; }
.coverage-list li { display: flex; justify-content: space-between; gap: 18px; padding: 10px 0; border-bottom: 2px solid var(--ink); font-size: 10px; }
.coverage-list li:last-child { border: 0; }
.coverage-list strong { color: var(--muted); font-weight: 700; text-align: right; }
.rankings-band { border-top: 8px solid; border-image: linear-gradient(90deg, var(--ucl) 0 33.333%, var(--uel) 33.333% 66.666%, var(--uecl) 66.666%) 1; background: var(--night-deep); color: var(--white); padding-block: 68px 76px; }
.rankings-layout { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 76px; }
.rankings-intro .eyebrow { display: inline-block; padding: 5px 8px; border: 2px solid var(--signal); background: var(--signal); box-shadow: 4px 4px 0 var(--ucl); color: var(--ink); transform: rotate(-1deg); }
.rankings-intro p:not(.eyebrow) { color: #aeb9c5; font-size: 12px; }
.rankings-intro .text-link { margin-top: 14px; padding: 7px 9px; border: 2px solid var(--signal); background: var(--signal); box-shadow: 4px 4px 0 var(--ucl); color: var(--ink); }
.rankings-band .table-wrap { border: 3px solid #46566b; }
.table-wrap { min-width: 0; overflow-x: auto; }
.table-wrap:focus-visible { outline: 3px solid #f2c94c; outline-offset: 4px; }
table { width: 100%; border-collapse: collapse; color: var(--ink); font-size: 12px; font-variant-numeric: tabular-nums; }
th, td { padding: 13px 14px; border-bottom: 1px solid var(--line); text-align: left; }
thead th { padding-top: 4px; color: var(--muted); font: 700 11px/1.1 var(--serif); letter-spacing: .045em; text-transform: uppercase; }
tbody th { font-size: 12px; }
tbody th small { display: block; margin-top: 2px; color: #92968f; font: 600 10px/1.1 var(--serif); letter-spacing: .035em; text-transform: uppercase; }
tbody a { text-decoration: none; }
.num { text-align: right; }
.points { color: var(--accent-dark); font-weight: 800; }
.rank-position { color: #868b84; font: 700 12px/1 var(--serif); }
tbody tr:hover { background: rgb(22 26 24 / 4%); }
.rankings-band table { color: var(--white); }
.rankings-band th, .rankings-band td { border-bottom-color: #344254; }
.rankings-band thead th { color: #9cabbc; }
.rankings-band tbody tr:hover { background: var(--night-soft); }
.rankings-band tbody tr[data-accent] td:first-child { border-left: 4px solid; }
.rankings-band tbody tr[data-accent="cobalt"] td:first-child { border-left-color: var(--ucl); }
.rankings-band tbody tr[data-accent="amber"] td:first-child { border-left-color: var(--uel); }
.rankings-band tbody tr[data-accent="teal"] td:first-child { border-left-color: var(--uecl); }
.rankings-band tbody tr[data-accent="cobalt"] .points { color: var(--ucl-bright); }
.rankings-band tbody tr[data-accent="amber"] .points { color: #ff7c22; }
.rankings-band tbody tr[data-accent="teal"] .points { color: #70ef77; }
.footer { border-top: 1px solid var(--line-dark); border-bottom: 7px solid; border-image: linear-gradient(90deg, var(--ucl) 0 33.333%, var(--uel) 33.333% 66.666%, var(--uecl) 66.666%) 1; padding-block: 45px 55px; }
.footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 70px; }
.footer h2 { margin: 0 0 8px; font: 700 13px/1 var(--serif); letter-spacing: .05em; text-transform: uppercase; }
.footer p { margin: 0; color: var(--muted); font-size: 11px; }
.footer-wordmark { display: block; margin-bottom: 10px; color: #086041; font: italic 700 26px/.9 var(--serif); letter-spacing: .02em; text-decoration: none; text-transform: uppercase; }

[hidden] { display: none !important; }
.accent-cobalt { --context-accent: var(--ucl); --accent: var(--ucl); --accent-dark: #2b42bf; }
.accent-amber { --context-accent: var(--uel); --accent: var(--uel); --accent-dark: #c44400; }
.accent-teal { --context-accent: var(--uecl); --accent: var(--uecl); --accent-dark: #087648; }
.page-header { --header-accent: var(--accent); position: relative; overflow: hidden; border-top: 9px solid var(--header-accent); border-bottom: 4px solid var(--ink); background: var(--night); color: #fff; }
.page-header::after { position: absolute; right: 5%; bottom: -52px; width: 150px; height: 150px; border: 4px solid var(--ink); background: var(--header-accent); box-shadow: 18px 18px 0 var(--signal); content: ""; transform: rotate(11deg); }
.page-header--cobalt { --header-accent: var(--ucl); }
.page-header--amber { --header-accent: var(--uel); background: var(--uel-dark); }
.page-header--teal { --header-accent: var(--uecl); background: var(--uecl-dark); }
.page-header-grid { display: grid; grid-template-columns: minmax(320px, 1fr) minmax(360px, .85fr); gap: 80px; align-items: end; min-height: 270px; padding-block: 52px 54px; }
.page-header .eyebrow { color: #91b1ff; }
.page-header--amber .eyebrow { color: #ff965e; }
.page-header--teal .eyebrow { color: #6be7a2; }
.page-header h1 { max-width: 780px; margin: 0; font: 800 68px/.86 var(--serif); letter-spacing: -.025em; text-transform: uppercase; }
.page-header-copy { position: relative; z-index: 1; align-self: end; margin-right: 34px; padding: 19px 20px; border: 3px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow); color: var(--ink); transform: rotate(1deg); }
.page-header-copy > p:first-child { margin: 0; color: var(--ink); font: 600 14px/1.55 var(--sans); }
.header-meta { margin: 18px 0 0; color: #3e403a; font: 700 12px/1.2 var(--serif); letter-spacing: .045em; text-transform: uppercase; }
.content-stack { padding-bottom: 96px; }
.breadcrumbs { padding-block: 20px; border-bottom: 1px solid var(--line); }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 5px 10px; margin: 0; padding: 0; color: var(--muted); font-size: 10px; font-weight: 700; list-style: none; text-transform: uppercase; }
.breadcrumbs li:not(:last-child)::after { margin-left: 10px; color: var(--line-dark); content: "/"; }
.breadcrumbs a { text-decoration: none; }
.directory-list { border-top: 0; margin-top: 48px; }
.directory-row { --entry-accent: var(--ucl); --entry-ink: #263fb8; display: grid; grid-template-columns: 92px minmax(240px, .9fr) minmax(360px, 1.2fr) 38px; align-items: center; gap: 34px; min-height: 170px; margin: 0 7px 22px 0; padding-inline: 18px; border: var(--hard-rule); background: #e8e6f8; box-shadow: var(--hard-shadow); }
.directory-row[data-accent="amber"], .matrix-row[data-accent="amber"] { --entry-accent: var(--uel); --entry-ink: #a33200; }
.directory-row[data-accent="amber"] { background: #f5d9c4; }
.directory-row[data-accent="teal"], .matrix-row[data-accent="teal"] { --entry-accent: var(--uecl); --entry-ink: #087748; }
.directory-row[data-accent="teal"] { background: #d7ead7; }
.directory-index { color: var(--entry-ink); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.directory-row h2 { margin: 0 0 8px; font: 700 38px/.9 var(--serif); text-transform: uppercase; }
.directory-row h2 a { text-decoration: none; }
.directory-row p { margin: 0; color: var(--muted); font-size: 12px; }
.directory-facts { display: grid; grid-template-columns: 1fr 1.4fr; gap: 24px; margin: 0; }
.directory-facts div { min-height: 70px; border-left: 1px solid var(--line); padding-left: 20px; }
.directory-facts dt, .fact-grid dt { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.directory-facts dd { margin: 8px 0 0; font: 500 16px/1.35 var(--serif); }
.row-arrow { display: grid; place-items: center; width: 40px; height: 40px; border: 2px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); font-weight: 800; text-decoration: none; transition: transform 120ms ease, box-shadow 120ms ease; }
.row-arrow:hover { background: var(--ink); box-shadow: 1px 1px 0 var(--ink); color: var(--paper); transform: translate(3px, 3px); }
.button-link { display: inline-flex; align-items: center; justify-content: center; gap: 24px; min-height: 44px; padding: 0 17px; border: var(--hard-rule); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); font: 700 13px/1 var(--serif); letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.button-link:hover { background: var(--accent); color: var(--ink); }
.feature-edition { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); gap: 80px; align-items: center; padding: 66px 0 70px; border-bottom: 1px solid var(--line-dark); }
.feature-edition h2 { margin: 0 0 12px; font: italic 700 43px/1 var(--editorial); }
.feature-edition > div:first-child > p:not(.eyebrow) { max-width: 520px; margin: 0 0 24px; color: var(--muted); font-size: 13px; }
.feature-score { padding-left: 30px; border-left: 1px solid var(--line); }
.scoreline--large { gap: 10px 24px; font-size: 19px; }
.scoreline--large strong { font-size: 30px; }
.home-featured-final .scheduled-final { margin-block: 18px 0; border-color: rgb(255 255 255 / 42%); border-top-color: var(--ucl); background: #050a27; }
.home-featured-final .scheduled-final strong { color: var(--ucl-bright); font-size: 46px; }
.score-note { margin: 8px 0 0; color: var(--muted); font-size: 10px; }
.section-block { padding: 70px 0; border-bottom: 1px solid var(--line-dark); scroll-margin-top: 18px; }
.section-heading--rule { align-items: start; padding-top: 20px; border-top: 2px solid var(--ink); }
.history-list { border-bottom: 1px solid var(--line); }
.history-row { display: grid; grid-template-columns: 180px minmax(240px, 1fr) minmax(300px, .9fr) 38px; align-items: center; gap: 30px; min-height: 116px; border-top: 1px solid var(--line); }
.history-row:first-child { border-top-color: var(--line-dark); }
.season-label { display: inline-block; margin-right: 10px; font: 600 20px/1 var(--serif); }
.coverage-tag { display: inline-block; padding: 3px 6px; border: 1px solid var(--line); color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.history-row h3 { margin: 0 0 4px; font: italic 700 23px/1.1 var(--editorial); }
.history-row h3 a { text-decoration: none; }
.history-row p { margin: 0; color: var(--muted); font-size: 11px; }
.history-result { font-size: 12px; text-align: right; }
.history-result strong { margin-inline: 5px; font-size: 15px; font-variant-numeric: tabular-nums; }
.season-group { padding: 62px 0 10px; }
.season-heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 18px; }
.season-heading h2 { margin: 0; font: 500 42px/.9 var(--serif); }
.season-heading > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.edition-matrix { border-top: 2px solid var(--ink); }
.matrix-row { --entry-accent: var(--cobalt); display: grid; grid-template-columns: 1.2fr .8fr 1.25fr .7fr; gap: 32px; align-items: center; min-height: 122px; border-bottom: 1px solid var(--line); }
.matrix-row h3 { margin: 0; font: italic 700 25px/1 var(--editorial); }
.matrix-row h3 a { text-decoration: none; }
.matrix-row > div:not(:first-child) { border-left: 1px solid var(--line); padding-left: 20px; }
.matrix-row > div:not(:first-child) span { display: block; margin-bottom: 5px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.matrix-row > div:not(:first-child) strong { font-size: 11px; line-height: 1.35; }
.edition-hero { --hero-accent: var(--ucl); position: relative; overflow: hidden; border-top: 9px solid var(--hero-accent); border-bottom: 4px solid var(--ink); background: var(--ucl-dark); color: #fff; }
.edition-hero::after { position: absolute; right: 6%; bottom: 26px; width: 115px; height: 115px; border: 4px solid var(--ink); background: var(--hero-accent); box-shadow: 14px 14px 0 var(--signal); content: ""; transform: rotate(-7deg); }
.edition-hero--amber { --hero-accent: var(--uel); background: var(--uel-dark); }
.edition-hero--teal { --hero-accent: var(--uecl); background: var(--uecl-dark); }
.edition-hero .breadcrumbs { padding-top: 16px; border-color: rgb(255 255 255 / 17%); }
.edition-hero .breadcrumbs ol { color: #aab7c7; }
.edition-hero-grid { display: grid; grid-template-columns: minmax(0, 1fr) 180px; gap: 80px; align-items: end; padding: 64px 0 48px; }
.edition-hero .eyebrow { color: color-mix(in srgb, var(--hero-accent) 65%, white); }
.edition-hero h1 { max-width: 900px; margin: 0; font: 800 78px/.82 var(--serif); letter-spacing: -.025em; text-transform: uppercase; }
.edition-hero h1 em { color: color-mix(in srgb, var(--hero-accent) 68%, white); font-weight: 700; }
.hero-deck { max-width: 680px; margin: 24px 0 0; color: #b9c5d3; font-size: 13px; }
.edition-stamp { position: relative; z-index: 1; padding: 17px 18px; border: 3px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow); color: var(--ink); transform: rotate(1deg); }
.edition-stamp span, .edition-stamp small { display: block; color: #3d4039; font: 700 11px/1.2 var(--serif); letter-spacing: .045em; text-transform: uppercase; }
.edition-stamp strong { display: block; margin: 8px 0 10px; font: 700 29px/1 var(--serif); text-transform: uppercase; }
.local-nav { display: flex; gap: 32px; overflow-x: auto; border-top: 1px solid rgb(255 255 255 / 17%); scrollbar-width: thin; }
.local-nav a { flex: 0 0 auto; padding: 16px 0 14px; color: #aab7c7; font: 700 12px/1.1 var(--serif); letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.local-nav a:hover { color: var(--hero-accent); }
.edition-content { padding-bottom: 24px; }
.edition-overview { display: grid; grid-template-columns: minmax(280px, .7fr) minmax(0, 1.3fr); gap: 90px; }
.edition-overview h2 { margin: 0 0 14px; font: 800 39px/.9 var(--serif); text-transform: uppercase; }
.final-feature h2 { margin: 0 0 14px; font: italic 700 38px/1 var(--editorial); }
.edition-overview > div:first-child > p:last-child, .final-feature > div:first-child > p:last-child { max-width: 500px; color: var(--muted); font-size: 13px; }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; margin: 0; border-top: 1px solid var(--line-dark); }
.fact-grid div { min-height: 100px; padding: 20px 18px 18px 0; border-bottom: 1px solid var(--line); }
.fact-grid div:nth-child(3n+2), .fact-grid div:nth-child(3n+3) { border-left: 1px solid var(--line); padding-left: 18px; }
.fact-grid dd { margin: 8px 0 0; font: 500 18px/1.15 var(--serif); }
.coverage-notice { display: grid; grid-template-columns: 180px 1fr; gap: 28px; margin-bottom: 28px; padding: 16px 18px; border-left: 3px solid #c58a1e; background: #eee8d9; font-size: 11px; }
.coverage-notice strong { text-transform: uppercase; }
.coverage-notice span { color: var(--muted); }
.club-index { display: grid; grid-template-columns: repeat(4, 1fr); margin: 0; padding: 0; border-top: 2px solid var(--ink); list-style: none; counter-reset: club; }
.club-index li { min-width: 0; min-height: 64px; border-bottom: 1px solid var(--line); counter-increment: club; }
.club-index li:nth-child(4n+2), .club-index li:nth-child(4n+3), .club-index li:nth-child(4n+4) { border-left: 1px solid var(--line); }
.club-index a { display: flex; align-items: center; min-height: 64px; padding: 12px 16px; font: 500 15px/1.2 var(--serif); text-decoration: none; }
.club-index a::before { margin-right: 12px; color: var(--line-dark); font: 700 8px/1 var(--sans); content: counter(club, decimal-leading-zero); }
.standings-table table { min-width: 720px; border-top: 2px solid var(--ink); }
.standings-table tbody tr:nth-child(8) { border-bottom: 2px solid var(--ink); }
.standings-table .position-col { width: 50px; }
.draw-table table { min-width: 980px; border-top: 2px solid var(--ink); table-layout: fixed; }
.draw-table th:first-child { width: 190px; }
.draw-table td { color: #454b45; font-size: 11px; line-height: 1.65; }
.draw-table tbody th { font: 600 15px/1.2 var(--serif); }
.data-state { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 22px; align-items: center; min-height: 144px; margin-right: 6px; padding: 26px; border: var(--hard-rule); background: var(--paper-deep); box-shadow: var(--hard-shadow-small); }
.data-state-mark { display: grid; place-items: center; width: 52px; height: 52px; border: 2px solid var(--ink); background: var(--signal); font: 700 24px/1 var(--serif); }
.data-state h2, .data-state h3 { margin: 0 0 6px; font: 500 20px/1.15 var(--serif); }
.data-state p { max-width: 720px; margin: 0; color: var(--muted); font-size: 12px; }
.final-feature { display: grid; grid-template-columns: 1fr minmax(320px, .75fr); gap: 90px; align-items: center; }
.final-feature > div:last-child { padding-left: 30px; border-left: 1px solid var(--line); }
.source-link { display: inline-block; margin-top: 24px; color: var(--muted); font-size: 10px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.directory-tools { display: grid; grid-template-columns: 130px minmax(260px, 520px) 1fr; align-items: center; gap: 24px; padding: 42px 0 28px; border-bottom: 2px solid var(--ink); }
.directory-tools label { font-size: 10px; font-weight: 800; text-transform: uppercase; }
.directory-tools > p { margin: 0; color: var(--muted); font-size: 10px; text-align: right; }
.search-field { position: relative; }
.search-field input { width: 100%; height: 46px; border: var(--hard-rule); border-radius: 0; background: var(--white); box-shadow: var(--hard-shadow-small); padding: 0 42px 0 13px; color: var(--ink); }
.search-field input:focus { outline: 3px solid var(--accent); outline-offset: 2px; }
.search-field span { position: absolute; top: 50%; right: 14px; transform: translateY(-50%); color: var(--muted); font-size: 20px; }
.club-directory { border-bottom: 1px solid var(--line); }
.club-row { display: grid; grid-template-columns: 48px minmax(220px, 1fr) minmax(280px, .75fr) 38px; gap: 24px; align-items: center; min-height: 104px; border-bottom: 1px solid var(--line); }
.club-row:last-child { border-bottom: 0; }
.club-initial { display: grid; place-items: center; width: 38px; height: 38px; background: var(--ink); color: var(--paper); font: 600 19px/1 var(--serif); }
.club-row h2 { margin: 0; font: 500 20px/1.1 var(--serif); }
.club-row h2 a { text-decoration: none; }
.club-row p { margin: 5px 0 0; color: var(--muted); font-size: 10px; }
.club-row dl { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin: 0; }
.club-row dl div { border-left: 1px solid var(--line); padding-left: 18px; }
.club-row dt, .record-strip span, .prose-aside span { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.club-row dd { margin: 2px 0 0; font: 500 17px/1 var(--serif); }
.empty-state { margin-top: 30px; }
.club-research-hero { --club-accent: var(--ucl); position: relative; overflow: hidden; border-bottom: 3px solid var(--ink); background: var(--night); color: #f8f7f1; }
.club-research-hero::after { position: absolute; right: -30px; bottom: -105px; width: 310px; height: 310px; border: 44px solid color-mix(in srgb, var(--club-accent) 24%, transparent); border-radius: 50%; content: ""; }
.club-research-hero--amber { --club-accent: var(--uel); }
.club-research-hero--teal { --club-accent: var(--uecl); }
.club-research-hero .breadcrumbs { position: relative; z-index: 1; padding-top: 25px; color: #9cabbc; }
.club-research-hero .breadcrumbs a { color: #d2dae4; }
.club-research-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 190px; gap: 80px; align-items: end; min-height: 250px; padding: 38px 0 44px; }
.club-research-hero-grid h1 { max-width: 940px; margin: 0; font: 800 78px/.86 var(--serif); letter-spacing: 0; text-transform: uppercase; }
.club-research-hero-grid > div:first-child > p:last-child { margin: 21px 0 0; color: #b9c5d3; font-size: 12px; text-transform: capitalize; }
.club-research-hero .eyebrow { color: color-mix(in srgb, var(--club-accent) 70%, white); }
.club-difficulty-stamp { padding: 18px 0 18px 21px; border-left: 4px solid var(--club-accent); }
.club-difficulty-stamp span, .club-difficulty-stamp small { display: block; color: #b9c5d3; font: 700 10px/1.2 var(--serif); text-transform: uppercase; }
.club-difficulty-stamp strong { display: block; margin: 7px 0 9px; color: #fff; font: 800 56px/.85 var(--serif); }
.club-research-hero .local-nav { position: relative; z-index: 1; }
.club-research-hero .local-nav a:hover { color: var(--club-accent); }
.club-research-content { padding-bottom: 24px; }
.special-route-model { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr); gap: 34px 62px; align-items: start; padding: 30px 0 27px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.special-route-model h2 { margin: 5px 0 12px; font: 700 32px/1 var(--serif); text-transform: uppercase; }
.special-route-model > div > p:last-child { max-width: 680px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.special-route-model dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0; margin: 0; border-top: 1px solid var(--line-dark); }
.special-route-model dl div { min-height: 70px; padding: 15px 13px 12px; border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
.special-route-model dl div:nth-child(odd) { padding-left: 0; border-left: 0; }
.special-route-model dt { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.special-route-model dd { margin: 8px 0 0; font: 600 15px/1.15 var(--serif); }
.special-route-sources { grid-column: 1 / -1; display: flex; gap: 24px; margin: -14px 0 0; }
.special-route-sources a { color: var(--muted); font-size: 8px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.special-route-sources a:hover { color: var(--ink); }
.club-metric-ledger { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.club-metric-ledger > div { min-width: 0; min-height: 116px; padding: 23px 20px 20px; border-left: 1px solid var(--line); }
.club-metric-ledger > div:first-child { padding-left: 0; border-left: 0; }
.club-metric-ledger span, .club-metric-ledger small { display: block; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.club-metric-ledger strong { display: block; margin: 9px 0 8px; font: 700 27px/1 var(--serif); }
.opponent-groups { display: grid; grid-template-columns: 1fr 1fr; gap: 52px; }
.opponent-group { min-width: 0; }
.opponent-group-heading { display: grid; grid-template-columns: 46px minmax(0, 1fr); gap: 15px; align-items: center; min-height: 70px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.opponent-group-heading > span { display: grid; place-items: center; width: 38px; height: 38px; background: var(--ink); color: var(--paper); font: 800 17px/1 var(--serif); }
.opponent-group-heading h3 { margin: 0; font: 700 24px/1 var(--serif); text-transform: uppercase; }
.opponent-group-heading .eyebrow { margin-bottom: 4px; font-size: 9px; }
.opponent-list { counter-reset: opponent; }
.opponent-row { display: grid; grid-template-columns: 28px minmax(145px, .85fr) minmax(220px, 1.15fr); gap: 14px; align-items: center; min-height: 104px; border-bottom: 1px solid var(--line); }
.opponent-sequence { color: var(--muted); font-size: 8px; font-weight: 800; }
.opponent-identity { min-width: 0; }
.opponent-identity h4 { margin: 0; font: 600 16px/1.15 var(--serif); }
.opponent-identity h4 a { text-decoration: none; }
.opponent-identity p { margin: 5px 0 0; color: var(--muted); font-size: 8px; line-height: 1.35; }
.opponent-row dl { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; }
.opponent-row dl div { min-width: 0; padding-left: 9px; border-left: 1px solid var(--line); }
.opponent-row dt { color: var(--muted); font-size: 7px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.opponent-row dd { margin: 4px 0 0; font: 600 12px/1.1 var(--serif); }
.club-map-frame { position: relative; height: 540px; overflow: hidden; border: 3px solid var(--ink); background: var(--paper-deep); box-shadow: var(--hard-shadow); }
.club-travel-map { position: absolute; inset: 0; }
.club-travel-map:not([data-state="ready"])::before { position: absolute; z-index: 1; inset: 0; display: grid; place-items: center; background: var(--paper-deep); color: var(--muted); font: 700 11px/1 var(--sans); text-transform: uppercase; content: "Loading route map"; }
.club-travel-map[data-state="unavailable"]::before { content: "Route map unavailable"; }
.club-map-status { position: absolute; z-index: 2; right: 16px; bottom: 16px; min-width: 250px; padding: 12px 14px; border: 2px solid var(--ink); background: var(--signal); box-shadow: var(--hard-shadow-small); color: var(--ink); pointer-events: none; }
.club-map-status span, .club-map-status strong { display: block; }
.club-map-status span { font-size: 8px; font-weight: 800; text-transform: uppercase; }
.club-map-status strong { margin-top: 4px; font: 700 15px/1.15 var(--serif); }
.route-table-wrap { margin-top: 28px; }
.route-table { min-width: 820px; border-top: 2px solid var(--ink); }
.route-table tbody th { font: 600 14px/1.15 var(--serif); }
.route-table td small { display: block; margin-top: 3px; color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.route-side { display: inline-block; min-width: 36px; margin-right: 9px; padding: 4px 5px; border: 1px solid var(--line-dark); color: var(--muted); font: 800 7px/1 var(--sans); text-align: center; text-transform: uppercase; }
.route-side--home { border-color: var(--ink); background: var(--ink); color: var(--paper); }
.club-difficulty-grid { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 70px; align-items: stretch; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.club-score-block { display: flex; flex-direction: column; justify-content: center; min-height: 250px; padding-right: 36px; border-right: 1px solid var(--line-dark); }
.club-score-block > span { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.club-score-block > strong { display: block; margin: 12px 0; font: 800 72px/.8 var(--serif); }
.club-score-block > strong small { color: var(--muted); font-size: 23px; }
.club-score-block p { margin: 5px 0 0; color: var(--muted); font-size: 11px; }
.club-component-list { margin: 0; padding: 20px 0; list-style: none; }
.club-component-list li { padding: 14px 0; border-bottom: 1px solid var(--line); }
.club-component-list li:last-child { border-bottom: 0; }
.club-component-list li > div:first-child { display: flex; justify-content: space-between; gap: 24px; align-items: baseline; margin-bottom: 9px; }
.club-component-list span, .club-component-list strong { font: 700 14px/1.15 var(--serif); }
.club-component-list small { margin-left: 7px; color: var(--muted); font: 700 8px/1 var(--sans); text-transform: uppercase; }
.club-component-track { width: 100%; height: 13px; overflow: hidden; background: var(--paper-deep); background-image: linear-gradient(to right, transparent calc(25% - 1px), rgb(16 17 14 / 15%) 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), rgb(16 17 14 / 15%) 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), rgb(16 17 14 / 15%) 75%, transparent calc(75% + 1px)); }
.club-component-fill { display: block; width: var(--component); height: 100%; }
.club-component-fill--rivals { background: var(--ucl); }
.club-component-fill--travel { background: var(--uel); }
.club-component-fill--controls { background: var(--positive); }
.route-popup { display: grid; gap: 4px; min-width: 180px; color: var(--ink); }
.route-popup strong { font: 700 16px/1.1 var(--serif); }
.route-popup span { color: var(--muted); font: 600 10px/1.3 var(--sans); }
.maplibregl-popup-content { border: 2px solid var(--ink); border-radius: 0; box-shadow: var(--hard-shadow-small); }
.maplibregl-popup-close-button { width: 28px; height: 28px; font-size: 20px; }
.maplibregl-ctrl-group { border: 2px solid var(--ink); border-radius: 0; box-shadow: var(--hard-shadow-small); }
.record-strip { display: grid; grid-template-columns: repeat(4, 1fr); margin-top: 42px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.record-strip > div { min-height: 110px; padding: 22px 20px 18px; border-left: 1px solid var(--line); }
.record-strip > div:first-child { border-left: 0; padding-left: 0; }
.record-strip strong { display: block; margin-top: 9px; font: 500 27px/1 var(--serif); }
.record-strip .record-note strong { font-size: 18px; line-height: 1.2; }
.participation-table { min-width: 640px; border-top: 2px solid var(--ink); }
.participation-table td:first-child { font-weight: 800; }
.match-list { border-top: 2px solid var(--ink); }
.match-row { display: grid; grid-template-columns: minmax(210px, .8fr) minmax(300px, 1fr) 90px; gap: 30px; align-items: center; min-height: 110px; border-bottom: 1px solid var(--line); }
.match-row > div:first-child span { display: block; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.match-row > div:first-child strong { font: 500 15px/1.2 var(--serif); }
.match-row .scoreline { max-width: 360px; }
.result-token { display: inline-block; min-width: 70px; padding: 5px 8px; border: 1px solid var(--line-dark); color: var(--muted); font-size: 8px; font-weight: 800; text-align: center; text-transform: uppercase; }
.result-token--win { border-color: var(--positive); color: var(--positive); }
.button-row { display: flex; flex-wrap: wrap; align-items: center; gap: 24px; }
.fixture-desk .record-strip, .edition-fixtures-page .record-strip { margin-top: 28px; }
.fixture-record-strip strong small { color: var(--muted); font-size: .55em; }
.fixture-preview { border: var(--hard-rule); background: var(--white); box-shadow: var(--hard-shadow-small); }
.fixture-preview-heading { display: flex; justify-content: space-between; gap: 28px; align-items: center; min-height: 70px; padding: 14px 17px; border-bottom: 2px solid var(--ink); background: var(--signal); }
.fixture-preview-heading span, .fixture-preview-heading strong { display: block; }
.fixture-preview-heading span { font: 800 18px/1 var(--serif); text-transform: uppercase; }
.fixture-preview-heading strong { margin-top: 5px; color: #464942; font-size: 9px; text-transform: uppercase; }
.fixture-preview-heading a, .club-fixture-edition > header a { font: 800 10px/1.2 var(--serif); letter-spacing: .035em; text-decoration: none; text-transform: uppercase; }
.fixture-list { border-top: 2px solid var(--ink); }
.fixture-preview .fixture-list { border-top: 0; }
.fixture-row { display: grid; grid-template-columns: 130px minmax(270px, 1.15fr) minmax(180px, .72fr) 112px; gap: 24px; align-items: center; min-height: 108px; padding: 13px 16px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--white) 28%, transparent); }
.fixture-row:last-child { border-bottom: 0; }
.fixture-row:hover { background: rgb(255 250 240 / 46%); }
.fixture-date { min-width: 0; padding-right: 16px; border-right: 1px solid var(--line); }
.fixture-date time { display: block; }
.fixture-date span { display: block; font: 700 17px/1.1 var(--serif); text-transform: uppercase; }
.fixture-date small { display: block; margin-top: 7px; color: var(--muted); font-size: 8px; font-weight: 800; line-height: 1.25; text-transform: uppercase; }
.fixture-teams { min-width: 0; }
.fixture-teams > div { display: grid; grid-template-columns: 25px minmax(0, 1fr) 30px; gap: 10px; align-items: center; min-height: 34px; }
.fixture-teams > div + div { border-top: 1px solid var(--line); }
.fixture-teams a { overflow: hidden; font: 600 16px/1.1 var(--serif); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.fixture-teams strong { font: 800 21px/1 var(--serif); font-variant-numeric: tabular-nums; text-align: right; }
.fixture-side { display: grid; place-items: center; width: 21px; height: 21px; border: 1px solid var(--line-dark); color: var(--muted); font: 800 7px/1 var(--sans); }
.fixture-teams > div:first-child .fixture-side { background: var(--ink); color: var(--paper); }
.fixture-venue { min-width: 0; }
.fixture-venue > span { display: block; color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.fixture-venue strong, .fixture-venue small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fixture-venue strong { margin-top: 5px; font: 600 13px/1.2 var(--serif); }
.fixture-venue small { margin-top: 4px; color: var(--muted); font-size: 8px; }
.fixture-state { display: grid; justify-items: end; gap: 7px; }
.fixture-state > small { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.fixture-status { display: inline-flex; align-items: center; justify-content: center; min-width: 82px; min-height: 27px; padding: 5px 8px; border: 1px solid var(--line-dark); font: 800 8px/1.1 var(--sans); letter-spacing: .025em; text-align: center; text-transform: uppercase; }
.fixture-status--upcoming { border-color: var(--accent); color: var(--accent-dark); }
.fixture-status--results { border-color: var(--positive); background: var(--positive); color: #fff; }
.fixture-status--live { border-color: #b21f2d; background: #b21f2d; color: #fff; }
.fixture-status--pending { border-color: #9b6710; color: #77500d; }
.fixture-status--other { border-color: var(--muted); color: var(--muted); }
.fixture-outcome { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; color: #fff; font: 800 9px/1 var(--sans); }
.fixture-outcome--win { background: var(--positive); }
.fixture-outcome--draw { background: #7d6a22; }
.fixture-outcome--loss { background: #9d2432; }
.fixture-list--compact .fixture-row { grid-template-columns: 115px minmax(230px, 1fr) 102px; min-height: 88px; padding-block: 9px; }
.fixture-list--compact .fixture-venue { display: none; }
.fixture-list--compact .fixture-date span { font-size: 15px; }
.fixture-list--compact .fixture-teams a { font-size: 14px; }
.fixture-source-note { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 40px; align-items: center; margin: 30px 0; padding: 20px 22px; border-left: 4px solid var(--accent); background: var(--paper-deep); }
.fixture-source-note strong { font: 700 18px/1.2 var(--serif); text-transform: uppercase; }
.fixture-source-note p:last-child { max-width: 700px; margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.fixture-source-note .source-link { margin: 0; white-space: nowrap; }
.fixture-filters { display: grid; grid-template-columns: repeat(3, minmax(155px, 1fr)) auto auto; gap: 16px; align-items: end; margin: 32px 0 30px; padding: 18px; border: 2px solid var(--ink); background: var(--white); box-shadow: var(--hard-shadow-small); }
.fixture-filters label { display: block; margin-bottom: 6px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.fixture-filters select { width: 100%; height: 41px; padding: 0 34px 0 10px; border: 2px solid var(--ink); border-radius: 0; background: var(--paper); color: var(--ink); font-size: 11px; }
.fixture-filters button { min-height: 41px; padding: 0 13px; border: 2px solid var(--ink); background: var(--signal); color: var(--ink); font: 800 10px/1 var(--serif); text-transform: uppercase; cursor: pointer; }
.fixture-filters > p { align-self: center; margin: 0; color: var(--muted); font-size: 9px; font-weight: 800; text-align: right; text-transform: uppercase; }
.matchday-groups { display: grid; gap: 22px; padding-bottom: 48px; }
.matchday-group { border: var(--hard-rule); background: color-mix(in srgb, var(--white) 28%, transparent); box-shadow: var(--hard-shadow-small); }
.matchday-group > summary { display: grid; grid-template-columns: minmax(0, 1fr) auto 24px; gap: 24px; align-items: center; min-height: 82px; padding: 15px 18px; background: var(--paper-deep); cursor: pointer; list-style: none; }
.matchday-group > summary::-webkit-details-marker { display: none; }
.matchday-group > summary span, .matchday-group > summary strong { display: block; }
.matchday-group > summary span { font: 800 23px/1 var(--serif); text-transform: uppercase; }
.matchday-group > summary strong { margin-top: 6px; color: var(--muted); font-size: 9px; text-transform: uppercase; }
.matchday-group > summary small { color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.matchday-group > summary i { position: relative; width: 22px; height: 22px; border: 2px solid currentColor; }
.matchday-group > summary i::before, .matchday-group > summary i::after { position: absolute; top: 50%; left: 50%; width: 10px; height: 2px; background: currentColor; content: ""; transform: translate(-50%, -50%); }
.matchday-group > summary i::after { transform: translate(-50%, -50%) rotate(90deg); transition: transform 120ms ease; }
.matchday-group[open] > summary { background: var(--night); color: #fff; }
.matchday-group[open] > summary strong, .matchday-group[open] > summary small { color: #b9c5d3; }
.matchday-group[open] > summary i::after { transform: translate(-50%, -50%) rotate(0); }
.matchday-group .fixture-list { border-color: var(--ink); }
.fixture-filter-empty { margin: 10px 5px 50px 0; }
.fixture-competition-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px; }
.fixture-competition-card { --card-accent: var(--ucl); display: flex; flex-direction: column; min-height: 310px; padding: 26px 24px; border: var(--hard-rule); border-top: 10px solid var(--card-accent); background: var(--white); box-shadow: var(--hard-shadow-small); }
.fixture-competition-card[data-accent="amber"] { --card-accent: var(--uel); }
.fixture-competition-card[data-accent="teal"] { --card-accent: var(--uecl); }
.fixture-competition-card h3 { margin: 2px 0 22px; font: 800 31px/.95 var(--serif); text-transform: uppercase; }
.fixture-competition-card > p:not(.eyebrow) { margin: 0 0 24px; color: var(--muted); font-size: 11px; }
.fixture-competition-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 0 28px; border-top: 1px solid var(--line-dark); }
.fixture-competition-card dl div { padding: 14px 10px 0; border-left: 1px solid var(--line); }
.fixture-competition-card dl div:first-child { padding-left: 0; border-left: 0; }
.fixture-competition-card dt { color: var(--muted); font-size: 7px; font-weight: 800; text-transform: uppercase; }
.fixture-competition-card dd { margin: 6px 0 0; font: 700 23px/1 var(--serif); }
.fixture-competition-card .button-link, .fixture-competition-card .text-link { align-self: flex-start; margin-top: auto; }
.club-fixture-edition + .club-fixture-edition { margin-top: 42px; }
.club-fixture-edition > header { display: flex; justify-content: space-between; gap: 28px; align-items: end; min-height: 68px; padding: 0 2px 13px; border-bottom: 2px solid var(--ink); }
.club-fixture-edition > header span { color: var(--accent-dark); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.club-fixture-edition > header h3 { margin: 3px 0 0; font: 700 25px/1 var(--serif); text-transform: uppercase; }
.method-note { display: grid; grid-template-columns: 120px minmax(0, 1fr) auto; gap: 24px; align-items: center; margin-top: 42px; padding: 19px 20px; border-left: 3px solid var(--accent); background: var(--paper-deep); }
.method-note strong { font-size: 10px; text-transform: uppercase; }
.method-note p { margin: 0; color: var(--muted); font-size: 11px; }
.method-note a { font-size: 10px; font-weight: 800; text-decoration: none; text-transform: uppercase; }
.metric-status { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 24px; border-top: 2px solid var(--ink); border-bottom: 1px solid var(--line-dark); }
.metric-status > div { min-height: 86px; padding: 18px 20px; border-left: 1px solid var(--line); }
.metric-status > div:first-child { border-left: 0; padding-left: 0; }
.metric-status span { display: block; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.metric-status strong { display: block; margin-top: 7px; font: 600 17px/1.2 var(--serif); }
.metric-status + .method-note { margin: 0 0 30px; }
.metric-visuals { margin-top: 36px; padding: 34px 0 42px; border-top: 2px solid var(--ink); border-bottom: 2px solid var(--ink); }
.metric-visuals-header { display: flex; justify-content: space-between; align-items: end; gap: 42px; padding-bottom: 22px; }
.metric-visuals-header h3 { margin: 0; font: 700 35px/1 var(--serif); text-transform: uppercase; }
.metric-visuals-header > p { max-width: 340px; margin: 0; color: var(--muted); font-size: 11px; text-align: right; }
.metric-chart-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr); border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line-dark); }
.metric-chart { min-width: 0; margin: 0; padding: 25px 24px 22px; }
.metric-chart + .metric-chart { border-left: 1px solid var(--line-dark); }
.metric-chart figcaption { min-height: 82px; }
.metric-chart figcaption h4 { margin: 0; font: 700 25px/1 var(--serif); text-transform: uppercase; }
.metric-chart figcaption > p:not(.eyebrow) { margin: 7px 0 0; color: var(--muted); font-size: 10px; }
.scatter-scroll { margin-top: 14px; overflow-x: auto; }
.burden-scatter { display: block; width: 100%; height: auto; overflow: visible; }
.chart-gridline { stroke: var(--line); stroke-width: 1; }
.chart-axis { stroke: var(--ink); stroke-width: 2; }
.chart-tick, .chart-axis-title { fill: var(--muted); font-family: var(--sans); font-size: 10px; font-weight: 700; }
.chart-axis-title { fill: var(--ink); font-size: 9px; }
.chart-dot { fill: var(--night-soft); stroke: var(--paper); stroke-width: 2; opacity: .72; transition: opacity 120ms ease, r 120ms ease; }
.chart-dot--hard { fill: var(--context-accent, var(--accent)); stroke: var(--ink); opacity: 1; }
.chart-dot--easy { fill: var(--signal); stroke: var(--ink); opacity: 1; }
.burden-scatter a:hover .chart-dot, .burden-scatter a:focus .chart-dot { opacity: 1; r: 8px; }
.chart-findings { display: grid; grid-template-columns: 1fr 1fr; margin: 8px 0 0; border-top: 1px solid var(--line-dark); }
.chart-findings div { min-width: 0; padding: 11px 10px 9px 0; border-bottom: 1px solid var(--line); }
.chart-findings div:nth-child(2n) { padding-left: 10px; border-left: 1px solid var(--line); }
.chart-findings dt { color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.chart-findings dd { margin: 3px 0 0; font: 600 14px/1.2 var(--serif); }
.component-legend { display: flex; flex-wrap: wrap; gap: 8px 14px; min-height: 40px; margin: 14px 0 6px; color: var(--muted); font-size: 8px; font-weight: 700; text-transform: uppercase; }
.component-legend span { display: inline-flex; align-items: center; gap: 5px; }
.component-key { width: 9px; height: 9px; border: 1px solid var(--ink); }
.component-key--rivals, .component-segment--rivals { background: var(--ucl); }
.component-key--travel, .component-segment--travel { background: var(--uel); }
.component-key--controls, .component-segment--controls { background: var(--positive); }
.component-bars { margin: 0; padding: 0; border-top: 1px solid var(--line-dark); list-style: none; }
.component-bars li { padding: 10px 0 11px; border-bottom: 1px solid var(--line); }
.component-bar-label { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; gap: 8px; align-items: baseline; margin-bottom: 6px; }
.component-bar-label span { color: var(--muted); font-size: 8px; font-weight: 800; }
.component-bar-label a { overflow-wrap: anywhere; font: 600 13px/1.15 var(--serif); text-decoration: none; }
.component-bar-label strong { font: 700 13px/1 var(--serif); }
.component-track { display: flex; width: 100%; height: 11px; overflow: hidden; background-color: var(--paper-deep); background-image: linear-gradient(to right, transparent calc(25% - 1px), rgb(16 17 14 / 16%) 25%, transparent calc(25% + 1px), transparent calc(50% - 1px), rgb(16 17 14 / 16%) 50%, transparent calc(50% + 1px), transparent calc(75% - 1px), rgb(16 17 14 / 16%) 75%, transparent calc(75% + 1px)); }
.component-segment { display: block; flex: 0 0 var(--segment); height: 100%; border-right: 1px solid rgb(16 17 14 / 50%); }
.component-axis { display: flex; justify-content: space-between; padding-top: 6px; color: var(--muted); font-size: 8px; font-weight: 700; }
.metric-ranking { padding: 48px 0 8px; border-top: 1px solid var(--line); }
.metric-ranking:first-of-type { border-top: 0; }
.metric-ranking-header { display: flex; justify-content: space-between; align-items: end; gap: 42px; margin-bottom: 20px; }
.metric-ranking-header h3 { margin: 0; font: 700 31px/1 var(--serif); text-transform: uppercase; }
.metric-ranking-header p:not(.eyebrow) { max-width: 620px; margin: 9px 0 0; color: var(--muted); font-size: 11px; }
.sort-switch { flex: 0 0 auto; display: flex; border: 2px solid var(--ink); }
.sort-switch button { min-height: 34px; padding: 7px 11px; border: 0; border-left: 1px solid var(--ink); border-radius: 0; background: transparent; color: var(--ink); font: 800 9px/1 var(--sans); text-transform: uppercase; }
.sort-switch button:first-child { border-left: 0; }
.sort-switch button[aria-pressed="true"] { background: var(--ink); color: var(--signal); }
.sort-switch button:focus-visible { position: relative; outline: 3px solid var(--accent); outline-offset: 2px; }
.formula-strip { display: grid; grid-template-columns: 120px repeat(3, minmax(0, 1fr)); margin-bottom: 18px; border-top: 1px solid var(--line-dark); border-bottom: 1px solid var(--line); }
.formula-strip > * { padding: 11px 13px; border-left: 1px solid var(--line); font-size: 9px; }
.formula-strip > *:first-child { border-left: 0; padding-left: 0; text-transform: uppercase; }
.metrics-table table { min-width: 900px; border-top: 2px solid var(--ink); }
.metrics-table th:nth-child(2) { min-width: 190px; }
.metrics-table td small, .metrics-table th small { display: block; margin-top: 3px; color: var(--muted); font: 600 9px/1.2 var(--sans); text-transform: none; }
.metrics-table tbody th { font: 600 14px/1.15 var(--serif); }
.metrics-table tbody tr:nth-child(-n+3) { background: color-mix(in srgb, var(--accent) 7%, transparent); }
.travel-area-lists { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr); gap: 54px; margin-top: 58px; padding-top: 32px; border-top: 2px solid var(--ink); }
.travel-area-lists h3 { margin: 0 0 18px; font: 700 28px/1 var(--serif); text-transform: uppercase; }
.travel-area-lists > div > p:not(.eyebrow) { max-width: 520px; margin: 0 0 20px; color: var(--muted); font-size: 11px; }
.travel-area-lists .source-link { margin-top: 18px; }
.country-list, .cta-list { margin: 0; padding: 0; border-top: 1px solid var(--line-dark); list-style: none; }
.country-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.country-list li { display: flex; justify-content: space-between; gap: 10px; min-width: 0; padding: 8px 10px 8px 0; border-bottom: 1px solid var(--line); font-size: 10px; }
.country-list li:nth-child(3n+2), .country-list li:nth-child(3n+3) { padding-left: 10px; border-left: 1px solid var(--line); }
.country-list small, .cta-list small { color: var(--muted); font-size: 8px; font-weight: 800; }
.cta-list li { position: relative; display: grid; gap: 3px; min-height: 55px; padding: 11px 38px 10px 0; border-bottom: 1px solid var(--line); }
.cta-list strong { font: 600 14px/1.15 var(--serif); }
.cta-list span { color: var(--muted); font-size: 9px; }
.cta-list small { position: absolute; top: 13px; right: 0; }
.ranking-section { padding-bottom: 28px; }
.ranking-section .standings-table { margin-top: 0; }
.prose-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 90px; padding-bottom: 100px; }
.prose-layout > .breadcrumbs { grid-column: 1 / -1; }
.prose { max-width: 760px; }
.prose section { padding: 54px 0; border-bottom: 1px solid var(--line); }
.prose h2 { margin: 0 0 18px; font: 500 32px/1.08 var(--serif); }
.prose p { color: #464b46; font: 400 15px/1.75 var(--sans); }
.prose-aside { align-self: start; margin-top: 54px; border-top: 2px solid var(--ink); }
.prose-aside div { padding: 17px 0; border-bottom: 1px solid var(--line); }
.prose-aside strong { display: block; margin-top: 4px; font: 500 18px/1.2 var(--serif); }
.not-found { min-height: 620px; padding-block: 100px; }
.error-code { margin: 0 0 30px; color: var(--line); font: 500 120px/.7 var(--serif); }
.not-found h1 { margin: 0 0 18px; font: 500 48px/1 var(--serif); }
.not-found > p:not(.eyebrow, .error-code) { max-width: 520px; color: var(--muted); }
.not-found > div { display: flex; align-items: center; gap: 24px; margin-top: 30px; }

@media (max-width: 900px) {
  .page-shell { width: min(calc(100% - 36px), var(--max)); }
  .brand-row { min-height: 76px; position: relative; align-items: center; }
  .menu-button { display: flex; align-items: center; gap: 9px; padding: 10px 0 10px 10px; color: #fff; font: 700 13px/1 var(--serif); letter-spacing: .04em; text-transform: uppercase; }
  .menu-lines, .menu-lines::before, .menu-lines::after { display: block; width: 18px; height: 1px; background: currentColor; content: ""; }
  .menu-lines { position: relative; }
  .menu-lines::before { position: absolute; top: -5px; }
  .menu-lines::after { position: absolute; top: 5px; }
  .primary-nav { display: none; position: absolute; z-index: 20; top: 76px; right: 0; left: 0; padding: 12px 18px 18px; background: var(--night); border: 1px solid #2e3d50; border-top: 0; box-shadow: 0 12px 22px rgb(3 10 19 / 32%); }
  .primary-nav[data-open="true"] { display: grid; }
  .primary-nav a { min-height: 46px; border-bottom: 1px solid rgb(255 255 255 / 13%); }
  .primary-nav a[aria-current="page"]::after { top: 12px; bottom: 12px; left: -18px; width: 3px; height: auto; }
  .home-hero-grid { grid-template-areas: "folio story" "folio facts" "final final"; grid-template-columns: 56px minmax(0, 1fr); }
  .home-featured-final { grid-area: final; min-height: 270px; border-top: 3px solid var(--ink); border-left: 0; }
  .home-index-inner { grid-template-columns: repeat(3, 1fr); padding-block: 13px 9px; }
  .home-index-inner > * { min-height: 32px; display: flex; align-items: center; }
  .home-index-inner > *:first-child { padding-left: 16px; }
  .home-index-inner .home-index-cta { text-align: left; }
  .edition-band-inner { grid-template-columns: 1fr auto; gap: 20px 40px; padding-block: 28px; }
  .edition-note { grid-row: 2; grid-column: 1 / -1; }
  .product-grid { grid-template-columns: 1fr; gap: 50px; }
  .side-column { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; }
  .rankings-layout { grid-template-columns: 220px minmax(0, 1fr); gap: 40px; }
  .page-header-grid { grid-template-columns: 1fr 1fr; gap: 44px; min-height: 220px; }
  .page-header h1 { font-size: 58px; }
  .directory-row { grid-template-columns: 62px minmax(200px, .8fr) minmax(300px, 1.2fr) 38px; gap: 22px; }
  .feature-edition { gap: 48px; }
  .history-row { grid-template-columns: 142px minmax(220px, 1fr) minmax(230px, .8fr) 38px; gap: 20px; }
  .matrix-row { grid-template-columns: 1fr .75fr 1fr; }
  .matrix-row > div:last-child { display: none; }
  .edition-hero-grid { grid-template-columns: minmax(0, 1fr) 150px; gap: 40px; }
  .edition-hero h1 { font-size: 58px; }
  .edition-overview { gap: 48px; }
  .club-index { grid-template-columns: repeat(3, 1fr); }
  .club-index li:nth-child(4n+2), .club-index li:nth-child(4n+3), .club-index li:nth-child(4n+4) { border-left: 0; }
  .club-index li:nth-child(3n+2), .club-index li:nth-child(3n+3) { border-left: 1px solid var(--line); }
  .club-row { grid-template-columns: 48px minmax(200px, 1fr) minmax(240px, .75fr) 38px; }
  .club-research-hero-grid { grid-template-columns: minmax(0, 1fr) 160px; gap: 44px; }
  .club-research-hero-grid h1 { font-size: 62px; }
  .opponent-groups { grid-template-columns: 1fr; gap: 42px; }
  .club-difficulty-grid { grid-template-columns: 220px minmax(0, 1fr); gap: 42px; }
  .fixture-row { grid-template-columns: 112px minmax(240px, 1fr) minmax(150px, .6fr) 96px; gap: 16px; padding-inline: 12px; }
  .fixture-list--compact .fixture-row { grid-template-columns: 108px minmax(220px, 1fr) 94px; }
  .fixture-filters { grid-template-columns: repeat(3, minmax(140px, 1fr)); }
  .fixture-filters button { justify-self: start; }
  .fixture-filters > p { align-self: center; text-align: left; }
  .fixture-competition-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .prose-layout { gap: 50px; }
  .travel-area-lists { grid-template-columns: minmax(0, 1.2fr) minmax(260px, .8fr); gap: 36px; }
  .metric-chart-grid { grid-template-columns: 1fr; }
  .metric-chart + .metric-chart { border-top: 1px solid var(--line-dark); border-left: 0; }
}

@media (max-width: 640px) {
  .page-shell { width: min(calc(100% - 28px), var(--max)); }
  .utility-inner > span:first-child { display: none; }
  .utility-inner { justify-content: flex-start; }
  .coverage-context { gap: 6px; }
  .wordmark { font-size: 23px; }
  .wordmark-mark { width: 34px; height: 34px; }
  .competition-switcher-item { grid-template-columns: 1fr; justify-items: center; padding-inline: 7px; }
  .competition-switcher-code { width: 100%; min-width: 0; }
  .competition-switcher-name { display: none; }
  .home-hero { padding-block: 18px 24px; }
  .home-hero-grid { grid-template-areas: "folio" "story" "final" "facts"; grid-template-columns: 1fr; width: min(calc(100% - 28px), var(--max)); box-shadow: var(--hard-shadow-small); }
  .home-folio { flex-direction: row; padding: 11px 14px; border-right: 0; border-bottom: 3px solid var(--ink); text-align: left; }
  .home-folio span { writing-mode: initial; }
  .home-hero-copy { min-height: 410px; padding: 34px 18px 32px; }
  .home-hero-copy::before { top: 42px; left: 17%; width: 370px; height: 370px; }
  .home-issue-sticker { position: static; align-self: flex-start; margin: 4px 0 20px; box-shadow: 3px 3px 0 var(--ink); transform: rotate(1deg); }
  .home-hero-copy h1 { margin-block: 5px 20px; font-size: 48px; line-height: .86; }
  .home-hero-copy h1 em { box-shadow: var(--hard-shadow-small); }
  .home-hero-copy > p:not(.eyebrow) { font-size: 13px; }
  .home-hero-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .home-hero-facts div, .home-hero-facts div:first-child { padding: 9px 7px; border-right: 2px solid var(--ink); border-bottom: 0; }
  .home-hero-facts div:last-child { border-right: 0; }
  .home-hero-facts dt { font-size: 10px; }
  .home-hero-facts dd { font-size: 20px; }
  .home-featured-final { min-height: 235px; padding: 28px 18px; }
  .home-featured-final header { flex-direction: column; }
  .home-featured-final .scoreline strong { font-size: 38px; }
  .home-featured-final .scheduled-final strong { font-size: 36px; }
  .home-featured-final::after { width: 28px; height: 28px; right: 13px; bottom: 13px; box-shadow: 5px 5px 0 var(--uel), 10px 10px 0 var(--uecl); }
  .home-index-inner { grid-template-columns: 1fr 1fr; }
  .home-index-inner > span, .home-index-inner > strong { grid-column: 1 / -1; }
  .edition-band-inner { grid-template-columns: 1fr; gap: 20px; }
  .edition-band h1 { font-size: 46px; }
  .edition-band .text-link { justify-self: start; }
  .edition-note { grid-row: auto; grid-column: auto; }
  .product-grid { padding-block: 46px 56px; }
  .section-heading { display: block; }
  .section-heading h2, .rankings-intro h2 { font-size: 38px; }
  .section-heading > p { margin-top: 12px; text-align: left; }
  .competition-entry { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; margin: 0 4px 18px 0; padding: 20px 10px; box-shadow: var(--hard-shadow-small); }
  .entry-result { grid-column: 2; margin-top: 6px; padding: 18px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .side-column { display: block; }
  .rankings-band { padding-block: 50px; }
  .rankings-layout { grid-template-columns: 1fr; gap: 36px; }
  th, td { padding-inline: 9px; }
  .rankings-band thead th:nth-child(3), .rankings-band tbody td:nth-child(3), .rankings-band thead th:nth-child(4), .rankings-band tbody td:nth-child(4) { display: none; }
  .footer-grid { grid-template-columns: 1fr; gap: 32px; }
  .page-header-grid { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding-block: 38px; }
  .page-header h1 { font-size: 48px; }
  .page-header::after { display: none; }
  .page-header-copy { margin-right: 4px; padding: 14px; border: 2px solid var(--ink); box-shadow: var(--hard-shadow-small); transform: none; }
  .page-header-copy > p:first-child { font-size: 14px; }
  .header-meta { margin-top: 17px; }
  .content-stack { padding-bottom: 64px; }
  .breadcrumbs { overflow-x: auto; white-space: nowrap; }
  .directory-list { margin-top: 34px; }
  .directory-row { grid-template-columns: 36px minmax(0, 1fr) 34px; gap: 12px; min-height: 0; margin-right: 4px; padding: 24px 12px; box-shadow: var(--hard-shadow-small); }
  .directory-index { align-self: start; padding-top: 5px; font-size: 8px; }
  .directory-row h2 { font-size: 28px; }
  .directory-facts { grid-column: 2 / -1; grid-template-columns: 1fr; gap: 12px; }
  .directory-facts div { min-height: 0; padding-left: 14px; }
  .directory-row .row-arrow { grid-column: 3; grid-row: 1; width: 34px; height: 34px; }
  .feature-edition { grid-template-columns: 1fr; gap: 38px; padding-block: 46px; }
  .feature-edition h2 { font-size: 37px; }
  .feature-score { padding: 22px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .section-block { padding-block: 50px; }
  .history-row { grid-template-columns: 1fr 34px; gap: 16px; padding-block: 22px; }
  .history-row > div:first-child { grid-column: 1; }
  .history-row > div:nth-child(2) { grid-column: 1; }
  .history-result { grid-column: 1; text-align: left; }
  .history-row .row-arrow { grid-column: 2; grid-row: 1 / span 3; width: 34px; height: 34px; }
  .season-group { padding-top: 48px; }
  .season-heading h2 { font-size: 36px; }
  .matrix-row { grid-template-columns: 1fr; gap: 17px; padding-block: 24px; }
  .matrix-row > div:not(:first-child) { display: block; border-left: 0; padding-left: 0; }
  .matrix-row > div:not(:first-child) span { display: inline; margin-right: 10px; }
  .edition-hero-grid { grid-template-columns: 1fr; gap: 32px; padding-block: 44px 32px; }
  .edition-hero h1 { font-size: 48px; }
  .hero-deck { font-size: 13px; }
  .edition-hero::after { display: none; }
  .edition-stamp { display: grid; grid-template-columns: auto auto 1fr; gap: 12px; align-items: baseline; padding: 12px; border: 2px solid var(--ink); box-shadow: var(--hard-shadow-small); transform: none; }
  .edition-stamp strong { margin: 0; font-size: 20px; }
  .edition-stamp small { text-align: right; }
  .local-nav { gap: 24px; }
  .edition-overview { grid-template-columns: 1fr; gap: 30px; }
  .fact-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-grid div:nth-child(3n+2), .fact-grid div:nth-child(3n+3) { border-left: 0; padding-left: 0; }
  .fact-grid div:nth-child(2n) { border-left: 1px solid var(--line); padding-left: 16px; }
  .coverage-notice { grid-template-columns: 1fr; gap: 6px; }
  .club-index { grid-template-columns: repeat(2, 1fr); }
  .club-index li:nth-child(3n+2), .club-index li:nth-child(3n+3) { border-left: 0; }
  .club-index li:nth-child(2n) { border-left: 1px solid var(--line); }
  .standings-table table { min-width: 0; }
  .standings-table th, .standings-table td { padding-inline: 6px; }
  .standings-table .position-col { width: 34px; }
  .standings-table .optional-col { display: none; }
  .data-state { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; min-height: 122px; padding: 20px 16px; }
  .data-state-mark { width: 40px; height: 40px; font-size: 19px; }
  .final-feature { grid-template-columns: 1fr; gap: 28px; }
  .final-feature > div:last-child { padding: 24px 0 0; border-top: 1px solid var(--line); border-left: 0; }
  .directory-tools { grid-template-columns: 1fr auto; gap: 10px 18px; padding-top: 32px; }
  .directory-tools label { grid-column: 1 / -1; }
  .directory-tools .search-field { grid-column: 1 / -1; }
  .directory-tools > p { grid-row: 1; grid-column: 2; }
  .club-row { grid-template-columns: 42px minmax(0, 1fr) 34px; gap: 14px; padding-block: 19px; }
  .club-initial { width: 36px; height: 36px; }
  .club-row dl { grid-column: 2 / -1; gap: 12px; }
  .club-row .row-arrow { grid-column: 3; grid-row: 1; width: 34px; height: 34px; }
  .club-research-hero::after { right: -120px; }
  .club-research-hero-grid { grid-template-columns: 1fr; gap: 28px; min-height: 0; padding-block: 34px; }
  .club-research-hero-grid h1 { max-width: 100%; font-size: 40px; }
  .club-difficulty-stamp { display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 5px 14px; padding: 12px 0 12px 16px; }
  .club-difficulty-stamp strong { grid-row: 1 / span 2; grid-column: 2; margin: 0; font-size: 43px; }
  .special-route-model { grid-template-columns: 1fr; gap: 24px; padding-block: 25px; }
  .special-route-model h2 { font-size: 26px; }
  .special-route-sources { margin-top: -8px; }
  .club-metric-ledger { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .club-metric-ledger > div, .club-metric-ledger > div:first-child { min-height: 100px; padding: 17px 13px; border-left: 1px solid var(--line); }
  .club-metric-ledger > div:nth-child(odd) { padding-left: 0; border-left: 0; }
  .club-metric-ledger > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .club-metric-ledger strong { font-size: 23px; }
  .opponent-row { grid-template-columns: 28px minmax(0, 1fr); gap: 12px; padding-block: 14px; }
  .opponent-row dl { grid-column: 2; margin-top: 7px; }
  .opponent-row dl div:first-child { padding-left: 0; border-left: 0; }
  .club-map-frame { height: 430px; margin-right: 4px; box-shadow: var(--hard-shadow-small); }
  .club-map-status { right: 10px; bottom: 10px; left: 10px; min-width: 0; box-shadow: 3px 3px 0 var(--ink); }
  .club-difficulty-grid { grid-template-columns: 1fr; gap: 0; }
  .club-score-block { min-height: 170px; padding: 24px 0; border-right: 0; border-bottom: 1px solid var(--line-dark); }
  .club-score-block > strong { font-size: 60px; }
  .club-component-list li > div:first-child { align-items: start; }
  .club-component-list span, .club-component-list strong { font-size: 13px; }
  .club-component-list span small { display: block; margin: 4px 0 0; }
  .record-strip { grid-template-columns: repeat(2, 1fr); }
  .record-strip > div { min-height: 94px; }
  .record-strip > div:nth-child(3) { border-left: 0; }
  .record-strip strong { font-size: 24px; }
  .participation-table { min-width: 0; }
  .participation-table thead th:nth-child(3), .participation-table tbody td:nth-child(3) { display: none; }
  .match-row { grid-template-columns: 1fr auto; gap: 18px; padding-block: 20px; }
  .match-row > div:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
  .match-row > div:last-child { grid-column: 2; grid-row: 1; }
  .button-row { align-items: flex-start; flex-direction: column; gap: 17px; }
  .fixture-preview { margin-right: 4px; box-shadow: var(--hard-shadow-small); }
  .fixture-preview-heading { align-items: flex-start; flex-direction: column; gap: 12px; padding: 14px; }
  .fixture-row, .fixture-list--compact .fixture-row { grid-template-columns: minmax(0, 1fr) auto; gap: 12px 18px; min-height: 0; padding: 16px 10px; }
  .fixture-date { padding-right: 0; border-right: 0; }
  .fixture-date span { font-size: 16px; }
  .fixture-teams { grid-column: 1 / -1; grid-row: 2; padding-top: 4px; border-top: 1px solid var(--line); }
  .fixture-teams a, .fixture-list--compact .fixture-teams a { font-size: 15px; }
  .fixture-venue { grid-column: 1 / -1; grid-row: 3; padding-top: 9px; border-top: 1px solid var(--line); }
  .fixture-list--compact .fixture-venue { display: none; }
  .fixture-state { grid-column: 2; grid-row: 1; }
  .fixture-status { min-width: 74px; }
  .fixture-source-note { grid-template-columns: 1fr; gap: 18px; padding: 18px 16px; }
  .fixture-source-note .source-link { white-space: normal; }
  .fixture-filters { grid-template-columns: 1fr 1fr; gap: 13px; margin-right: 4px; padding: 14px; box-shadow: 3px 3px 0 var(--ink); }
  .fixture-filters > div:first-child { grid-column: 1 / -1; }
  .fixture-filters > p { text-align: right; }
  .matchday-groups { gap: 17px; }
  .matchday-group { margin-right: 4px; box-shadow: 3px 3px 0 var(--ink); }
  .matchday-group > summary { grid-template-columns: minmax(0, 1fr) 22px; gap: 13px; min-height: 72px; padding: 13px 12px; }
  .matchday-group > summary span { font-size: 20px; }
  .matchday-group > summary small { grid-column: 1; grid-row: 2; }
  .matchday-group > summary i { grid-column: 2; grid-row: 1 / span 2; }
  .fixture-competition-grid { grid-template-columns: 1fr; }
  .fixture-competition-card { min-height: 270px; margin-right: 4px; padding: 23px 18px; box-shadow: 3px 3px 0 var(--ink); }
  .club-fixture-edition > header { align-items: flex-start; flex-direction: column; gap: 13px; }
  .method-note { grid-template-columns: 1fr auto; gap: 10px 18px; }
  .method-note p { grid-column: 1 / -1; grid-row: 2; }
  .metric-ranking-header { display: block; }
  .metric-visuals-header { display: block; }
  .metric-visuals-header > p { margin-top: 10px; text-align: left; }
  .metric-chart { padding-inline: 0; }
  .metric-chart figcaption { min-height: 0; }
  .metric-components { padding-top: 28px; }
  .burden-scatter { min-width: 620px; }
  .chart-tick, .chart-axis-title { font-size: 12px; }
  .chart-findings { grid-template-columns: 1fr; }
  .chart-findings div:nth-child(2n) { padding-left: 0; border-left: 0; }
  .sort-switch { width: fit-content; margin-top: 18px; }
  .formula-strip { grid-template-columns: 1fr 1fr; }
  .formula-strip > *:first-child { padding-left: 13px; }
  .formula-strip > *:nth-child(3) { border-left: 0; }
  .metric-status { grid-template-columns: 1fr; }
  .metric-status > div, .metric-status > div:first-child { min-height: 0; padding: 13px 0; border-top: 1px solid var(--line); border-left: 0; }
  .metric-status > div:first-child { border-top: 0; }
  .travel-area-lists { grid-template-columns: 1fr; gap: 46px; }
  .country-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .country-list li:nth-child(3n+2), .country-list li:nth-child(3n+3) { padding-left: 0; border-left: 0; }
  .country-list li:nth-child(2n) { padding-left: 9px; border-left: 1px solid var(--line); }
  .prose-layout { grid-template-columns: 1fr; gap: 0; padding-bottom: 70px; }
  .prose section { padding-block: 42px; }
  .prose h2 { font-size: 29px; }
  .prose p { font-size: 15px; }
  .prose-aside { display: grid; grid-template-columns: 1fr 1fr; margin-top: 40px; }
  .prose-aside div:nth-child(2n) { border-left: 1px solid var(--line); padding-left: 16px; }
  .not-found { min-height: 500px; padding-block: 70px; }
  .error-code { font-size: 90px; }
  .not-found h1 { font-size: 39px; }
}

@media (max-width: 350px) {
  .page-shell { width: min(calc(100% - 22px), var(--max)); }
  .coverage-context span[aria-hidden="true"] { display: none; }
  .brand-row { min-height: 70px; }
  .wordmark { gap: 8px; font-size: 18px; }
  .wordmark-mark { width: 30px; height: 30px; font-size: 8px; }
  .menu-button { font-size: 10px; }
  .primary-nav { top: 70px; }
  .competition-switcher-item { padding-inline: 5px; }
  .home-hero-copy h1 { font-size: 41px; }
  .home-hero-copy h1 em { width: 100%; max-width: 100%; transform: none; }
  .home-index-inner > * { padding-inline: 9px; font-size: 12px; }
  .edition-band h1 { font-size: 42px; }
  .competition-entry { grid-template-columns: 40px minmax(0, 1fr); }
  .entry-main h3 { font-size: 25px; }
  .page-header h1 { font-size: 35px; }
  .edition-hero h1 { font-size: 43px; }
  .club-research-hero-grid h1 { max-width: 100%; font-size: 35px; }
  .club-index { grid-template-columns: 1fr; }
  .club-index li:nth-child(2n) { border-left: 0; }
  .fact-grid { grid-template-columns: 1fr; }
  .fact-grid div:nth-child(2n) { border-left: 0; padding-left: 0; }
  .standings-table thead th:nth-child(3), .standings-table tbody td:nth-child(3) { display: none; }
  .fixture-filters { grid-template-columns: 1fr; }
  .fixture-filters > div:first-child { grid-column: auto; }
  .fixture-filters > p { text-align: left; }
  .fixture-teams a { font-size: 13px; }
  .prose-aside { grid-template-columns: 1fr; }
  .prose-aside div:nth-child(2n) { border-left: 0; padding-left: 0; }
  .not-found > div { align-items: flex-start; flex-direction: column; }
}

@media (hover: none) {
  .competition-switcher-item:hover,
  .competition-entry:has(.entry-link:hover),
  .competition-entry:focus-within,
  .hero-link:hover,
  .row-arrow:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .competition-switcher-item,
  .competition-entry,
  .hero-link,
  .row-arrow { transition: none; }
}
