:root {
  --ink: #111621;
  --navy: #111b31;
  --blue: #1f5faa;
  --red: #b42c33;
  --paper: #f4f3ef;
  --white: #fff;
  --muted: #69707d;
  --line: #d7d7d1;
  --gold: #c7a35d;
  --max: 1360px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.55; }
a { color: inherit; }
button, a { font: inherit; }
.archive-shell { width: min(var(--max), calc(100% - 64px)); margin-inline: auto; }

.archive-header { height: 76px; padding: 0 clamp(24px,4vw,64px); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 28px; color: white; background: var(--navy); border-bottom: 1px solid rgba(255,255,255,.16); position: relative; z-index: 10; }
.archive-brand { display: inline-flex; align-items: center; gap: 12px; text-decoration: none; font-weight: 700; letter-spacing: .02em; }
.archive-mark { width: 36px; height: 36px; display: inline-grid; place-items: center; border: 1px solid currentColor; border-radius: 50%; font: 400 21px Georgia, serif; }
.archive-header .archive-mark { width: 40px; height: 40px; overflow: hidden; color: transparent; background: url('/reloaders-mark.png') center / 68px auto no-repeat; border: 0; border-radius: 0; font-size: 0; }
.archive-header nav { display: flex; align-items: center; gap: 30px; }
.archive-header nav a { color: rgba(255,255,255,.75); text-decoration: none; font-size: .78rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.archive-header nav a:hover, .archive-header nav a:focus-visible { color: white; }
.latest-link { justify-self: end; color: #dfca95; text-decoration: none; font-size: .79rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.latest-link span { margin-left: 8px; }

.archive-hero { min-height: 690px; position: relative; display: flex; align-items: end; overflow: hidden; color: white; background: #172640; }
.archive-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 50%; }
.archive-hero-shade { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(7,14,27,.95) 0%,rgba(7,14,27,.78) 42%,rgba(7,14,27,.12) 76%),linear-gradient(0deg,rgba(7,14,27,.64),transparent 48%); }
.archive-hero-copy { position: relative; z-index: 1; width: min(820px,82vw); padding: 90px clamp(24px,5vw,78px) 88px; }
.archive-eyebrow, .archive-kicker { margin: 0 0 18px; font-size: .78rem; line-height: 1; font-weight: 750; letter-spacing: .18em; text-transform: uppercase; }
.archive-eyebrow { color: #d9c58f; }
.archive-kicker { color: var(--red); }
.archive-hero h1 { margin: 0; font: 400 clamp(5rem,9vw,9rem)/.84 Georgia,"Times New Roman",serif; letter-spacing: -.065em; }
.archive-hero-copy > p:last-child { max-width: 650px; margin: 34px 0 0; color: rgba(255,255,255,.8); font-size: 1.18rem; }
.archive-hero-year { position: absolute; z-index: 1; right: 4vw; bottom: -5.5vw; color: rgba(255,255,255,.12); font: 400 clamp(14rem,30vw,31rem)/.8 Georgia,serif; letter-spacing: -.08em; }

.archive-facts { max-width: var(--max); margin: -1px auto 0; display: grid; grid-template-columns: repeat(4,1fr); background: white; box-shadow: 0 18px 50px rgba(20,27,41,.12); position: relative; z-index: 2; }
.archive-facts article { min-height: 150px; padding: 28px 34px; display: flex; flex-direction: column; justify-content: center; border-right: 1px solid var(--line); }
.archive-facts article:last-child { border-right: 0; }
.archive-facts strong { font: 400 2.7rem/1 Georgia,serif; }
.archive-facts span { margin-top: 10px; color: var(--muted); font-size: .76rem; font-weight: 750; letter-spacing: .1em; text-transform: uppercase; }

.archive-heading { display: flex; justify-content: space-between; align-items: end; gap: 50px; margin-bottom: 52px; }
.archive-heading h2, .contribution-section h2, .year-copy h2, .missing-copy h2, .contribute-intro h1 { margin: 0; font: 400 clamp(2.8rem,4.7vw,4.9rem)/1 Georgia,serif; letter-spacing: -.045em; }
.archive-heading > p { width: 420px; margin: 0; color: var(--muted); }

.record-section { padding-block: 130px 136px; }
.rivalry-score { display: grid; grid-template-columns: 1fr .72fr 1fr; color: white; background: var(--navy); box-shadow: 0 24px 60px rgba(17,27,49,.16); }
.rivalry-score > div { min-height: 280px; padding: 36px; display: flex; flex-direction: column; justify-content: center; align-items: center; }
.rivalry-score span { font-size: .78rem; font-weight: 750; letter-spacing: .16em; text-transform: uppercase; }
.rivalry-score strong { margin: 15px 0 9px; font: 400 6.2rem/1 Georgia,serif; }
.rivalry-score small { color: rgba(255,255,255,.63); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; }
.rivalry-backs { background: var(--blue); }
.rivalry-forwards { background: var(--red); }
.rivalry-draw { border-block: 1px solid rgba(255,255,255,.12); }
.rivalry-draw strong { font-size: 4.5rem; }

.recent-section { padding-block: 120px 132px; background: white; }
.recent-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 18px; }
.recent-card { min-height: 460px; position: relative; overflow: hidden; display: block; color: white; text-decoration: none; background: #21304b; }
.recent-card > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 54%; transition: transform .5s ease; }
.recent-card:hover > img, .recent-card:focus-visible > img { transform: scale(1.025); }
.recent-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.recent-shade { position: absolute; inset: 0; background: linear-gradient(0deg,rgba(6,12,22,.9),transparent 62%); }
.recent-copy { position: absolute; z-index: 2; left: 30px; right: 30px; bottom: 28px; display: grid; gap: 7px; }
.recent-copy small { color: #dbc895; font-size: .73rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.recent-copy strong { font: 400 2rem/1.06 Georgia,serif; }
.recent-copy b { color: rgba(255,255,255,.65); font-size: .76rem; font-weight: 700; letter-spacing: .05em; }
.recent-type { isolation: isolate; }
.recent-type::before { content: ""; position: absolute; inset: 0; opacity: .42; background: repeating-linear-gradient(125deg,transparent 0 44px,rgba(255,255,255,.08) 45px 46px); }
.recent-2025 { background: linear-gradient(145deg,#325c62,#142d38 64%,#101928); }
.recent-2024 { background: linear-gradient(145deg,#b06d3f,#6f3d2c 60%,#201d27); }
.recent-ghost { position: absolute; right: -18px; top: 4px; color: rgba(255,255,255,.1); font: 400 13rem/.85 Georgia,serif; letter-spacing: -.08em; }

.trips-section { padding-block: 126px 140px; }
.trip-tools { display: grid; justify-items: end; gap: 12px; }
.trip-tools > span { color: var(--muted); font-size: .76rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.trip-filters { display: inline-flex; padding: 5px; background: #e8e9eb; border-radius: 999px; }
.trip-filters button { min-width: 76px; padding: 9px 14px; border: 0; border-radius: 999px; color: #5d6572; background: transparent; cursor: pointer; font-size: .82rem; font-weight: 750; }
.trip-filters button.active { color: white; background: var(--navy); }
.trip-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 10px; }
.trip-row { min-height: 96px; padding: 20px 22px; display: grid; grid-template-columns: 82px 1fr auto auto; align-items: center; gap: 18px; color: inherit; background: white; border: 1px solid #dedfdf; text-decoration: none; }
a.trip-row { transition: transform .2s, border-color .2s, box-shadow .2s; }
a.trip-row:hover, a.trip-row:focus-visible { transform: translateY(-2px); border-color: #aeb3bd; box-shadow: 0 12px 30px rgba(17,27,49,.08); }
.trip-year { font: 400 1.8rem Georgia,serif; }
.trip-place { display: grid; }
.trip-place strong { font-size: .96rem; }
.trip-place small { color: var(--muted); font-size: .72rem; }
.trip-result { padding-left: 15px; border-left: 4px solid #aeb2b8; color: #4f5662; font-size: .82rem; font-weight: 750; white-space: nowrap; }
.trip-row.backs .trip-result { border-color: var(--blue); }
.trip-row.forwards .trip-result { border-color: var(--red); }
.trip-row.draw .trip-result { border-color: var(--gold); }
.trip-open { color: var(--red); font-size: .71rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.archive-note { margin: 20px 0 0; color: var(--muted); font-size: .84rem; }

.destinations-section { padding-block: 120px 140px; color: white; background: #0d1729; }
.destinations-section .archive-kicker { color: #d3b978; }
.destination-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 16px; }
.destination-grid article { min-height: 230px; padding: 28px; position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: space-between; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); }
.destination-grid article::after { content: ""; width: 160px; height: 160px; position: absolute; right: -58px; top: -58px; border: 1px solid rgba(255,255,255,.14); border-radius: 50%; }
.destination-major { grid-row: span 2; }
.destination-grid span { color: rgba(255,255,255,.65); font-size: .76rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.destination-grid strong { font: 400 5rem/1 Georgia,serif; }
.destination-major strong { font-size: 8.5rem; }
.destination-grid p { margin: 0; color: rgba(255,255,255,.66); }

.players-archive-section { padding-block: 126px 142px; }
.people-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.person-card { min-height: 136px; padding: 20px; display: flex; justify-content: space-between; align-items: end; gap: 16px; background: white; border-top: 4px solid #c8cbd0; }
.person-card > div:first-child { display: grid; }
.person-card strong { font: 400 1.35rem Georgia,serif; }
.person-card strong sup { margin-left: 4px; color: var(--red); font: 750 .7rem ui-sans-serif,sans-serif; }
.person-card span { color: var(--muted); font-size: .72rem; }
.person-record { text-align: right; }
.person-record b { display: block; font: 400 1.65rem Georgia,serif; }
.person-record small { display: block; color: var(--muted); font-size: .67rem; white-space: nowrap; }
.person-card.uncertain { border-top-style: dashed; }

.contribution-section { padding-block: 126px; color: white; background: var(--navy); }
.contribution-section .archive-kicker { color: #d9c58f; }
.contribution-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; align-items: start; }
.contribution-layout > div > p:not(.archive-kicker) { max-width: 600px; color: rgba(255,255,255,.65); }
.primary-link { margin-top: 24px; display: inline-flex; align-items: center; gap: 12px; color: white; text-decoration: none; font-size: .8rem; font-weight: 750; letter-spacing: .09em; text-transform: uppercase; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 7px; }
.priority-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(255,255,255,.18); }
.priority-list li { padding: 25px 0; display: grid; grid-template-columns: 54px 1fr; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.18); }
.priority-list > li > span { color: #d9c58f; font: 400 1.1rem Georgia,serif; }
.priority-list div { display: grid; gap: 4px; }
.priority-list strong { font: 400 1.35rem Georgia,serif; }
.priority-list small { color: rgba(255,255,255,.58); }

.archive-footer { padding: 42px clamp(24px,4vw,64px); display: grid; grid-template-columns: 1fr auto 1fr; gap: 24px; align-items: center; color: white; background: #080e19; }
.archive-footer p { margin: 0; color: rgba(255,255,255,.58); font-size: .82rem; }
.archive-footer > a { justify-self: end; color: rgba(255,255,255,.68); text-decoration: none; font-size: .78rem; }

/* Annual archive pages */
.year-hero { min-height: 600px; padding: 90px max(32px,5vw); position: relative; overflow: hidden; display: grid; grid-template-columns: 1.2fr .8fr; align-items: center; gap: 7vw; color: white; }
.year-hero::before { content: ""; position: absolute; inset: 0; opacity: .48; background: repeating-linear-gradient(128deg,transparent 0 64px,rgba(255,255,255,.055) 65px 66px); }
.year-2025 { background: radial-gradient(circle at 72% 35%,rgba(67,136,142,.74),transparent 26%),linear-gradient(145deg,#213f47,#111b31 68%); }
.year-2024 { background: radial-gradient(circle at 76% 28%,rgba(213,152,83,.68),transparent 27%),linear-gradient(145deg,#7c4630,#211c28 70%); }
.year-2018 { background: radial-gradient(circle at 74% 30%,rgba(164,139,72,.72),transparent 27%),linear-gradient(145deg,#173a32,#10192a 70%); }
.historical-hero { background: radial-gradient(circle at 76% 30%,rgba(199,163,93,.42),transparent 27%),linear-gradient(145deg,#1c2c43,#101827 70%); }
.historical-backs { background: radial-gradient(circle at 76% 30%,rgba(50,118,192,.62),transparent 28%),linear-gradient(145deg,#17365c,#101827 72%); }
.historical-forwards { background: radial-gradient(circle at 76% 30%,rgba(181,55,62,.62),transparent 28%),linear-gradient(145deg,#5d222c,#151827 72%); }
.historical-draw { background: radial-gradient(circle at 76% 30%,rgba(199,163,93,.62),transparent 28%),linear-gradient(145deg,#51452c,#111a2d 72%); }
.year-hero-copy, .year-result { position: relative; z-index: 1; }
.year-hero-copy .archive-eyebrow { color: #e3cc98; }
.year-hero h1 { margin: 0; font: 400 clamp(5rem,9vw,9rem)/.86 Georgia,serif; letter-spacing: -.065em; }
.year-hero-copy > p:last-child { max-width: 630px; margin: 28px 0 0; color: rgba(255,255,255,.72); font-size: 1.1rem; }
.year-result { padding: 34px; background: rgba(8,14,26,.62); border: 1px solid rgba(255,255,255,.22); backdrop-filter: blur(10px); }
.year-result span { font-size: .74rem; font-weight: 750; letter-spacing: .15em; text-transform: uppercase; }
.year-result strong { display: block; margin: 12px 0 10px; font: 400 3.3rem/1 Georgia,serif; }
.year-result p { margin: 0; color: rgba(255,255,255,.64); }
.year-facts { max-width: var(--max); margin: 0 auto; display: grid; grid-template-columns: repeat(3,1fr); background: white; box-shadow: 0 18px 50px rgba(20,27,41,.12); }
.year-facts article { padding: 26px 34px; display: grid; gap: 5px; border-right: 1px solid var(--line); }
.year-facts article:last-child { border-right: 0; }
.year-facts span { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.year-facts strong { font: 400 1.65rem Georgia,serif; }
.year-copy { padding-block: 122px 86px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; border-bottom: 1px solid var(--line); }
.year-copy > div:last-child { color: #464d58; font-size: 1.08rem; }
.year-rosters-section { padding-block: 90px 132px; }
.year-rosters { display: grid; grid-template-columns: repeat(2,1fr); gap: 20px; }
.year-team { color: white; }
.year-team.backs { background: var(--blue); }
.year-team.forwards { background: var(--red); }
.year-team h3 { margin: 0; padding: 26px 28px; display: flex; justify-content: space-between; align-items: baseline; font: 400 2rem Georgia,serif; border-bottom: 1px solid rgba(255,255,255,.28); }
.year-team h3 span { font: 750 .68rem ui-sans-serif,sans-serif; letter-spacing: .13em; text-transform: uppercase; opacity: .68; }
.year-person { min-height: 66px; padding: 14px 28px; display: flex; justify-content: space-between; align-items: center; border-bottom: 1px solid rgba(255,255,255,.22); }
.year-person:last-child { border-bottom: 0; }
.year-person strong { font-size: .95rem; }
.year-person small { color: rgba(255,255,255,.7); }
.captain { padding: 3px 7px; border: 1px solid rgba(255,255,255,.5); font-size: .62rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.missing-section { padding-block: 118px; color: white; background: #0d1729; }
.missing-layout { display: grid; grid-template-columns: .85fr 1.15fr; gap: 8vw; align-items: start; }
.missing-copy .archive-kicker { color: #d9c58f; }
.missing-copy > p:last-child { color: rgba(255,255,255,.65); }
.missing-list { display: grid; grid-template-columns: repeat(2,1fr); border-top: 1px solid rgba(255,255,255,.2); border-left: 1px solid rgba(255,255,255,.2); }
.missing-list div { min-height: 132px; padding: 24px; display: grid; align-content: space-between; border-right: 1px solid rgba(255,255,255,.2); border-bottom: 1px solid rgba(255,255,255,.2); }
.missing-list span { color: #d9c58f; font-size: .69rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.missing-list strong { font: 400 1.35rem Georgia,serif; }

.results-section { padding-block: 112px 126px; background: white; }
.results-layout { display: grid; grid-template-columns: .78fr 1.22fr; gap: 7vw; align-items: start; }
.results-intro { position: sticky; top: 28px; }
.results-intro h2, .sessions-section h2 { margin: 0; font: 400 clamp(2.8rem,4.7vw,4.9rem)/1 Georgia,serif; letter-spacing: -.045em; }
.results-intro > p:last-of-type { color: var(--muted); }
.record-check { margin-top: 30px; padding: 22px; border-left: 4px solid var(--gold); background: var(--paper); }
.record-check strong { display: block; margin-bottom: 7px; font: 400 1.25rem Georgia,serif; }
.record-check p { margin: 0; color: #555d69; font-size: .88rem; }
.historical-note { margin-top: 28px; }
.historical-field { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; }
.historical-field > div { min-height: 88px; padding: 20px; display: flex; align-items: end; background: white; border-top: 4px solid #b9bdc4; }
.historical-field strong { font: 400 1.25rem Georgia,serif; }
.table-scroll { overflow-x: auto; }
.individual-table { min-width: 560px; }
.individual-table { width: 100%; border-collapse: collapse; background: var(--paper); }
.individual-table th { padding: 14px 12px; color: var(--muted); border-bottom: 1px solid var(--line); font-size: .68rem; letter-spacing: .11em; text-align: right; text-transform: uppercase; }
.individual-table th:first-child { text-align: left; }
.individual-table td { padding: 13px 12px; border-bottom: 1px solid var(--line); text-align: right; }
.individual-table td:first-child { position: relative; padding-left: 22px; text-align: left; font-weight: 750; }
.individual-table tr.backs td:first-child::before, .individual-table tr.forwards td:first-child::before { content: ""; width: 4px; position: absolute; inset: 9px auto 9px 0; }
.individual-table tr.backs td:first-child::before { background: var(--blue); }
.individual-table tr.forwards td:first-child::before { background: var(--red); }
.individual-table td:last-child { font: 400 1.15rem Georgia,serif; }

.sessions-section { padding-block: 118px 132px; }
.session-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 18px; }
.session-card { background: white; border-top: 5px solid var(--navy); }
.session-card header { padding: 24px 26px 20px; border-bottom: 1px solid var(--line); }
.session-card header span { color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .12em; text-transform: uppercase; }
.session-card h3 { margin: 5px 0 0; font: 400 1.85rem Georgia,serif; }
.match-list { margin: 0; padding: 0; list-style: none; }
.match-list li { min-height: 82px; padding: 17px 26px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.match-list li:last-child { border-bottom: 0; }
.match-list p { margin: 0; color: #444c58; }
.match-list strong { color: var(--navy); font-size: .78rem; letter-spacing: .05em; white-space: nowrap; }
.match-list .halved { color: #7a6740; }
.session-empty { margin: 0; padding: 24px 26px 28px; color: var(--muted); }
.empty-history { max-width: 820px; margin-inline: auto; text-align: center; }
.empty-history h2 { margin: 0; font: 400 clamp(2.8rem,4.7vw,4.9rem)/1 Georgia,serif; letter-spacing: -.045em; }
.empty-history > p:last-child { color: var(--muted); font-size: 1.08rem; }

/* Annual trip media */
.year-media-section { padding-block: 118px 128px; color: white; background: #0d1729; }
.year-media-heading .archive-kicker { color: #d9c58f; }
.year-media-heading > p { color: rgba(255,255,255,.62); }
.year-media-story { display: grid; gap: 18px; }
.year-media-feature, .year-media-card, .year-media-grid a, .year-video-card { position: relative; overflow: hidden; display: block; color: white; background: #16243a; text-decoration: none; }
.year-media-feature { min-height: 540px; }
.year-media-feature img, .year-media-card img, .year-media-grid img, .year-video-card img { width: 100%; height: 100%; display: block; object-fit: cover; transition: transform .45s ease; }
.year-media-feature:hover img, .year-media-feature:focus-visible img, .year-media-card:hover img, .year-media-card:focus-visible img, .year-media-grid a:hover img, .year-media-grid a:focus-visible img, .year-video-card:hover img, .year-video-card:focus-visible img { transform: scale(1.025); }
.year-media-feature:focus-visible, .year-media-card:focus-visible, .year-media-grid a:focus-visible, .year-video-card:focus-visible { outline: 3px solid var(--gold); outline-offset: 4px; }
.year-media-feature > span { position: absolute; left: 26px; bottom: 24px; padding: 7px 11px; background: rgba(8,14,26,.78); font-size: .72rem; font-weight: 750; letter-spacing: .14em; text-transform: uppercase; }
.year-media-highlights { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; }
.year-media-card { aspect-ratio: 1.2; }
.year-media-wide { grid-column: span 2; }
.year-media-complete-heading { margin-top: 58px; padding-top: 30px; display: flex; justify-content: space-between; align-items: baseline; border-top: 1px solid rgba(255,255,255,.2); }
.year-media-complete-heading h3 { margin: 0; font: 400 2.15rem Georgia,serif; }
.year-media-complete-heading span { color: rgba(255,255,255,.56); font-size: .72rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.year-media-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(5,1fr); gap: 10px; }
.year-media-grid a { aspect-ratio: 1.15; }
.year-video-grid { margin-top: 18px; display: grid; grid-template-columns: repeat(auto-fit,minmax(220px,260px)); justify-content: start; gap: 12px; }
.year-video-card { width: 100%; min-height: 0; aspect-ratio: 16 / 10; }
.year-video-card::after { content: "▶"; width: 42px; height: 42px; position: absolute; inset: 50% auto auto 50%; display: grid; place-items: center; color: var(--navy); background: rgba(255,255,255,.9); border-radius: 50%; transform: translate(-50%,-50%); font-size: .78rem; }
.year-video-card span { position: absolute; left: 10px; bottom: 10px; max-width: calc(100% - 20px); padding: 6px 8px; background: rgba(8,14,26,.82); font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.year-media-dialog { width: min(1200px,calc(100vw - 48px)); max-width: none; padding: 0; color: white; background: #070c16; border: 1px solid rgba(255,255,255,.18); box-shadow: 0 30px 90px rgba(0,0,0,.55); }
.year-media-dialog::backdrop { background: rgba(4,8,15,.88); backdrop-filter: blur(5px); }
.year-media-dialog img, .year-media-dialog video { width: 100%; max-height: 88vh; display: block; object-fit: contain; background: #050912; }
.year-media-dialog [hidden] { display: none; }
.year-media-dialog-close { width: 42px; height: 42px; position: absolute; z-index: 2; top: 12px; right: 12px; color: white; background: rgba(8,14,26,.78); border: 1px solid rgba(255,255,255,.4); border-radius: 50%; cursor: pointer; font-size: 1.5rem; line-height: 1; }
.year-media-dialog-previous, .year-media-dialog-next { width: 52px; height: 52px; position: absolute; z-index: 2; top: 50%; display: grid; place-items: center; padding: 0 0 5px; color: white; background: rgba(8,14,26,.76); border: 1px solid rgba(255,255,255,.42); border-radius: 50%; transform: translateY(-50%); cursor: pointer; font: 400 2.65rem/1 Georgia,serif; }
.year-media-dialog-previous { left: 14px; }
.year-media-dialog-next { right: 14px; }
.year-media-dialog-previous:hover, .year-media-dialog-next:hover, .year-media-dialog-previous:focus-visible, .year-media-dialog-next:focus-visible, .year-media-dialog-close:hover, .year-media-dialog-close:focus-visible { color: var(--navy); background: white; }
.year-media-dialog-previous:focus-visible, .year-media-dialog-next:focus-visible, .year-media-dialog-close:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.year-media-dialog-position { position: absolute; z-index: 2; left: 50%; bottom: 12px; padding: 6px 10px; color: white; background: rgba(8,14,26,.76); border-radius: 999px; transform: translateX(-50%); font-size: .75rem; font-weight: 750; letter-spacing: .08em; }

/* Contribution page */
.contribute-intro { padding-block: 116px 94px; display: grid; grid-template-columns: .9fr 1.1fr; gap: 9vw; }
.contribute-intro p { margin: 0; color: var(--muted); font-size: 1.08rem; }
.gaps-section { padding-block: 100px 128px; background: white; }
.gaps-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.gap-card { padding: 28px; background: var(--paper); border-top: 5px solid var(--gold); }
.gap-card.priority { border-color: var(--red); }
.gap-card span { color: var(--muted); font-size: .7rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
.gap-card h3 { margin: 8px 0 18px; font: 400 2rem Georgia,serif; }
.gap-card ul { margin: 0; padding-left: 19px; color: #4f5662; }
.send-section { padding-block: 118px; color: white; background: var(--navy); }
.send-layout { display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; }
.send-layout h2 { margin: 0; font: 400 clamp(2.8rem,4.7vw,4.9rem)/1 Georgia,serif; letter-spacing: -.045em; }
.send-steps { margin: 0; padding: 0; list-style: none; counter-reset: send; }
.send-steps li { padding: 20px 0 20px 48px; position: relative; border-bottom: 1px solid rgba(255,255,255,.2); color: rgba(255,255,255,.72); }
.send-steps li::before { counter-increment: send; content: counter(send,decimal-leading-zero); position: absolute; left: 0; color: #d9c58f; font: 400 1rem Georgia,serif; }

@media (max-width: 1060px) {
  .archive-header { grid-template-columns: 1fr auto; }
  .archive-header nav { display: none; }
  .latest-link { grid-column: 2; }
  .recent-grid { grid-template-columns: 1fr 1fr; }
  .recent-2026 { grid-column: 1 / -1; }
  .trip-grid { grid-template-columns: 1fr; }
  .people-grid { grid-template-columns: repeat(3,1fr); }
  .year-hero { grid-template-columns: 1fr; align-content: end; }
  .year-result { width: min(520px,100%); }
}

@media (max-width: 720px) {
  .archive-shell { width: calc(100% - 36px); }
  .archive-header { height: 66px; padding-inline: 18px; }
  .archive-mark { width: 32px; height: 32px; }
  .archive-header .archive-mark { width: 36px; height: 36px; background-size: 61px auto; }
  .latest-link { font-size: .66rem; }
  .archive-hero { min-height: 610px; }
  .archive-hero-shade { background: linear-gradient(0deg,rgba(7,14,27,.96),rgba(7,14,27,.28)); }
  .archive-hero-copy { width: 100%; padding: 70px 20px 62px; }
  .archive-hero h1 { font-size: clamp(4rem,20vw,6rem); }
  .archive-hero-year { display: none; }
  .archive-facts { grid-template-columns: repeat(2,1fr); box-shadow: none; }
  .archive-facts article { min-height: 120px; padding: 20px; border-bottom: 1px solid var(--line); }
  .archive-facts article:nth-child(2) { border-right: 0; }
  .archive-heading { display: block; margin-bottom: 34px; }
  .archive-heading > p { width: auto; margin-top: 22px; }
  .archive-heading h2, .contribution-section h2, .year-copy h2, .missing-copy h2, .contribute-intro h1 { font-size: 2.75rem; }
  .record-section, .recent-section, .trips-section, .destinations-section, .players-archive-section, .contribution-section { padding-block: 78px; }
  .rivalry-score { grid-template-columns: 1fr; }
  .rivalry-score > div { min-height: 190px; }
  .rivalry-score strong { font-size: 4.8rem; }
  .recent-grid { grid-template-columns: 1fr; }
  .recent-2026 { grid-column: auto; }
  .recent-card { min-height: 390px; }
  .trip-tools { justify-items: start; margin-top: 24px; }
  .trip-filters { width: 100%; }
  .trip-filters button { min-width: 0; flex: 1; padding-inline: 5px; }
  .trip-row { grid-template-columns: 64px 1fr; gap: 10px 14px; }
  .trip-result { grid-column: 2; padding-left: 10px; justify-self: start; }
  .trip-open { grid-column: 2; }
  .destination-grid { grid-template-columns: 1fr; }
  .destination-major { grid-row: auto; }
  .destination-major strong { font-size: 5rem; }
  .people-grid { grid-template-columns: repeat(2,1fr); }
  .person-card { min-height: 150px; display: grid; align-content: space-between; }
  .person-record { text-align: left; }
  .contribution-layout, .year-copy, .missing-layout, .contribute-intro, .send-layout, .results-layout { grid-template-columns: 1fr; gap: 45px; }
  .archive-footer { grid-template-columns: 1fr; }
  .archive-footer > a { justify-self: start; }
  .year-hero { min-height: 620px; padding: 72px 20px 48px; }
  .year-hero h1 { font-size: clamp(4.5rem,22vw,6.8rem); }
  .year-result strong { font-size: 2.7rem; }
  .year-facts { grid-template-columns: 1fr; box-shadow: none; }
  .year-facts article { border-right: 0; border-bottom: 1px solid var(--line); }
  .year-copy { padding-block: 78px 58px; }
  .year-rosters-section, .missing-section, .contribute-intro, .gaps-section, .send-section { padding-block: 78px; }
  .year-rosters, .missing-list, .gaps-grid { grid-template-columns: 1fr; }
  .results-section, .sessions-section { padding-block: 78px; }
  .results-intro { position: static; }
  .session-grid { grid-template-columns: 1fr; }
  .historical-field { grid-template-columns: repeat(2,1fr); }
  .individual-table th, .individual-table td { padding-inline: 8px; }
  .individual-table td:first-child { padding-left: 18px; }
  .year-media-section { padding-block: 78px; }
  .year-media-feature { min-height: 0; aspect-ratio: 4 / 3; }
  .year-media-highlights { grid-template-columns: repeat(2,1fr); }
  .year-media-wide { grid-column: auto; }
  .year-media-complete-heading { margin-top: 40px; }
  .year-media-grid { grid-template-columns: repeat(2,1fr); gap: 8px; }
  .year-video-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .year-video-card { min-height: 0; aspect-ratio: 4 / 3; }
  .year-video-card::after { width: 34px; height: 34px; font-size: .68rem; }
  .year-video-card span { left: 6px; bottom: 6px; max-width: calc(100% - 12px); padding: 5px 6px; font-size: .75rem; letter-spacing: .02em; }
  .year-media-dialog { width: calc(100vw - 24px); }
  .year-media-dialog-previous, .year-media-dialog-next { width: 44px; height: 44px; font-size: 2.2rem; }
  .year-media-dialog-previous { left: 8px; }
  .year-media-dialog-next { right: 8px; }
}

@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } * { transition: none !important; } }
