:root {
  --navy-950: #050d18;
  --navy-900: #071426;
  --navy-850: #0a1b31;
  --navy-800: #0d223d;
  --navy-700: #173654;
  --gold-500: #f0bd20;
  --gold-600: #a87808;
  --gold-700: #a87808;
  --gold-400: #f0bd20;
  --gold-300: #ffe078;
  --cream-100: #fbf8f1;
  --cream-200: #f3efe6;
  --white: #fff;
  --slate-900: #172232;
  --slate-700: #465568;
  --slate-600: #5e6b7b;
  --slate-400: #98a4b2;
  --slate-300: #c5cdd6;
  --slate-200: #dfe4e9;
  --slate-100: #eef1f4;
  --font-body: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --font-display: Impact, Haettenschweiler, "Arial Narrow Bold", "Roboto Condensed", sans-serif;
  --space-1: .25rem;
  --space-2: .5rem;
  --space-3: .75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --radius-sm: .35rem;
  --radius-md: .65rem;
  --shadow-sm: 0 2px 8px rgba(5, 13, 24, .08);
  --shadow-md: 0 14px 35px rgba(5, 13, 24, .12);
  --shadow-dark: 0 20px 55px rgba(0, 0, 0, .28);
  --content-width: 76rem;
  --narrow-width: 52rem;
  --transition: 180ms ease;
  --color-white: var(--white);
  --color-navy: var(--navy-900);
  --color-gold: var(--gold-500);
  --color-gold-dark: var(--gold-700);
  --color-border: var(--slate-200);
  --color-off-white: var(--slate-100);
  --color-text: var(--slate-900);
  --color-muted: var(--slate-600);
  --color-blue: var(--navy-700);
  --color-green: #146c43;
  --radius-lg: var(--radius-md);
}

/* 2026 live season headquarters */
.live-season-hero,
.live-week-hero {
  color: var(--color-white);
  background:
    radial-gradient(circle at 82% 22%, rgba(240, 189, 32, 0.22), transparent 24rem),
    linear-gradient(135deg, #071426 0%, #102d4d 62%, #071426 100%);
}

.live-season-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, 0.34fr);
  gap: clamp(2rem, 6vw, 6rem);
  align-items: center;
  padding-block: clamp(3.5rem, 7vw, 6.5rem);
}

.live-season-hero h1,
.live-week-hero h1 {
  max-width: none;
  margin: 0.25rem 0 1rem;
  color: var(--color-white);
  font-family: var(--font-display);
  font-size: clamp(3.25rem, 8vw, 7.75rem);
  line-height: 0.88;
  letter-spacing: -0.055em;
  text-transform: uppercase;
}

.live-season-hero p:not(.eyebrow),
.live-week-hero > .wrap > p:not(.eyebrow) {
  max-width: 44rem;
  color: rgba(255, 255, 255, 0.8);
  font-size: 1.08rem;
}

.live-status-card {
  display: grid;
  gap: 0.65rem;
  padding: 1.5rem;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-top: 0.3rem solid var(--color-gold);
  background: rgba(3, 14, 27, 0.7);
}

.live-status-card__season {
  color: var(--color-gold);
  font-family: var(--font-display);
  font-size: 3.5rem;
  font-weight: 900;
  line-height: 1;
}

.live-status-card strong { font-size: 1.15rem; }
.live-status-card p { margin: 0; font-size: 0.92rem !important; }
.live-status-card time { color: rgba(255, 255, 255, 0.7); font-size: 0.82rem; }

.data-state {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 0.35rem;
  color: #d7ffe9;
  font-size: 0.75rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.data-state::before { width: 0.55rem; height: 0.55rem; border-radius: 50%; background: #39d98a; content: ""; }
.data-state--stale { color:var(--league-gold-text); }
.data-state--stale::before { background: var(--color-gold); }

.live-season-jump,
.live-week-nav {
  position: sticky;
  z-index: 10;
  top: 0;
  border-bottom: 1px solid var(--color-border);
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(0.75rem);
}

.live-season-jump .wrap,
.live-week-nav .wrap {
  display: flex;
  gap: 1.5rem;
  overflow-x: auto;
  padding-block: 0.8rem;
  scrollbar-width: thin;
}

.live-season-jump a,
.live-week-nav a {
  flex: 0 0 auto;
  color: var(--color-navy);
  font-size: 0.77rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-decoration: none;
  text-transform: uppercase;
}

.live-week-nav a[aria-current="page"] { color:var(--league-gold-text); }
.live-section { padding-block: clamp(3.25rem, 6vw, 5.5rem); }

.live-matchup-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
}

.live-matchup-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  background: var(--color-white);
  box-shadow: var(--shadow-sm);
}

.live-matchup-card__header {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: 0.72rem 1rem;
  color: var(--color-white);
  background: var(--color-navy);
  font-size: 0.76rem;
  font-weight: 900;
  letter-spacing: 0.065em;
  text-transform: uppercase;
}

.live-matchup-card__header strong { color: var(--color-gold); }
.live-matchup-card__teams { display: grid; }

.live-matchup-team {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1rem;
  align-items: center;
  padding: 1rem;
  border-bottom: 1px solid var(--color-border);
}

.live-matchup-team.is-winner { box-shadow: inset 0.28rem 0 var(--color-gold); background: #fffaf0; }
.live-matchup-team > a { display: flex; min-width: 0; align-items: center; gap: 0.8rem; color: var(--color-navy); text-decoration: none; }
.live-matchup-team > a img { width: 3rem; height: 3rem; flex: 0 0 auto; border-radius: 50%; object-fit: contain; background: #f5f6f8; }
.live-matchup-team > a span { display: grid; min-width: 0; }
.live-matchup-team > a strong { overflow-wrap: anywhere; }
.live-matchup-team > a small { color: var(--color-muted); }
.live-matchup-team__numbers { display: grid; min-width: 5.7rem; text-align: right; }
.live-matchup-team__numbers strong { color: var(--color-navy); font-size: 1.55rem; line-height: 1; }
.live-matchup-team__numbers strong span,
.live-matchup-team__numbers small span { display: block; color: var(--color-muted); font-size: 0.62rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.live-matchup-team__numbers small { margin-top: 0.35rem; color: var(--color-blue); font-weight: 800; }

.live-matchup-card__footer { display: grid; gap: 0.75rem; padding: 0.85rem 1rem 1rem; }
.matchup-roster-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.5rem; }
.matchup-roster-grid details,
.matchup-history,
.power-week-archive details { border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-off-white); }
.matchup-roster-grid summary,
.matchup-history summary,
.power-week-archive summary { display: flex; min-height: 2.75rem; cursor: pointer; align-items: center; justify-content: space-between; gap: 0.5rem; padding: 0.65rem 0.75rem; color: var(--color-navy); font-size: 0.78rem; font-weight: 900; }
.live-roster-table-wrap { max-height: 18rem; overflow: auto; border-top: 1px solid var(--color-border); }
.live-roster-table-wrap table { width: 100%; border-collapse: collapse; font-size: 0.75rem; }
.live-roster-table-wrap th,
.live-roster-table-wrap td { padding: 0.45rem 0.55rem; border-bottom: 1px solid var(--color-border); text-align: left; }
.matchup-history p,
.matchup-history a { margin: 0; padding: 0 0.75rem 0.75rem; font-size: 0.8rem; }

.record-watch-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.record-watch-alert { padding: 1.2rem; border-left: 0.3rem solid var(--color-gold); background: rgba(255, 255, 255, 0.08); }
.record-watch-alert span { color: var(--color-gold); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.record-watch-alert p { margin: 0.45rem 0; color: var(--color-white); }
.record-watch-alert small { color: rgba(255, 255, 255, 0.68); }
.home-live-card .record-watch-list { grid-template-columns: 1fr; }
.home-live-card .record-watch-alert { background: var(--color-off-white); }
.home-live-card .record-watch-alert p { color: var(--color-text); }
.home-live-card .record-watch-alert small { color: var(--color-muted); }
.live-empty-inline { padding: 1rem; border-left: 0.25rem solid var(--color-gold); background: rgba(100, 116, 139, 0.08); }
.live-empty-inline strong { color: inherit; }
.live-empty-inline p { margin: 0.35rem 0 0; color: inherit; font-size: 0.88rem; opacity: 0.76; }

.live-news-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(18rem, 0.55fr); gap: 2rem; }
.league-wire-list { display: grid; gap: 0.8rem; }
.league-wire-list article { padding: 1.15rem 1.25rem; border: 1px solid var(--color-border); border-left: 0.3rem solid var(--color-gold); background: var(--color-white); }
.league-wire-list article > span { color:var(--league-gold-text); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.league-wire-list h3 { margin: 0.25rem 0; color: var(--color-navy); }
.league-wire-list p { margin: 0 0 0.4rem; }
.weekly-facts { display: grid; gap: 0.55rem; margin: 0; }
.weekly-facts div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.8rem 0; border-bottom: 1px solid var(--color-border); }
.weekly-facts dt { color: var(--color-muted); font-size: 0.76rem; font-weight: 900; letter-spacing: 0.05em; text-transform: uppercase; }
.weekly-facts dd { margin: 0; color: var(--color-navy); font-weight: 900; text-align: right; }
.weekly-facts dd small { display: block; color: var(--color-muted); font-weight: 600; }
.live-community-grid,
.live-week-summary-grid,
.franchise-live__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.live-community-grid > article,
.live-week-summary-grid > article,
.franchise-live__grid > article { min-width: 0; padding: 1.35rem; border: 1px solid var(--color-border); background: var(--color-white); }
.live-power-preview,
.home-standings-top { display: grid; gap: 0; margin: 0 0 1rem; padding: 0; list-style: none; }
.live-power-preview li,
.home-standings-top li { display: grid; grid-template-columns: 2rem 2rem minmax(0, 1fr) auto; gap: 0.55rem; align-items: center; padding: 0.62rem 0; border-bottom: 1px solid var(--color-border); }
.live-power-preview img,
.home-standings-top img { width: 2rem; height: 2rem; border-radius: 50%; object-fit: contain; }
.live-power-preview a,
.home-standings-top a { min-width: 0; overflow-wrap: anywhere; color: var(--color-navy); font-weight: 800; text-decoration: none; }
.season-milestones { display: grid; gap: 0.75rem; margin: 0; padding: 0; list-style: none; }
.season-milestones li { display: grid; grid-template-columns: 7rem 1fr; gap: 1rem; padding: 1rem; border-left: 0.3rem solid var(--color-gold); background: var(--color-off-white); }
.season-milestones span { color: var(--color-muted); font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }
.live-week-hero > .wrap { padding-block: clamp(3rem, 6vw, 5rem); }
.live-week-hero h1 { font-size: clamp(3rem, 7vw, 6rem); }
.live-week-hero__meta { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; margin-top: 1.25rem; color: var(--color-gold); font-size: 0.78rem; font-weight: 900; text-transform: uppercase; }

/* Homepage live modules */
.home-live__freshness { display: grid; justify-items: end; gap: 0.35rem; }
.home-live__freshness .data-state { color: var(--color-green); }
.home-live__freshness time { color: var(--color-muted); font-size: 0.76rem; }
.home-live-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.home-live-card { min-width: 0; padding: 1.25rem; border: 1px solid var(--color-border); border-top: 0.28rem solid var(--color-navy); background: var(--color-white); box-shadow: var(--shadow-sm); }
.home-live-card--featured { grid-column: span 2; border-top-color: var(--color-gold); }
.home-live-card__heading { display: flex; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; }
.home-live-card__heading > span { color: var(--color-muted); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.home-live-card__heading a { font-size: 0.74rem; font-weight: 800; }
.home-live-card h3 { color: var(--color-navy); }
.home-featured-matchup { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 1rem; align-items: center; }
.home-featured-matchup > div { display: grid; grid-template-columns: 3.4rem minmax(0, 1fr) auto; gap: 0.65rem; align-items: center; }
.home-featured-matchup > div:last-child { direction: rtl; text-align: right; }
.home-featured-matchup img { width: 3.4rem; height: 3.4rem; border-radius: 50%; object-fit: contain; }
.home-featured-matchup span { color: var(--color-navy); font-size: 1.5rem; font-weight: 900; }
.home-featured-matchup small { grid-column: 3; color: var(--color-blue); font-size: 0.7rem; font-weight: 800; }
.home-featured-matchup > div:last-child small { grid-column: 1; }
.home-featured-matchup > b { color:var(--league-gold-text); font-family: var(--font-display); }
.home-featured-matchup__status { display: block; margin-top: 0.7rem; color: var(--color-muted); text-align: center; }

/* Power Ranking history chart */
.power-section { padding-block: clamp(3rem, 6vw, 5rem); }
.power-chart__controls { display: flex; flex-wrap: wrap; gap: 0.55rem; align-items: center; margin-bottom: 1rem; }
.power-chart__controls button,
.power-chart__controls select { min-height: 2.75rem; border: 1px solid var(--color-border); border-radius: var(--radius-sm); background: var(--color-white); color: var(--color-navy); font: inherit; font-size: 0.82rem; font-weight: 800; }
.power-chart__controls button { cursor: pointer; padding: 0.55rem 0.8rem; }
.power-chart__controls select { padding: 0.45rem 2rem 0.45rem 0.65rem; }
.power-chart__controls label { color: var(--color-muted); font-size: 0.78rem; font-weight: 800; }
.power-chart__legend { display: flex; flex-wrap: wrap; gap: 0.3rem 0.75rem; margin-bottom: 0.75rem; }
.power-chart__legend button { display: inline-flex; min-height: 2.4rem; cursor: pointer; align-items: center; gap: 0.4rem; padding: 0.35rem 0; border: 0; background: transparent; color: var(--color-muted); font: inherit; font-size: 0.76rem; font-weight: 800; }
.power-chart__legend button span { width: 1.4rem; height: 0.25rem; background: var(--series-color); }
.power-chart__legend button[aria-pressed="true"] { color: var(--color-navy); }
.power-chart__legend button[aria-pressed="false"] span { background: var(--color-border); }
.power-chart__canvas { position: relative; width: 100%; min-width: 0; border: 1px solid var(--color-border); background: var(--color-white); }
.power-chart__canvas svg { display: block; width: 100%; height: auto; overflow: visible; }
.power-chart__grid { stroke: #d9dee5; stroke-width: 1; }
.power-chart__week-line { stroke: #edf0f4; stroke-width: 1; }
.power-chart__tick { fill: #526174; font-size: 12px; font-weight: 700; }
.power-chart__axis-title { fill: #172033; font-size: 12px; font-weight: 900; }
.power-chart__line { fill: none; stroke: var(--series-color); stroke-linecap: round; stroke-linejoin: round; stroke-width: 2.5; vector-effect: non-scaling-stroke; }
.power-chart__point { fill: var(--color-white); stroke: var(--series-color); stroke-width: 3; cursor: pointer; vector-effect: non-scaling-stroke; }
.power-chart__series { transition: opacity 120ms ease; }
.power-chart__series.is-muted { opacity: 0.12; }
.power-chart__tooltip { position: absolute; z-index: 2; display: grid; min-width: 13rem; gap: 0.2rem; padding: 0.7rem 0.8rem; border: 1px solid var(--color-gold); background: var(--color-navy); color: var(--color-white); font-size: 0.75rem; pointer-events: none; box-shadow: var(--shadow-md); }
.power-chart__tooltip[hidden] { display: none; }
.power-chart__tooltip strong { color: var(--color-gold); }
.power-chart__selection { margin: 0.7rem 0 0; color: var(--color-muted); font-size: 0.78rem; }
.power-facts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.8rem; }
.power-facts-grid article { padding: 1.1rem; border: 1px solid var(--color-border); border-top: 0.25rem solid var(--color-gold); background: var(--color-white); }
.power-facts-grid span { color: var(--color-muted); font-size: 0.7rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.power-facts-grid strong { display: block; margin: 0.35rem 0; color: var(--color-navy); font-size: 1.75rem; }
.power-facts-grid p { margin: 0; font-size: 0.82rem; }
.power-week-archive { display: grid; gap: 0.75rem; }

.franchise-live__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.franchise-live__grid > article > span { color:var(--league-gold-text); font-size: 0.72rem; font-weight: 900; letter-spacing: 0.07em; text-transform: uppercase; }
.franchise-live__grid dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.7rem; }
.franchise-live__grid dl div { padding-top: 0.6rem; border-top: 1px solid var(--color-border); }
.franchise-live__grid dt { color: var(--color-muted); font-size: 0.7rem; font-weight: 900; text-transform: uppercase; }
.franchise-live__grid dd { margin: 0.2rem 0 0; color: var(--color-navy); font-weight: 800; }
.franchise-power-trend { width: 100%; margin: 0.5rem 0 1rem; border-block: 1px solid var(--color-border); background: linear-gradient(to bottom, rgba(240, 189, 32, .08), transparent); }
.franchise-power-trend line { stroke: var(--color-gold-dark); stroke-width: 2.5; }
.franchise-power-trend circle { fill: var(--color-white); stroke: var(--color-gold-dark); stroke-width: 2; }

@media (max-width: 1024px) {
  .live-season-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(15rem, 0.42fr); }
  .home-live-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .live-community-grid,
  .live-week-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .power-facts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  .live-season-hero__grid,
  .live-news-grid { grid-template-columns: 1fr; }
  .live-status-card { max-width: 30rem; }
  .live-matchup-grid { grid-template-columns: 1fr; }
  .home-featured-matchup > div { grid-template-columns: 2.6rem minmax(0, 1fr) auto; }
  .home-featured-matchup img { width: 2.6rem; height: 2.6rem; }
}

@media (max-width: 560px) {
  .live-season-hero__grid { padding-block: 3rem; }
  .live-season-hero h1 { font-size: clamp(3rem, 18vw, 4.6rem); }
  .home-live-grid,
  .live-community-grid,
  .live-week-summary-grid,
  .franchise-live__grid,
  .power-facts-grid,
  .record-watch-list { grid-template-columns: 1fr; }
  .home-live-card--featured { grid-column: auto; }
  .home-featured-matchup { grid-template-columns: 1fr; }
  .home-featured-matchup > b { text-align: center; }
  .home-featured-matchup > div:last-child { direction: ltr; text-align: left; }
  .home-featured-matchup > div:last-child small { grid-column: 3; }
  .matchup-roster-grid { grid-template-columns: 1fr; }
  .live-matchup-team { grid-template-columns: minmax(0, 1fr) auto; padding-inline: 0.75rem; }
  .live-matchup-team > a img { width: 2.5rem; height: 2.5rem; }
  .live-matchup-team__numbers { min-width: 4.8rem; }
  .live-matchup-team__numbers strong { font-size: 1.25rem; }
  .season-milestones li { grid-template-columns: 1fr; gap: 0.25rem; }
  .power-chart__controls { align-items: stretch; }
  .power-chart__controls label { width: 100%; }
  .power-chart__controls select { flex: 1 1 10rem; min-width: 0; }
  .power-chart__legend { max-height: 12rem; overflow-y: auto; }
  .franchise-live__grid dl { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .power-chart__series { transition: none; }
}

*, *::before, *::after { box-sizing: border-box; }

html {
  scroll-behavior: smooth;
  background: var(--navy-950);
}

body {
  min-width: 0;
  margin: 0;
  overflow: visible;
  background: var(--cream-100);
  color: var(--slate-900);
  font-family: var(--font-body);
  font-size: 1rem;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
}

img, svg { display: block; max-width: 100%; }
button, input, select, textarea { font: inherit; }
a { color: var(--navy-700); text-underline-offset: .2em; }
a:hover { color: var(--navy-900); }
:focus-visible { outline: 3px solid var(--gold-400); outline-offset: 3px; }

.skip-link {
  position: fixed;
  z-index: 1000;
  top: var(--space-3);
  left: var(--space-3);
  padding: var(--space-3) var(--space-4);
  transform: translateY(-180%);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--navy-900);
  font-weight: 800;
  transition: transform var(--transition);
}
.skip-link:focus { transform: translateY(0); }

.wrap { width: min(calc(100% - 2rem), var(--content-width)); margin-inline: auto; }
.content-section { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.content-section--tight { padding-block: clamp(2.5rem, 5vw, 4.5rem); }
.content-section--navy { position: relative; overflow: hidden; background: var(--navy-900); color: var(--white); }
.content-section--neutral { background: var(--cream-200); }
.content-section--bordered { border-top: 1px solid var(--slate-200); }

/* Site shell */
.site-header {
  position: sticky;
  z-index: 100;
  top: 0;
  border-bottom: 1px solid rgba(255, 255, 255, .1);
  background: var(--navy-900);
  color: var(--white);
  box-shadow: 0 8px 24px rgba(5, 13, 24, .16);
}
.site-header__bar { display: flex; min-height: 5.25rem; align-items: center; justify-content: space-between; gap: var(--space-5); }
.brand { display: inline-flex; min-width: 0; align-items: center; gap: var(--space-3); color: var(--white); text-decoration: none; }
.brand:hover { color: var(--white); }
.brand__mark {
  display: grid;
  width: 3rem;
  height: 3rem;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(240, 189, 32, .75);
  background: linear-gradient(145deg, rgba(240, 189, 32, .2), rgba(240, 189, 32, .04));
  color:var(--league-gold-text);
  font-family: var(--font-display);
  font-size: 1rem;
  letter-spacing: .08em;
  line-height: 1;
  transform: skewX(-5deg);
}
.brand__copy { display: flex; flex-direction: column; line-height: 1.05; }
.brand__name { font-family: var(--font-display); font-size: clamp(1.3rem, 2.3vw, 1.7rem); letter-spacing: .035em; text-transform: uppercase; }
.brand__league { margin-top: .3rem; color: var(--slate-300); font-size: .67rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.site-header__tools { display: flex; align-items: center; gap: var(--space-3); }
.season-chip { display: inline-flex; align-items: center; gap: var(--space-2); color: var(--slate-200); font-size: .78rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.season-chip__dot { width: .5rem; height: .5rem; border-radius: 50%; background: var(--gold-400); box-shadow: 0 0 0 4px rgba(240, 189, 32, .12); }
.site-nav-shell { border-top: 1px solid rgba(255, 255, 255, .08); background: var(--navy-850); }
.site-nav { display: flex; min-height: 3.1rem; align-items: stretch; gap: clamp(.8rem, 1.75vw, 1.65rem); }
.site-nav a { position: relative; display: inline-flex; align-items: center; color: var(--slate-300); font-size: .77rem; font-weight: 800; letter-spacing: .055em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.site-nav a::after { position: absolute; right: 0; bottom: -1px; left: 0; height: 3px; transform: scaleX(0); background: var(--gold-400); content: ""; transition: transform var(--transition); }
.site-nav a:hover, .site-nav a[aria-current="page"] { color: var(--white); }
.site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleX(1); }
.mobile-yahoo-link { display: none !important; }
.nav-toggle { display: none; min-width: 3rem; min-height: 3rem; align-items: center; justify-content: center; gap: var(--space-2); border: 1px solid rgba(255, 255, 255, .24); border-radius: var(--radius-sm); background: transparent; color: var(--white); cursor: pointer; }
.nav-toggle__label { font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.nav-toggle__icon { display: grid; width: 1.15rem; gap: .23rem; }
.nav-toggle__icon span { display: block; height: 2px; background: currentColor; transition: transform var(--transition), opacity var(--transition); }
.nav-is-open .nav-toggle__icon span:nth-child(1) { transform: translateY(.31rem) rotate(45deg); }
.nav-is-open .nav-toggle__icon span:nth-child(2) { opacity: 0; }
.nav-is-open .nav-toggle__icon span:nth-child(3) { transform: translateY(-.31rem) rotate(-45deg); }

/* Buttons and headings */
.button { display: inline-flex; min-height: 3rem; align-items: center; justify-content: center; gap: var(--space-2); padding: .8rem 1.2rem; border: 1px solid transparent; border-radius: var(--radius-sm); font-size: .82rem; font-weight: 850; letter-spacing: .055em; line-height: 1.1; text-align: center; text-decoration: none; text-transform: uppercase; transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition); }
.button:hover { transform: translateY(-2px); }
.button--gold { background: var(--gold-400); color: var(--navy-950); }
.button--gold:hover { background: var(--gold-300); color: var(--navy-950); }
.button--light { background: var(--white); color: var(--navy-900); }
.button--light:hover { background: var(--cream-200); color: var(--navy-900); }
.button--outline-light { border-color: rgba(255, 255, 255, .42); background: rgba(255, 255, 255, .03); color: var(--white); }
.button--outline-light:hover { border-color: var(--gold-400); color:var(--league-gold-text); }
.button--compact { min-height: 2.55rem; padding: .65rem .9rem; font-size: .72rem; }
.eyebrow { margin: 0 0 var(--space-3); color:var(--league-gold-text); font-size: .73rem; font-weight: 900; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow--dark { color:var(--league-gold-text); }

/* Homepage hero */
.home-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: min(44rem, calc(100vh - 8rem));
  background: linear-gradient(90deg, rgba(5, 13, 24, .98), rgba(7, 20, 38, .93) 52%, rgba(7, 20, 38, .62)), repeating-linear-gradient(90deg, transparent 0 7.9%, rgba(255, 255, 255, .03) 8% 8.1%), linear-gradient(135deg, var(--navy-800), var(--navy-950));
  color: var(--white);
}
.home-hero::before, .home-hero::after { position: absolute; z-index: -1; content: ""; pointer-events: none; }
.home-hero::before { top: -12rem; right: -8rem; width: 38rem; height: 38rem; border: 1px solid rgba(240, 189, 32, .18); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(240, 189, 32, .025), 0 0 0 8rem rgba(240, 189, 32, .018); }
.home-hero::after { right: 0; bottom: 0; left: 0; height: 4px; background: linear-gradient(90deg, transparent, var(--gold-400), transparent); }
.home-hero__inner { display: grid; min-height: inherit; align-items: center; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.25fr) minmax(18rem, .75fr); padding-block: clamp(4.5rem, 10vw, 8rem); }
.home-hero h1, .page-hero h1 { margin: 0; font-family: var(--font-display); font-size: clamp(3.7rem, 9.5vw, 8.5rem); font-weight: 900; letter-spacing: .015em; line-height: .88; text-transform: uppercase; }
.home-hero h1 span { display: block; color:var(--league-gold-text); font-size: .38em; letter-spacing: .12em; line-height: 1.2; }
.home-hero__lede { max-width: 42rem; margin: var(--space-5) 0 0; color: var(--slate-200); font-size: clamp(1.08rem, 2vw, 1.35rem); line-height: 1.55; }
.home-hero__meta { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-5); color: var(--slate-300); font-size: .78rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.home-hero__meta::before { width: 2.75rem; height: 2px; background: var(--gold-400); content: ""; }
.hero-actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }

/* News ticker */
.news-strip { border-bottom: 1px solid var(--slate-200); background: var(--white); }
.news-strip__inner { display: grid; min-height: 3.65rem; align-items: stretch; grid-template-columns: auto minmax(0, 1fr); }
.news-strip__title { display: inline-flex; align-items: center; gap: var(--space-2); padding-right: var(--space-5); color: var(--navy-900); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; white-space: nowrap; }
.news-strip__title::before { width: .48rem; height: .48rem; border-radius: 50%; background: var(--gold-500); box-shadow: 0 0 0 4px rgba(240, 189, 32, .13); content: ""; }
.ticker-viewport { min-width: 0; overflow: hidden; border-left: 1px solid var(--slate-200); mask-image: linear-gradient(90deg, transparent, #000 2rem, #000 calc(100% - 2rem), transparent); }
.ticker { display: flex; width: max-content; min-height: 100%; align-items: center; animation: ticker-scroll 65s linear infinite; white-space: nowrap; }
.ticker:hover, .ticker:focus-within { animation-play-state: paused; }
.ticker__item { display: inline-flex; align-items: center; gap: var(--space-3); padding-inline: var(--space-5); }
.ticker__item::after { width: .25rem; height: .25rem; margin-left: var(--space-3); border-radius: 50%; background: var(--slate-300); content: ""; }
.ticker__source { color:var(--league-gold-text); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ticker a { color: var(--slate-900); font-size: .9rem; font-weight: 700; text-decoration: none; }
.ticker a:hover { text-decoration: underline; }
.news-empty { display: flex; min-height: 100%; align-items: center; padding-inline: var(--space-5); color: var(--slate-600); font-size: .9rem; }
@keyframes ticker-scroll { to { transform: translateX(-50%); } }

/* Section and panel components */
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-6); }
.section-heading h2 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.35rem, 5vw, 4.25rem); letter-spacing: .015em; line-height: .95; text-transform: uppercase; }
.section-heading p:not(.eyebrow) { max-width: 43rem; margin: var(--space-3) 0 0; color: var(--slate-600); }
.content-section--navy .section-heading h2 { color: var(--white); }
.content-section--navy .section-heading p:not(.eyebrow) { color: var(--slate-300); }
.text-link { display: inline-flex; flex: 0 0 auto; align-items: center; gap: var(--space-2); color: var(--navy-700); font-size: .78rem; font-weight: 900; letter-spacing: .07em; text-decoration: none; text-transform: uppercase; }
.text-link:hover { color:var(--league-gold-text); }
.content-section--navy .text-link { color:var(--league-gold-text); }
.season-grid { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1.45fr) minmax(19rem, .55fr); }
.panel { border: 1px solid var(--slate-200); background: var(--white); box-shadow: var(--shadow-sm); }
.panel__header { display: flex; min-height: 4.25rem; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4) var(--space-5); border-bottom: 1px solid var(--slate-200); }
.panel__header h3 { margin: 0; color: var(--navy-900); font-size: .82rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.panel__meta { color: var(--slate-600); font-size: .76rem; font-weight: 750; }

/* Draft countdown */
.draft-panel { position: relative; isolation: isolate; overflow: hidden; padding: clamp(1.8rem, 5vw, 3.25rem); border: 1px solid rgba(240, 189, 32, .35); background: linear-gradient(135deg, var(--navy-800), var(--navy-950)); color: var(--white); box-shadow: var(--shadow-md); }
.draft-panel::after { position: absolute; z-index: -1; top: -8rem; right: -8rem; width: 20rem; height: 20rem; border: 1px solid rgba(240, 189, 32, .16); border-radius: 50%; box-shadow: 0 0 0 3rem rgba(240, 189, 32, .025); content: ""; }
.draft-panel h3 { margin: 0; font-family: var(--font-display); font-size: clamp(2.3rem, 5vw, 4.2rem); letter-spacing: .02em; line-height: .95; text-transform: uppercase; }
.draft-panel__description { max-width: 38rem; margin: var(--space-4) 0 var(--space-6); color: var(--slate-300); }
.countdown-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.countdown-unit { padding: var(--space-4); border-top: 2px solid var(--gold-400); background: rgba(255, 255, 255, .07); text-align: center; }
.countdown-unit__value { display: block; color: var(--white); font-family: var(--font-display); font-size: clamp(2rem, 5vw, 3.5rem); letter-spacing: .04em; line-height: 1; }
.countdown-unit__label { display: block; margin-top: var(--space-2); color: var(--slate-300); font-size: .62rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.countdown-status { margin: var(--space-5) 0 0; color:var(--league-gold-text); font-weight: 800; }
.countdown.is-tba .countdown-grid, .countdown.is-complete .countdown-grid { display: none; }
.league-brief { display: grid; padding: var(--space-5); align-content: space-between; border: 1px solid var(--slate-200); background: var(--white); }
.league-brief__season { color: var(--gold-500); font-family: var(--font-display); font-size: clamp(4.5rem, 9vw, 7rem); line-height: .9; }
.league-brief h3 { margin: var(--space-4) 0 var(--space-2); color: var(--navy-900); font-family: var(--font-display); font-size: 1.8rem; letter-spacing: .02em; text-transform: uppercase; }
.league-brief p { margin: 0 0 var(--space-5); color: var(--slate-600); }

/* Standings */
.table-scroll { max-width: 100%; overflow-x: auto; scrollbar-color: var(--gold-500) var(--slate-100); }
.standings-table, .roster-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.standings-table { min-width: 43rem; }
.standings-table th { padding: .8rem .9rem; border-bottom: 1px solid var(--slate-300); background: var(--slate-100); color: var(--slate-600); font-size: .66rem; font-weight: 900; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.standings-table th:nth-child(2), .standings-table td:nth-child(2) { text-align: left; }
.standings-table td { padding: .85rem .9rem; border-bottom: 1px solid var(--slate-200); text-align: right; }
.standings-table tbody tr:last-child td { border-bottom: 0; }
.standings-table tbody tr:hover { background: #fbfaf6; }
.standings-table .rank-cell { position: relative; width: 3.25rem; color: var(--navy-900); font-family: var(--font-display); font-size: 1.35rem; text-align: center; }
.standings-table tr.rank-highlight .rank-cell::before { position: absolute; top: 20%; bottom: 20%; left: 0; width: 3px; background: var(--gold-500); content: ""; }
.standings-team { min-width: 12rem; color: var(--navy-900); font-weight: 850; }
.standings-record { color: var(--slate-900); font-weight: 750; }
.standings-points { color: var(--slate-600); }

/* Matchups and rosters */
.matchup-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.matchup-card { min-width: 0; border: 1px solid rgba(255, 255, 255, .14); background: var(--navy-850); box-shadow: 0 12px 30px rgba(0, 0, 0, .2); }
.matchup-card__header { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); border-bottom: 1px solid rgba(255, 255, 255, .12); color: var(--slate-300); font-size: .67rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.matchup-card__type { color:var(--league-gold-text); }
.matchup-team { display: grid; min-height: 5.8rem; align-items: center; gap: var(--space-4); padding: var(--space-4); border-bottom: 1px solid rgba(255, 255, 255, .09); grid-template-columns: minmax(0, 1fr) auto; }
.matchup-team.is-winner { background: linear-gradient(90deg, rgba(240, 189, 32, .12), transparent 55%); }
.matchup-team__name { display: flex; min-width: 0; align-items: center; gap: var(--space-3); color: var(--white); font-weight: 850; }
.matchup-team__seed { display: grid; width: 2rem; height: 2rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(255, 255, 255, .22); color: var(--slate-300); font-size: .7rem; font-weight: 900; }
.matchup-team.is-winner .matchup-team__seed { border-color: var(--gold-400); color:var(--league-gold-text); }
.matchup-team__score-wrap { text-align: right; }
.matchup-team__score { display: block; color: var(--white); font-family: var(--font-display); font-size: 2.15rem; letter-spacing: .03em; line-height: 1; }
.matchup-team.is-winner .matchup-team__score { color:var(--league-gold-text); }
.matchup-team__projection { display: block; margin-top: var(--space-1); color: var(--slate-400); font-size: .67rem; }
.matchup-card__rosters { padding: var(--space-3) var(--space-4) var(--space-4); }
.roster-disclosure { border-bottom: 1px solid rgba(255, 255, 255, .1); }
.roster-disclosure:last-child { border-bottom: 0; }
.roster-disclosure summary { display: flex; min-height: 2.9rem; align-items: center; justify-content: space-between; gap: var(--space-3); color: var(--slate-300); cursor: pointer; font-size: .72rem; font-weight: 850; letter-spacing: .04em; list-style: none; text-transform: uppercase; }
.roster-disclosure summary::-webkit-details-marker { display: none; }
.roster-disclosure summary:hover { color: var(--white); }
.roster-disclosure__toggle { position: relative; width: .9rem; height: .9rem; flex: 0 0 auto; }
.roster-disclosure__toggle::before, .roster-disclosure__toggle::after { position: absolute; top: 50%; right: 0; left: 0; height: 1px; background: var(--gold-400); content: ""; }
.roster-disclosure__toggle::after { transform: rotate(90deg); transition: transform var(--transition); }
.roster-disclosure[open] .roster-disclosure__toggle::after { transform: rotate(0); }
.roster-table-wrap { overflow-x: auto; padding-bottom: var(--space-3); }
.roster-table { min-width: 31rem; color: var(--slate-200); font-size: .78rem; }
.roster-table th, .roster-table td { padding: .55rem .65rem; border-bottom: 1px solid rgba(255, 255, 255, .08); text-align: left; }
.roster-table th { color: var(--slate-400); font-size: .62rem; letter-spacing: .08em; text-transform: uppercase; }
.position-badge, .status-badge { display: inline-block; min-width: 2.2rem; padding: .15rem .35rem; border: 1px solid rgba(240, 189, 32, .4); color:var(--league-gold-text); font-size: .65rem; font-weight: 900; text-align: center; }
.status-badge { border-color: rgba(255, 255, 255, .2); color: var(--slate-300); }
.roster-empty { margin: 0; padding: 0 0 var(--space-4); color: var(--slate-400); font-size: .82rem; }

/* Empty state, Cup feature, and section cards */
.empty-state { display: flex; min-height: 11rem; align-items: center; gap: var(--space-5); padding: var(--space-6); border: 1px dashed var(--slate-300); background: var(--white); }
.content-section--navy .empty-state { border-color: rgba(255, 255, 255, .2); background: rgba(255, 255, 255, .045); }
.empty-state__mark { display: grid; width: 4.5rem; height: 4.5rem; flex: 0 0 auto; place-items: center; border: 1px solid var(--gold-500); color: var(--gold-500); font-family: var(--font-display); letter-spacing: .06em; transform: skewX(-5deg); }
.empty-state h3 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: 1.65rem; letter-spacing: .02em; text-transform: uppercase; }
.empty-state p { max-width: 38rem; margin: var(--space-2) 0 0; color: var(--slate-600); }
.content-section--navy .empty-state h3 { color: var(--white); }
.content-section--navy .empty-state p { color: var(--slate-300); }
.cup-feature { position: relative; display: grid; overflow: hidden; align-items: center; gap: clamp(2rem, 7vw, 6rem); grid-template-columns: minmax(15rem, .55fr) minmax(0, 1fr); padding: clamp(2rem, 6vw, 5rem); border: 1px solid rgba(240, 189, 32, .5); background: linear-gradient(130deg, #101b2a, var(--navy-950)); color: var(--white); box-shadow: var(--shadow-dark); }
.cup-feature::after { position: absolute; right: -7rem; bottom: -10rem; width: 25rem; height: 25rem; border: 1px solid rgba(240, 189, 32, .13); border-radius: 50%; content: ""; }
.cup-feature h2 { max-width: 34rem; margin: 0; font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6rem); letter-spacing: .02em; line-height: .92; text-transform: uppercase; }
.cup-feature h2 span { color:var(--league-gold-text); }
.cup-feature p:not(.eyebrow) { max-width: 37rem; margin: var(--space-5) 0 var(--space-6); color: var(--slate-300); }
.explore-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.explore-card { position: relative; display: flex; min-height: 17rem; overflow: hidden; flex-direction: column; justify-content: space-between; padding: var(--space-5); border: 1px solid var(--slate-200); background: var(--white); color: var(--slate-900); text-decoration: none; transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition); }
.explore-card::before { position: absolute; top: 0; right: 0; left: 0; height: 3px; transform: scaleX(.18); transform-origin: left; background: var(--gold-500); content: ""; transition: transform var(--transition); }
.explore-card:hover { transform: translateY(-4px); border-color: var(--gold-500); box-shadow: var(--shadow-md); color: var(--slate-900); }
.explore-card:hover::before { transform: scaleX(1); }
.explore-card__number { color: var(--slate-300); font-family: var(--font-display); font-size: 2.7rem; line-height: 1; }
.explore-card h3 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: 1.8rem; letter-spacing: .02em; line-height: 1; text-transform: uppercase; }
.explore-card p { margin: var(--space-3) 0 0; color: var(--slate-600); font-size: .92rem; }
.explore-card__arrow { display: grid; width: 2.5rem; height: 2.5rem; margin-top: var(--space-5); place-items: center; border: 1px solid var(--slate-300); color: var(--navy-800); font-weight: 900; transition: background var(--transition), color var(--transition); }
.explore-card:hover .explore-card__arrow { background: var(--navy-900); color:var(--league-gold-text); }

/* Interior page shells */
.page-hero { position: relative; overflow: hidden; background: linear-gradient(120deg, var(--navy-900), var(--navy-800)); color: var(--white); }
.page-hero::after { position: absolute; right: -8rem; bottom: -11rem; width: 27rem; height: 27rem; border: 1px solid rgba(240, 189, 32, .16); border-radius: 50%; box-shadow: 0 0 0 4rem rgba(240, 189, 32, .02); content: ""; }
.page-hero__inner { display: flex; min-height: 24rem; align-items: end; justify-content: space-between; gap: var(--space-6); padding-block: clamp(4rem, 8vw, 7rem); }
.page-hero--compact .page-hero__inner { min-height: 20rem; }
.page-hero h1 { max-width: 56rem; font-size: clamp(3.5rem, 8vw, 7rem); }
.page-hero__description { max-width: 44rem; margin: var(--space-5) 0 0; color: var(--slate-300); font-size: clamp(1.05rem, 2vw, 1.3rem); }
.page-hero__number { position: relative; z-index: 1; color: rgba(255, 255, 255, .07); font-family: var(--font-display); font-size: clamp(7rem, 17vw, 13rem); line-height: .7; }
.shell-content { width: min(calc(100% - 2rem), var(--content-width)); margin-inline: auto; padding-block: clamp(3rem, 7vw, 6rem); }
.shell-intro-grid { display: grid; gap: var(--space-5); grid-template-columns: minmax(0, 1fr) minmax(17rem, .4fr); }
.migration-card { padding: var(--space-6); border-top: 3px solid var(--gold-500); background: var(--navy-900); color: var(--white); box-shadow: var(--shadow-md); }
.migration-card h2, .prose h2 { margin: 0; color: inherit; font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3rem); letter-spacing: .02em; line-height: 1; text-transform: uppercase; }
.migration-card p { margin: var(--space-4) 0 0; color: var(--slate-300); }
.prose { max-width: var(--narrow-width); }
.prose > :first-child { margin-top: 0; }
.prose h2 { margin-top: var(--space-7); color: var(--navy-900); }
.prose p, .prose li { color: var(--slate-700); }
.muted { color: var(--slate-400); }

/* Franchise presentation lives in franchises.css. */

/* League history */
.history-intro { display: flex; align-items: end; justify-content: space-between; gap: var(--space-6); margin-bottom: var(--space-7); }
.history-intro h2 { max-width: 42rem; margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.8rem, 5vw, 5rem); line-height: .93; text-transform: uppercase; }
.history-intro p:not(.eyebrow) { max-width: 46rem; color: var(--slate-600); }
.season-archive-grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.season-archive-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); grid-template-columns: minmax(11rem, .75fr) minmax(0, 1.25fr); box-shadow: var(--shadow-sm); }
.season-archive-card__image { display: block; min-height: 22rem; background: var(--slate-100); }
.season-archive-card__image img { width: 100%; height: 100%; object-fit: cover; }
.season-archive-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1.4rem, 3vw, 2.5rem); }
.season-archive-card h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2rem, 3vw, 3rem); line-height: .96; text-transform: uppercase; }
.season-archive-card h2 a { color: var(--navy-900); text-decoration: none; }
.season-archive-card__body > p:not(.eyebrow) { color: var(--slate-600); }
.season-archive-card__best { padding-left: var(--space-3); border-left: 2px solid var(--gold-500); font-size: .78rem; }
.season-archive-card__best strong { display: block; color: var(--navy-800); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; }
.season-archive-card__body > div { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: var(--space-5); border-top: 1px solid var(--slate-200); }
.season-archive-card__body > div > span { color: var(--slate-600); font-size: .68rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.champion-roll { display: grid; gap: var(--space-3); }
.champion-roll article { display: grid; align-items: center; gap: var(--space-5); padding: var(--space-5); border-left: 4px solid var(--gold-500); background: var(--white); grid-template-columns: 5rem minmax(0, 1fr) auto; box-shadow: var(--shadow-sm); }
.champion-roll article > span { color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; }
.champion-roll h3, .champion-roll p { margin: 0; }
.champion-roll h3 { color: var(--navy-900); font-size: 1.05rem; }
.champion-roll p { margin-top: var(--space-1); color: var(--slate-600); font-size: .82rem; }
.season-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 82% 20%, rgba(240, 189, 32, .15), transparent 25rem), linear-gradient(115deg, var(--navy-950), var(--navy-800)); color: var(--white); }
.season-hero::before { position: absolute; z-index: -1; top: 50%; left: -4vw; color: rgba(255, 255, 255, .025); content: attr(data-year); font-family: var(--font-display); font-size: 30vw; line-height: 0; }
.season-hero__grid { display: grid; min-height: 42rem; align-items: center; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .65fr); padding-block: clamp(4rem, 8vw, 7rem); }
.season-hero__year { margin: 0 0 var(--space-3); color:var(--league-gold-text); font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6rem); line-height: .8; }
.season-hero h1 { max-width: 52rem; margin: 0; font-family: var(--font-display); font-size: clamp(3.5rem, 8vw, 7.5rem); line-height: .86; text-transform: uppercase; }
.season-hero h1 a { color: inherit; text-decoration: none; }
.season-hero__meta { display: flex; align-items: center; gap: var(--space-4); }
.season-status { display: inline-flex; align-items: center; min-height: 1.8rem; padding: .25rem .65rem; border: 1px solid rgba(240, 189, 32, .55); border-radius: 999px; background: rgba(240, 189, 32, .12); color:var(--league-gold-text); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.season-hero__lede { max-width: 42rem; margin: var(--space-5) 0 0; color: var(--slate-200); font-size: clamp(1rem, 1.6vw, 1.2rem); }
.season-hero__lede a { color:var(--league-gold-text); font-weight: 850; }
.season-hero__actions { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-6); }
.season-hero__identity { position: relative; overflow: hidden; width: min(100%, 32rem); aspect-ratio: 1; justify-self: end; margin: 0; border: 1px solid rgba(240, 189, 32, .55); background: var(--white); box-shadow: var(--shadow-dark); }
.season-hero__identity img { width: 100%; height: 100%; object-fit: cover; }
.season-hero__identity figcaption { position: absolute; right: 0; bottom: 0; left: 0; padding: var(--space-4); background: rgba(5, 13, 24, .9); color:var(--league-gold-text); font-size: .65rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.season-subnav { position: sticky; z-index: 5; top: 0; border-bottom: 1px solid var(--slate-200); background: rgba(255, 255, 255, .96); box-shadow: var(--shadow-sm); }
.season-subnav .wrap { display: flex; overflow-x: auto; gap: var(--space-5); }
.season-subnav a { display: inline-flex; min-height: 3.4rem; align-items: center; border-bottom: 3px solid transparent; color: var(--navy-800); font-size: .7rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; white-space: nowrap; }
.season-subnav a:hover { border-color: var(--gold-500); }
.season-section { scroll-margin-top: 4rem; }
.season-section--tint { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--slate-100); }
.season-section--dark { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--navy-900); color: var(--white); }
.season-story { max-width: 58rem; }
.season-story .narrative-copy, .season-section__intro { max-width: 52rem; }
.narrative-copy p, .season-section__intro { color: var(--slate-600); font-size: 1.05rem; line-height: 1.8; }
.narrative-copy p:first-child { margin-top: 0; }
.narrative-provenance { display: flex; align-items: center; gap: var(--space-2); margin-top: var(--space-5); color: var(--slate-600); font-size: .7rem; font-weight: 800; letter-spacing: .045em; }
.narrative-provenance span { display: inline-grid; width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 50%; background: var(--gold-400); color: var(--navy-950); }
.season-coverage-note { margin-top: var(--space-6); padding: var(--space-5); border-left: 4px solid var(--gold-500); background: #fff8e4; box-shadow: var(--shadow-sm); }
.season-coverage-note strong { color: var(--navy-900); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.season-coverage-note p { margin: var(--space-2) 0 0; color: var(--slate-600); font-size: .86rem; line-height: 1.65; }
.season-numbers { padding-block: clamp(3.5rem, 7vw, 6rem); background: var(--navy-850); color: var(--white); }
.season-numbers .section-heading h2 { color: var(--white); }
.season-numbers .section-heading p:not(.eyebrow) { color: var(--slate-300); }
.season-number-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.season-number-card { display: grid; min-width: 0; align-content: start; gap: var(--space-2); padding: var(--space-5); border: 1px solid rgba(255, 255, 255, .14); background: var(--navy-900); }
.season-number-card--partial { border-color: rgba(240, 189, 32, .55); }
.season-number-card > span { color:var(--league-gold-text); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.season-number-card > strong { overflow-wrap: anywhere; font-family: var(--font-display); font-size: clamp(1.65rem, 2.8vw, 2.45rem); line-height: 1; text-transform: uppercase; }
.season-number-card > small { color: var(--slate-400); font-size: .62rem; }
.section-heading--light h2 { color: var(--white); }
.section-note { color: var(--slate-600); font-size: .74rem; font-weight: 800; }
.history-table-scroll { overflow-x: auto; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.table-scroll-note { display: none; margin: 0 0 var(--space-3); color: var(--slate-600); font-size: .72rem; font-weight: 750; }
.history-table { width: 100%; border-collapse: collapse; color: var(--navy-900); font-variant-numeric: tabular-nums; }
.history-table th, .history-table td { padding: .9rem 1rem; border-bottom: 1px solid var(--slate-200); text-align: right; white-space: nowrap; }
.history-table th:nth-child(2), .history-table td:nth-child(2) { text-align: left; }
.history-table thead { background: var(--navy-900); color: var(--white); font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; }
.history-table tbody tr:last-child th, .history-table tbody tr:last-child td { border-bottom: 0; }
.history-table tbody tr.is-champion { background: rgba(240, 189, 32, .18); }
.history-table tbody a { color: var(--navy-800); font-weight: 850; text-decoration-thickness: 1px; text-underline-offset: .2em; }
.unresolved-label { display: inline-block; margin-left: var(--space-2); padding: .15rem .35rem; background: var(--slate-200); color: var(--slate-600); font-size: .55rem; letter-spacing: .08em; text-transform: uppercase; }
.source-capture { margin-top: var(--space-4); border: 1px solid var(--slate-300); background: var(--white); }
.source-capture summary { padding: var(--space-4); color: var(--navy-800); cursor: pointer; font-size: .75rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.source-capture a, .source-capture img { display: block; }
.source-capture img { width: min(100%, 60rem); margin: 0 auto; }
.bracket-frame { display: block; overflow: hidden; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-md); }
.bracket-frame img { display: block; width: 100%; height: auto; transition: transform .25s ease; }
.bracket-frame:hover img { transform: scale(1.01); }
.data-bracket-scroll { overflow-x: auto; padding: var(--space-4); border: 1px solid var(--slate-300); background: linear-gradient(135deg, var(--slate-100), var(--white)); box-shadow: var(--shadow-md); }
.data-bracket { display: grid; min-width: 58rem; align-items: center; gap: var(--space-5); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.data-bracket__round { display: grid; align-content: center; gap: var(--space-3); }
.data-bracket__round h3 { margin: 0 0 var(--space-2); color: var(--navy-800); font-family: var(--font-display); font-size: 1.35rem; letter-spacing: .03em; text-transform: uppercase; }
.bracket-game, .bracket-bye { position: relative; padding: var(--space-3); border: 1px solid var(--slate-300); border-left: 3px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.bracket-game--final { border-color: var(--gold-500); background: linear-gradient(140deg, rgba(240, 189, 32, .18), var(--white)); }
.bracket-game > span, .bracket-bye > span, .bracket-bye > small { color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.bracket-game > div { display: grid; align-items: center; gap: var(--space-2); padding: .65rem 0; border-top: 1px solid var(--slate-200); grid-template-columns: minmax(0, 1fr) auto; }
.bracket-game > div:first-of-type { margin-top: var(--space-2); }
.bracket-game a { overflow-wrap: anywhere; color: var(--navy-800); font-size: .76rem; font-weight: 800; }
.bracket-game strong { color: var(--slate-600); font-variant-numeric: tabular-nums; }
.bracket-game .is-winner strong { color:var(--league-gold-text); }
.bracket-game em, .playoff-result__team em, .week-matchup__team em { grid-column: 1 / -1; color:var(--league-gold-text); font-size: .58rem; font-style: normal; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.bracket-bye { display: grid; gap: .2rem; }
.bracket-bye strong { color: var(--navy-900); }
.playoff-field { margin-top: var(--space-7); }
.playoff-field h3 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.2rem); text-transform: uppercase; }
.playoff-field__grid { display: grid; gap: var(--space-3); margin-top: var(--space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.playoff-field__grid article { min-width: 0; padding: var(--space-4); border-top: 3px solid var(--gold-500); background: var(--slate-100); }
.playoff-field__grid span { color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.playoff-field__grid h4 { margin: var(--space-2) 0; }
.playoff-field__grid h4 a { color: var(--navy-900); }
.playoff-field__grid strong { color:var(--league-gold-text); font-size: .72rem; text-transform: uppercase; }
.playoff-results { display: grid; gap: var(--space-4); grid-template-columns: repeat(3, minmax(0, 1fr)); }
.playoff-results__heading { margin: var(--space-6) 0 var(--space-3); color: var(--white); font-family: var(--font-display); font-size: clamp(1.5rem, 3vw, 2.25rem); letter-spacing: .03em; text-transform: uppercase; }
.playoff-results__heading:first-of-type { margin-top: 0; }
.playoff-results--placement { margin-top: var(--space-3); }
.season-section__intro--light { margin-top: calc(var(--space-2) * -1); color: var(--slate-300); }
.playoff-result { padding: var(--space-4); border: 1px solid rgba(255, 255, 255, .15); background: var(--navy-850); }
.playoff-result--final { border-color: var(--gold-500); background: linear-gradient(140deg, rgba(240, 189, 32, .12), var(--navy-850)); }
.playoff-result__top { display: flex; justify-content: space-between; margin-bottom: var(--space-3); color:var(--league-gold-text); font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.playoff-result__team { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: .75rem 0; border-top: 1px solid rgba(255, 255, 255, .1); color: var(--slate-300); }
.playoff-result__team span { display: flex; align-items: center; gap: var(--space-2); }
.playoff-result__team small { color: var(--slate-500); font-weight: 900; }
.playoff-result__team.is-winner { color: var(--white); font-weight: 850; }
.playoff-result__team.is-winner strong { color:var(--league-gold-text); }
.playoff-result__team a { color: inherit; }
.playoff-result__team em { color:var(--league-gold-text); }
.playoff-result > p { margin: var(--space-3) 0 0; color: var(--slate-500); font-size: .68rem; }
.playoff-narratives { margin-top: clamp(3rem, 6vw, 5rem); padding-top: var(--space-6); border-top: 1px solid rgba(255, 255, 255, .14); }
.playoff-narratives > div:first-child h3 { margin: 0 0 var(--space-5); color: var(--white); font-family: var(--font-display); font-size: clamp(2rem, 4vw, 3.5rem); text-transform: uppercase; }
.playoff-recap-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.playoff-recap-card { min-width: 0; padding: var(--space-4); border-left: 3px solid var(--gold-500); background: rgba(255, 255, 255, .06); }
.playoff-recap-card > span { color:var(--league-gold-text); font-size: .6rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.playoff-recap-card p { margin: var(--space-2) 0 0; color: var(--slate-200); line-height: 1.65; }
.playoff-recap-card small { display: block; margin-top: var(--space-3); color: var(--slate-400); font-size: .62rem; text-transform: uppercase; }
.championship-feature { display: grid; align-items: center; gap: clamp(2rem, 6vw, 6rem); grid-template-columns: minmax(18rem, .75fr) minmax(0, 1.25fr); }
.championship-feature__copy h2 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.8rem); line-height: .95; text-transform: uppercase; }
.championship-feature__copy p:not(.eyebrow) { color: var(--slate-600); }
.championship-feature__media { display: grid; align-items: stretch; gap: var(--space-4); grid-template-columns: minmax(11rem, .65fr) minmax(0, 1.35fr); }
.championship-feature__media a { display: block; overflow: hidden; min-height: 28rem; border: 1px solid var(--slate-300); background: var(--slate-100); box-shadow: var(--shadow-sm); }
.championship-feature__media img { width: 100%; height: 100%; object-fit: cover; }
.championship-feature__media a:last-child img { object-fit: contain; background: var(--white); }
.championship-scorecard { display: grid; overflow: hidden; border: 1px solid var(--slate-300); background: var(--navy-900); grid-template-columns: repeat(2, minmax(0, 1fr)); box-shadow: var(--shadow-md); }
.championship-scorecard > div { display: grid; min-width: 0; align-content: start; gap: var(--space-2); padding: var(--space-4); color: var(--white); }
.championship-scorecard > div + div { border-left: 1px solid rgba(255, 255, 255, .16); }
.championship-scorecard img { width: 100%; aspect-ratio: 1; margin-bottom: var(--space-2); background: var(--white); object-fit: cover; }
.championship-scorecard span { color:var(--league-gold-text); font-size: .62rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.championship-scorecard strong { overflow-wrap: anywhere; font-size: .92rem; }
.championship-scorecard b { color:var(--league-gold-text); font-family: var(--font-display); font-size: clamp(2.5rem, 6vw, 4.5rem); font-variant-numeric: tabular-nums; }
.week-archive { display: grid; gap: var(--space-3); }
.week-card { overflow: hidden; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.week-card summary { display: flex; min-height: 4.25rem; cursor: pointer; align-items: center; justify-content: space-between; gap: var(--space-4); padding: var(--space-4); color: var(--navy-900); }
.week-card summary span { font-family: var(--font-display); font-size: 1.45rem; text-transform: uppercase; }
.week-card summary strong { color: var(--slate-600); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.week-card[open] summary { background: var(--navy-900); color: var(--white); }
.week-card[open] summary strong { color:var(--league-gold-text); }
.week-card__games { display: grid; gap: 1px; background: var(--slate-200); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.week-matchup { min-width: 0; padding: var(--space-4); background: var(--white); }
.week-matchup__meta { display: flex; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-2); color: var(--slate-600); font-size: .6rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.week-matchup__team { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); padding: .65rem 0; border-top: 1px solid var(--slate-200); }
.week-matchup__team a { overflow-wrap: anywhere; color: var(--slate-600); font-size: .78rem; }
.week-matchup__team > span { display: flex; align-items: center; gap: var(--space-2); }
.week-matchup__team.is-winner a, .week-matchup__team.is-winner strong { color: var(--navy-900); font-weight: 900; }
.week-matchup__team em { color:var(--league-gold-text); }
.week-matchup__notes { display: flex; flex-wrap: wrap; gap: var(--space-2); margin: var(--space-3) 0 0; padding: 0; list-style: none; }
.week-matchup__notes li { padding: .2rem .45rem; border: 1px solid var(--gold-400); border-radius: 999px; color:var(--league-gold-text); font-size: .56rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.season-draft-link { display: grid; align-items: center; gap: clamp(2rem, 6vw, 5rem); grid-template-columns: minmax(0, 1fr) minmax(18rem, .75fr); }
.season-draft-link h2 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.5rem, 5vw, 4.5rem); text-transform: uppercase; }
.season-draft-link p { max-width: 48rem; color: var(--slate-600); line-height: 1.75; }
.season-draft-link__image { display: block; overflow: hidden; max-height: 28rem; border: 1px solid var(--slate-300); background: var(--navy-900); box-shadow: var(--shadow-md); }
.season-draft-link__image img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.team-recap-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.team-recap-card { display: flex; min-width: 0; flex-direction: column; padding: var(--space-5); border-top: 3px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.team-recap-card__header { display: flex; min-width: 0; align-items: center; gap: var(--space-3); }
.team-recap-card__header img, .team-recap-card__unresolved { width: 4.25rem; height: 4.25rem; flex: 0 0 auto; border: 1px solid var(--slate-200); background: var(--slate-100); object-fit: cover; }
.team-recap-card__unresolved { display: grid; place-items: center; color:var(--league-gold-text); font-family: var(--font-display); font-size: 2rem; }
.team-recap-card__header > div { min-width: 0; }
.team-recap-card__header span { color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.team-recap-card h3 { overflow-wrap: anywhere; margin: var(--space-1) 0 0; color: var(--navy-900); font-size: 1rem; }
.team-recap-card > p { margin: var(--space-4) 0 0; color: var(--slate-600); font-size: .86rem; line-height: 1.68; }
.team-recap-card__footer { display: flex; align-items: end; justify-content: space-between; gap: var(--space-3); margin-top: auto; padding-top: var(--space-5); }
.team-recap-card__footer > small { max-width: 11rem; color: var(--slate-500); font-size: .58rem; line-height: 1.4; text-align: right; }

/* Draft archive */
.draft-archive { padding-block: clamp(3.5rem, 7vw, 6.5rem); }
.draft-archive-grid { display: grid; gap: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.draft-season-card { display: grid; min-width: 0; overflow: hidden; border: 1px solid var(--slate-200); background: var(--white); grid-template-columns: minmax(11rem, .8fr) minmax(0, 1.2fr); box-shadow: var(--shadow-sm); }
.draft-season-card__image { position: relative; display: block; min-height: 21rem; overflow: hidden; background: var(--navy-900); }
.draft-season-card__image::after { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(5, 13, 24, .82), transparent 62%); content: ""; }
.draft-season-card__image img { width: 100%; height: 100%; object-fit: cover; object-position: left top; transition: transform .25s ease; }
.draft-season-card__image:hover img { transform: scale(1.02); }
.draft-season-card__image > span { position: absolute; z-index: 1; bottom: var(--space-5); left: var(--space-5); color:var(--league-gold-text); font-family: var(--font-display); font-size: 3.2rem; line-height: 1; }
.draft-season-card__body { display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: clamp(1.4rem, 3vw, 2.5rem); }
.draft-season-card h2 { margin: 0; font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.5rem); line-height: .95; text-transform: uppercase; }
.draft-season-card h2 a { color: var(--navy-900); text-decoration: none; }
.draft-season-card dl { display: flex; flex-wrap: wrap; gap: var(--space-3) var(--space-5); margin: var(--space-5) 0; }
.draft-season-card dl div { display: grid; gap: .15rem; }
.draft-season-card dt { color: var(--slate-600); font-size: .6rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.draft-season-card dd { margin: 0; color: var(--navy-900); font-weight: 900; }
.draft-board { display: grid; gap: var(--space-3); margin-top: var(--space-7); }
.draft-round { overflow: hidden; border: 1px solid var(--slate-200); border-radius: var(--radius-md); background: var(--white); box-shadow: var(--shadow-sm); }
.draft-round summary { display: flex; cursor: pointer; align-items: center; justify-content: space-between; padding: 1rem 1.2rem; color: var(--navy-900); font-family: var(--font-display); font-size: 1.25rem; letter-spacing: .02em; text-transform: uppercase; }
.draft-round summary small { color: var(--slate-600); font-family: var(--font-body); font-size: .7rem; font-weight: 900; letter-spacing: .08em; }
.draft-round[open] summary { border-bottom: 1px solid var(--slate-200); background: var(--navy-900); color: var(--white); }
.draft-round[open] summary small { color:var(--league-gold-text); }
.draft-round .table-scroll { margin: 0; }
.draft-round table { margin: 0; }
.draft-round th:first-child, .draft-round td:first-child { width: 5rem; text-align: center; }
.cup-trophy-feature { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; grid-template-columns: minmax(16rem, .8fr) minmax(0, 1.2fr); padding-block: clamp(3rem, 7vw, 6rem); }
.cup-trophy-feature__photo { position: relative; margin: 0; overflow: hidden; border: .55rem solid var(--white); background: var(--navy-900); box-shadow: var(--shadow-lg); transform: rotate(-1deg); }
.cup-trophy-feature__photo img { display: block; width: 100%; aspect-ratio: 3 / 4; object-fit: cover; }
.cup-trophy-feature__photo figcaption { padding: .85rem 1rem; background: var(--navy-900); color:var(--league-gold-text); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.cup-trophy-feature__story h2 { max-width: 13ch; margin: .35rem 0 1.25rem; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.7rem, 6vw, 5.5rem); line-height: .9; text-transform: uppercase; }
.cup-trophy-feature__story > p:not(.eyebrow) { max-width: 43rem; color: var(--slate-700); font-size: 1.05rem; line-height: 1.75; }
.cup-trophy-feature__facts { display: grid; gap: 1px; margin: 2rem 0 0; overflow: hidden; border: 1px solid var(--slate-200); background: var(--slate-200); grid-template-columns: repeat(3, 1fr); }
.cup-trophy-feature__facts div { padding: 1rem; background: var(--white); }
.cup-trophy-feature__facts dt { color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.cup-trophy-feature__facts dd { margin: .35rem 0 0; color: var(--navy-900); font-weight: 900; }
.cup-banner { overflow: hidden; padding-block: clamp(2rem, 5vw, 4rem); background: var(--navy-900); }
.cup-banner img { display: block; width: min(100%, 58rem); max-height: 34rem; margin-inline: auto; border: .45rem solid rgba(255,255,255,.12); object-fit: cover; object-position: center 38%; box-shadow: var(--shadow-lg); }
.cup-roll { padding-block: clamp(3rem, 7vw, 6rem); }
.draft-hero { position: relative; isolation: isolate; overflow: hidden; background: radial-gradient(circle at 80% 18%, rgba(240, 189, 32, .16), transparent 27rem), linear-gradient(115deg, var(--navy-950), var(--navy-800)); color: var(--white); }
.draft-hero::before { position: absolute; z-index: -1; right: -2vw; bottom: -7vw; color: rgba(255, 255, 255, .025); content: attr(data-year); font-family: var(--font-display); font-size: 26vw; line-height: .75; }
.draft-hero__grid { display: grid; min-height: 40rem; align-items: center; gap: clamp(2rem, 7vw, 7rem); grid-template-columns: minmax(0, 1fr) minmax(20rem, .9fr); padding-block: clamp(4rem, 8vw, 7rem); }
.draft-hero__grid > * { min-width: 0; }
.draft-hero__year { margin: 0 0 var(--space-3); color:var(--league-gold-text); font-family: var(--font-display); font-size: clamp(3rem, 7vw, 6rem); line-height: .8; }
.draft-hero h1 { margin: 0; font-family: var(--font-display); font-size: clamp(4rem, 9vw, 8rem); line-height: .82; text-transform: uppercase; }
.draft-hero__lede { max-width: 38rem; margin: var(--space-5) 0 0; color: var(--slate-200); font-size: clamp(1rem, 1.6vw, 1.2rem); }
.draft-hero__facts { display: flex; flex-wrap: wrap; gap: var(--space-3); margin-top: var(--space-5); }
.draft-hero__facts span { display: grid; min-width: 7rem; gap: .15rem; padding: .7rem 1rem; border-left: 3px solid var(--gold-500); background: rgba(255, 255, 255, .07); color: var(--slate-300); font-size: .63rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.draft-hero__facts strong { color: var(--white); font-size: 1rem; letter-spacing: 0; text-transform: none; }
.draft-hero__preview { position: relative; display: block; overflow: hidden; width: 100%; aspect-ratio: 1.08; border: 1px solid rgba(240, 189, 32, .5); background: var(--white); box-shadow: var(--shadow-dark); }
.draft-hero__preview img { width: 100%; height: 100%; object-fit: cover; object-position: left top; }
.draft-hero__preview > span { position: absolute; right: 0; bottom: 0; left: 0; padding: var(--space-4); background: rgba(5, 13, 24, .92); color:var(--league-gold-text); font-size: .64rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.draft-order-grid { display: grid; margin: 0; padding: 0; gap: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); list-style: none; counter-reset: none; }
.draft-order-entry { display: grid; min-width: 0; min-height: 7.5rem; align-items: center; overflow: hidden; border: 1px solid var(--slate-200); border-left: 4px solid var(--gold-500); background: var(--white); grid-template-columns: 4.5rem 6rem minmax(0, 1fr); box-shadow: var(--shadow-sm); }
.draft-order-entry__slot { color: var(--navy-900); font-family: var(--font-display); font-size: 2.7rem; text-align: center; }
.draft-order-entry img, .draft-order-entry__placeholder { width: 6rem; height: 6rem; object-fit: cover; background: var(--slate-100); }
.draft-order-entry__placeholder { display: grid; place-items: center; color: var(--slate-500); font-family: var(--font-display); font-size: 2rem; }
.draft-order-entry > div { min-width: 0; padding: var(--space-4); }
.draft-order-entry a, .draft-order-entry strong { display: block; overflow-wrap: anywhere; color: var(--navy-900); font-size: .95rem; font-weight: 900; line-height: 1.2; }
.draft-order-entry a { text-decoration-thickness: 1px; text-underline-offset: .18em; }
.draft-order-entry > div span { display: block; margin-top: var(--space-1); overflow-wrap: anywhere; color: var(--slate-600); font-size: .65rem; }
.draft-results-gallery { display: grid; gap: var(--space-5); }
.draft-results-gallery figure { margin: 0; overflow: hidden; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.draft-results-gallery a, .draft-results-gallery img { display: block; }
.draft-results-gallery a { overflow-x: auto; }
.draft-results-gallery img { width: 100%; min-width: min(58rem, 100%); height: auto; }
.draft-results-gallery figcaption { padding: var(--space-3) var(--space-4); border-top: 1px solid var(--slate-200); color: var(--slate-600); font-size: .68rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.draft-recap { display: grid; align-items: center; gap: var(--space-6); grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr) auto; }
.draft-recap h2, .draft-notes-grid h2 { margin: 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.6rem); line-height: .92; text-transform: uppercase; }
.draft-recap > p { color: var(--slate-600); }
.draft-notes-grid { display: grid; align-items: start; gap: var(--space-7); grid-template-columns: minmax(17rem, .7fr) minmax(0, 1.3fr); }
.draft-notes-grid h2 { color: var(--white); }
.draft-notes-grid ul { display: grid; gap: var(--space-3); margin: 0; padding-left: 1.2rem; color: var(--slate-300); }
.draft-back-links { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); }

/* Records and leaderboards */
.records-hero { position: relative; overflow: hidden; border-bottom: 4px solid var(--gold-500); background: radial-gradient(circle at 80% 20%, rgba(240, 189, 32, .14), transparent 26rem), linear-gradient(125deg, var(--navy-950), var(--navy-800)); color: var(--white); }
.records-hero::after { position: absolute; right: -8rem; bottom: -13rem; width: 34rem; height: 34rem; border: 1px solid rgba(255, 255, 255, .08); border-radius: 50%; content: ""; box-shadow: 0 0 0 5rem rgba(255, 255, 255, .018), 0 0 0 10rem rgba(255, 255, 255, .012); }
.records-hero__grid { position: relative; z-index: 1; display: grid; min-height: 35rem; align-items: center; gap: var(--space-7); grid-template-columns: minmax(0, 1.2fr) minmax(21rem, .6fr); }
.records-hero h1 { max-width: 56rem; margin: var(--space-3) 0; font-family: var(--font-display); font-size: clamp(4rem, 8vw, 7.5rem); letter-spacing: .01em; line-height: .82; text-transform: uppercase; }
.records-hero__dek { max-width: 47rem; color: var(--slate-300); font-size: clamp(1rem, 2vw, 1.2rem); }
.records-hero__actions { display: flex; align-items: center; gap: var(--space-5); margin-top: var(--space-5); }
.records-hero .text-link { color:var(--league-gold-text); }
.coverage-scorecard { min-width: 0; padding: var(--space-6); border: 1px solid rgba(240, 189, 32, .5); background: rgba(5, 13, 24, .78); box-shadow: var(--shadow-dark); }
.coverage-scorecard__label { color:var(--league-gold-text); font-size: .67rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.coverage-scorecard > strong { display: block; margin: var(--space-3) 0; color: var(--white); font-family: var(--font-display); font-size: clamp(4.25rem, 8vw, 6.5rem); line-height: .85; }
.coverage-scorecard > strong span { color: var(--gold-500); }
.coverage-scorecard > p { color: var(--slate-300); font-size: .82rem; }
.coverage-scorecard dl { display: grid; margin: var(--space-5) 0 0; border-top: 1px solid rgba(255, 255, 255, .12); grid-template-columns: repeat(3, 1fr); }
.coverage-scorecard dl div { padding: var(--space-4) var(--space-2) 0; border-right: 1px solid rgba(255, 255, 255, .12); }
.coverage-scorecard dl div:first-child { padding-left: 0; }
.coverage-scorecard dl div:last-child { border: 0; }
.coverage-scorecard dt { color: var(--slate-400); font-size: .57rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.coverage-scorecard dd { margin: .25rem 0 0; color: var(--white); font-family: var(--font-display); font-size: 1.6rem; }
.records-jump { position: sticky; z-index: 5; top: 0; border-bottom: 1px solid var(--slate-200); background: rgba(255, 255, 255, .96); }
.records-jump .wrap { display: flex; overflow-x: auto; }
.records-jump a { flex: 0 0 auto; padding: 1rem 1.35rem; color: var(--slate-600); font-size: .68rem; font-weight: 900; letter-spacing: .09em; text-decoration: none; text-transform: uppercase; }
.records-jump a:hover { color: var(--navy-900); background: var(--slate-100); }
.records-section { scroll-margin-top: 4rem; }
.coverage-badge { display: inline-flex; flex: 0 0 auto; align-items: center; min-height: 2rem; padding: .35rem .7rem; border: 1px solid currentColor; font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.coverage-badge--partial { color:var(--league-gold-text); background: #fff8e4; }
.coverage-badge--complete { color:var(--league-gold-text); background: rgba(240, 189, 32, .08); }
.record-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); scrollbar-color: var(--gold-500) var(--slate-100); }
.record-table-wrap:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 2px; }
.record-table { width: 100%; min-width: 58rem; border-collapse: collapse; color: var(--navy-900); font-variant-numeric: tabular-nums; }
.record-table th { padding: .8rem .9rem; border-bottom: 1px solid var(--slate-300); background: var(--slate-100); color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.record-table th button { width: 100%; padding: 0; border: 0; background: transparent; color: inherit; cursor: pointer; font: inherit; letter-spacing: inherit; text-align: inherit; text-transform: inherit; }
.record-table th button:hover, .record-table th button:focus-visible { color: var(--navy-900); text-decoration: underline; text-decoration-color: var(--gold-500); text-underline-offset: .25rem; }
.record-table th[aria-sort="ascending"] button::after { content: "  ↑"; color:var(--league-gold-text); }
.record-table th[aria-sort="descending"] button::after { content: "  ↓"; color:var(--league-gold-text); }
.record-table th:nth-child(2), .record-table td:nth-child(2) { text-align: left; }
.record-table td { padding: .7rem .9rem; border-bottom: 1px solid var(--slate-200); font-size: .8rem; font-weight: 750; text-align: right; white-space: nowrap; }
.record-table tbody tr:last-child td { border-bottom: 0; }
.record-table tbody tr:hover { background: #fbfaf6; }
.record-rank { width: 3.2rem; color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.45rem !important; text-align: center !important; }
.record-team { display: inline-flex; min-width: 13rem; align-items: center; gap: .7rem; color: var(--navy-900); text-decoration: none; white-space: normal; }
.record-team img { width: 2.8rem; height: 2.8rem; border: 1px solid var(--slate-200); object-fit: cover; }
.record-team span { overflow-wrap: anywhere; font-weight: 900; }
.record-more { margin-top: var(--space-3); border: 1px solid var(--slate-300); background: var(--white); }
.record-more summary { padding: var(--space-3) var(--space-4); color: var(--navy-800); cursor: pointer; font-size: .7rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.record-more .record-table-wrap { border-width: 1px 0 0; box-shadow: none; }
.record-source { margin: var(--space-3) 0 0; color: var(--slate-600); font-size: .66rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.record-source--dark { color: var(--slate-400); }
.record-card-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.record-card { min-width: 0; min-height: 14rem; padding: var(--space-5); border-top: 3px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-dark); }
.record-card > p { min-height: 2.4rem; margin: 0; color: var(--slate-600); font-size: .67rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.record-card > strong { display: block; margin: var(--space-4) 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.4rem, 5vw, 4rem); line-height: .8; }
.record-card > div { display: grid; gap: .25rem; }
.record-card > div span { color: var(--slate-600); font-size: .7rem; font-weight: 750; overflow-wrap: anywhere; }
.record-card a { color: var(--navy-700); }
.honor-board-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.honor-board { padding: var(--space-6); border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.honor-board h3, .record-subhead h3 { margin: var(--space-2) 0 var(--space-5); color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: .9; text-transform: uppercase; }
.honor-board > div { display: grid; align-items: center; gap: var(--space-3); padding: .7rem 0; border-top: 1px solid var(--slate-200); grid-template-columns: 2rem minmax(0, 1fr) auto; }
.honor-board__rank { color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.35rem; }
.honor-board a { color: var(--navy-900); font-weight: 900; overflow-wrap: anywhere; }
.honor-board > div strong { font-family: var(--font-display); font-size: 1.6rem; }
.honor-board small { display: block; margin-top: var(--space-4); color: var(--slate-600); font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.record-subhead { display: flex; align-items: end; justify-content: space-between; gap: var(--space-4); margin: var(--space-7) 0 var(--space-4); }
.record-subhead h3 { margin-bottom: 0; }
.record-table--compact { min-width: 44rem; }
.streak-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(5, minmax(0, 1fr)); }
.streak-grid article { display: grid; min-width: 0; min-height: 8rem; align-items: center; gap: var(--space-3); padding: var(--space-4); border: 1px solid var(--slate-300); border-top: 3px solid var(--navy-800); background: var(--white); grid-template-columns: auto minmax(0, 1fr) auto; }
.streak-grid article > span { color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.25rem; }
.streak-grid article div { display: grid; gap: .2rem; min-width: 0; }
.streak-grid a { color: var(--navy-900); font-size: .76rem; font-weight: 900; overflow-wrap: anywhere; }
.streak-grid small { color: var(--slate-600); font-size: .62rem; }
.streak-grid strong { font-family: var(--font-display); font-size: 2rem; }
.records-awaiting { background: var(--slate-100); }
.unavailable-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.unavailable-card { display: grid; min-width: 0; min-height: 9rem; align-items: center; gap: var(--space-4); padding: var(--space-5); border: 1px dashed var(--slate-300); background: var(--white); grid-template-columns: 4rem minmax(0, 1fr); }
.unavailable-card > span { color: var(--slate-300); font-family: var(--font-display); font-size: 3.2rem; text-align: center; }
.unavailable-card h3 { margin: 0 0 var(--space-2); color: var(--navy-900); font-family: var(--font-display); font-size: 1.6rem; text-transform: uppercase; }
.unavailable-card p { margin: 0; color: var(--slate-600); font-size: .8rem; }
.unavailable-card--bench { border-color: var(--gold-500); }
.unavailable-card--bench > span { color: var(--gold-500); }
.record-method { max-width: 52rem; margin: var(--space-6) 0 0; color: var(--slate-600); font-size: .76rem; }
.record-method a { color: var(--navy-700); font-weight: 850; }
.record-subhead--light h3 { color: var(--white); }
.record-table--weekly { min-width: 47rem; }
.record-table--weekly a { color: var(--navy-800); font-weight: 850; }
.record-table--career { min-width: 70rem; }
.record-table--championships, .record-table--franchise-seasons { min-width: 50rem; }
.records-two-column { display: grid; align-items: start; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.records-two-column > * { min-width: 0; }
.record-card-grid--compact .record-card { min-height: 11rem; }
.championship-leader-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.championship-links { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.record-watch-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.record-watch-grid article, .franchise-record-grid article { display: grid; min-width: 0; min-height: 7.5rem; align-content: center; gap: var(--space-2); padding: var(--space-4); border: 1px solid var(--slate-300); border-top: 3px solid var(--gold-500); background: var(--white); }
.record-watch-grid span, .franchise-record-grid span { color: var(--slate-600); font-size: .6rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.record-watch-grid strong, .franchise-record-grid strong { color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; overflow-wrap: anywhere; }
.weekly-record-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.weekly-record-grid > article { min-width: 0; padding: var(--space-5); border: 1px solid var(--slate-300); border-top: 3px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.weekly-record-grid h4 { margin: 0 0 var(--space-4); color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; }
.weekly-record-grid ol { margin: 0; padding: 0; list-style: none; }
.weekly-record-grid li { display: grid; min-width: 0; align-items: center; gap: .65rem; padding: .65rem 0; border-top: 1px solid var(--slate-200); grid-template-columns: 1.8rem minmax(0, 1fr) auto auto; }
.weekly-record-grid li > span { color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.25rem; }
.weekly-record-grid li a { min-width: 0; color: var(--navy-900); font-size: .75rem; font-weight: 900; overflow-wrap: anywhere; }
.weekly-record-grid li strong { color: var(--navy-900); font-variant-numeric: tabular-nums; }
.weekly-record-grid li small { color: var(--slate-600); font-size: .6rem; white-space: nowrap; }
.records-franchise-leaders { background: var(--slate-100); }

/* Historical head-to-head */
.h2h-shell { min-height: 38rem; }
.h2h-shell .section-heading > div { min-width: 0; }
.h2h-shell .section-heading h2 { overflow-wrap: anywhere; }
.h2h-controls { display: grid; align-items: end; gap: var(--space-4); margin-bottom: var(--space-6); padding: var(--space-5); border: 1px solid var(--slate-300); background: var(--slate-100); grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.h2h-controls label { display: grid; gap: var(--space-2); color: var(--navy-900); font-size: .67rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.h2h-controls select { width: 100%; min-height: 3.25rem; padding: .7rem 2.5rem .7rem .85rem; border: 1px solid var(--slate-400); border-radius: 0; background: var(--white); color: var(--navy-900); font: inherit; letter-spacing: 0; text-transform: none; }
.h2h-controls > span { padding-bottom: 1rem; color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.6rem; text-transform: uppercase; }
.h2h-score { display: grid; align-items: center; gap: var(--space-4); padding: var(--space-6); border-top: 4px solid var(--gold-500); background: var(--navy-900); color: var(--white); grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.h2h-score > div { display: grid; gap: var(--space-3); text-align: center; }
.h2h-score a { color: var(--white); font-weight: 900; overflow-wrap: anywhere; }
.h2h-score strong { color:var(--league-gold-text); font-family: var(--font-display); font-size: clamp(3rem, 7vw, 5rem); line-height: .8; }
.h2h-score > span { color: var(--slate-400); font-size: .65rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.h2h-metrics { display: grid; border: 1px solid var(--slate-300); border-top: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.h2h-metrics article { min-width: 0; padding: var(--space-4); border-right: 1px solid var(--slate-300); background: var(--white); }
.h2h-metrics article:last-child { border-right: 0; }
.h2h-metrics span { display: block; color: var(--slate-600); font-size: .58rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.h2h-metrics strong { display: block; margin-top: var(--space-2); color: var(--navy-900); font-family: var(--font-display); font-size: 1.65rem; overflow-wrap: anywhere; }
.h2h-metrics small { display: block; margin-top: .2rem; color: var(--slate-600); font-size: .58rem; }
.h2h-landmarks { display: grid; gap: var(--space-3); grid-template-columns: repeat(5, minmax(0, 1fr)); }
.h2h-landmarks article { min-width: 0; padding: var(--space-4); border: 1px solid var(--slate-300); border-top: 3px solid var(--gold-500); background: var(--white); }
.h2h-landmarks span, .h2h-landmarks small { display: block; color: var(--slate-600); font-size: .58rem; font-weight: 850; letter-spacing: .05em; text-transform: uppercase; }
.h2h-landmarks strong { display: block; margin: var(--space-2) 0; color: var(--navy-900); font-family: var(--font-display); font-size: 1.65rem; }
.h2h-range { color: var(--slate-600); font-size: .7rem; font-weight: 800; }
.h2h-postseason { display: grid; gap: var(--space-5); margin-top: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.h2h-postseason > section { min-width: 0; }
.h2h-postseason h3 { color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; }
.h2h-meetings { margin: 0; padding: 0; border: 1px solid var(--slate-300); background: var(--white); list-style: none; }
.h2h-meetings li { display: grid; align-items: center; gap: var(--space-3); padding: var(--space-4); border-bottom: 1px solid var(--slate-200); grid-template-columns: 8rem minmax(0, 1fr) auto; }
.h2h-meetings li:last-child { border: 0; }
.h2h-meetings span, .h2h-meetings small { color: var(--slate-600); font-size: .65rem; }
.h2h-meetings strong { color: var(--navy-900); overflow-wrap: anywhere; }

/* Franchise historical modules */
.franchise-history__grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.franchise-history__grid article { min-width: 0; padding: var(--space-5); border-top: 3px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.franchise-history__grid article > span { color:var(--league-gold-text); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.franchise-history__grid h3 { margin: var(--space-2) 0 var(--space-4); color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; text-transform: uppercase; }
.franchise-history__grid dl { display: grid; margin: 0; grid-template-columns: repeat(auto-fit, minmax(7rem, 1fr)); }
.franchise-history__grid dl div { min-width: 0; padding: var(--space-3); border: 1px solid var(--slate-200); border-right: 0; }
.franchise-history__grid dl div:last-child { border-right: 1px solid var(--slate-200); }
.franchise-history__grid dt { color: var(--slate-600); font-size: .56rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.franchise-history__grid dd { margin: .35rem 0 0; color: var(--navy-900); font-family: var(--font-display); font-size: 1.35rem; overflow-wrap: anywhere; }
.franchise-record-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(6, minmax(0, 1fr)); }
.franchise-history-columns { display: grid; align-items: start; gap: var(--space-6); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.franchise-history-columns > section { min-width: 0; }
.profile-h2h-list, .profile-championship-list { display: grid; border: 1px solid var(--slate-300); background: var(--white); }
.profile-h2h-list a { display: grid; min-width: 0; align-items: center; gap: var(--space-3); padding: var(--space-3); border-bottom: 1px solid var(--slate-200); color: var(--navy-900); text-decoration: none; grid-template-columns: minmax(0, 1fr) auto auto; }
.profile-h2h-list a:last-child, .profile-championship-list a:last-child { border-bottom: 0; }
.profile-h2h-list span { font-weight: 900; overflow-wrap: anywhere; }
.profile-h2h-list small { color: var(--slate-600); font-size: .62rem; }
.profile-championship-list a { display: flex; justify-content: space-between; gap: var(--space-3); padding: var(--space-3); border-bottom: 1px solid var(--slate-200); color: var(--navy-900); text-decoration: none; }
.franchise-timeline { display: grid; gap: 0; margin: 0; padding: 0; border-left: 3px solid var(--gold-500); list-style: none; }
.franchise-timeline li { display: grid; gap: .2rem; padding: var(--space-3) var(--space-4); border-bottom: 1px solid var(--slate-200); background: var(--white); }
.franchise-timeline span { color: var(--slate-600); font-size: .6rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; }
.franchise-timeline strong { color: var(--navy-900); font-size: .78rem; }

/* League votes, Power Rankings, and picks */
.vote-hero { position: relative; overflow: hidden; border-bottom: 4px solid var(--gold-500); background: linear-gradient(120deg, var(--navy-950) 0%, var(--navy-800) 70%, #26334a 100%); color: var(--white); }
.vote-hero::after { position: absolute; top: -10rem; right: -6rem; width: 34rem; height: 34rem; border: 5rem solid rgba(240, 189, 32, .035); border-radius: 50%; content: ""; }
.vote-hero__grid { position: relative; z-index: 1; display: grid; min-height: 35rem; align-items: center; gap: var(--space-7); grid-template-columns: minmax(0, 1.15fr) minmax(22rem, .65fr); }
.vote-hero h1 { margin: var(--space-3) 0; font-family: var(--font-display); font-size: clamp(5rem, 10vw, 8.5rem); letter-spacing: .01em; line-height: .78; text-transform: uppercase; }
.vote-hero__grid > div > p:not(.eyebrow) { max-width: 48rem; color: var(--slate-300); font-size: 1.08rem; }
.vote-hero__actions { display: flex; align-items: center; gap: var(--space-5); margin-top: var(--space-5); }
.vote-hero .text-link { color:var(--league-gold-text); }
.vote-principles { padding: var(--space-6); border: 1px solid rgba(240, 189, 32, .5); background: rgba(5, 13, 24, .78); box-shadow: var(--shadow-dark); }
.vote-principles > span { color:var(--league-gold-text); font-size: .65rem; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.vote-principles > strong { display: block; margin: var(--space-3) 0 var(--space-5); font-family: var(--font-display); font-size: clamp(2.2rem, 4vw, 3.4rem); line-height: .9; text-transform: uppercase; }
.vote-principles ul { display: grid; gap: var(--space-3); margin: 0; padding: var(--space-4) 0 0; border-top: 1px solid rgba(255, 255, 255, .12); list-style: none; }
.vote-principles li { position: relative; padding-left: 1.25rem; color: var(--slate-300); font-size: .78rem; }
.vote-principles li::before { position: absolute; top: .35rem; left: 0; width: .45rem; height: .45rem; background: var(--gold-500); content: ""; }
.vote-jump { position: sticky; z-index: 5; top: 0; border-bottom: 1px solid var(--slate-200); background: rgba(255, 255, 255, .96); }
.vote-jump .wrap { display: flex; overflow-x: auto; }
.vote-jump a { flex: 0 0 auto; min-height: 3.2rem; padding: 1rem 1.35rem; color: var(--slate-600); font-size: .68rem; font-weight: 900; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.vote-jump a:hover { color: var(--navy-900); background: var(--slate-100); }
.vote-section { scroll-margin-top: 4rem; }
.vote-status-badge { display: inline-flex; align-items: center; min-height: 2rem; padding: .35rem .75rem; border: 1px solid var(--gold-500); color:var(--league-gold-text); background: #fff8e4; font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.community-status { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); margin-bottom: var(--space-5); padding: var(--space-3) var(--space-4); border-left: 4px solid var(--gold-500); background: var(--slate-100); color: var(--slate-600); font-size: .72rem; }
.community-status strong { color: var(--navy-900); text-transform: capitalize; }
.vote-empty { display: grid; min-height: 11rem; align-items: center; gap: var(--space-5); padding: var(--space-6); border: 1px dashed var(--slate-300); background: var(--white); grid-template-columns: 5rem minmax(0, 1fr); }
.vote-empty > span { color: var(--gold-500); font-family: var(--font-display); font-size: 3.6rem; text-align: center; }
.vote-empty h3 { margin: 0 0 var(--space-2); color: var(--navy-900); font-family: var(--font-display); font-size: clamp(1.8rem, 4vw, 2.6rem); text-transform: uppercase; }
.vote-empty p { max-width: 48rem; margin: 0; color: var(--slate-600); }
.vote-empty--dark { border-color: rgba(255, 255, 255, .22); background: rgba(255, 255, 255, .05); }
.vote-empty--dark h3 { color: var(--white); }
.vote-empty--dark p { color: var(--slate-300); }
.poll-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.poll-card { display: flex; min-width: 0; min-height: 20rem; flex-direction: column; align-items: start; padding: var(--space-5); border: 1px solid var(--slate-300); border-top: 4px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.poll-card__meta { display: flex; width: 100%; justify-content: space-between; gap: var(--space-3); color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.poll-card h3 { margin: var(--space-4) 0 var(--space-2); color: var(--navy-900); font-family: var(--font-display); font-size: 2.3rem; line-height: .9; text-transform: uppercase; }
.poll-card > p { color: var(--slate-600); }
.poll-card > .button { margin-top: auto; }
.poll-embed { width: 100%; min-height: 32rem; margin: var(--space-4) 0; border: 1px solid var(--slate-200); background: var(--slate-100); }
.poll-results { display: grid; width: 100%; gap: var(--space-3); margin: var(--space-4) 0; }
.poll-results > div { display: grid; gap: .35rem; }
.poll-results span { display: flex; justify-content: space-between; gap: var(--space-3); font-size: .7rem; }
.poll-results small { color: var(--slate-600); }
.poll-results i { display: block; height: .4rem; background: linear-gradient(90deg, var(--gold-500) var(--result), var(--slate-200) var(--result)); }
.vote-matchup-grid, .pick-card-grid { display: grid; gap: var(--space-4); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.vote-matchup-card { padding: var(--space-5); border: 1px solid rgba(255, 255, 255, .15); background: rgba(255, 255, 255, .05); }
.vote-matchup-card > span, .vote-matchup-card > small { color:var(--league-gold-text); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.vote-matchup-card > div { display: grid; align-items: center; gap: var(--space-3); margin: var(--space-4) 0; grid-template-columns: 1fr auto 1fr; }
.vote-matchup-card a { display: grid; justify-items: center; gap: var(--space-2); color: var(--white); text-align: center; text-decoration: none; }
.vote-matchup-card img { width: 5rem; height: 5rem; border: 1px solid rgba(255, 255, 255, .18); object-fit: cover; }
.vote-matchup-card b { color: var(--gold-500); font-family: var(--font-display); font-size: 1.5rem; }
.community-feature-grid { display: grid; gap: var(--space-5); grid-template-columns: repeat(2, minmax(0, 1fr)); }
.community-feature { display: flex; min-width: 0; min-height: 31rem; flex-direction: column; padding: var(--space-6); border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.community-feature--gold { border-top: 5px solid var(--gold-500); background: #fffdf7; }
.community-feature h2 { margin: var(--space-2) 0 var(--space-5); color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4.2rem); line-height: .85; text-transform: uppercase; }
.feature-empty { margin-bottom: var(--space-5); padding: var(--space-5); border-left: 3px solid var(--gold-500); background: var(--slate-100); }
.feature-empty strong { color: var(--navy-900); font-size: 1.05rem; }
.feature-empty p { margin-bottom: 0; color: var(--slate-600); font-size: .82rem; }
.community-feature > .text-link { margin-top: auto; }
.power-preview, .picks-preview { display: grid; margin: 0 0 var(--space-5); padding: 0; list-style: none; }
.power-preview li { display: grid; align-items: center; gap: var(--space-3); padding: .55rem 0; border-top: 1px solid var(--slate-200); grid-template-columns: 2rem 3rem minmax(0, 1fr) auto; }
.power-preview img { width: 3rem; height: 3rem; object-fit: cover; }
.power-preview a { color: var(--navy-900); font-size: .78rem; font-weight: 900; overflow-wrap: anywhere; }
.picks-preview li { display: grid; gap: var(--space-3); padding: .75rem 0; border-top: 1px solid var(--slate-200); grid-template-columns: 2rem minmax(0, 1fr) auto 3.5rem; }
.vote-archive { background: var(--slate-100); }
.ranking-method { display: grid; align-items: end; gap: var(--space-7); margin-bottom: var(--space-6); grid-template-columns: minmax(0, 1.3fr) minmax(22rem, .7fr); }
.ranking-method h2 { margin: var(--space-2) 0; color: var(--navy-900); font-family: var(--font-display); font-size: clamp(2.6rem, 5vw, 4rem); line-height: .9; text-transform: uppercase; }
.ranking-method > div > p:last-child { max-width: 52rem; color: var(--slate-600); }
.ranking-method dl { display: grid; margin: 0; border: 1px solid var(--slate-300); background: var(--white); grid-template-columns: repeat(3, 1fr); }
.ranking-method dl div { padding: var(--space-4); border-right: 1px solid var(--slate-200); }
.ranking-method dl div:last-child { border: 0; }
.ranking-method dt { color: var(--slate-600); font-size: .58rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.ranking-method dd { margin: .25rem 0 0; color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; }
.vote-table-wrap { max-width: 100%; overflow-x: auto; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); scrollbar-color: var(--gold-500) var(--slate-100); }
.vote-table-wrap:focus-visible { outline: 3px solid var(--gold-500); outline-offset: 2px; }
.vote-table { width: 100%; min-width: 48rem; border-collapse: collapse; color: var(--navy-900); font-variant-numeric: tabular-nums; }
.vote-table th { padding: .8rem .9rem; border-bottom: 1px solid var(--slate-300); background: var(--slate-100); color: var(--slate-600); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.vote-table th:nth-child(2), .vote-table td:nth-child(2) { text-align: left; }
.vote-table td { padding: .7rem .9rem; border-bottom: 1px solid var(--slate-200); font-size: .8rem; font-weight: 750; text-align: right; white-space: nowrap; }
.vote-rank { color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.5rem !important; text-align: center !important; }
.vote-team { display: inline-flex; min-width: 13rem; align-items: center; gap: .7rem; color: var(--navy-900); font-weight: 900; text-decoration: none; white-space: normal; }
.vote-team img { width: 3rem; height: 3rem; object-fit: cover; }
.movement { color: var(--slate-600); }
.movement--up { color: #287247; }
.movement--down { color: #a34135; }
.vote-back-links { display: flex; justify-content: space-between; gap: var(--space-4); margin-top: var(--space-6); }
.pick-card { overflow: hidden; border: 1px solid var(--slate-300); background: var(--white); box-shadow: var(--shadow-sm); }
.pick-card__top { display: flex; justify-content: space-between; gap: var(--space-3); padding: var(--space-3) var(--space-4); background: var(--navy-900); color:var(--league-gold-text); font-size: .62rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.pick-card__teams { display: grid; align-items: center; gap: var(--space-3); padding: var(--space-5); grid-template-columns: 1fr auto 1fr; }
.pick-card__teams > div { display: grid; justify-items: center; gap: var(--space-2); text-align: center; }
.pick-card__teams img { width: 6.5rem; height: 6.5rem; object-fit: cover; }
.pick-card__teams a { color: var(--navy-900); font-size: .82rem; font-weight: 900; overflow-wrap: anywhere; }
.pick-card__teams small { color: var(--slate-600); font-size: .62rem; }
.pick-card__teams b { color:var(--league-gold-text); font-family: var(--font-display); font-size: 1.7rem; }
.pick-card__teams .is-winner { padding: var(--space-2); outline: 2px solid var(--gold-500); }
.picks-table td:nth-child(2) { font-weight: 900; }
.table-scroll-note--light { color: var(--slate-300); }
.pick-week-grid { display: grid; gap: var(--space-3); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pick-week-grid article { display: grid; min-height: 9rem; align-content: center; gap: .25rem; padding: var(--space-4); border: 1px solid var(--slate-300); border-top: 3px solid var(--gold-500); background: var(--white); }
.pick-week-grid span, .pick-week-grid small { color: var(--slate-600); font-size: .62rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.pick-week-grid strong { color: var(--navy-900); font-family: var(--font-display); font-size: 2rem; }
.pick-week-archive { display: grid; gap: var(--space-3); }
.pick-week-archive details { border: 1px solid var(--slate-300); border-left: 4px solid var(--gold-500); background: var(--white); box-shadow: var(--shadow-sm); }
.pick-week-archive summary { display: grid; cursor: pointer; align-items: center; gap: var(--space-3); padding: var(--space-4); color: var(--navy-900); grid-template-columns: minmax(0, 1fr) auto auto; }
.pick-week-archive summary span { font-weight: 900; }
.pick-week-archive summary strong, .pick-week-archive summary small { color: var(--slate-600); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.pick-week-archive__body { padding: 0 var(--space-4) var(--space-4); border-top: 1px solid var(--slate-200); }
.pick-week-archive__body ul { margin: var(--space-3) 0; padding: 0; list-style: none; }
.pick-week-archive__body li { display: flex; justify-content: space-between; gap: var(--space-3); padding: .55rem 0; border-bottom: 1px solid var(--slate-200); font-size: .72rem; }

/* Footer */
.site-footer { border-top: 3px solid var(--gold-500); background: var(--navy-950); color: var(--slate-300); }
.site-footer__grid { display: grid; min-height: 14rem; align-items: center; gap: var(--space-6); grid-template-columns: minmax(0, 1.2fr) auto auto; padding-block: var(--space-6); }
.footer-brand { color: var(--white); font-family: var(--font-display); font-size: 1.65rem; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.site-footer p { margin: var(--space-2) 0 0; font-size: .82rem; }
.site-footer__links { display: grid; gap: var(--space-2); }
.site-footer__links a { color: var(--slate-300); font-size: .78rem; font-weight: 800; text-decoration: none; }
.site-footer__links a:hover { color:var(--league-gold-text); }
.site-footer__meta { text-align: right; }
.site-footer__meta span { color: var(--slate-300); }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; margin: -1px; padding: 0; border: 0; clip: rect(0, 0, 0, 0); white-space: nowrap; }

/* Responsive layout */
@media (max-width: 1100px) {
  .site-nav { gap: 1rem; }
  .site-nav a { font-size: .69rem; }
  .explore-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .retired-grid { grid-template-columns: 1fr; }
  .season-archive-grid { grid-template-columns: 1fr; }
  .playoff-results { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .championship-feature { grid-template-columns: 1fr; }
  .season-draft-link { grid-template-columns: 1fr; }
  .draft-archive-grid { grid-template-columns: 1fr; }
  .draft-hero__grid { gap: var(--space-6); grid-template-columns: minmax(0, 1fr) minmax(18rem, .8fr); }
  .draft-recap { align-items: start; grid-template-columns: minmax(15rem, .7fr) minmax(0, 1.3fr); }
  .draft-recap > .text-link { grid-column: 2; }
  .record-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .records-two-column { grid-template-columns: 1fr; }
  .record-watch-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .streak-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .h2h-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h2h-metrics article { border-bottom: 1px solid var(--slate-300); }
  .h2h-landmarks { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .franchise-history__grid { grid-template-columns: 1fr; }
  .franchise-record-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .vote-matchup-grid, .pick-card-grid { grid-template-columns: 1fr; }
  .pick-week-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .site-header__bar { min-height: 4.6rem; }
  .season-chip, .desktop-yahoo-link { display: none; }
  .nav-is-ready .nav-toggle { display: inline-flex; }
  .site-nav-shell { border-top: 0; }
  .nav-is-ready .site-nav { display: none; }
  .nav-is-ready.nav-is-open .site-nav { display: grid; }
  .site-nav { display: grid; max-height: calc(100vh - 4.6rem); overflow-y: auto; align-items: stretch; gap: 0; padding-block: var(--space-2) var(--space-4); }
  .site-nav a { min-height: 2.8rem; border-bottom: 1px solid rgba(255, 255, 255, .08); font-size: .76rem; }
  .site-nav a::after { top: 20%; right: auto; bottom: 20%; left: -.5rem; width: 3px; height: auto; transform: scaleY(0); }
  .site-nav a:hover::after, .site-nav a[aria-current="page"]::after { transform: scaleY(1); }
  .mobile-yahoo-link { display: inline-flex !important; margin-top: var(--space-2); border: 1px solid rgba(240, 189, 32, .4) !important; color:var(--league-gold-text) !important; justify-content: center; }
  .home-hero { min-height: auto; }
  .home-hero__inner { grid-template-columns: 1fr; }
  .season-grid, .shell-intro-grid { grid-template-columns: 1fr; }
  .league-brief { min-height: 18rem; }
  .cup-feature { grid-template-columns: .45fr 1fr; }
  .site-footer__grid { grid-template-columns: 1fr auto; }
  .site-footer__meta { grid-column: 1 / -1; text-align: left; }
  .season-hero__grid { min-height: auto; grid-template-columns: 1fr; }
  .season-hero__identity { width: min(75vw, 28rem); justify-self: start; }
  .season-number-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-recap-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .draft-hero__grid { min-height: auto; grid-template-columns: 1fr; }
  .draft-hero__preview { width: min(100%, 38rem); }
  .draft-order-grid { grid-template-columns: 1fr; }
  .records-hero__grid { min-height: auto; padding-block: var(--space-7); grid-template-columns: 1fr; }
  .coverage-scorecard { max-width: 40rem; }
  .honor-board-grid { grid-template-columns: 1fr; }
  .championship-leader-grid { grid-template-columns: 1fr; }
  .vote-hero__grid { min-height: auto; padding-block: var(--space-7); grid-template-columns: 1fr; }
  .vote-principles { max-width: 40rem; }
  .community-feature-grid, .ranking-method { grid-template-columns: 1fr; }
}

@media (max-width: 768px) {
  .wrap, .shell-content { width: min(calc(100% - 1.5rem), var(--content-width)); }
  .home-hero h1 { font-size: clamp(3.55rem, 17vw, 6.5rem); }
  .news-strip__inner { grid-template-columns: 1fr; }
  .news-strip__title { min-height: 2.6rem; padding-right: 0; border-bottom: 1px solid var(--slate-200); }
  .ticker-viewport { min-height: 3.3rem; border-left: 0; }
  .section-heading { align-items: start; flex-direction: column; gap: var(--space-4); }
  .matchup-grid { grid-template-columns: 1fr; }
  .cup-feature { grid-template-columns: 1fr; }
  .cup-trophy-feature { grid-template-columns: 1fr; }
  .cup-trophy-feature__photo { width: min(100%, 28rem); margin-inline: auto; }
  .cup-trophy-feature__facts { grid-template-columns: 1fr; }
  .page-hero__number { display: none; }
  .page-hero__inner { min-height: 20rem; }
  .retired-card { grid-template-columns: minmax(11rem, .65fr) minmax(0, 1fr); }
  .retired-card__image { min-height: 22rem; }
  .history-intro { align-items: start; flex-direction: column; }
  .championship-feature__media { grid-template-columns: 1fr 1.6fr; }
  .playoff-field__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .week-card__games { grid-template-columns: 1fr; }
  .draft-recap, .draft-notes-grid { grid-template-columns: 1fr; }
  .draft-recap > .text-link { grid-column: auto; }
  .records-hero__actions { align-items: start; flex-direction: column; }
  .streak-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .h2h-controls { grid-template-columns: 1fr; }
  .h2h-controls > span { padding: 0; text-align: center; }
  .h2h-meetings li { align-items: start; grid-template-columns: 1fr; }
  .h2h-postseason, .franchise-history-columns { grid-template-columns: 1fr; }
  .poll-grid { grid-template-columns: 1fr; }
  .vote-hero__actions { align-items: start; flex-direction: column; }
}

@media (max-width: 560px) {
  .brand__league { display: none; }
  .brand__mark { width: 2.65rem; height: 2.65rem; }
  .brand__name { font-size: 1.15rem; }
  .nav-toggle__label { display: none; }
  .hero-actions { display: grid; grid-template-columns: 1fr; }
  .hero-actions .button { width: 100%; }
  .countdown-grid { gap: var(--space-2); }
  .countdown-unit { padding: var(--space-3) var(--space-1); }
  .countdown-unit__value { font-size: 2rem; }
  .countdown-unit__label { font-size: .53rem; letter-spacing: .08em; }
  .explore-grid { grid-template-columns: 1fr; }
  .explore-card { min-height: 14rem; }
  .empty-state { align-items: start; flex-direction: column; padding: var(--space-5); }
  .empty-state__mark { width: 3.5rem; height: 3.5rem; }
  .matchup-team__name { align-items: start; }
  .site-footer__grid { grid-template-columns: 1fr; }
  .site-footer__meta { grid-column: auto; }
  .retired-card { grid-template-columns: 1fr; }
  .retired-card__image { min-height: auto; aspect-ratio: 1.15; }
  .season-archive-card { grid-template-columns: 1fr; }
  .season-archive-card__image { min-height: auto; aspect-ratio: 1.25; }
  .season-number-grid, .playoff-results, .playoff-recap-grid, .team-recap-grid { grid-template-columns: 1fr; }
  .playoff-field__grid { grid-template-columns: 1fr; }
  .bracket-frame { overflow-x: auto; overscroll-behavior-inline: contain; }
  .bracket-frame img { width: 48rem; max-width: none; }
  .week-card summary { align-items: flex-start; flex-direction: column; gap: var(--space-1); }
  .championship-scorecard { grid-template-columns: 1fr; }
  .championship-scorecard > div + div { border-top: 1px solid rgba(255, 255, 255, .16); border-left: 0; }
  .championship-feature__media { grid-template-columns: 1fr; }
  .championship-feature__media a { min-height: auto; }
  .championship-feature__media img { height: auto; }
  .champion-roll article { align-items: start; grid-template-columns: 4rem minmax(0, 1fr); }
  .champion-roll .text-link { grid-column: 2; }
  .season-hero h1 { font-size: clamp(3rem, 16vw, 5.2rem); }
  .season-hero__identity { width: 100%; }
  .team-recap-card__footer { align-items: start; flex-direction: column; }
  .team-recap-card__footer > small { max-width: none; text-align: left; }
  .table-scroll-note { display: block; }
  .draft-season-card { grid-template-columns: 1fr; }
  .draft-season-card__image { min-height: auto; aspect-ratio: 1.25; }
  .draft-hero h1 { font-size: clamp(3rem, 17vw, 5rem); }
  .draft-hero__preview { aspect-ratio: 1; }
  .draft-order-entry { min-height: 6.3rem; grid-template-columns: 3.25rem 4.75rem minmax(0, 1fr); }
  .draft-order-entry__slot { font-size: 2rem; }
  .draft-order-entry img, .draft-order-entry__placeholder { width: 4.75rem; height: 4.75rem; }
  .draft-order-entry > div { padding: var(--space-3); }
  .draft-back-links { align-items: start; flex-direction: column; }
  .records-hero h1 { font-size: clamp(3.2rem, 17vw, 5.25rem); }
  .coverage-scorecard { padding: var(--space-5); }
  .coverage-scorecard > strong { font-size: clamp(2.8rem, 13vw, 4rem); }
  .coverage-scorecard dl { grid-template-columns: 1fr; }
  .coverage-scorecard dl div, .coverage-scorecard dl div:first-child { padding: var(--space-3) 0; border-right: 0; border-bottom: 1px solid rgba(255, 255, 255, .12); }
  .record-card-grid, .streak-grid, .unavailable-grid { grid-template-columns: 1fr; }
  .record-watch-grid, .franchise-record-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .weekly-record-grid, .franchise-history__grid { grid-template-columns: 1fr; }
  .weekly-record-grid li { grid-template-columns: 1.6rem minmax(0, 1fr) auto; }
  .weekly-record-grid li small { grid-column: 2 / -1; }
  .h2h-score { padding: var(--space-4); grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
  .h2h-metrics { grid-template-columns: 1fr; }
  .h2h-metrics article, .h2h-metrics article:last-child { border-right: 0; }
  .h2h-landmarks { grid-template-columns: 1fr; }
  .franchise-history__grid dl { grid-template-columns: 1fr 1fr; }
  .franchise-history__grid dl div { border-right: 1px solid var(--slate-200); }
  .h2h-shell .section-heading h2 { font-size: clamp(2.25rem, 13vw, 3.4rem); }
  .record-card { min-height: 12rem; }
  .record-subhead { align-items: start; flex-direction: column; }
  .championship-links { align-items: stretch; flex-direction: column; }
  .championship-links .button { width: 100%; }
  .profile-h2h-list a { align-items: start; grid-template-columns: 1fr auto; }
  .profile-h2h-list small { grid-column: 1 / -1; }
  .unavailable-card { grid-template-columns: 3rem minmax(0, 1fr); padding: var(--space-4); }
  .unavailable-card > span { font-size: 2.4rem; }
  .vote-hero h1 { font-size: clamp(4rem, 22vw, 6.5rem); }
  .vote-principles { padding: var(--space-5); }
  .vote-empty { align-items: start; grid-template-columns: 3rem minmax(0, 1fr); padding: var(--space-4); }
  .vote-empty > span { font-size: 2.5rem; }
  .community-feature { min-height: 25rem; padding: var(--space-5); }
  .ranking-method dl { grid-template-columns: 1fr; }
  .ranking-method dl div { border-right: 0; border-bottom: 1px solid var(--slate-200); }
  .pick-card__teams { padding: var(--space-4); }
  .pick-card__teams img { width: 4.75rem; height: 4.75rem; }
  .pick-week-grid { grid-template-columns: 1fr; }
  .vote-back-links { align-items: start; flex-direction: column; }
  .community-status { align-items: start; flex-direction: column; }
  .pick-week-archive summary { align-items: start; grid-template-columns: 1fr auto; }
  .pick-week-archive summary small { grid-column: 1 / -1; }
  .pick-week-archive__body li { align-items: start; flex-direction: column; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; }
  .ticker { width: auto; flex-wrap: wrap; animation: none; white-space: normal; }
  .ticker [aria-hidden="true"] { display: none; }
}

@media print {
  .site-header, .site-footer, .news-strip, .hero-actions { display: none; }
  body { background: var(--white); color: #000; }
}
