/* Concept C — Clubhouse
   Editorial poster style: paper canvas, heavy condensed headlines, thick rules,
   colour-blocked sections. Game day leads the page instead of a hero; sponsors
   are woven into the chrome. */
:root[data-mode="light"] {
  --bg: #f2efe8; --surface: #fffdf8; --surface-2: #ece7dc; --line: #d9d2c3; --ink: #111111; --ink-2: #5f5a50;
  --header-bg: #111111; --header-ink: #fffdf8; --ribbon-bg: #111111; --ribbon-ink: #fffdf8;
  --shadow: 6px 6px 0 rgba(17, 17, 17, .9);
}
:root[data-mode="dark"] { --header-bg: #000; --ribbon-bg: #000; --shadow: 6px 6px 0 var(--accent); }

h1, h2, h3, .sec-head h2 { text-transform: uppercase; font-weight: 400; letter-spacing: .01em; }
.sec-head { border-bottom: 4px solid var(--ink); padding-bottom: 8px; }
.sec-head h2 { font-size: 34px; line-height: 1; }
.sec-head h2 small { font-family: var(--font-body); font-weight: 700; text-transform: none; }
.sec-head .more { text-transform: uppercase; letter-spacing: .06em; font-size: 12px; color: var(--ink); background: var(--accent); color: var(--accent-ink); padding: 6px 10px; }
.presented { border-radius: 0; background: transparent; padding: 0; }

/* ribbon */
.rb-ticker { --line: #2a2a2a; border-bottom: 0; }
.rb-ticker .rb-day { background: var(--accent); color: var(--accent-ink); align-self: stretch; padding: 0 22px 0 14px; font-family: var(--font-display); font-size: 14px; letter-spacing: .05em; }
.rb-ticker .rb-day small { font-family: var(--font-body); font-weight: 700; font-size: 10px; }
.rb-ticker .rb-sponsor { background: #000; }
.rb-ticker .rb-all { color: var(--accent); }
.rb-ticker .rb-team { font-size: 14px; }

/* stacked header */
.utility { background: var(--accent); color: var(--accent-ink); font-weight: 700; }
.utility .smark { color: var(--accent-ink); }
.util-cta, .util-news b { background: var(--ink); color: var(--accent); }
.site-header.stacked { border-bottom: 6px solid var(--accent); }
.site-header.stacked .brand .llogo { filter: drop-shadow(0 6px 0 rgba(0, 0, 0, .35)); }
.nav a[data-nav] { font-family: var(--font-display); text-transform: uppercase; font-size: 18px; letter-spacing: .04em; font-weight: 400; }
.nav a.on { color: var(--accent); }
.cta { font-family: var(--font-display); text-transform: uppercase; font-weight: 400; font-size: 16px; letter-spacing: .04em; }

/* blocky cards with offset shadow */
.game-card, .news-card, .ll, .tbl-wrap, .up-list, .team-compare, .pv-team, .tl-card, .sp-tile, .teams-grid a, .series, .team-sched, .sch-day ul, .ranks div, .mod .tbl.mini, .person, .cms-dl a, .quotes figure, .ccard, .facts, .form-list, .stars li, .per-block, .tstat-grid { box-shadow: 0 0 0 2px var(--ink); }
.game-card:hover, .news-card:hover, .teams-grid a:hover, .tl-card:hover, .ccard:hover { box-shadow: 0 0 0 2px var(--ink), var(--shadow); transform: translate(-3px, -3px); }
.gc-head { background: var(--ink); color: var(--surface); border: 0; } .gc-head .final-tag, .gc-head .time-tag { color: var(--surface); } .gc-head .gc-meta { color: #bdb6a6; }
.gc-name a { font-family: var(--font-display); text-transform: uppercase; font-size: 19px; font-weight: 400; letter-spacing: .02em; }
.gc-foot { border-top: 2px solid var(--ink); } .gc-foot a { color: var(--ink); } .gc-foot a + a { border-left: 2px solid var(--ink); }
.gc-foot a:hover { background: var(--accent); color: var(--accent-ink); }

.ll-top { color: #fff; }
.ll-top b, .ll-top strong { font-weight: 400; }
.tbl th { background: var(--ink); color: var(--surface); }
.tbl th.sorted { color: var(--accent); }
.tbl td.sorted { background: color-mix(in srgb, var(--accent) 22%, transparent); }
.tabs { border-bottom: 2px solid var(--ink); }
.tab { font-family: var(--font-display); text-transform: uppercase; font-size: 18px; font-weight: 400; letter-spacing: .03em; }
.tab-ink { height: 6px; border-radius: 0; }
.seg { background: transparent; box-shadow: 0 0 0 2px var(--ink); border-radius: 0; padding: 0; gap: 0; }
.seg a { border-radius: 0; color: var(--ink); } .seg a.on { background: var(--ink); color: var(--surface); box-shadow: none; }
.sel, .combo-btn, .dp-btn, .ds-arrow, .combo-pop, .dp-pop { box-shadow: 0 0 0 2px var(--ink); border-radius: 0; }
.combo-pop, .dp-pop { box-shadow: 0 0 0 2px var(--ink), var(--shadow); }
.combo-btn[aria-expanded="true"] { box-shadow: 0 0 0 2px var(--ink), 4px 4px 0 var(--accent); }
.sch-row.sch-hd { background: var(--ink); color: var(--surface); } .sch-row.sch-hd:hover { background: var(--ink); }
.ds-n { background: var(--accent); color: var(--accent-ink); }
.mega-inner { border-radius: 0; box-shadow: 0 0 0 2px var(--ink), var(--shadow); }
.mega-col > a, .mega-teams a, .mega-feature { border-radius: 0; }
.ts-month h3 { font-weight: 400; }
.tabs-row { border-bottom: 2px solid var(--ink); } .tabs-row .tabs { border-bottom: 0; }
.ds { box-shadow: 0 0 0 2px var(--ink); } .ds.on { background: var(--ink); color: var(--accent); }
.ds b { font-weight: 400; }

.page-head { border-bottom: 6px solid var(--ink); margin-bottom: 20px; }
.page-head h1 { font-size: clamp(48px, 9vw, 70px); line-height: .88; }
.page-head .eyebrow { background: var(--accent); color: var(--accent-ink); padding: 3px 8px; }
.eyebrow { color: var(--ink); }

.btn { border-radius: 0; font-family: var(--font-display); text-transform: uppercase; font-weight: 400; font-size: 17px; letter-spacing: .04em; box-shadow: 4px 4px 0 var(--ink); }
.btn:hover { transform: translate(-2px, -2px); box-shadow: 6px 6px 0 var(--ink); }
.btn.ghost { box-shadow: inset 0 0 0 2px currentColor; }
.site-header .btn { box-shadow: none; }

/* game day: big lead block */
.home-full.m-gameday .mod-gameday { margin-top: 28px; padding: 22px; background: var(--ink); color: var(--surface); box-shadow: 0 0 0 0 var(--ink); }
.mod-gameday .sec-head { border-color: var(--accent); }
.mod-gameday .sec-head h2 small { color: #bdb6a6; }
.mod-gameday .sec-head .more { background: var(--accent); }
.mod-gameday .presented .smark { color: var(--surface); } .mod-gameday .presented span { color: #bdb6a6; }
.mod-gameday .presented .smark text, .mod-gameday .presented .smark path { fill: var(--surface); }
.mod-gameday .game-card { box-shadow: none; color: var(--ink); }
.mod-gameday .game-card:hover { box-shadow: 6px 6px 0 var(--accent); }
.mod-gameday .gc-head { background: var(--accent); color: var(--accent-ink); } .mod-gameday .gc-head .gc-meta, .mod-gameday .gc-head .time-tag, .mod-gameday .gc-head .final-tag { color: var(--accent-ink); }
.gameday-grid { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }

.sp-card { box-shadow: 0 0 0 2px var(--ink); border-radius: 0; }
.sp-photo { background: repeating-linear-gradient(135deg, var(--c) 0 22px, color-mix(in srgb, var(--c) 82%, #000) 22px 44px); }
.sp-copy h2 { font-size: 56px; line-height: .9; font-weight: 400; }
.sp-stats b { font-weight: 400; }

.mod-title-sponsor .ts-inner { border-radius: 0; box-shadow: 0 0 0 2px var(--ink), var(--shadow); }
.mod-watch .w-inner { border-radius: 0; background: var(--ink); }
.nc-body h3 { font-family: var(--font-display); text-transform: uppercase; font-weight: 400; font-size: 22px; letter-spacing: .01em; }
.nc-cat { color: var(--ink); background: var(--accent); padding: 2px 6px; }
.news-grid { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.hs-main .news-grid .news-card:first-child { grid-column: 1 / -1; display: grid; grid-template-columns: 1.2fr 1fr; }
.hs-main .news-grid .news-card:first-child .nc-media { aspect-ratio: auto; min-height: 220px; }
.hs-main .news-grid .news-card:first-child h3 { font-size: 32px; }

.team-hero, .player-hero, .game-hero, .gh-line, .cms-hero { border-radius: 0; }
.team-hero { box-shadow: var(--shadow); }
.th-text h1, .ph-info h1, .gh-name { font-weight: 400; }
.gh-score, .th-stats b, .ph-chips b, .tl-card b, .gc-score, .tstat-grid b, .ranks b, .cms-stats b, .cd-boxes b, .vs-mid b { font-weight: 400; }
.foot-sponsors { background: var(--accent); color: var(--accent-ink); border: 0; }
.foot-sponsors small, .fs-row { color: var(--accent-ink); }
.site-footer { background: #111; }
.cms-cta { border-radius: 0; box-shadow: var(--shadow); color: var(--accent-ink); }
.cms-cta .btn.light { box-shadow: 4px 4px 0 var(--ink); }
.str.s-GW { background: var(--accent); color: var(--accent-ink); }

@media (max-width: 980px) {
  .hs-main .news-grid .news-card:first-child { grid-template-columns: 1fr; }
  .site-header.stacked { border-bottom-width: 4px; }
}
@media (max-width: 720px) {
  .sec-head h2 { font-size: 26px; }
  .home-full.m-gameday .mod-gameday { margin-left: calc(var(--gut) * -1); margin-right: calc(var(--gut) * -1); padding: 18px var(--gut); }
  .sp-copy h2 { font-size: 40px; }
}
