/* The farewell edition: floodlight black, warm paper and the winners' yellow. */
:root { --bg:#111411; --bg-soft:#171b16; --panel:#1b1f19; --panel-2:#242a21; --line:#393e33; --text:#f2f0e7; --muted:#b0b4a6; --accent:#f2d649; --radius:3px; --radius-sm:2px; --shadow:none; }
html { scroll-behavior:smooth; scroll-padding-top:100px; }
body { background:var(--bg); font-family:'DM Sans','Sora',sans-serif; }
::selection { background:var(--accent); color:var(--bg); }
a { text-underline-offset:5px; }
a, button, select, input { -webkit-tap-highlight-color:transparent; }
:focus-visible { outline:2px solid var(--accent); outline-offset:5px; }
.skip-link { position:fixed; left:16px; top:-70px; z-index:100; background:var(--accent); color:var(--bg); padding:12px 20px; }
.skip-link:focus { top:12px; }
.edition-strip { min-height:34px; display:flex; align-items:center; justify-content:space-between; padding:6px max(4vw,calc((100vw - 1320px)/2)); border-bottom:1px solid var(--line); font-size:9px; font-weight:600; letter-spacing:.14em; color:var(--muted); }
.edition-strip>span:nth-child(2) { color:var(--accent); }
.edition-strip span span { padding-left:9px; }
.site-header { width:min(1320px,92vw); margin:0 auto; min-height:94px; padding:16px 0; border:0; border-bottom:1px solid var(--line); border-radius:0; top:0; background:rgba(17,20,17,.96); gap:24px; backdrop-filter:blur(16px); }
.brand { gap:11px; flex-shrink:0; }
.brand img { width:44px; height:44px; border:0; }
.brand>span { font-family:'Barlow Condensed','Oswald',sans-serif; font-size:26px; font-weight:700; letter-spacing:.02em; line-height:1; }
.brand .brand-sub { display:block; font-family:'DM Sans',sans-serif; font-size:8px; font-weight:500; letter-spacing:.13em; margin-top:7px; color:var(--muted); }
.site-nav { gap:19px; flex-wrap:nowrap; margin-left:auto; }
.site-nav a { font-size:12px; padding:8px 0; border-radius:0; font-weight:500; white-space:nowrap; }
.site-nav a:hover,.site-nav a.active { color:var(--text); background:none; box-shadow:0 1px var(--accent); }
.header-link { color:var(--accent); text-decoration:none; font-size:11px; margin-left:23px; white-space:nowrap; }
.header-link span { padding-left:5px; }
.menu-toggle { border-radius:0; padding:10px 12px; font:inherit; font-size:12px; }
.menu-toggle span { margin-left:15px; color:var(--accent); }
h1,h2,h3 { font-family:'Barlow Condensed','Oswald',sans-serif; font-weight:700; letter-spacing:0; }
main { width:min(1240px,92vw); margin:48px auto 70px; gap:24px; grid-template-columns:minmax(0,1fr); }
main > *, .split > *, .farewell-hero > *, .run-in > *, .story-section > * { min-width:0; }
.title-block { border-bottom:1px solid var(--line); padding:12px 0 30px; background:none; border-radius:0; }
.title-block h1 { font-size:clamp(42px,6vw,76px); text-transform:uppercase; line-height:1; margin:12px 0 16px; }
.title-block>p:last-child { color:var(--muted); max-width:740px; }
.panel,.metric-card,.formation { box-shadow:none; border-radius:3px; }
.metric-card { border-top:2px solid var(--accent); }
.metric-card .metric { font-family:'Barlow Condensed','Oswald',sans-serif; }
.panel h2 { font-size:29px; }
.button { border-radius:2px; background:var(--accent); color:var(--bg); border:1px solid var(--accent); }
.button-outline { background:transparent; color:var(--text); border-color:var(--line); }
.button:hover { background:#ffe66b; color:var(--bg); }
.button-outline:hover { border-color:var(--accent); }
.kicker { color:var(--accent); }
.highlight-row { background:#363820; }
th { color:var(--muted); }
.season-control select,select { color:var(--text); border-color:var(--line); background:var(--panel-2); border-radius:2px; }
.site-footer { width:min(1320px,92vw); padding:32px 0; margin:0 auto; border-top:1px solid var(--line); display:flex; gap:26px; align-items:center; flex-wrap:wrap; }
.footer-club { display:flex; gap:12px; align-items:center; }
.footer-club img { border-radius:50%; width:38px; height:38px; }
.footer-club p { color:var(--text); font-weight:700; font-size:13px; margin:0; }
.footer-club p span { display:block; color:var(--muted); font-size:10px; font-weight:400; margin-top:3px; }
.footer-links { margin-left:auto; display:flex; flex-wrap:wrap; gap:20px; }
.footer-links a { font-size:11px; color:var(--muted); text-decoration:none; }
.footer-links a:hover { color:var(--accent); }
.footer-signoff { width:100%; font-size:9px; color:var(--muted); letter-spacing:.12em; padding-top:10px; }
.farewell-main { width:min(1320px,92vw); margin:0 auto; gap:0; }
.farewell-hero { display:grid; grid-template-columns:minmax(0,.94fr) minmax(0,1.06fr); gap:40px; align-items:center; padding:45px 0 48px; }
.eyebrow { font-size:10px; font-weight:600; letter-spacing:.15em; line-height:1.6; margin:0; }
.farewell-copy .eyebrow { color:var(--muted); margin-bottom:29px; }
.tiny-star { color:var(--accent); margin-right:9px; font-size:14px; }
.farewell-copy h1 { font-size:clamp(64px,7.7vw,111px); font-weight:700; line-height:.94; letter-spacing:-.02em; margin:0 0 26px; }
.farewell-copy h1>span { color:var(--accent); }
.hero-intro { font-size:17px; margin:0 0 10px; }
.hero-description { max-width:355px; color:var(--muted); font-size:14px; line-height:1.8; margin:0 0 27px; }
.edition-button { display:inline-flex; align-items:center; gap:32px; min-height:48px; padding:12px 19px; background:var(--accent); color:#111411; border:1px solid var(--accent); font-size:12px; font-weight:700; text-decoration:none; transition:background .2s,transform .2s; }
.edition-button:hover { background:#ffe875; transform:translateY(-2px); }
.edition-button span { font-size:20px; line-height:1; }
.hero-footnote { display:flex; align-items:center; gap:14px; margin-top:37px; color:var(--muted); font-size:9px; letter-spacing:.12em; line-height:1.8; }
.hero-footnote .rule { width:30px; height:1px; background:var(--line); }
.champions-photo { position:relative; margin:0; align-self:stretch; display:flex; flex-direction:column; }
.champions-photo>img { width:100%; aspect-ratio:1/1; height:auto; object-fit:cover; flex:1; min-height:0; }
.photo-stamp { position:absolute; right:20px; top:20px; border:1px solid rgba(242,214,73,.7); background:rgba(17,20,17,.75); color:var(--accent); padding:12px 15px; font-size:9px; letter-spacing:.13em; line-height:1.7; text-align:center; transform:rotate(4deg); }
.photo-stamp>span { display:block; font-size:17px; }
.photo-stamp strong { font-weight:600; font-size:11px; }
.champions-photo figcaption { display:flex; justify-content:space-between; gap:12px; padding:14px 0 0; color:var(--muted); font-size:8px; letter-spacing:.11em; }
.final-scoreboard { color:#151a10; background:var(--accent); padding:26px 30px; display:grid; grid-template-columns:1fr 2.4fr 1fr; align-items:center; gap:24px; scroll-margin-top:112px; }
.final-context .eyebrow { font-size:9px; font-weight:700; }
.final-context>p:last-child { margin:6px 0 0; font-size:10px; }
.final-match { display:flex; justify-content:center; align-items:center; gap:26px; }
.final-team { font-family:'Barlow Condensed','Oswald',sans-serif; font-size:28px; font-weight:700; line-height:1.1; white-space:nowrap; }
.final-team small { display:block; font-family:'DM Sans',sans-serif; font-size:8px; font-weight:600; letter-spacing:.12em; margin-top:8px; }
.final-score { white-space:nowrap; font-family:'Barlow Condensed','Oswald',sans-serif; font-size:66px; line-height:1; }
.final-score>span { font-weight:400; opacity:.55; }
.score-source { color:inherit; text-align:right; font-size:10px; font-weight:600; text-decoration:none; }
.score-source>span { margin-left:12px; }
.score-source small { display:block; font-weight:400; font-size:8px; letter-spacing:.06em; margin-top:8px; }
.section-space { padding:88px 0; }
.story-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; }
.section-number { color:var(--muted); margin-bottom:25px; }
.farewell-main h2 { font-size:clamp(35px,4vw,56px); line-height:1.02; margin:0; }
.muted-heading { color:#8b9381; }
.story-copy { max-width:495px; padding-top:36px; }
.story-copy p { color:var(--muted); font-size:14px; line-height:1.85; margin:0 0 18px; }
.story-copy .large-copy { font-size:21px; color:var(--text); line-height:1.5; margin-bottom:23px; }
.text-link { display:inline-flex; align-items:center; gap:22px; font-size:12px; text-decoration:none; border-bottom:1px solid var(--line); padding:5px 0 8px; font-weight:500; }
.text-link:hover { color:var(--accent); border-color:var(--accent); }
.text-link span { font-size:17px; }
.season-recap { background:var(--text); color:var(--bg); padding:46px 48px; }
.section-heading { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:34px; }
.section-heading .section-number { margin-bottom:14px; }
.section-heading>p { font-size:11px; color:#5b6255; margin:0; line-height:1.8; text-align:right; }
.season-recap .section-number { color:#606655; }
.season-numbers { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #cdd0c2; border-bottom:1px solid #cdd0c2; padding:26px 0 32px; }
.season-numbers>div { padding:0 28px; border-right:1px solid #cdd0c2; }
.season-numbers>div:first-child { padding-left:0; }
.season-numbers>div:last-child { border:0; }
.season-numbers strong { display:block; font-family:'Barlow Condensed','Oswald',sans-serif; font-size:88px; font-weight:600; line-height:1.1; }
.season-numbers>div>span { font-size:9px; letter-spacing:.1em; color:#5b6255; }
.champion-number strong>span { color:#777e47; font-size:45px; vertical-align:middle; margin-left:15px; }
.run-in { display:grid; grid-template-columns:.8fr 1.4fr; gap:55px; padding-top:35px; }
.run-in-copy { position:relative; }
.run-in h3 { font-size:33px; line-height:1; margin:0 0 16px; }
.run-in p { font-size:12px; color:#5b6255; line-height:1.8; }
.run-in .text-link { color:var(--bg); border-color:#c3c8b7; font-size:11px; }
.outline-star { color:#d5d7c8; position:absolute; font-size:135px; line-height:1; top:2px; right:0; pointer-events:none; }
.memory-result { display:grid; grid-template-columns:55px 1fr auto 23px; align-items:center; gap:18px; text-decoration:none; color:var(--bg); padding:23px 0; border-bottom:1px solid #cdd0c2; }
.memory-result:first-child { padding-top:8px; }
.memory-result time { font-size:9px; color:#5b6255; }
.memory-result>span:nth-child(2) { font-size:15px; font-weight:500; }
.memory-result small { display:block; font-size:8px; color:#5b6255; margin-top:5px; letter-spacing:.08em; }
.memory-result strong { font-family:'Barlow Condensed','Oswald',sans-serif; font-size:29px; white-space:nowrap; }
.result-token { display:grid; place-items:center; width:22px; height:22px; font-size:10px; font-weight:700; background:#dce1d0; }
.is-final .result-token { background:#e7cc43; }
.memory-result:hover>span:nth-child(2) { text-decoration:underline; }
.honours-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.honour { padding:29px 25px 30px; border-right:1px solid var(--line); }
.honour:first-child { padding-left:0; }
.honour:last-child { border:0; }
.honour .eyebrow { color:var(--muted); font-size:9px; letter-spacing:.1em; }
.honour-value { display:block; font-family:'Barlow Condensed','Oswald',sans-serif; font-size:76px; color:var(--accent); line-height:1.2; font-weight:500; margin-top:10px; }
.honour h3 { font-family:'DM Sans',sans-serif; font-size:15px; font-weight:500; line-height:1.6; margin:3px 0 0; }
.honour small { color:var(--muted); font-size:10px; display:block; margin-top:6px; }
.source-caption { color:var(--muted); font-size:10px; margin:16px 0 0; }
.closing-note { position:relative; overflow:hidden; padding:63px 55px; border:1px solid var(--line); margin-bottom:66px; background:#1d231a; }
.closing-note>.eyebrow { color:var(--muted); margin-bottom:24px; }
.closing-note h2 { font-size:clamp(64px,8vw,112px); line-height:.9; position:relative; z-index:1; }
.closing-note h2>span { color:var(--accent); }
.closing-note>p:not(.eyebrow) { color:var(--muted); font-size:14px; line-height:1.85; margin:24px 0; position:relative; z-index:1; }
.closing-links { display:flex; align-items:center; flex-wrap:wrap; gap:27px; position:relative; z-index:1; }
.closing-year { position:absolute; right:-8px; bottom:-63px; transform:rotate(-8deg); font:700 clamp(160px,30vw,410px)/1 'Barlow Condensed','Oswald',sans-serif; color:#2b3425; letter-spacing:-.045em; user-select:none; }
.memory-photo { margin:0; }
.memory-photo img { width:100%; max-height:850px; object-fit:contain; background:#090b09; }
.memory-photo figcaption { padding:15px 0; color:var(--muted); font-size:12px; }
.champions-note { border-left:3px solid var(--accent); padding-left:24px; }
.memory-result .result-date { font-size:9px; color:#5b6255; }
.reveal { opacity:1; transform:none; }
.final-team { min-width:0; white-space:normal; }
.season-control select { max-width:100%; }
.table-wrap { max-width:100%; }
.legacy-pitch { min-height:0; padding:34px 28px; display:grid; gap:30px; isolation:isolate; }
.pitch-line { display:grid; gap:24px; position:relative; z-index:1; align-items:center; justify-items:center; }
.pitch-connections { position:absolute; inset:0; width:100%; height:100%; z-index:0; pointer-events:none; }
.pitch-connections line { stroke:var(--accent); stroke-width:1.5; stroke-opacity:.5; vector-effect:non-scaling-stroke; }
.pitch-wings { grid-template-columns:repeat(3,minmax(0,1fr)); }
.pitch-wings .squad-position:last-child { grid-column:3; }
.pitch-pair { grid-template-columns:repeat(2,minmax(0,1fr)); width:66%; justify-self:center; }
.pitch-pair.pitch-defence { width:80%; }
.pitch-keeper { width:30%; justify-self:center; }
.squad-position { display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; width:100%; max-width:190px; min-height:84px; border-radius:50%; background:#172015; border:1px solid #87966b; padding:12px 14px; box-shadow:0 8px 20px #07100533; }
.position-label { font:700 22px/1 'Barlow Condensed',sans-serif; color:var(--accent); margin-bottom:4px; }
.squad-position strong { font-size:12px; line-height:1.6; font-weight:500; }
.squad-position small { color:var(--muted); font-size:8px; margin-top:3px; }
@media(max-width:560px) {
  .legacy-pitch { padding:24px 10px; gap:28px; }
  .pitch-line { gap:8px; }
  .pitch-pair { width:87%; }
  .pitch-pair.pitch-defence { width:100%; }
  .pitch-keeper { width:46%; }
  .squad-position { max-width:120px; min-height:76px; padding:10px 8px; }
  .position-label { font-size:20px; }
  .squad-position strong { font-size:10px; }
  .squad-position small { font-size:8px; }
}
@media(min-width:1600px) { .farewell-copy h1 { font-size:115px; } }
@media(max-width:1100px) {
  .header-link { display:none; } .site-nav { gap:19px; } .farewell-hero { gap:28px; } .farewell-copy h1 { font-size:8.2vw; }
  .final-scoreboard { grid-template-columns:1fr 2.7fr; gap:18px; padding:24px; } .score-source { grid-column:1/-1; border-top:1px solid #c1aa30; padding-top:12px; display:flex; justify-content:space-between; align-items:center; text-align:left; } .score-source small { margin:0 0 0 auto; } .score-source>span { margin-right:15px; } .outline-star { display:none; }
}
@media(max-width:800px) {
  .site-header { min-height:82px; flex-wrap:wrap; gap:0; } .menu-toggle { display:block; margin-left:auto; } .site-nav { display:none; flex-basis:100%; margin:18px 0 0; padding:12px 0 6px; border-top:1px solid var(--line); gap:5px; flex-direction:column; align-items:stretch; } .site-nav.open { display:flex; } .site-nav a { padding:12px 8px; font-size:14px; } .site-nav a.active { box-shadow:none; color:var(--accent); }
  .farewell-hero { align-items:start; gap:25px; padding:34px 0; } .farewell-copy .eyebrow { font-size:8px; margin-bottom:22px; } .farewell-copy h1 { font-size:8.5vw; margin-bottom:18px; } .hero-intro { font-size:14px; } .hero-description { font-size:12px; } .hero-footnote { margin-top:24px; font-size:8px; } .champions-photo { align-self:start; } .photo-stamp { font-size:8px; padding:8px 10px; top:12px; right:12px; } .champions-photo figcaption { font-size:7px; } .champions-photo figcaption>span:last-child { display:none; }
  .final-scoreboard { grid-template-columns:1fr; } .final-context { display:flex; align-items:center; justify-content:space-between; gap:15px; } .final-context>p:last-child { margin:0; font-size:9px; } .final-match { justify-content:space-between; padding:8px 0; } .final-team { font-size:26px; } .final-score { font-size:62px; }
  .story-section { gap:35px; } .section-space { padding:62px 0; } .story-copy { padding-top:0; } .story-copy .large-copy { font-size:19px; } .season-recap { padding:32px 26px; } .season-numbers strong { font-size:67px; } .season-numbers>div { padding:0 18px; } .season-numbers>div>span { font-size:8px; } .run-in { gap:24px; grid-template-columns:.8fr 1.3fr; } .memory-result { gap:11px; grid-template-columns:44px 1fr auto 22px; } .memory-result>span:nth-child(2) { font-size:13px; } .memory-result strong { font-size:26px; }
  .honour { padding:23px 16px; } .honour h3 { font-size:12px; } .honour .eyebrow { font-size:8px; } .honour-value { font-size:66px; } .closing-note { padding:45px 30px; margin-bottom:48px; }
}
@media(max-width:560px) {
  .edition-strip { min-height:30px; font-size:7px; letter-spacing:.1em; } .edition-strip>span:first-child { display:none; } .site-header { min-height:77px; } .brand>span { font-size:23px; } .brand img { width:38px; height:38px; } .brand .brand-sub { font-size:7px; }
  .farewell-hero { grid-template-columns:1fr; padding:31px 0 28px; gap:29px; } .farewell-copy h1 { font-size:clamp(65px,15.6vw,86px); max-width:470px; } .farewell-copy .eyebrow { font-size:9px; margin-bottom:20px; } .hero-intro { font-size:16px; margin-top:21px; } .hero-description { font-size:13px; max-width:340px; margin-bottom:21px; } .hero-footnote { display:none; } .champions-photo>img { aspect-ratio:1/1; } .champions-photo figcaption { font-size:7px; } .champions-photo figcaption>span:last-child { display:block; } .photo-stamp { padding:9px 12px; }
  .final-scoreboard { padding:22px 17px 16px; gap:15px; } .final-team { font-size:24px; } .final-team small { font-size:7px; } .final-score { font-size:53px; } .final-match { gap:10px; } .final-context .eyebrow { font-size:8px; } .final-context>p:last-child { font-size:8px; } .score-source { font-size:9px; } .score-source small { font-size:7px; }
  .section-space { padding:50px 0; } .story-section { grid-template-columns:1fr; gap:25px; } .section-number { font-size:9px; margin-bottom:18px; } .farewell-main h2 { font-size:39px; } .story-copy p { font-size:13px; } .story-copy .large-copy { font-size:19px; } .section-heading { flex-wrap:wrap; gap:15px; margin-bottom:25px; } .section-heading>p { text-align:left; font-size:10px; }
  .season-recap { padding:29px 20px; } .season-recap h2 { font-size:35px; } .season-numbers { grid-template-columns:repeat(2,1fr); padding:0; } .season-numbers>div { padding:20px 0 22px; } .season-numbers>div:nth-child(2) { border-right:0; padding-left:25px; } .season-numbers>div:nth-child(3) { border-top:1px solid #cdd0c2; } .season-numbers>div:nth-child(4) { border-top:1px solid #cdd0c2; padding-left:25px; } .season-numbers strong { font-size:70px; } .season-numbers>div>span { font-size:9px; }
  .run-in { grid-template-columns:1fr; padding-top:28px; gap:18px; } .run-in h3 { font-size:31px; } .run-in-copy { display:grid; grid-template-columns:1fr 1fr; gap:12px; } .run-in-copy p { margin:0; font-size:11px; } .run-in-copy .text-link { grid-column:1/-1; width:fit-content; } .memory-result { gap:10px; grid-template-columns:41px 1fr auto 20px; padding:20px 0; } .memory-result strong { font-size:26px; } .memory-result>span:nth-child(2) { font-size:12px; } .memory-result time { font-size:8px; }
  .honours-grid { grid-template-columns:repeat(2,1fr); } .honour { padding:23px 0; } .honour:nth-child(even) { padding-left:20px; border-right:0; } .honour:nth-child(n+3) { border-top:1px solid var(--line); } .honour h3 { font-size:13px; } .honour-value { font-size:69px; } .source-caption { font-size:9px; line-height:1.7; }
  .closing-note { padding:34px 23px; margin-bottom:36px; } .closing-note .eyebrow { font-size:8px; } .closing-note h2 { font-size:77px; } .closing-note>p:not(.eyebrow) { font-size:13px; } .closing-links { gap:16px; flex-direction:column; align-items:flex-start; } .closing-year { font-size:190px; bottom:38px; right:-35px; opacity:.55; } .site-footer { gap:25px; padding:26px 0; } .footer-links { margin-left:0; width:100%; gap:24px; } .footer-signoff { padding:0; font-size:8px; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation:none!important; transition:none!important; } }
@media(max-width:560px) {
  .photo-stamp { padding:7px 9px; font-size:7px; line-height:1.4; top:10px; right:10px; }
  .photo-stamp>span { font-size:11px; }
  .photo-stamp strong { font-size:8px; }
}
