:root {
  --paper: #f2f2f2;
  --ink: #000;
  --blue: #004aad;
  --muted: #777;
  --line: rgba(0, 0, 0, .17);
  --display: "Outfit", system-ui, sans-serif;
  --body: "Outfit", system-ui, sans-serif;
  --page-pad: clamp(22px, 5.1vw, 78px);
}

* { box-sizing: border-box; }
html { zoom: 1.1; scroll-behavior: smooth; scroll-padding-top: 82px; }
html, body { scrollbar-width: none; -ms-overflow-style: none; }
html::-webkit-scrollbar, body::-webkit-scrollbar { display: none; width: 0; height: 0; }
.chaos-scroll-thumb { width: 6px; min-height: 30px; position: fixed; top: 0; right: 3px; z-index: 1000; border-radius: 999px; background: #78aaff; opacity: 0; visibility: hidden; transition: opacity .3s ease, visibility .3s ease; cursor: grab; touch-action: none; }
.chaos-scroll-thumb.is-visible { opacity: .78; visibility: visible; }
.chaos-scroll-thumb:hover, .chaos-scroll-thumb.is-dragging { opacity: 1; background: #a9caff; }
.chaos-scroll-thumb.is-dragging { cursor: grabbing; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--body); -webkit-font-smoothing: antialiased; }
body, button, a { -webkit-tap-highlight-color: transparent; }
button, a { color: inherit; font: inherit; }
a { text-decoration: none; }
button { cursor: pointer; }
img { display: block; max-width: 100%; }
::selection { color: white; background: var(--blue); }

.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; padding: 12px 16px; transform: translateY(-150%); color: white; background: var(--blue); }
.skip-link:focus { transform: translateY(0); }
.site-header { height: 82px; padding: 0 var(--page-pad); position: fixed; inset: 0 0 auto; z-index: 30; display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; color: var(--ink); background: rgba(242, 242, 242, .96); transition: height .3s cubic-bezier(.22, 1, .36, 1), color .25s ease, background .25s ease, box-shadow .25s ease; }
.site-header.is-scrolled { height: 64px; background: rgba(242, 242, 242, .96); box-shadow: 0 1px 0 var(--line); backdrop-filter: blur(14px); }
.brand { width: 100px; justify-self: start; display: inline-flex; align-items: center; transition: width .3s cubic-bezier(.22, 1, .36, 1); }
.site-header.is-scrolled .brand { width: 78px; }
.brand img { width: 100%; height: auto; }
.site-nav { position: relative; justify-self: center; display: flex; gap: clamp(18px, 2.4vw, 38px); align-items: center; }
.site-nav::after { content: ""; width: var(--nav-indicator-width, 0); height: 2px; position: absolute; left: 0; bottom: -9px; background: var(--blue); transform: translateX(var(--nav-indicator-x, 0)); transition: width .24s ease, transform .3s cubic-bezier(.2,.7,.2,1); pointer-events: none; }
.site-nav a { font-size: 12px; font-weight: 700; letter-spacing: .11em; text-transform: uppercase; transition: color .2s ease; }
.site-nav a { opacity: .8; }
.site-nav a:hover { color: #78aaff; opacity: 1; }
.is-scrolled .site-nav a:hover { color: var(--blue); }
.site-nav a[aria-current="location"] { color: var(--blue); opacity: 1; }
.header-hudl { min-height: 38px; padding: 5px 12px; justify-self: end; display: flex; align-items: center; gap: 7px; border: 1px solid rgba(0,74,173,.35); border-radius: 2px; background: rgba(255,255,255,.58); color: rgba(0,0,0,.72); white-space: nowrap; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; transition: min-height .3s cubic-bezier(.22, 1, .36, 1), padding .3s cubic-bezier(.22, 1, .36, 1); }
.site-header.is-scrolled .header-hudl { min-height: 32px; padding: 3px 10px; }
.header-hudl > span:last-child { color: var(--blue); font-size: 13px; letter-spacing: 0; }
.header-hudl-name { font: inherit; }
.menu-toggle { display: none; }

.hero { position: relative; min-height: min(690px, calc(100svh / 1.1)); height: min(920px, calc(100svh / 1.1)); max-height: 1020px; overflow: hidden; color: white; background: #172332; }
.hero-image, .hero-shade { position: absolute; inset: 0; }
.hero-image { background-image: url("https://images.unsplash.com/photo-1786025124111-a280e893143a?auto=format&fit=crop&w=2400&q=88"); background-size: cover; background-position: center 40%; }
.hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.72), rgba(0,0,0,.3) 52%, rgba(0,0,0,.08)), linear-gradient(0deg, rgba(10,15,28,.75), rgba(10,15,28,0) 35%, rgba(0,0,0,.22)); }
.hero .eyebrow.light { color: rgba(255,255,255,.82); }
.hero .blue-dot { background: #83b2ff; }
.hero-content { position: absolute; left: var(--page-pad); right: var(--page-pad); bottom: clamp(76px, 9vh, 104px); display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 24px; }
.eyebrow { margin: 0; color: var(--muted); font-size: 9px; font-weight: 800; letter-spacing: .2em; line-height: 1.4; text-transform: uppercase; }
.eyebrow.light { color: rgba(255,255,255,.72); }
.blue-dot { width: 7px; height: 7px; margin-right: 8px; display: inline-block; vertical-align: 1px; background: var(--blue); border-radius: 50%; }
.hero .blue-dot { background: #66a2ff; }
.hero h1 { margin: 0; font-family: var(--display); font-size: clamp(42px, 6vw, 84px); font-weight: 900; letter-spacing: -.04em; line-height: .95; }
.hero h1 span { margin-left: .16em; color: #9dc3ff; font-family: var(--body); font-size: .46em; font-weight: 800; letter-spacing: -.035em; vertical-align: baseline; }
.hero-bottom { margin: 0; justify-self: end; }
.hero-actions { display: flex; justify-content: flex-end; gap: 10px; }
.button { min-height: 48px; padding: 0 17px; display: inline-flex; align-items: center; justify-content: space-between; gap: 24px; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transition: background .2s ease, color .2s ease, border-color .2s ease; }
.button span { font-size: 16px; }
.button-light { color: white; background: var(--blue); border: 1px solid var(--blue); }
.button-light:hover { color: white; background: var(--ink); border-color: var(--ink); }
.button-outline { color: white; border: 1px solid rgba(255,255,255,.65); }
.button-outline:hover { color: var(--ink); background: white; }
.hero-credit, .scroll-cue { position: absolute; bottom: 24px; color: rgba(255,255,255,.75); font-size: 8px; line-height: 1.3; }
.hero-credit { right: var(--page-pad); letter-spacing: .06em; }
.scroll-cue { left: var(--page-pad); display: flex; align-items: center; gap: 9px; font-weight: 700; letter-spacing: .16em; }
.scroll-cue span { width: 29px; height: 1px; background: white; }

.text-link { display: inline-flex; align-items: center; gap: 20px; font-size: 9px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.text-link span { color: var(--blue); font-size: 15px; transition: transform .2s ease; }
.text-link:hover span { transform: translate(3px, -3px); }

.section { padding: 132px var(--page-pad); }
.section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.section-heading h2, .coaches-copy h2 { margin: 18px 0 0; font-family: var(--display); font-size: clamp(56px, 8vw, 106px); font-weight: 900; line-height: .91; letter-spacing: -.01em; font-kerning: normal; text-rendering: geometricPrecision; }
.section-heading h2 em, .coaches-copy h2 em { color: var(--blue); font-style: normal; }
.section-intro { max-width: 320px; margin: 0 0 5px; color: #606060; font-size: 13px; line-height: 1.7; }
.roster-view-tools { margin-top: 34px; display: flex; justify-content: flex-end; align-items: center; gap: 6px; }
.roster-view-tools > span { margin-right: 8px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.roster-event-filter { display: flex; align-items: center; gap: 8px; margin-right: 12px; }
.roster-event-filter[hidden] { display: none; }
.roster-event-filter > span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.roster-event-filter select { width: 250px; max-width: 250px; padding: 9px 30px 9px 10px; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 0; font: inherit; font-size: 9px; font-weight: 700; }
.roster-view-tools button { min-width: 60px; padding: 9px 12px; color: #666; background: transparent; border: 1px solid var(--line); font-size: 9px; font-weight: 700; transition: color .2s ease, background .2s ease, border-color .2s ease; }
.roster-view-tools button:hover, .roster-view-tools button.is-active { color: white; background: var(--blue); border-color: var(--blue); }
.roster-grid { margin-top: 18px; }
.empty-roster { min-height: 310px; padding: 48px; position: relative; display: grid; grid-template-columns: minmax(120px, .65fr) 1.4fr 1fr; align-items: center; gap: 30px; color: white; background: var(--blue); overflow: hidden; }
.empty-roster::after { content: ""; width: 330px; height: 330px; position: absolute; right: 9%; top: -160px; border: 1px solid rgba(255,255,255,.18); border-radius: 50%; box-shadow: 0 0 0 37px rgba(255,255,255,.045), 0 0 0 76px rgba(255,255,255,.035); pointer-events: none; }
.empty-number { position: relative; z-index: 1; color: rgba(255,255,255,.22); font-family: var(--display); font-size: clamp(68px, 11vw, 150px); letter-spacing: -.08em; line-height: .8; }
.empty-roster .eyebrow { color: rgba(255,255,255,.7); }
.empty-roster h3 { margin: 13px 0 9px; font-family: var(--display); font-size: clamp(35px, 5vw, 56px); line-height: .9; letter-spacing: -.045em; }
.empty-roster p { max-width: 300px; margin: 0; color: rgba(255,255,255,.78); font-size: 12px; line-height: 1.6; }
.empty-roster code { color: white; font-family: var(--body); font-size: .95em; }
.roster-placeholder-label { justify-self: end; align-self: end; color: rgba(255,255,255,.64); font-size: 8px; font-weight: 700; letter-spacing: .15em; }
.roster-foot { margin-top: 18px; padding-top: 12px; display: flex; justify-content: space-between; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.roster-foot b { margin-left: 10px; color: var(--blue); }
.player-card { min-width: 0; }
.roster-grid:has(.player-card) { display: grid; grid-template-columns: repeat(4, 1fr); gap: 34px 18px; }
.player-photo { position: relative; aspect-ratio: .83; background: #d9d9d9; overflow: hidden; }
.player-photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.player-card:hover .player-photo img { transform: scale(1.04); }
.player-photo-empty { display: grid; place-items: center; background: linear-gradient(145deg, #d7d7d7, #e8e8e8); }
.player-photo-empty > span { color: rgba(0,0,0,.13); font-family: var(--display); font-size: clamp(75px, 12vw, 150px); }
.player-number { width: 43px; height: 43px; position: absolute; left: 12px; bottom: 12px; display: grid; place-items: center; color: white; background: var(--blue); font-size: 14px; font-weight: 800; }
.player-meta { margin-top: 16px; display: flex; justify-content: space-between; color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.player-index { color: #999; }
.player-card h3 { margin: 7px 0 15px; font-family: var(--display); font-size: 28px; letter-spacing: -.04em; line-height: 1; }
.player-details { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 600; }
.player-details span { display: grid; gap: 7px; }
.player-details .player-school { grid-column: 1 / -1; overflow-wrap: anywhere; }
.player-details small { color: var(--muted); font-size: 7px; font-weight: 800; letter-spacing: .14em; }
.roster-grid.is-table-view { display: block; }
.roster-table-wrap { width: 100%; overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.roster-table { width: 100%; min-width: 700px; border-collapse: collapse; text-align: left; }
.roster-table th, .roster-table td { padding: 15px 13px; border-bottom: 1px solid var(--line); font-size: 11px; }
.roster-table thead th { padding-top: 13px; padding-bottom: 13px; color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.roster-table .sort-button { padding: 0; display: inline-flex; align-items: center; gap: 9px; color: inherit; background: none; border: 0; font-size: inherit; font-weight: inherit; letter-spacing: inherit; text-transform: inherit; white-space: nowrap; }
.roster-table .sort-button:hover { color: var(--blue); }
.roster-table .sort-button span { color: var(--blue); font-size: 12px; }
.roster-table tbody tr:last-child th, .roster-table tbody tr:last-child td { border-bottom: 0; }
.roster-table tbody tr:hover { background: rgba(0, 74, 173, .045); }
.roster-table tbody tr[data-roster-player] { cursor: pointer; transition: opacity .18s ease, background-color .18s ease, color .18s ease; }
.roster-table.has-selection tbody tr[data-roster-player] { opacity: .48; }
.roster-table.has-selection tbody tr[data-roster-player]:hover { opacity: .85; }
.roster-table.has-selection tbody tr[data-roster-player].selected,
.roster-table.has-selection tbody tr[data-roster-player].selected:hover { opacity: 1; background: #f0f5ff; font-weight: 700; }
.roster-table tbody tr[data-roster-player].selected td:first-child { box-shadow: inset 4px 0 var(--blue); }
.roster-table tbody tr[data-roster-player].selected .roster-table-player > span { color: white; background: var(--blue); }
.roster-table tbody tr[data-roster-player]:focus-visible { outline: 2px solid var(--blue); outline-offset: -2px; }
.roster-table tbody th { font-weight: 700; }
.roster-table-player { display: inline-flex; align-items: center; gap: 12px; white-space: nowrap; }
.roster-table-player > img, .roster-table-player > span { width: 36px; height: 36px; display: grid; flex: 0 0 36px; place-items: center; object-fit: cover; color: #777; background: #dedede; font-size: 11px; font-weight: 700; }
.roster-stats-table { width: 100%; min-width: 1040px; table-layout: fixed; }
.roster-stats-table .stats-col-number { width: 70px; }
.roster-stats-table .stats-col-player { width: 200px; }
.roster-stats-table .stats-col-position { width: 72px; }
.roster-stats-table .stats-col-value { width: calc(14.2857% - 48.86px); }
.roster-stats-table th, .roster-stats-table td { padding: 12px 10px; }
.roster-stats-table thead th .sort-button { width: 100%; justify-content: center; }
.roster-stats-table thead th:nth-child(2) .sort-button { justify-content: flex-start; }
.roster-stats-table thead th:nth-child(1), .roster-stats-table tbody td:nth-child(1), .roster-stats-table thead th:nth-child(3), .roster-stats-table tbody td:nth-child(3), .roster-stats-table tbody td:nth-child(n+4), .roster-stats-table tfoot td { text-align: center; white-space: nowrap; }
.roster-stats-table .stats-divider { border-left: 1px solid var(--line); }
.roster-stats-table .roster-table-player { gap: 10px; }
.roster-stats-table .roster-table-player > img, .roster-stats-table .roster-table-player > span { width: 32px; height: 32px; flex-basis: 32px; }
.roster-stats-table tfoot th, .roster-stats-table tfoot td { padding-top: 12px; padding-bottom: 12px; border-top: 2px solid var(--ink); border-bottom: 0; font-weight: 800; }
.roster-stats-table tfoot th { text-transform: uppercase; letter-spacing: .08em; }

.schedule-section { color: white; background: var(--blue); }
.schedule-inner { padding-top: 122px; padding-bottom: 130px; }
.schedule-heading h2 em { color: #a9caff; }
.schedule-heading .section-intro { color: rgba(255,255,255,.75); }
.schedule-heading .eyebrow { color: rgba(255,255,255,.65); text-transform: none; }
.schedule-count { position: absolute; right: 0; color: rgba(255,255,255,.65); font-size: 8px; font-weight: 800; letter-spacing: .08em; }
.tournament-list { width: min(100%, 1200px); min-height: 197px; margin: 60px auto 0; display: grid; gap: 10px; }
.schedule-columns { width: 100%; box-sizing: border-box; margin: 0 auto; padding: 0 18px 12px; display: grid; grid-template-columns: 54px 110px minmax(260px, 1fr) 220px 150px; align-items: end; gap: 18px; border-bottom: 1px solid rgba(255,255,255,.35); color: rgba(255,255,255,.56); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.schedule-columns > span:last-child { text-align: right; }
.empty-schedule { min-height: 194px; padding: 40px 0; display: grid; grid-template-columns: 90px 1fr auto; align-items: center; gap: 32px; border-bottom: 1px solid rgba(255,255,255,.35); }
.empty-mark { color: rgba(255,255,255,.35); font-family: var(--display); font-size: 55px; letter-spacing: -.06em; }
.empty-schedule h3 { margin: 0 0 8px; font-family: var(--display); font-size: clamp(28px, 4vw, 42px); letter-spacing: -.045em; }
.empty-schedule p { margin: 0; color: rgba(255,255,255,.75); font-size: 12px; }
.empty-status { justify-self: end; color: rgba(255,255,255,.7); font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.tournament-row { position: relative; overflow: hidden; padding: 20px 18px; display: grid; grid-template-columns: 54px 110px minmax(260px, 1fr) 220px 150px; align-items: center; gap: 18px; background: rgba(255,255,255,.045); border: 1px solid rgba(255,255,255,.12); border-left: 3px solid transparent; transition: background .2s ease, border-color .2s ease; }
.tournament-row:hover { background: rgba(255,255,255,.085); border-left-color: white; }
.event-index { color: #fff; opacity: .19; font-family: var(--display); font-size: 43px; font-weight: 900; line-height: .9; letter-spacing: .12em; font-kerning: normal; font-variant-numeric: tabular-nums; }
.event-date { min-height: 72px; padding-left: 14px; display: grid; align-content: center; gap: 2px; border-left: 1px solid rgba(255,255,255,.25); color: white; }
.event-date-meta { display: flex; align-items: baseline; gap: 6px; }
.event-date span { color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.event-date strong { font-family: var(--display); font-size: 30px; line-height: 1; letter-spacing: 0; font-kerning: normal; text-rendering: geometricPrecision; white-space: nowrap; }
.event-date small { color: rgba(255,255,255,.68); font-size: 9px; font-weight: 800; letter-spacing: .15em; }
.event-date-tbd strong { font-size: 27px; }
.event-main h3 { margin: 0 0 10px; font-family: var(--display); font-size: clamp(23px, 2vw, 29px); letter-spacing: -.01em; font-kerning: normal; text-rendering: geometricPrecision; line-height: 1.05; }
.event-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.event-tag, .event-tag-sanction, .event-tag-tier { padding: 5px 7px; display: inline-flex; border: 1px solid rgba(255,255,255,.35); color: #fff; background: rgba(255,255,255,.08); font-size: 8px; font-weight: 800; letter-spacing: .04em; }
.event-location { color: rgba(255,255,255,.75); font-size: 11px; }
.event-place { display: flex; align-items: center; gap: 8px; color: white; font-size: 12px; font-weight: 700; }
.event-place svg { width: 15px; height: 15px; flex: 0 0 15px; fill: currentColor; }
.event-matches { margin-top: 9px; }
.match-list { display: grid; gap: 8px; }
.match-list > div { display: flex; justify-content: space-between; gap: 16px; color: rgba(255,255,255,.8); font-size: 10px; }
.match-list b { color: white; }
.match-pending { margin: 0; color: rgba(255,255,255,.63); font-size: 9px; letter-spacing: .04em; }
.link-pending { color: rgba(255,255,255,.56); border-style: dashed !important; }
.event-link { justify-self: end; }
.event-link a, .event-link .link-pending, .event-link .event-row-action { width: 136px; min-height: 42px; box-sizing: border-box; padding: 0 10px; display: flex; align-items: center; justify-content: center; gap: 8px; border: 1px solid rgba(255,255,255,.85); color: white; background: transparent; font-size: 8px; font-weight: 800; letter-spacing: .04em; text-decoration: none; white-space: nowrap; transition: color .2s ease, background .2s ease; }
.event-link a:hover { color: var(--blue); background: white; }
.event-link a span, .event-link .event-row-action span { font-size: 14px; letter-spacing: 0; }

.gallery-section { padding-top: 130px; padding-bottom: 128px; }
.gallery-grid { margin-top: 60px; display: grid; grid-template-columns: 1.25fr .75fr 1fr; grid-template-rows: 290px; gap: 14px; }
.gallery-card { padding: 0; position: relative; display: block; min-width: 0; overflow: hidden; border: 0; background: #ddd; text-align: left; }
.gallery-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.65,.2,1), filter .3s ease; }
.gallery-card:hover img { transform: scale(1.045); filter: saturate(.82); }
.gallery-overlay { position: absolute; inset: auto 0 0; padding: 34px 17px 16px; display: flex; justify-content: space-between; align-items: end; gap: 15px; color: white; background: linear-gradient(transparent, rgba(0,0,0,.7)); font-size: 10px; font-weight: 700; }
.gallery-overlay b { font-size: 15px; font-weight: 400; line-height: 1; }
.gallery-caption { margin: 18px 0 0; color: #777; font-size: 8px; font-weight: 800; letter-spacing: .16em; }
.gallery-caption .blue-dot { width: 6px; height: 6px; }

.coaches-section { color: white; background: #111; }
.coaches-inner { padding-top: 100px; padding-bottom: 100px; display: grid; grid-template-columns: .9fr 1.1fr; align-items: start; gap: 10%; }
.coaches-copy h2 em { color: #83aff3; }
.coaches-copy > p:last-child { max-width: 345px; margin: 27px 0 0; color: #aaa; font-size: 12px; line-height: 1.8; }
.coach-list { align-self: stretch; display: grid; align-content: start; }
.coach-empty { min-height: 278px; padding: 30px; position: relative; display: grid; grid-template-columns: 62px 1fr; align-items: center; gap: 22px; overflow: hidden; border: 1px solid #414141; }
.coach-empty-number { align-self: start; color: #78aaff; font-family: var(--display); font-size: 36px; }
.coach-empty .eyebrow { color: #aaa; }
.coach-empty h3 { margin: 15px 0 10px; font-family: var(--display); font-size: 43px; line-height: .94; letter-spacing: -.04em; }
.coach-empty p { max-width: 300px; margin: 0; color: #aaa; font-size: 11px; line-height: 1.6; }
.coach-empty-mark { position: absolute; right: -9px; bottom: -29px; color: rgba(255,255,255,.035); font-family: var(--display); font-size: 100px; letter-spacing: -.08em; }
.coach-card { padding: 30px 0; display: grid; grid-template-columns: 92px 1fr; gap: 22px; border-top: 1px solid #414141; }
.coach-photo { width: 92px; height: 108px; display: grid; place-items: center; overflow: hidden; background: #222; }
.coach-photo img { width: 100%; height: 100%; object-fit: cover; }
.coach-photo span { color: #777; font-family: var(--display); font-size: 40px; }
.coach-role { color: #83aff3; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.coach-info h3 { margin: 7px 0 6px; font-family: var(--display); font-size: 32px; }
.coach-info p { margin: 12px 0 0; color: #aaa; font-size: 12px; line-height: 1.75; }
.coach-info .coach-favorite { margin-top: 18px; padding-left: 14px; border-left: 2px solid #83aff3; color: #d0d0d0; }
.coach-favorite strong { color: #fff; }

.closing-cta { min-height: 245px; padding: 45px var(--page-pad); position: relative; display: flex; flex-direction: column; justify-content: center; background: #e7e7e7; }
.closing-cta .eyebrow { color: #777; }
.closing-cta > p { margin: 12px 0 0; font-family: var(--display); font-size: clamp(50px, 8vw, 88px); font-weight: 900; letter-spacing: -.06em; line-height: .9; }
.closing-cta > p em { color: var(--blue); font-style: normal; }
.round-link { width: 48px; height: 48px; position: absolute; right: var(--page-pad); bottom: 42px; display: grid; place-items: center; color: white; background: var(--blue); border-radius: 50%; font-size: 20px; transition: transform .2s ease; }
.round-link:hover { transform: translateY(-4px); }
.site-footer { min-height: 110px; padding: 24px var(--page-pad); display: grid; grid-template-columns: 1fr 1fr 1fr; align-items: center; gap: 15px; }
.footer-brand { width: 115px; }
.site-footer > span, .site-footer > a:not(.brand) { font-size: 8px; font-weight: 800; letter-spacing: .12em; }
.site-footer > a:not(.brand) { justify-self: end; }
.photo-credit { grid-column: 1 / -1; color: #777; font-weight: 500 !important; letter-spacing: .03em !important; }
.photo-credit a { text-decoration: underline; text-underline-offset: 2px; }

.lightbox { width: min(92vw, 1050px); max-width: none; max-height: 92vh; padding: 14px; position: relative; color: white; background: #080808; border: 0; }
.lightbox::backdrop { background: rgba(0,0,0,.88); }
.lightbox img { width: 100%; max-height: calc(92vh - 60px); object-fit: contain; }
.lightbox p { margin: 12px 0 0; color: #ccc; font-size: 10px; letter-spacing: .08em; }
.lightbox-close { width: 40px; height: 40px; position: absolute; z-index: 1; top: 19px; right: 19px; color: #fff; background: rgba(0,0,0,.65); border: 1px solid rgba(255,255,255,.4); border-radius: 50%; font-size: 24px; line-height: 1; }

.reveal { opacity: 0; transform: translateY(17px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.65,.2,1); }
.reveal.is-visible { opacity: 1; transform: translateY(0); }
@media (max-width: 900px) {
  .site-header { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 0; }
  .site-nav { gap: 15px; }
  .site-nav a { font-size: 10px; }
  .header-hudl { display: none; }
  .section { padding-top: 100px; padding-bottom: 100px; }
  .gallery-grid { grid-template-rows: 230px; }
  .roster-grid:has(.player-card) { grid-template-columns: repeat(3, 1fr); }
  .schedule-columns, .tournament-row { grid-template-columns: 44px 106px minmax(145px, 1.15fr) minmax(150px, 1fr) 142px; gap: 12px; }
  .schedule-columns { padding-right: 12px; padding-left: 12px; }
  .tournament-row { padding: 17px 12px; }
  .event-index { font-size: 35px; }
  .event-date { padding-left: 10px; }
  .event-date strong { font-size: 25px; }
  .event-main h3 { font-size: 23px; }
  .event-link a, .event-link .link-pending { width: 132px; padding-right: 8px; padding-left: 8px; font-size: 7px; }
}
@media (max-width: 760px) {
  .schedule-columns { display: none; }
  .tournament-row { grid-template-columns: 44px minmax(0, 1fr); grid-template-areas: "number date" "number tournament" "number location" "number links"; gap: 10px 14px; padding: 18px 15px; }
  .event-index { grid-area: number; align-self: start; margin-top: 4px; font-size: 36px; }
  .event-date { grid-area: date; min-height: 0; padding: 0; display: flex; align-items: baseline; gap: 8px; border: 0; }
  .event-date strong { font-size: 25px; }
  .event-date-meta span, .event-date-meta small { font-size: 8px; }
  .event-main { grid-area: tournament; }
  .event-main h3 { margin-bottom: 8px; font-size: 26px; }
  .event-location { grid-area: location; }
  .event-link { grid-area: links; justify-self: start; }
  .event-link a, .event-link .link-pending { width: 132px; }
}
@media (max-width: 640px) {
  :root { --page-pad: 22px; }
  html { scroll-padding-top: 66px; }
  .site-header { height: 66px; grid-template-columns: 1fr auto; gap: 0; }
  .site-header.is-scrolled { height: 56px; }
  .brand { width: 82px; }
  .site-header.is-scrolled .brand { width: 72px; }
  .menu-toggle { width: 38px; height: 38px; padding: 10px 5px; display: grid; align-content: center; gap: 6px; background: none; border: 0; color: inherit; }
  .menu-toggle span { width: 26px; height: 1px; display: block; background: currentColor; transition: transform .2s ease; }
  .menu-toggle[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
  .site-nav { padding: 22px var(--page-pad) 28px; position: absolute; top: 100%; right: 0; left: 0; display: flex; flex-direction: column; align-items: stretch; gap: 0; color: var(--ink); background: var(--paper); box-shadow: 0 12px 16px rgba(0,0,0,.12); opacity: 0; visibility: hidden; transform: translateY(-8px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; }
  .site-nav::after { display: none; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-nav a { padding: 14px 0; font-size: 11px; border-bottom: 1px solid var(--line); }
  .header-hudl { display: none; }
  .hero { min-height: min(690px, calc(100svh / 1.1)); height: calc(95svh / 1.1); max-height: 850px; }
  .hero-image { background-position: 56% center; }
  .hero-shade { background: linear-gradient(90deg, rgba(0,0,0,.58), rgba(0,0,0,.08)), linear-gradient(0deg, rgba(10,15,28,.75), rgba(10,15,28,0) 35%, rgba(0,0,0,.24)); }
  .hero-content { bottom: 78px; grid-template-columns: 1fr; gap: 17px; }
  .hero h1 { font-size: clamp(35px, 9vw, 52px); }
  .hero h1 span { font-size: .45em; }
  .hero-bottom { justify-self: end; }
  .hero-actions { width: min(100%, 220px); flex-direction: column; align-items: stretch; gap: 8px; }
  .button { min-height: 46px; }
  .hero-credit, .scroll-cue { bottom: 20px; font-size: 7px; line-height: 1.4; }
  .hero-credit { right: var(--page-pad); max-width: 55%; text-align: right; }
  .section { padding-top: 78px; padding-bottom: 78px; }
  .section-heading { display: block; }
  .section-heading h2, .coaches-copy h2 { margin-top: 13px; font-size: clamp(58px, 16vw, 82px); }
  .section-intro { max-width: 380px; margin-top: 22px; font-size: 12px; }
  .roster-view-tools { margin-top: 28px; }
  .roster-view-tools { justify-content: flex-start; flex-wrap: wrap; }
  .roster-event-filter { flex: 1 0 100%; justify-content: flex-end; margin: 0 0 6px; }
  .roster-event-filter select { max-width: min(68vw, 250px); }
  .empty-roster { min-height: 360px; padding: 30px 24px; grid-template-columns: 1fr; gap: 20px; align-content: center; }
  .empty-number { font-size: 70px; }
  .empty-roster h3 { font-size: 46px; }
  .roster-placeholder-label { justify-self: start; align-self: auto; margin-top: 10px; }
  .roster-grid:has(.player-card) { grid-template-columns: repeat(2, 1fr); gap: 27px 12px; }
  .player-photo { aspect-ratio: .76; }
  .player-card h3 { font-size: 23px; }
  .player-details { gap: 19px; }
  .schedule-inner { padding-top: 78px; padding-bottom: 82px; }
  .tournament-list { margin-top: 38px; }
  .schedule-count { font-size: 8px; }
  .empty-schedule { min-height: 220px; padding: 32px 0; grid-template-columns: 52px 1fr; gap: 17px; }
  .empty-mark { font-size: 38px; }
  .empty-schedule h3 { font-size: 31px; }
  .empty-schedule p { max-width: 250px; font-size: 11px; line-height: 1.6; }
  .empty-status { grid-column: 2; justify-self: start; }
  .tournament-row { padding: 16px 12px; gap: 9px 12px; }
  .event-index { font-size: 32px; }
  .event-main h3 { font-size: 23px; }
  .gallery-grid { margin-top: 38px; grid-template-columns: 1fr 1fr; grid-template-rows: 235px 160px; gap: 9px; }
  .gallery-large { grid-column: 1 / -1; }
  .gallery-medium { grid-column: 2; }
  .gallery-small { grid-column: 1; }
  .gallery-overlay { padding: 28px 10px 11px; font-size: 8px; }
  .gallery-caption { max-width: 270px; font-size: 7px; line-height: 1.6; }
  .coaches-inner { min-height: unset; padding-top: 72px; padding-bottom: 72px; display: block; }
  .coaches-copy > p:last-child { margin-top: 22px; }
  .coach-list { margin-top: 38px; }
  .coach-card { grid-template-columns: 58px 1fr; gap: 14px; padding: 24px 0; }
  .coach-photo { width: 58px; height: 68px; }
  .coach-info h3 { font-size: 27px; }
  .coach-info p { font-size: 12px; }
  .coach-empty { min-height: 250px; padding: 21px; grid-template-columns: 38px 1fr; gap: 12px; }
  .coach-empty h3 { font-size: 37px; }
  .coach-empty-mark { font-size: 75px; }
  .closing-cta { min-height: 205px; padding-top: 38px; padding-bottom: 38px; }
  .closing-cta > p { max-width: 70%; font-size: 55px; }
  .round-link { width: 42px; height: 42px; bottom: 31px; }
  .site-footer { min-height: 127px; padding-top: 20px; padding-bottom: 20px; grid-template-columns: 1fr 1fr; gap: 12px; }
  .footer-brand { width: 96px; }
  .site-footer > span, .site-footer > a:not(.brand) { font-size: 7px; }
  .site-footer > span:nth-child(2) { grid-column: 1; grid-row: 2; }
  .site-footer > a:not(.brand) { grid-column: 2; grid-row: 1; }
  .photo-credit { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}



/* Tournament detail pages */
.tournament-page { padding-top: 82px; }
.tournament-banner { padding: 34px var(--page-pad) 42px; color: white; background: var(--blue); }
.all-tournaments-link { margin-bottom: 32px; display: inline-flex; align-items: center; gap: 8px; color: rgba(255,255,255,.8); font-size: 9px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.all-tournaments-link:hover { color: white; }
.all-tournaments-link span { font-size: 16px; letter-spacing: 0; }
.tournament-banner > .eyebrow { margin: 0; color: rgba(255,255,255,.7); }
.tournament-banner h1 { max-width: 1050px; margin: 12px 0 23px; font-family: var(--display); font-size: clamp(56px, 10vw, 126px); font-weight: 900; line-height: .9; letter-spacing: -.025em; font-kerning: normal; text-rendering: geometricPrecision; }
.tournament-detail-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.tournament-detail-tags .event-tag { padding: 7px 10px; }
.tournament-overview { margin-top: 34px; padding-top: 22px; display: grid; grid-template-columns: 1fr 1fr auto; gap: 28px; border-top: 1px solid rgba(255,255,255,.28); }
.overview-item { min-width: 0; display: grid; align-content: start; gap: 7px; }
.overview-item > span { color: rgba(255,255,255,.62); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.overview-item > strong { font-size: 14px; font-weight: 700; }
.overview-item > small { color: rgba(255,255,255,.72); font-size: 10px; line-height: 1.5; }
.overview-link { min-width: 175px; justify-items: start; }
.overview-link > a { min-height: 39px; margin-top: 2px; padding: 0 12px; display: inline-flex; align-items: center; gap: 9px; border: 1px solid rgba(255,255,255,.8); color: white; font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; transition: color .2s ease, background .2s ease; }
.overview-link > a:hover { color: var(--blue); background: white; }
.overview-link > a span { font-size: 14px; }
.overview-link .website-pending { font-size: 12px; }
.detail-section { padding: 100px var(--page-pad); }
.detail-section-heading { display: flex; justify-content: space-between; align-items: end; gap: 40px; }
.detail-section-heading .eyebrow { margin: 0; }
.detail-section-heading h2 { max-width: 780px; margin: 13px 0 0; font-family: var(--display); font-size: clamp(46px, 6.5vw, 82px); font-weight: 900; line-height: .94; letter-spacing: -.02em; font-kerning: normal; text-rendering: geometricPrecision; }
.detail-lede { max-width: 320px; margin: 0 0 4px; color: #606060; font-size: 12px; line-height: 1.7; }
.match-days { margin-top: 44px; display: grid; gap: 12px; }
.match-day-card { min-width: 0; border: 1px solid var(--line); background: rgba(255,255,255,.42); }
.match-day-heading { min-height: 82px; padding: 17px 20px; display: grid; grid-template-columns: 96px 1fr; align-items: center; gap: 18px; border-bottom: 1px solid var(--line); }
.match-day-heading > span { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.match-day-heading h3 { margin: 0; display: flex; align-items: baseline; gap: 14px; font-family: var(--display); font-size: 25px; line-height: 1; }
.match-day-heading h3 small { color: var(--muted); font-family: var(--body); font-size: 9px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; }
.detail-match-table-wrap { width: 100%; overflow-x: auto; }
.detail-match-table { width: 100%; min-width: 680px; border-collapse: collapse; }
.detail-match-table th, .detail-match-table td { padding: 14px 18px; border-bottom: 1px solid var(--line); text-align: left; }
.detail-match-table th { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.detail-match-table td { height: 80px; color: #606060; font-size: 11px; }
.detail-match-table tbody tr:last-child td { border-bottom: 0; }
.schedule-empty-note { color: #666; font-size: 11px; line-height: 1.6; }
.detail-stats { padding-top: 82px; background: #e9e9e9; }
.detail-stats .detail-section-heading { margin-bottom: 38px; }
.detail-stats .roster-table-wrap { border-color: rgba(0,0,0,.2); }
.tournament-stats-table { cursor: default; }
.tournament-stats-table .sort-button { cursor: pointer; }
.tournament-pagination { padding: 0 var(--page-pad); display: grid; grid-template-columns: 1fr 1fr; gap: 12px; background: #e9e9e9; }
.tournament-page-link { min-height: 112px; padding: 20px 22px; display: grid; align-content: center; gap: 9px; color: white; background: var(--blue); transition: background .2s ease; }
.tournament-page-link:hover { background: #003b8b; }
.tournament-page-link-next { text-align: right; }
.page-link-direction { color: rgba(255,255,255,.72); font-size: 8px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.tournament-page-link strong { font-family: var(--display); font-size: clamp(16px, 2vw, 23px); font-weight: 800; }
.tournament-footer { min-height: 82px; padding: 20px var(--page-pad); display: flex; justify-content: space-between; align-items: center; gap: 20px; color: #777; background: #e9e9e9; border-top: 1px solid var(--line); font-size: 9px; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.tournament-footer > a:first-child { color: var(--ink); }
.tournament-footer > a span { color: var(--blue); }
.tournament-footer > a:last-child span { margin-left: 5px; font-size: 14px; }
@media (max-width: 760px) {
  .tournament-banner { padding-top: 27px; padding-bottom: 30px; }
  .all-tournaments-link { margin-bottom: 28px; }
  .tournament-banner h1 { font-size: clamp(52px, 12vw, 82px); }
  .tournament-overview { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
  .overview-link { grid-column: 1 / -1; }
  .detail-section { padding-top: 74px; padding-bottom: 74px; }
  .detail-section-heading { display: block; }
  .detail-section-heading h2 { font-size: clamp(46px, 10vw, 68px); }
  .detail-lede { margin-top: 19px; }
  .match-days { margin-top: 32px; }
  .detail-stats { padding-top: 65px; }
  .tournament-pagination { padding-right: var(--page-pad); padding-left: var(--page-pad); }
}
@media (max-width: 520px) {
  .tournament-page { padding-top: 66px; }
  .tournament-banner { padding-right: 20px; padding-left: 20px; }
  .tournament-banner h1 { font-size: clamp(48px, 13vw, 68px); }
  .tournament-overview { grid-template-columns: 1fr; gap: 18px; }
  .overview-link { grid-column: auto; }
  .match-day-heading { min-height: 74px; padding: 15px; grid-template-columns: 64px 1fr; gap: 10px; }
  .match-day-heading h3 { flex-wrap: wrap; gap: 7px; font-size: 21px; }
  .detail-match-table th, .detail-match-table td { padding-right: 12px; padding-left: 12px; }
  .tournament-pagination { grid-template-columns: 1fr; gap: 8px; }
  .tournament-page-link { min-height: 89px; }
  .tournament-page-link-next { text-align: left; }
  .tournament-footer { align-items: flex-start; flex-direction: column; }
}


/* Readability scale */
.eyebrow { font-size: 12px; }
.button { font-size: 12px; }
.section-heading h2, .coaches-copy h2 { font-size: clamp(48px, 7vw, 92px); }
.section-intro { font-size: 16px; }
.roster-view-tools > span, .roster-event-filter > span { font-size: 12px; }
.roster-event-filter select, .roster-view-tools button { font-size: 12px; }
.roster-table th, .roster-table td { font-size: 15px; }
.roster-table thead th { font-size: 12px; }
.schedule-columns { font-size: 12px; }
.event-date span, .event-date small { font-size: 12px; }
.event-tag, .event-tag-sanction, .event-tag-tier { padding: 8px 14px; font-size: 12px; }
.event-location, .event-place { font-size: 15px; }
.event-link a, .event-link .link-pending, .event-link .event-row-action { font-size: 12px; }
.tournament-banner h1 { font-size: clamp(48px, 8.8vw, 108px); }
.tournament-detail-tags .event-tag { padding: 8px 14px; font-size: 12px; }
.overview-item > span { font-size: 12px; }
.overview-item > strong { font-size: 19px; }
.overview-item > small { color: rgba(255,255,255,.86); font-size: 14px; }
.overview-link > a { min-height: 46px; padding: 12px 20px; font-size: 12px; }
.detail-section-heading .eyebrow, .match-day-heading > span { color: var(--blue); font-size: 14px; font-weight: 700; }
.detail-section-heading h2 { font-size: clamp(42px, 5.8vw, 72px); }
.detail-lede { color: #475569; font-size: 16px; line-height: 1.6; }
.match-day-heading h3 small { font-size: 12px; }
.detail-match-table th { font-size: 12px; }
.detail-match-table td, .schedule-empty-note { font-size: 15px; }
.page-link-direction, .tournament-footer { font-size: 12px; }
.event-main h3 { font-size: clamp(22px, 1.8vw, 27px); }
@media (max-width: 640px) {
  .section-heading h2, .coaches-copy h2 { font-size: clamp(48px, 14vw, 74px); }
  .hero-credit, .scroll-cue { font-size: 12px; }
  .event-link a, .event-link .link-pending, .event-link .event-row-action { width: auto; min-width: 132px; font-size: 12px; }
  .event-date-meta span, .event-date-meta small { font-size: 12px; }
  .detail-section-heading h2 { font-size: clamp(42px, 9vw, 60px); }
}


/* Tournament detail alignment and match placeholders */
.tournament-overview { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.overview-item { min-width: 0; }
.overview-link { min-width: 0; justify-items: start; }
.overview-actions { display: flex; flex-wrap: wrap; align-items: start; gap: 10px; }
.venue-map-link { color: rgba(255,255,255,.88); font-size: 14px; line-height: 1.5; text-decoration: underline; text-decoration-color: rgba(255,255,255,.4); text-underline-offset: 3px; }
.venue-map-link:hover { color: white; text-decoration-color: white; }
.venue-map-link span { color: white; }
.match-day-heading { grid-template-columns: auto 1fr; gap: 16px; }
.detail-match-table { min-width: 900px; }
.detail-match-table th:last-child, .detail-match-table td:last-child { text-align: right; }
.game-box-score { display: flex; justify-content: flex-end; }
.game-box-score summary { width: max-content; color: var(--blue); cursor: pointer; font-size: 13px; font-weight: 700; list-style: none; white-space: nowrap; }
.game-box-score summary::-webkit-details-marker { display: none; }
.game-box-score summary::before { content: "▶ "; font-size: 10px; }
.game-box-score[open] summary::before { content: "▼ "; }
.game-box-score p { max-width: 250px; margin: 10px 0; color: #666; font-size: 13px; line-height: 1.5; }
.game-box-score-pending { color: #777; font-size: 12px; white-space: nowrap; }
.game-box-score-table { min-width: 1040px; }
@media (max-width: 760px) {
  .tournament-overview { grid-template-columns: 1fr 1fr; gap: 22px 18px; }
  .overview-link { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
  .tournament-overview { grid-template-columns: 1fr; gap: 18px; }
  .overview-link { grid-column: auto; }
  .match-day-heading { grid-template-columns: auto 1fr; gap: 10px; }
}

.event-link { margin: 6px 0; }
.event-link a { min-height: 48px; padding-right: 14px; padding-left: 14px; }


/* Keep match sheets compact on wide screens */
.match-day-card { width: min(100%, 1000px); }
.detail-match-table { width: 100%; min-width: 760px; table-layout: fixed; }
.detail-match-table th, .detail-match-table td { padding-right: 12px; padding-left: 12px; }
.detail-match-table th:nth-child(1), .detail-match-table td:nth-child(1) { width: 90px; }
.detail-match-table th:nth-child(2), .detail-match-table td:nth-child(2) { width: 90px; }
.detail-match-table th:nth-child(3), .detail-match-table td:nth-child(3) { width: 135px; }
.detail-match-table th:nth-child(5), .detail-match-table td:nth-child(5) { width: 85px; }
.detail-match-table th:nth-child(6), .detail-match-table td:nth-child(6) { width: 105px; }
.detail-match-table th:nth-child(7), .detail-match-table td:nth-child(7) { width: 155px; }
@media (max-width: 760px) {
  .match-day-card { width: 100%; }
}


/* Match schedule section alignment */
.detail-matches { padding-top: 60px; }
.detail-section-heading { align-items: flex-end; }
.detail-matches .detail-lede { padding-bottom: 7px; }
.match-day-card { width: 100%; background: #fff; }
.match-day-heading { background: #f8fafc; }
.detail-match-table thead { background: #f8fafc; }
@media (max-width: 760px) {
  .detail-matches { padding-top: 56px; }
}


/* Centered day label and balanced match columns */
.match-day-heading { display: flex; justify-content: center; align-items: center; gap: 12px; }
.match-day-heading h3 { display: flex; align-items: baseline; gap: 8px; color: var(--blue); font-size: 18px; font-weight: 700; }
.match-day-heading h3 span { color: var(--muted); font-size: 18px; font-weight: 700; }
.match-day-heading .match-day-date { color: #0f172a; font-size: 14px; font-weight: 500; }
.detail-match-table { min-width: 900px; table-layout: fixed; }
.match-col-time, .match-col-court { width: 12%; }
.match-col-round { width: 16%; }
.match-col-opponent { width: 24%; }
.match-col-score, .match-col-result, .match-col-box-score { width: 12%; }
.detail-match-table th:nth-child(3), .detail-match-table td:nth-child(3) { white-space: nowrap; }
.detail-match-table th:nth-child(5), .detail-match-table td:nth-child(5),
.detail-match-table th:nth-child(6), .detail-match-table td:nth-child(6) { text-align: center; }
@media (max-width: 520px) {
  .match-day-heading { gap: 8px; }
  .match-day-heading h3, .match-day-heading h3 span { font-size: 16px; }
  .match-day-heading .match-day-date { font-size: 13px; }
}

.season-scoreboard { margin-bottom: 38px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.18); border-bottom: 1px solid rgba(255,255,255,.18); }
.season-stat { min-width: 0; min-height: 108px; padding: 16px 22px; display: flex; flex-direction: column; justify-content: space-between; gap: 7px; border-right: 1px solid rgba(255,255,255,.18); }
.season-stat:last-child { border-right: 0; }
.season-stat > span { color: rgba(255,255,255,.72); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.season-stat strong { color: white; font-size: clamp(22px, 2.2vw, 31px); line-height: 1.1; }
.season-stat small { color: rgba(255,255,255,.72); font-size: 12px; }
.event-tags .result-placement-pill { border-color: white; color: #004aad; background: #fff; font-weight: 800; }
.event-tags .result-record-pill { border-color: rgba(255,255,255,.55); color: white; background: rgba(255,255,255,.13); font-weight: 800; }
.event-tags .result-status-pill { border-color: rgba(255,255,255,.48); color: white; background: rgba(255,255,255,.12); text-transform: uppercase; }
.event-tags .result-status-pill.is-live { border-color: #fff; color: #004aad; background: #fff; }
.event-tags .result-award-pill { border-color: #fbbf24; color: #fef08a; background: rgba(251,191,36,.18); }
.film-room { margin-top: 58px; padding-top: 30px; border-top: 1px solid rgba(0,0,0,.13); }
.film-room-heading { margin-bottom: 16px; display: flex; justify-content: space-between; align-items: end; gap: 18px; }
.film-room-heading .eyebrow { margin: 0; }
.film-room-heading p { margin: 0; color: #646b76; font-size: 13px; }
.film-room-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.film-card { min-width: 0; min-height: 160px; aspect-ratio: 16 / 9; padding: 18px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; border: 1px solid rgba(0,0,0,.14); color: white; background: linear-gradient(145deg, #14243c, #243957); text-align: center; text-decoration: none; }
a.film-card { transition: border-color .2s ease, background .2s ease; }
a.film-card:hover { border-color: #004aad; background: linear-gradient(145deg, #0e1d33, #1b3d6a); }
.film-card.is-pending { color: #e3e9f2; }
.film-play { width: 30px; height: 30px; margin-bottom: 8px; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 50%; color: white; font-size: 12px; }
.film-card strong { font-size: 15px; }
.film-card small { color: rgba(255,255,255,.7); font-size: 12px; }
@media (max-width: 640px) {
  .season-scoreboard { grid-template-columns: 1fr; margin-bottom: 28px; }
  .season-stat { min-height: 92px; padding: 14px 15px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.18); }
  .season-stat:last-child { border-bottom: 0; }
  .film-room-heading { align-items: flex-start; flex-direction: column; gap: 8px; }
  .film-room-grid { grid-template-columns: 1fr; }
  .film-card { min-height: 155px; }
}
