@import url('https://fonts.googleapis.com/css2?family=Archivo+Black&family=Barlow+Condensed:wght@600;700;800;900&family=Manrope:wght@400;500;600;700;800&display=swap');

:root {
  --navy-950:#061426;
  --navy-900:#0a1b31;
  --navy-800:#0e2240;
  --navy-700:#17385f;
  --crimson:#c8102e;
  --crimson-dark:#a30c25;
  --gold:#f2b705;
  --green:#16834b;
  --amber:#a85b00;
  --blue:#1769aa;
  --ink:#111827;
  --muted:#5b6574;
  --line:#dfe4eb;
  --surface:#fff;
  --surface-2:#f6f7f9;
  --surface-3:#edf1f5;
  --ncca-navy:var(--navy-800);
  --ncca-navy-deep:var(--navy-950);
  --ncca-crimson:var(--crimson);
  --ncca-crimson-dark:var(--crimson-dark);
  --ncca-gold:var(--gold);
  --pitch-green:var(--green);
  --loss-red:#b3261e;
  --warn-amber:var(--amber);
  --info-blue:var(--blue);
  --ink-soft:var(--muted);
  --surface-alt:var(--surface-2);
  --s-1:8px;
  --s-2:16px;
  --s-3:24px;
  --s-4:32px;
  --s-6:48px;
  --s-8:64px;
  --radius:12px;
  --radius-lg:18px;
  --font-display:'Archivo Black',Impact,sans-serif;
  --font-body:'Manrope',system-ui,sans-serif;
  --font-data:'Barlow Condensed',Arial Narrow,sans-serif;
  --shadow-1:0 1px 2px rgba(6,20,38,.04),0 10px 30px rgba(6,20,38,.06);
  --shadow-2:0 22px 60px rgba(6,20,38,.16);
  --ease:cubic-bezier(.2,.8,.2,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;color-scheme:light}
body{font-family:var(--font-body);font-size:16px;line-height:1.65;color:var(--ink);background:var(--surface-2);overflow-x:hidden;-webkit-font-smoothing:antialiased}
img,svg{display:block;max-width:100%}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--navy-800)}
button,input,select{font:inherit}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #5ba7e2;outline-offset:3px}
.skip-link{position:fixed;top:-80px;left:18px;z-index:1000;padding:10px 16px;border-radius:8px;color:#fff;background:var(--crimson);font-weight:700}
.skip-link:focus{top:16px;color:#fff}

h1,h2,h3,h4,.h1,.h2,.h3,.h4{font-family:var(--font-display);font-weight:400;line-height:1;text-transform:uppercase;letter-spacing:-.035em;color:var(--navy-800)}
h1,.h1{font-size:clamp(3.25rem,8vw,7rem)}
h2,.h2{font-size:clamp(2.65rem,5.5vw,4.75rem)}
h3,.h3{font-size:clamp(1.65rem,3vw,2.15rem)}
h4,.h4{font-size:1.35rem}
.h5{font-size:1rem;font-weight:700;line-height:1.35}
.h6,.eyebrow{font-size:.72rem;font-weight:800;line-height:1.25;text-transform:uppercase;letter-spacing:.15em;color:var(--crimson)}
.eyebrow{display:block;margin-bottom:10px}
.eyebrow.on-navy,.on-navy .eyebrow{color:var(--gold)}
.caption{font-size:.84rem;line-height:1.55;color:var(--muted)}
.body-lg{font-size:1.1rem}
.stat-num{font-family:var(--font-data);font-weight:800;font-variant-numeric:tabular-nums}
.muted{color:var(--muted)}
.center{text-align:center}
.wrap,.container{width:min(1240px,calc(100% - 48px));margin-inline:auto}
.grid{display:grid;gap:24px}
.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.mt-1{margin-top:8px}.mt-2{margin-top:16px}.mt-3{margin-top:24px}.mt-4{margin-top:32px}

.topbar{position:relative;z-index:102;padding:7px 0;color:#aeb9c9;background:var(--navy-950);font-size:.72rem;font-weight:600;letter-spacing:.03em}
.topbar .wrap{display:flex;align-items:center;justify-content:space-between;gap:20px}
.status-dot{display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(242,183,5,.12)}
.nav{position:sticky;top:0;z-index:100;border-bottom:1px solid rgba(255,255,255,.11);background:rgba(10,27,49,.94);backdrop-filter:blur(18px) saturate(145%);-webkit-backdrop-filter:blur(18px) saturate(145%)}
.nav .wrap{display:flex;align-items:center;min-height:76px;gap:30px}
.brand{display:flex;align-items:center;gap:12px;color:#fff;min-width:max-content}
.brand:hover{color:#fff}
.brand-logo{display:grid;place-items:center;width:46px;height:46px;padding:4px;border-radius:50%;background:#fff;box-shadow:0 8px 20px rgba(0,0,0,.2);overflow:hidden}
.brand-logo img{width:100%;height:100%;object-fit:contain}
.brand-text{display:grid;line-height:1}
.brand-text .b1{font-family:var(--font-data);font-size:1.65rem;font-weight:900;letter-spacing:.06em}
.brand-text .b2{margin-top:3px;font-size:.58rem;font-weight:600;text-transform:uppercase;letter-spacing:.11em;color:#aeb9c9}
.nav-links{display:flex;align-self:stretch;justify-content:flex-end;gap:2px;margin-left:auto;list-style:none}
.nav-links a{position:relative;display:grid;place-items:center;height:100%;padding:0 11px;color:#bac5d4;font-family:var(--font-body);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;transition:color .2s ease}
.nav-links a::after{content:"";position:absolute;right:11px;bottom:0;left:11px;height:3px;transform:scaleX(0);background:var(--crimson);transition:transform .25s var(--ease)}
.nav-links a:hover,.nav-links a.active{color:#fff}
.nav-links a:hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-actions{display:flex;align-items:center;gap:6px;order:3}
.theme-toggle,.nav-toggle{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.16);border-radius:50%;color:#fff;background:rgba(255,255,255,.06);cursor:pointer;transition:background .2s ease,transform .2s ease}
.theme-toggle:hover,.nav-toggle:hover{background:rgba(255,255,255,.14)}
.theme-toggle:hover{transform:rotate(16deg)}
.theme-icon{font-size:1.2rem;line-height:1}
.nav-toggle{display:none}
.nav-toggle svg{width:23px;height:23px}

.ticker{color:#fff;background:var(--crimson)}
.ticker-inner{display:flex;align-items:stretch;padding:0}
.ticker-label{display:flex;align-items:center;gap:9px;flex:0 0 auto;padding:11px 18px 11px 0;font-family:var(--font-data);font-size:.9rem;font-weight:800;text-transform:uppercase;letter-spacing:.09em}
.ticker-dot{width:7px;height:7px;border-radius:50%;background:#fff;box-shadow:0 0 0 5px rgba(255,255,255,.13)}
.ticker-track{overflow-x:auto;flex:1;border-left:1px solid rgba(255,255,255,.25);white-space:nowrap;scrollbar-width:none}
.ticker-track::-webkit-scrollbar{display:none}
.ticker-items{display:inline-flex;align-items:center;gap:36px;padding:11px 20px}
.ticker-items span{font-size:.78rem;font-weight:700}
.ticker-items span::after{content:"";display:inline-block;width:4px;height:4px;margin-left:36px;border-radius:50%;background:var(--gold);vertical-align:middle}

.hero{position:relative;isolation:isolate;overflow:hidden;min-height:720px;display:grid;align-items:center;padding:105px 0 118px;color:#fff;background:var(--navy-950)}
.hero-photo{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:center}
.hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(4,15,29,.98) 0%,rgba(5,18,34,.93) 34%,rgba(6,20,38,.58) 60%,rgba(6,20,38,.16) 100%),linear-gradient(0deg,rgba(6,20,38,.52),transparent 45%)}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;opacity:.13;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(90deg,#000,transparent 70%)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.55fr);align-items:end;gap:72px}
.hero-copy{position:relative;z-index:2}
.hero-season{display:inline-flex;align-items:center;gap:10px;margin-bottom:22px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--gold)}
.hero-season::before{content:"";width:34px;height:2px;background:var(--crimson)}
.hero h1{max-width:800px;color:#fff;font-size:clamp(3.4rem,6.2vw,6.25rem);letter-spacing:-.055em;text-wrap:balance;text-shadow:0 12px 34px rgba(0,0,0,.28)}
.hero h1 span{color:var(--gold)}
.hero-sub{max-width:670px;margin-top:25px;color:#c5cfdd;font-size:clamp(1rem,1.6vw,1.18rem);line-height:1.7}
.hero .btn-row{margin-top:34px}
.hero-wordmark{display:none}
.hero-score{position:relative;z-index:3;padding:24px;border:1px solid rgba(255,255,255,.16);border-radius:22px;background:rgba(5,18,34,.72);box-shadow:0 28px 70px rgba(0,0,0,.3);backdrop-filter:blur(15px)}
.hero-score::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;border-radius:22px 22px 0 0;background:linear-gradient(90deg,var(--crimson) 0 55%,var(--gold) 55%)}
.score-top{display:flex;align-items:center;justify-content:space-between;font-family:var(--font-data);font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#fff}
.score-top b{padding:4px 9px;border-radius:999px;color:#fff;background:var(--crimson);font-size:.72rem;letter-spacing:.1em}
.score-date{margin:4px 0 21px;color:#8f9db1;font-size:.7rem;font-weight:600}
.score-team{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,.1)}
.score-team .team-mark{width:44px;height:44px;min-width:44px}
.score-team div{display:grid;min-width:0}
.score-team strong{overflow:hidden;color:#fff;font-size:.86rem;text-overflow:ellipsis;white-space:nowrap}
.score-team span{font-size:.66rem;color:#8f9db1}
.score-team>b{color:#fff;font:800 1.75rem/1 var(--font-data);font-variant-numeric:tabular-nums}
.score-team.winner>b{color:var(--gold)}
.score-result{margin-top:10px;padding:10px 12px;border-radius:8px;color:#bde9ca;background:rgba(22,131,75,.16);font-size:.72rem;font-weight:700;text-align:center}
.hero-score>a{display:flex;justify-content:space-between;margin-top:16px;color:#fff;font-family:var(--font-body);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.hero-score>a:hover{color:var(--gold)}

.league-strip{color:#fff;background:var(--navy-950);border-top:1px solid rgba(255,255,255,.08)}
.league-metrics{display:grid;grid-template-columns:repeat(4,1fr);padding:0}
.league-metrics>div{display:flex;align-items:center;gap:12px;padding:22px 28px;border-left:1px solid rgba(255,255,255,.09)}
.league-metrics>div:last-child{border-right:1px solid rgba(255,255,255,.09)}
.league-metrics strong{color:var(--gold);font:800 2rem/1 var(--font-data)}
.league-metrics span{max-width:100px;color:#9ba9bb;font-size:.68rem;font-weight:700;line-height:1.35;text-transform:uppercase;letter-spacing:.09em}

.program-rail-section{overflow:hidden;padding:30px 0;border-bottom:1px solid var(--line);background:var(--surface)}
.program-rail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.program-rail-head .eyebrow{margin:0}
.program-rail-head .more{color:var(--navy-800);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.program-logo-viewport{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}
.program-logo-rail{display:flex;width:max-content;gap:14px;animation:program-scroll 42s linear infinite}
.program-logo-rail:hover{animation-play-state:paused}
.program-logo{display:flex;align-items:center;gap:11px;min-width:170px;padding:12px 16px;border:1px solid var(--line);border-radius:12px;color:var(--navy-800);background:var(--surface-2);transition:transform .2s var(--ease),border-color .2s ease,background .2s ease}
.program-logo:hover{transform:translateY(-3px);border-color:rgba(200,16,46,.25);color:var(--navy-800);background:var(--surface)}
.program-logo img{width:42px;height:42px;object-fit:contain;filter:saturate(.82)}
.program-logo span{font-family:var(--font-data);font-size:.9rem;font-weight:800;letter-spacing:.07em}
@keyframes program-scroll{to{transform:translateX(calc(-50% - 7px))}}

section,.section{padding:clamp(64px,7vw,104px) 0;border-bottom:1px solid var(--line)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:38px}
.section-head .more,.text-link{display:inline-flex;align-items:center;gap:12px;color:var(--navy-800);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.section-head .more::after{content:"→";transition:transform .2s var(--ease)}
.section-head .more:hover::after{transform:translateX(5px)}
.text-link.on-dark{color:#fff}
.section-note{max-width:780px;color:var(--muted);font-size:1rem;line-height:1.8}
.section-dark{color:#fff;background:linear-gradient(135deg,var(--navy-950),var(--navy-800));border:0}
.section-dark h2{color:#fff}
.section-dark .more{color:#fff}
.results-section{background:var(--surface)}
.mvp-section{background:var(--surface-2)}
.champion-callout-section{padding:34px 0;background:var(--surface-2)}
.quick-links-section{padding-top:68px;background:var(--surface)}
.feature-story-section{padding:0;border:0;color:#fff;background:var(--navy-950)}
.feature-story-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(380px,.85fr);width:min(1400px,100%);margin:0 auto}
.feature-story-media{position:relative;min-height:650px;overflow:hidden}
.feature-story-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 65%,var(--navy-950)),linear-gradient(0deg,rgba(6,20,38,.82),transparent 42%)}
.feature-story-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.feature-story-media figcaption{position:absolute;right:34px;bottom:30px;left:34px;z-index:1;color:#d0d8e3;font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.feature-story-media figcaption span{display:block;margin-bottom:4px;color:var(--gold);font-family:var(--font-data);font-size:.88rem;font-weight:800}
.feature-story-copy{display:flex;align-items:flex-start;justify-content:center;flex-direction:column;padding:70px clamp(32px,5vw,76px) 70px 24px}
.feature-story-copy h2{max-width:580px;color:#fff;font-size:clamp(2.8rem,4vw,4.6rem);line-height:1.02}
.feature-story-copy>p{max-width:590px;margin-top:24px;color:#aebacd;font-size:.95rem;line-height:1.85}
.feature-story-stats{display:grid;grid-template-columns:repeat(3,1fr);width:100%;margin:34px 0 30px;padding:24px 0;border-top:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}
.feature-story-stats>div{padding-inline:18px;border-left:1px solid rgba(255,255,255,.12)}
.feature-story-stats>div:first-child{padding-left:0;border-left:0}
.feature-story-stats strong{display:block;color:var(--gold);font:800 2.4rem/1 var(--font-data)}
.feature-story-stats span{display:block;margin-top:5px;color:#8998ab;font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.feature-story-copy .text-link{color:#fff}

.card,.team-card,.stat-card{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-1)}
.card{padding:26px}
a.card{display:block;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s ease}
a.card:hover{transform:translateY(-6px);border-color:rgba(200,16,46,.28);box-shadow:var(--shadow-2);color:var(--ink)}
.card.flush{padding:0;overflow:hidden}
.quick-card{min-height:240px;padding:30px 32px 28px}
.quick-card::before{content:"";position:absolute;top:0;right:0;left:0;height:4px;transform:scaleX(0);transform-origin:left;background:var(--crimson);transition:transform .3s var(--ease)}
.quick-card:hover::before{transform:scaleX(1)}
.quick-card .quick-index{position:absolute;top:22px;right:24px;color:var(--surface-3);font:900 4.5rem/1 var(--font-display)}
.quick-card .h6{position:relative;margin-bottom:35px}
.quick-card h3{position:relative;margin-bottom:12px;font-size:2rem}
.quick-card .caption{position:relative;max-width:90%}
.card-arrow{position:absolute;right:28px;bottom:22px;color:var(--crimson);font-size:1.5rem;transition:transform .25s var(--ease)}
.quick-card:hover .card-arrow{transform:translateX(5px)}
.champion-card{display:flex!important;align-items:center;gap:15px;min-height:122px;border-color:rgba(255,255,255,.12);background:rgba(255,255,255,.075);box-shadow:none!important;color:#fff!important}
.champion-card:hover{border-color:rgba(242,183,5,.42);background:rgba(255,255,255,.11)}
.champion-card .h5{color:#fff}
.champion-card .h6{color:var(--gold)}
.champion-card .caption{color:#aebacd}
.champion-card .badge{margin-left:auto}
.tournament-card{display:flex;flex-direction:column;min-height:100%}
.tournament-card-head{position:relative;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;min-height:150px;padding:28px;color:#fff;background:linear-gradient(135deg,var(--navy-900),var(--navy-700));overflow:hidden}
.tournament-card-head::after{content:"";position:absolute;right:-55px;bottom:-85px;width:180px;height:180px;border:28px solid rgba(255,255,255,.045);border-radius:50%}
.tournament-card-head .h6{color:var(--gold)}
.tournament-card-head .h4{position:relative;z-index:1;margin-top:10px;color:#fff;font-size:1.55rem;line-height:1.05}
.tournament-card-body{display:flex;flex:1;flex-direction:column;padding:26px}
.tournament-card-body .btn-row{margin-top:auto;padding-top:22px}
.stat-card{padding:25px;border-top:4px solid var(--crimson)}
.stat-card .stat-num{margin-top:7px;color:var(--navy-800);font-size:3.2rem;line-height:.95}
.stat-card .caption{margin-top:8px}
.stat-strip{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}

.mini-stumps,.stumps{display:inline-flex;gap:4px}
.stumps{gap:6px;margin-bottom:20px}
.mini-stumps span,.stumps span{display:block;width:5px;height:28px;border-radius:3px;background:var(--gold)}
.stumps span{width:8px;height:44px}
.mini-stumps span:nth-child(2),.stumps span:nth-child(2){background:var(--crimson)}
.mini-stumps span:nth-child(3),.stumps span:nth-child(3){background:#fff}

.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;border:0;border-radius:8px;font-family:var(--font-body);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:transform .2s var(--ease),background .2s ease,box-shadow .2s ease}
.btn:hover{transform:translateY(-2px)}
.btn-primary{color:#fff;background:var(--crimson);box-shadow:0 12px 28px rgba(200,16,46,.25)}
.btn-primary:hover{color:#fff;background:var(--crimson-dark)}
.btn-secondary{color:#fff;background:var(--navy-800)}
.btn-secondary:hover{color:#fff;background:var(--navy-950)}
.btn-ghost{border:1px solid var(--navy-800);color:var(--navy-800);background:transparent}
.hero .btn-ghost,.detail-hero .btn-ghost,.page-hero .btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.btn-sm{min-height:40px;padding:8px 15px;font-size:.85rem}
.btn:disabled{color:#7e8794;background:#e2e6eb;box-shadow:none;cursor:not-allowed;transform:none}
.btn-row{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.ext-link{display:inline-flex;align-items:center;gap:8px;min-height:38px;padding:8px 13px;border:1px solid #9aa8ba;border-radius:8px;color:var(--navy-800);font-family:var(--font-body);font-size:.65rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.065em;white-space:nowrap;transition:color .2s ease,background .2s ease,border-color .2s ease}
.ext-link:hover{border-color:var(--navy-800);color:#fff;background:var(--navy-800)}
.ext-link svg{width:14px;height:14px}
.ext-link.small{min-height:34px;padding:7px 10px;font-size:.78rem}

.badge{display:inline-flex;align-items:center;gap:7px;width:max-content;padding:5px 10px;border-radius:999px;font-family:var(--font-data);font-size:.75rem;font-weight:800;line-height:1;text-transform:uppercase;letter-spacing:.08em}
.badge-live{color:#fff;background:var(--crimson)}
.badge-upcoming{color:var(--navy-800);background:#dce6f2}
.badge-completed{color:#fff;background:var(--green)}
.badge-win{color:var(--green);background:#daf1e4}
.badge-loss{color:#a61f1a;background:#f7dfdc}
.badge-gold{color:var(--navy-950);background:var(--gold)}

.page-hero,.detail-hero{position:relative;overflow:hidden;padding:80px 0;color:#fff;background:radial-gradient(circle at 78% 20%,rgba(242,183,5,.12),transparent 28%),linear-gradient(125deg,var(--navy-950),var(--navy-700))}
.page-hero{background-position:center;background-size:cover}
body[data-page="tournaments"] .page-hero,body[data-page="stats"] .page-hero,body[data-page="scorecards"] .page-hero{background-image:linear-gradient(90deg,rgba(6,20,38,.97),rgba(6,20,38,.76) 58%,rgba(6,20,38,.42)),url('../assets/hero-college-cricket.jpg')}
body[data-page="teams"] .page-hero,body[data-page="forms"] .page-hero,body[data-page="about"] .page-hero{background-image:linear-gradient(90deg,rgba(6,20,38,.97),rgba(6,20,38,.78) 62%,rgba(6,20,38,.5)),url('../assets/team-celebration.jpg');background-position:center 42%}
.detail-hero{background-image:linear-gradient(90deg,rgba(6,20,38,.98),rgba(6,20,38,.8) 65%,rgba(6,20,38,.55)),url('../assets/hero-college-cricket.jpg');background-position:center;background-size:cover}
.page-hero::after,.detail-hero::after{content:"";position:absolute;right:-130px;top:-240px;width:520px;height:520px;border:70px solid rgba(255,255,255,.035);border-radius:50%}
.page-hero h1,.detail-hero h1{position:relative;z-index:1;color:#fff;font-size:clamp(3.7rem,8vw,7rem)}
.page-hero p{position:relative;z-index:1;max-width:720px;margin-top:20px;color:#b9c5d5;font-size:1.05rem;line-height:1.7}
.detail-hero .wrap-flex{display:flex;align-items:center;flex-wrap:wrap;gap:26px}
.detail-hero .meta{margin-top:7px;color:#aebacd;font-size:.86rem;font-variant-numeric:tabular-nums}
.detail-hero .meta strong{color:#fff}
.detail-hero .actions{margin-left:auto}
.detail-hero .team-mark.lg{box-shadow:0 16px 35px rgba(0,0,0,.22)}
.crumb{position:relative;z-index:1;margin-bottom:18px;color:#8f9eb1;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.crumb a{color:#fff}

.team-card{overflow:hidden;color:var(--ink);transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s ease}
a.team-card{display:block;color:var(--ink)}
a.team-card:hover{transform:translateY(-6px);border-color:rgba(200,16,46,.25);box-shadow:var(--shadow-2);color:var(--ink)}
.team-card .band{position:relative;display:flex;align-items:center;justify-content:space-between;height:66px;padding:0 22px;background:linear-gradient(120deg,var(--navy-900),var(--navy-700));overflow:hidden}
.team-card .band::after{content:"";position:absolute;right:-18px;width:90px;height:90px;border:18px solid rgba(255,255,255,.045);border-radius:50%}
.team-card .code{position:relative;z-index:1;color:#fff;font:800 1.25rem/1 var(--font-data);letter-spacing:.08em}
.team-card .tc-body{padding:22px}
.team-card .tc-body>.h4{margin-bottom:5px}
.team-card .tc-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.team-card .tc-stats span{display:block;color:var(--muted);font-size:.6rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.team-card .tc-stats b{display:block;margin-top:2px;color:var(--navy-800);font:800 1.45rem/1 var(--font-data);font-variant-numeric:tabular-nums}
.team-mark{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;min-width:44px;height:44px;padding:0 7px;border-radius:11px;color:#fff;background:var(--navy-800);font:800 .9rem/1 var(--font-data);letter-spacing:.04em;text-transform:uppercase}
.team-mark.sm{min-width:35px;height:30px;border-radius:8px;font-size:.72rem}
.team-mark.lg{min-width:92px;height:92px;border-radius:18px;font-size:2rem;background:var(--navy-950)}
.team-mark.logo{padding:4px;border:1px solid var(--line);background:#fff}
.team-mark.logo img{width:100%;height:100%;object-fit:contain}
.team-mark.logo.lg{padding:9px}
.team-card .team-mark{min-width:54px;height:54px}
.directory-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px;padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface);box-shadow:var(--shadow-1)}
.search-field{display:grid;gap:7px;flex:1;max-width:620px;color:var(--navy-800);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
.search-field input{width:100%;min-height:48px;padding:11px 15px;border:1px solid var(--line);border-radius:9px;color:var(--ink);background:var(--surface-2);text-transform:none;letter-spacing:0}
.search-field input::placeholder{color:#9099a6}
.directory-count{color:var(--muted);font-size:.8rem;font-weight:700}

.filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-bottom:28px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:var(--surface)}
.filter-row label{color:var(--navy-800);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
select.filter{min-height:44px;padding:9px 40px 9px 13px;border:1px solid var(--line);border-radius:8px;color:var(--ink);background-color:var(--surface-2);cursor:pointer}
.tabs{display:flex;gap:4px;width:max-content;max-width:100%;margin-bottom:18px;padding:5px;border:1px solid var(--line);border-radius:10px;background:var(--surface)}
.tab{min-height:42px;padding:8px 22px;border:0;border-radius:7px;color:var(--muted);background:transparent;font-family:var(--font-body);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;cursor:pointer}
.tab:hover{color:var(--navy-800);background:var(--surface-2)}
.tab.active{color:#fff;background:var(--navy-800);box-shadow:0 5px 16px rgba(6,20,38,.18)}

.tbl-wrap,.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-1);-webkit-overflow-scrolling:touch}
table{width:100%;min-width:620px;border-collapse:collapse;background:var(--surface)}
thead{position:sticky;top:76px;z-index:5}
th{padding:13px 16px;color:#cdd6e2;background:var(--navy-900);font-family:var(--font-body);font-size:.67rem;font-weight:800;text-align:left;text-transform:uppercase;letter-spacing:.075em;white-space:nowrap}
td{padding:13px 16px;border-bottom:1px solid var(--line);font-size:.84rem;font-variant-numeric:tabular-nums}
tbody tr:last-child td{border-bottom:0}
tbody tr:nth-child(even) td{background:var(--surface-2)}
tbody tr{transition:background .15s ease}
tbody tr:hover td{background:#edf3f9}
td.num,th.num{text-align:right}
td b{font-weight:700}
th.sortable{cursor:pointer;user-select:none}
th.sortable:hover{color:#fff;background:var(--navy-700)}
th.sortable::after{content:"↕";margin-left:6px;color:#77879b;font-size:.7rem}
th.sortable.sort-asc::after{content:"↑";color:var(--gold)}
th.sortable.sort-desc::after{content:"↓";color:var(--gold)}
.table-title{padding:11px 16px;color:#fff;background:var(--navy-700);font-family:var(--font-data);font-size:.92rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.player-cell{display:flex;align-items:center;gap:10px;font-weight:600;white-space:nowrap}
.team-chip{display:inline-block;padding:3px 7px;border-radius:5px;color:#fff;background:var(--navy-700);font:700 .7rem/1 var(--font-data);letter-spacing:.05em}
tr.qualified td:first-child{box-shadow:inset 4px 0 0 var(--green)}
.table-note{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:15px;color:var(--muted);font-size:.76rem}

.match-list{overflow:hidden;border:1px solid var(--line);border-radius:15px;background:var(--surface);box-shadow:var(--shadow-1)}
.match-row{display:grid;grid-template-columns:125px minmax(0,1fr) auto;align-items:center;gap:22px;padding:18px 20px;border-top:1px solid var(--line)}
.match-row:first-child{border-top:0}
.match-row:nth-child(even){background:var(--surface-2)}
.m-date{color:var(--muted);font-size:.7rem;font-weight:600;font-variant-numeric:tabular-nums}
.m-stage{margin-top:3px;color:var(--crimson);font:800 .8rem/1 var(--font-data);text-transform:uppercase;letter-spacing:.06em}
.m-teams{font-size:.9rem;font-weight:700}
.m-teams .vs{padding:0 5px;color:var(--muted);font-size:.7rem;font-weight:500}
.m-score{margin-top:2px;color:var(--muted);font-size:.72rem;font-variant-numeric:tabular-nums}
.m-result{margin-top:3px;color:var(--green);font-size:.76rem;font-weight:700}
.m-result.upcoming{color:var(--muted)}
.match-group-title{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:12px;margin:42px 0 15px;padding-bottom:11px;border-bottom:2px solid var(--navy-800);color:var(--navy-800);font:800 1.45rem/1 var(--font-display);text-transform:uppercase;letter-spacing:.01em}
.match-group-title .sub{color:var(--muted);font:600 .7rem/1.4 var(--font-body);text-transform:none;letter-spacing:0}

.info-list{list-style:none}
.info-list li{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.82rem}
.info-list li:last-child{border:0}
.info-list li strong{flex:0 0 112px;color:var(--navy-800);font-weight:700}
.notice{padding:18px 20px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:12px;color:var(--muted);background:var(--surface);font-size:.84rem}
.form-card{display:flex;flex-direction:column;gap:10px;min-height:260px;padding:30px;border-top:4px solid var(--navy-800)}
.form-card h3{margin-top:4px;font-size:1.8rem}
.form-card p{flex:1;color:var(--muted);font-size:.85rem}
.form-card .deadline{color:var(--amber);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.form-card .btn{align-self:flex-start;margin-top:5px}
.gov-card{border-top:4px solid var(--crimson)}
.gov-card .gov-role{color:var(--crimson);font-family:var(--font-display);font-size:.8rem;font-weight:800;text-transform:uppercase;letter-spacing:.07em}
.gov-card h3{margin:8px 0;font-size:1.5rem}
.gov-card p{color:var(--muted);font-size:.82rem}

.banner-upcoming{position:relative;display:flex;align-items:center;gap:24px;overflow:hidden;padding:28px 30px;border-radius:18px;color:#fff;background:linear-gradient(115deg,var(--navy-950),var(--navy-700));box-shadow:0 22px 50px rgba(6,20,38,.16)}
.banner-upcoming::after{content:"CHAMPIONS";position:absolute;right:-12px;bottom:-19px;color:rgba(255,255,255,.04);font:900 5.7rem/1 var(--font-display);letter-spacing:-.03em}
.banner-upcoming .b-info{position:relative;z-index:1;flex:1;min-width:260px}
.banner-upcoming h3{margin:7px 0 3px;color:#fff;font-size:2rem}
.banner-upcoming p{color:#aebacd;font-size:.8rem}
.banner-upcoming .team-mark{position:relative;z-index:1}
.banner-upcoming .btn{position:relative;z-index:1}

.footer{padding:68px 0 24px;border-top:5px solid var(--crimson);color:#9ba9bb;background:var(--navy-950);font-size:.78rem}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.3fr;gap:44px;margin-bottom:48px}
.footer h4{margin-bottom:14px;color:#fff;font-size:1.1rem;letter-spacing:.01em}
.footer p{line-height:1.7}
.footer ul{list-style:none}
.footer li{margin-bottom:9px}
.footer a{color:#aebacd}
.footer a:hover{color:#fff}
.footer .ext-link{border-color:#42536a;color:#dbe3ed}
.footer-brand{display:flex;align-items:flex-start;gap:15px}
.footer-brand img{width:54px;height:54px;padding:4px;border-radius:50%;background:#fff;object-fit:contain}
.fine{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-top:22px;border-top:1px solid rgba(255,255,255,.11);font-size:.7rem}

.reveal{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .55s var(--ease)}
.reveal.is-visible{opacity:1;transform:none}

[data-theme="dark"]{color-scheme:dark;--ink:#eef3f8;--muted:#a5b2c3;--line:#2b3c51;--surface:#101e30;--surface-2:#091524;--surface-3:#17283d;--blue:#78baff}
[data-theme="dark"] body{background:var(--surface-2);color:var(--ink)}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,[data-theme="dark"] .h4{color:#f5f8fb}
[data-theme="dark"] .card,[data-theme="dark"] .team-card,[data-theme="dark"] .stat-card,[data-theme="dark"] .directory-toolbar,[data-theme="dark"] .filter-row,[data-theme="dark"] .tabs,[data-theme="dark"] .tbl-wrap,[data-theme="dark"] .match-list,[data-theme="dark"] .notice,[data-theme="dark"] table{background:var(--surface);border-color:var(--line)}
[data-theme="dark"] .quick-card .quick-index{color:#1a2b40}
[data-theme="dark"] .quick-card h3,[data-theme="dark"] .stat-card .stat-num,[data-theme="dark"] .team-card .tc-stats b,[data-theme="dark"] .filter-row label,[data-theme="dark"] .search-field,[data-theme="dark"] .info-list li strong,[data-theme="dark"] .match-group-title{color:#eef3f8}
[data-theme="dark"] tbody tr:nth-child(even) td,[data-theme="dark"] .match-row:nth-child(even){background:#0d1a2a}
[data-theme="dark"] tbody tr:hover td{background:#182b41}
[data-theme="dark"] select.filter,[data-theme="dark"] .search-field input{color:var(--ink);background:#0b1726;border-color:var(--line)}
[data-theme="dark"] .ext-link{color:#b8d9ff;border-color:#60718a}
[data-theme="dark"] .results-section,[data-theme="dark"] .quick-links-section{background:var(--surface-2)}
[data-theme="dark"] .champion-callout-section,[data-theme="dark"] .mvp-section{background:#081321}
[data-theme="dark"] section{border-color:var(--line)}
/* Dark mode: lift logo-less short-code chips off the near-identical navy cards */
[data-theme="dark"] .team-mark:not(.logo){background:var(--navy-700);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
/* Dark mode: text/links that were hardcoded to navy-800 (invisible on dark) */
/* Program rail: keep chips light in dark mode too (crest-tile style) so the
   mostly-dark team logos read; light logos get a navy chip via .on-dark below. */
[data-theme="dark"] .program-logo{color:var(--navy-800);background:#eef1f6;border-color:#26384e}
[data-theme="dark"] .program-logo:hover{color:var(--navy-800);background:#fff;border-color:rgba(200,16,46,.35)}
[data-theme="dark"] .program-rail-head .more,
[data-theme="dark"] .section-head .more,
[data-theme="dark"] .text-link{color:#cfe0f5}
[data-theme="dark"] .btn-ghost{border-color:rgba(255,255,255,.42);color:#eef3f8}
[data-theme="dark"] .btn-ghost:hover{background:rgba(255,255,255,.1);color:#fff}

@media(max-width:1080px){
  .nav-links a{padding-inline:8px;font-size:.66rem}
  .brand-text .b2{display:none}
  .g4{grid-template-columns:repeat(3,minmax(0,1fr))}
  .hero-grid{gap:42px}
  .feature-story-grid{grid-template-columns:minmax(0,1fr) minmax(360px,.82fr)}
  .feature-story-media{min-height:600px}
}
@media(max-width:900px){
  .topbar{display:none}
  .nav .wrap{min-height:66px}
  .nav-toggle{display:grid}
  .nav-links{position:absolute;top:100%;right:0;left:0;display:none;align-self:auto;flex-direction:column;gap:0;padding:10px 24px 18px;border-top:1px solid rgba(255,255,255,.1);background:rgba(6,20,38,.985);box-shadow:0 24px 40px rgba(0,0,0,.3)}
  .nav-links.open{display:flex}
  .nav-links a{display:block;padding:12px 8px;border-bottom:1px solid rgba(255,255,255,.08)}
  .nav-links a::after{right:auto;bottom:8px;left:0;width:3px;height:24px;transform:scaleY(0)}
  .nav-links a.active::after,.nav-links a:hover::after{transform:scaleY(1)}
  .nav-actions{margin-left:auto}
  .hero{min-height:auto;padding:72px 0 85px}
  .hero-grid{grid-template-columns:1fr;gap:50px}
  .hero-copy{max-width:760px}
  .hero-score{width:min(100%,520px)}
  .feature-story-grid{grid-template-columns:1fr}
  .feature-story-media{min-height:560px}
  .feature-story-media::after{background:linear-gradient(0deg,var(--navy-950),transparent 35%)}
  .feature-story-copy{padding:60px 48px 72px}
  .g3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .g4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .stat-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .league-metrics{grid-template-columns:repeat(2,1fr)}
  .league-metrics>div:nth-child(2){border-right:1px solid rgba(255,255,255,.09)}
  .league-metrics>div:nth-child(n+3){border-top:1px solid rgba(255,255,255,.09)}
  .footer-grid{grid-template-columns:repeat(2,1fr)}
  thead{top:66px}
}
@media(max-width:680px){
  .wrap,.container{width:min(100% - 32px,1240px)}
  .brand-text .b1{font-size:1.45rem}
  .brand-logo{width:42px;height:42px}
  .ticker-inner{width:100%}
  .ticker-label{padding-left:16px}
  .hero{padding:58px 0 68px}
  .hero-photo{object-position:62% center}
  .hero::before{background:linear-gradient(90deg,rgba(4,15,29,.96),rgba(5,18,34,.82)),linear-gradient(0deg,rgba(6,20,38,.62),transparent 45%)}
  .hero h1{font-size:clamp(3.2rem,14vw,4.8rem)}
  .hero-sub{font-size:.95rem}
  .hero .btn-row{align-items:flex-start;flex-direction:column}
  .hero .btn{width:100%}
  .hero-score{padding:20px}
  .page-hero,.detail-hero{padding:58px 0}
  .page-hero h1,.detail-hero h1{font-size:clamp(3.2rem,16vw,5rem)}
  section,.section{padding:62px 0}
  .champion-callout-section{padding:24px 0}
  .g2,.g3,.g4{grid-template-columns:1fr}
  .section-head{align-items:flex-start;flex-direction:column;margin-bottom:28px}
  .section-head h2{font-size:3.2rem}
  .quick-card{min-height:220px}
  .program-rail-head{align-items:flex-start;flex-direction:column;gap:8px}
  .feature-story-media{min-height:420px}
  .feature-story-copy{padding:52px 22px 62px}
  .feature-story-copy h2{font-size:clamp(2.5rem,11vw,3.6rem)}
  .feature-story-stats>div{padding-inline:10px}
  .feature-story-stats strong{font-size:2rem}
  .feature-story-stats span{font-size:.55rem}
  .champion-card .badge{display:none}
  .league-metrics>div{padding:18px 16px}
  .league-metrics strong{font-size:1.7rem}
  .league-metrics span{font-size:.6rem}
  .banner-upcoming{align-items:flex-start;padding:24px;flex-direction:column}
  .banner-upcoming .b-info{min-width:0}
  .banner-upcoming .btn{width:100%}
  .filter-row{align-items:stretch;flex-direction:column}
  .filter-row .muted{margin-left:0!important}
  select.filter{width:100%}
  .tabs{width:100%;overflow-x:auto;scrollbar-width:none}
  .tab{flex:1;min-width:max-content;padding-inline:18px}
  .match-row{grid-template-columns:1fr;gap:9px;padding:17px}
  .m-ext{justify-self:start}
  .match-group-title{align-items:flex-start;flex-direction:column}
  .directory-toolbar{align-items:stretch;flex-direction:column}
  .directory-count{align-self:flex-end}
  .stat-strip{grid-template-columns:1fr 1fr;gap:12px}
  .stat-card{padding:19px}
  .stat-card .stat-num{font-size:2.6rem}
  .detail-hero .actions{width:100%;margin-left:0}
  .detail-hero .actions .btn{width:100%}
  .info-list li{flex-direction:column;gap:3px}
  .info-list li strong{flex-basis:auto}
  .footer-grid{grid-template-columns:1fr;gap:34px}
  .footer-brand{flex-direction:column}
}
@media(max-width:430px){
  .theme-toggle{display:none}
  .league-metrics>div{align-items:flex-start;flex-direction:column;gap:5px}
  .score-team strong{font-size:.78rem}
  .score-team>b{font-size:1.45rem}
  .stat-strip{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}
  .reveal{opacity:1;transform:none}
  .program-logo-rail{animation:none}
}
/* Light/white logos (see LIGHT_LOGOS in app.js) sit on a dark chip so they read */
.team-mark.logo.on-dark{background:var(--navy-900);border-color:var(--navy-700)}
.program-logo.on-dark{background:var(--navy-900);border-color:var(--navy-700);color:#eef3f8}
