:root {
  --ink: #011d33;
  --ink-2: #02325a;
  --paper: #f1f6f8;
  --white: #fff;
  --lime: #61aacd;
  --lime-soft: #d9eef7;
  --muted: #587286;
  --line: #d7e3ea;
  --orange: #99a4b0;
  --shadow: 0 18px 55px rgba(2,50,90,.12);
  --radius: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: Inter, sans-serif; -webkit-font-smoothing: antialiased; }
button, select { font: inherit; }
.shell { width: min(1160px, calc(100% - 40px)); margin: 0 auto; }
.hero { min-height: 720px; color: var(--white); background: radial-gradient(circle at 75% 30%, rgba(97,170,205,.2), transparent 28%), linear-gradient(145deg,#064775 0%,#011d33 68%); position: relative; overflow: hidden; }
.hero::before { content:""; position:absolute; inset:0; opacity:.12; background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px); background-size:72px 72px; mask-image:linear-gradient(to right,transparent,black); }
.nav { height: 90px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:2; border-bottom:1px solid rgba(255,255,255,.13); }
.brand { display:flex; align-items:center; gap:12px; color:inherit; text-decoration:none; }
.brand-logo { display:block; width:auto; height:72px; object-fit:contain; filter:drop-shadow(0 5px 12px rgba(0,0,0,.18)); }
.hero-content { position:relative; z-index:1; padding-top:90px; }
.eyebrow { display:flex; align-items:center; gap:12px; font-weight:600; font-size:13px; letter-spacing:2px; text-transform:uppercase; }
.eyebrow span { color:var(--ink); background:var(--lime); border-radius:4px; padding:7px 10px; }
h1,h2,h3,h4,p { margin-top:0; }
h1 { max-width:800px; margin:22px 0 0; text-transform:uppercase; font:800 clamp(76px,10vw,132px)/.77 "Barlow Condensed",sans-serif; letter-spacing:-2px; }
h1 em { color:transparent; -webkit-text-stroke:2px var(--lime); font-style:normal; }
.event-title-lockup { width:fit-content; max-width:100%; }
.presented-by { display:flex; align-items:center; gap:10px; margin:20px 0 18px; color:#cadbe5; text-transform:uppercase; letter-spacing:2.2px; font-size:11px; font-weight:600; }
.presented-by::before { content:""; width:42px; height:2px; flex:0 0 auto; background:var(--lime); }
.hero-copy { max-width:560px; color:#cadbe5; font-size:18px; line-height:1.65; }
.hero-meta { display:flex; gap:44px; margin:38px 0; }
.hero-meta div { padding-left:13px; border-left:2px solid var(--lime); }
.hero-meta small,.championship-chip small,.info-card small { display:block; color:#8ea9ba; font-weight:700; font-size:10px; letter-spacing:1.6px; }
.hero-meta strong { display:block; margin-top:7px; font:700 22px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.primary-cta { display:inline-flex; align-items:center; gap:20px; color:var(--ink); background:var(--lime); border-radius:8px; padding:16px 20px; text-decoration:none; font-weight:700; box-shadow:0 10px 30px rgba(97,170,205,.2); }
.primary-cta span { font-size:20px; }
.hero-number { position:absolute; right:-28px; bottom:-135px; color:rgba(255,255,255,.025); font:800 680px/.75 "Barlow Condensed",sans-serif; user-select:none; }

.hub { padding:104px 0 110px; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:30px; margin-bottom:38px; }
.section-heading > p { color:var(--muted); max-width:420px; line-height:1.65; margin-bottom:4px; }
.kicker { color:#316b92; text-transform:uppercase; letter-spacing:2px; font-size:11px; font-weight:800; margin-bottom:10px; }
h2 { margin-bottom:0; font:800 clamp(44px,6vw,70px)/.95 "Barlow Condensed",sans-serif; text-transform:uppercase; letter-spacing:-1px; }
.division-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; background:#e4edf2; padding:8px; border-radius:18px; }
.division-tab { min-height:84px; border:0; border-radius:12px; background:transparent; color:#526d80; display:flex; align-items:center; justify-content:center; gap:14px; cursor:pointer; text-align:left; font:700 21px/1 "Barlow Condensed",sans-serif; transition:.2s ease; }
.division-tab small { display:block; margin-top:7px; font:500 10px/1 Inter,sans-serif; letter-spacing:1px; text-transform:uppercase; }
.tab-icon { display:grid; place-items:center; width:37px; height:37px; border-radius:10px; background:#cedde6; color:#316b92; font-size:16px; }
.division-tab:hover { color:var(--ink); }
.division-tab.is-active { color:var(--white); background:var(--ink-2); box-shadow:0 10px 25px rgba(2,50,90,.22); }
.division-tab.is-active .tab-icon { background:var(--lime); color:var(--ink); }
.status-note { display:flex; gap:13px; align-items:flex-start; margin:18px 0 28px; padding:15px 18px; color:#38566b; background:#edf3f6; border:1px solid #cad7de; border-radius:12px; font-size:12px; line-height:1.55; }
.status-dot { flex:0 0 auto; width:9px; height:9px; margin-top:5px; background:var(--orange); border-radius:50%; box-shadow:0 0 0 4px rgba(153,164,176,.2); }
.status-note strong { color:#163d59; }
.division-panel { outline:none; }
.panel-header { display:flex; justify-content:space-between; align-items:center; padding:32px 2px 22px; }
.panel-header h3 { margin:0; font:800 clamp(32px,4vw,48px)/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.championship-chip { min-width:150px; background:var(--lime); padding:13px 17px; border-radius:10px; transform:rotate(-1deg); }
.championship-chip small { color:#163d59; }
.championship-chip strong { display:block; margin-top:4px; font:800 24px/1 "Barlow Condensed",sans-serif; }
.hub-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:20px; }
.card { background:var(--white); border:1px solid var(--line); border-radius:var(--radius); box-shadow:var(--shadow); }
.schedule-card,.standings-card { padding:28px; }
.card-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:15px; padding-bottom:22px; border-bottom:1px solid var(--line); }
.card h4 { margin:0; font:800 31px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.confirmed-tag,.week-tag { white-space:nowrap; padding:7px 9px; border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.confirmed-tag { background:#d9eef7; color:#02325a; }
.week-tag { background:#edf0f2; color:#53616a; }
.timeline { margin-top:5px; }
.game-row { display:grid; grid-template-columns:80px 1fr auto; align-items:center; gap:18px; padding:21px 0; border-bottom:1px solid var(--line); }
.game-row:last-child { border-bottom:0; padding-bottom:3px; }
.game-time { font:800 26px/1 "Barlow Condensed",sans-serif; }
.game-time small { display:block; margin-top:4px; color:var(--muted); font:700 9px/1 Inter,sans-serif; letter-spacing:1px; }
.game-detail strong { display:block; font-size:14px; }
.game-detail span { display:block; margin-top:6px; color:var(--muted); font-size:11px; line-height:1.4; }
.game-type { padding:6px 8px; border-radius:6px; color:#657078; background:#eef1f2; font-size:9px; font-weight:800; letter-spacing:.8px; text-transform:uppercase; }
.game-row.final .game-type { color:#02325a; background:var(--lime-soft); }
.standings { padding-top:12px; }
.standings-row { display:grid; grid-template-columns:34px 1fr auto; align-items:center; min-height:58px; border-bottom:1px solid var(--line); }
.standings-row.header { min-height:32px; color:#8a969d; font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.standings-row:last-child { border-bottom:0; }
.rank { font:800 20px/1 "Barlow Condensed",sans-serif; color:#8b969a; }
.team-name { font-weight:700; font-size:13px; }
.record { background:#f1f3ef; border-radius:7px; padding:7px 9px; font:800 14px/1 "Barlow Condensed",sans-serif; }
.fine-print { color:var(--muted); margin:18px 0 0; font-size:10px; line-height:1.55; }
.path-card { margin-top:20px; padding:30px; }
.path-intro { display:flex; justify-content:space-between; align-items:end; gap:30px; }
.path-intro label { color:var(--muted); font-size:10px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
select { display:block; min-width:190px; margin-top:7px; padding:11px 38px 11px 13px; color:var(--ink); background:#f2f4f0; border:1px solid var(--line); border-radius:9px; font-weight:700; cursor:pointer; }
.seed-helper { color:var(--muted); font-size:11px; margin:14px 0 22px; }
.path-view { display:flex; align-items:stretch; gap:10px; overflow-x:auto; padding:4px 1px 9px; }
.path-step { min-width:190px; flex:1; border:1px solid var(--line); border-radius:14px; padding:18px; background:#fafbf8; }
.path-step.active { border-color:#61aacd; background:#edf8fc; box-shadow:inset 0 0 0 1px #a8d3e7; }
.path-step span { color:var(--muted); font-size:9px; font-weight:800; letter-spacing:1px; text-transform:uppercase; }
.path-step strong { display:block; margin:10px 0 7px; font:800 23px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.path-step p { margin:0; color:var(--muted); font-size:11px; line-height:1.5; }
.path-arrow { display:grid; place-items:center; flex:0 0 24px; color:#98a29c; font-size:20px; }
.format-note { margin-top:17px; padding:14px 16px; border-left:3px solid var(--lime); background:#eff6f8; color:#536b7b; font-size:11px; line-height:1.55; }
.format-note strong { color:var(--ink); }

.gameday { background:var(--ink); color:var(--white); padding:100px 0; }
.section-heading.light .kicker { color:var(--lime); }
.section-heading.light > p { color:#9aabb4; }
.info-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.info-card { min-height:230px; padding:24px; border:1px solid rgba(255,255,255,.13); border-radius:18px; background:rgba(255,255,255,.045); }
.info-card.pending { background:rgba(153,164,176,.07); border-color:rgba(153,164,176,.28); }
.info-icon { width:48px; height:48px; margin-bottom:30px; display:grid; place-items:center; border-radius:13px; color:var(--ink); background:var(--lime); font:800 20px/1 "Barlow Condensed",sans-serif; }
.info-card.pending .info-icon { background:var(--orange); }
.info-card small { color:var(--lime); margin-bottom:9px; }
.info-card.pending small { color:var(--orange); }
.info-card strong { display:block; font:700 21px/1.05 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.info-card p { color:#9babb3; font-size:11px; line-height:1.6; margin:14px 0 0; }
.info-link { display:inline-flex; align-items:center; gap:7px; margin-top:14px; color:var(--lime); font-size:10px; font-weight:800; letter-spacing:.5px; text-decoration:none; text-transform:uppercase; }
.info-link:hover { color:var(--white); }
.field-map-card { display:grid; grid-template-columns:minmax(260px,.65fr) minmax(0,1.35fr); gap:32px; align-items:center; margin-top:22px; padding:30px; border:1px solid rgba(255,255,255,.13); border-radius:20px; background:rgba(255,255,255,.045); }
.field-map-copy h3 { margin:0; font:800 38px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.field-key { display:grid; gap:10px; margin-top:28px; }
.field-key div { display:grid; grid-template-columns:70px 1fr; gap:12px; align-items:center; padding:12px 0; border-top:1px solid rgba(255,255,255,.11); }
.field-key span { color:var(--lime); font-size:9px; font-weight:800; letter-spacing:1px; }
.field-key strong { color:var(--white); font-size:11px; line-height:1.4; }
.field-map-image { position:relative; display:block; overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:14px; background:#2f6f28; text-decoration:none; }
.field-map-image img { display:block; width:100%; height:auto; }
.field-map-image span { position:absolute; right:12px; bottom:12px; padding:7px 9px; color:var(--white); background:rgba(1,29,51,.88); border-radius:6px; font-size:9px; font-weight:800; letter-spacing:.6px; text-transform:uppercase; }
.update-banner { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:22px; padding:25px 28px; color:var(--ink); background:var(--lime); border-radius:16px; }
.update-banner span { display:block; color:#163d59; margin-bottom:5px; font-size:9px; font-weight:800; letter-spacing:1px; }
.update-banner strong { font:800 24px/1 "Barlow Condensed",sans-serif; text-transform:uppercase; }
.update-banner p { max-width:480px; margin:0; color:#163d59; font-size:11px; line-height:1.6; }
footer { color:#91a9b8; background:#010f1c; }
.footer-inner { min-height:130px; display:flex; align-items:center; justify-content:space-between; gap:20px; font-size:11px; }
.footer-brand { color:var(--white); }
.footer-logo { height:78px; }
.footer-event { text-align:right; text-transform:uppercase; }
.footer-event strong { display:block; color:var(--white); font:800 19px/1 "Barlow Condensed",sans-serif; letter-spacing:.3px; }
.footer-event small { display:block; margin-top:6px; color:#91a9b8; font-size:8px; font-weight:700; letter-spacing:.7px; }

@media (max-width: 820px) {
  .hero { min-height:680px; }
  .hero-content { padding-top:70px; }
  .hero-number { font-size:520px; right:-75px; }
  .section-heading { align-items:flex-start; flex-direction:column; }
  .section-heading > p { max-width:620px; }
  .hub-grid { grid-template-columns:1fr; }
  .info-grid { grid-template-columns:repeat(2,1fr); }
  .field-map-card { grid-template-columns:1fr; }
  .update-banner { align-items:flex-start; flex-direction:column; }
}

@media (max-width: 560px) {
  .shell { width:min(100% - 24px,1160px); }
  .hero { min-height:700px; }
  .nav { height:74px; }
  .brand-logo { height:58px; }
  .hero-content { padding-top:62px; }
  .eyebrow { font-size:10px; gap:8px; }
  h1 { margin-top:24px; font-size:72px; letter-spacing:-1px; }
  h1 em { -webkit-text-stroke:1.5px var(--lime); }
  .presented-by { align-items:flex-start; flex-wrap:wrap; gap:7px 9px; margin-top:18px; font-size:9px; letter-spacing:1.5px; }
  .presented-by::before { width:26px; margin-top:5px; }
  .hero-copy { font-size:15px; }
  .hero-meta { gap:18px; display:grid; grid-template-columns:1fr 1fr; margin:31px 0; }
  .hero-meta div:last-child { grid-column:span 2; }
  .hero-meta strong { font-size:19px; }
  .primary-cta { width:100%; justify-content:space-between; }
  .hub { padding:70px 0 78px; }
  h2 { font-size:47px; }
  .division-tabs { position:sticky; top:8px; z-index:5; padding:5px; }
  .division-tab { min-height:64px; gap:0; font-size:18px; text-align:center; }
  .division-tab small { font-size:8px; }
  .tab-icon { display:none; }
  .status-note { font-size:11px; }
  .panel-header { align-items:flex-end; gap:10px; }
  .panel-header h3 { font-size:30px; }
  .championship-chip { min-width:122px; padding:11px; }
  .championship-chip strong { font-size:21px; }
  .schedule-card,.standings-card,.path-card { padding:20px; }
  .card-title-row { flex-direction:column; }
  .game-row { grid-template-columns:65px 1fr; gap:10px; }
  .game-type { grid-column:2; justify-self:start; margin-top:-10px; }
  .path-intro { align-items:flex-start; flex-direction:column; }
  .path-intro label,select { width:100%; }
  .path-view { display:grid; overflow:visible; }
  .path-step { min-width:0; }
  .path-arrow { height:20px; transform:rotate(90deg); }
  .gameday { padding:74px 0; }
  .info-grid { grid-template-columns:1fr; }
  .info-card { min-height:190px; }
  .info-icon { margin-bottom:22px; }
  .field-map-card { padding:20px; gap:22px; }
  .field-map-copy h3 { font-size:32px; }
  .footer-inner { padding:28px 0; align-items:flex-start; flex-direction:column; }
  .footer-event { text-align:left; }
}

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