/* Shared finish: SCC's athletic typography, calm spacing, readable details. */
:root { --space-section:clamp(48px,6vw,88px); --muted-ink:#465574; --rule:#d8deea; --motion:180ms ease-out; }
html { scrollbar-color:#687eac #03132e; }
body { line-height:1.6; }
h1,h2,h3 { text-wrap:balance; }
p { text-wrap:pretty; }
a { text-underline-offset:.2em; }
button,a,input,summary { -webkit-tap-highlight-color:#22318525; }
.section,.results .section { padding-block:var(--space-section); }
.section-head { align-items:end; gap:32px; margin-bottom:32px; }
.section-head h2,.two-col h2,.split__side h2,.sponsor-home h2 { font-size:clamp(42px,5vw,68px); line-height:1; }
.section-head p,.split__side p { font-size:16px; line-height:1.65; }
.section-head p { max-width:42ch; }
.site-head { backdrop-filter:none; -webkit-backdrop-filter:none; }
.site-head .wrap { min-height:80px; }
.nav a { padding-block:12px; }
.nav .pill { transition:background var(--motion); }
.nav .pill:hover { background:#14215f; color:white; }
.btn { transition:background var(--motion),border-color var(--motion),color var(--motion); }
.btn:hover { transform:none; }
.btn--pink:hover { color:#223185; background:#edf1fb; filter:none; }
.hero--home h1 { font-size:clamp(66px,8vw,96px); line-height:.95; }
.hero--home .hero__inner { gap:24px; }
.hero--home .hero__pills .mono { font:600 12px var(--display); letter-spacing:.08em; }
.hero__rail { display:none; }
.hero__story { font-size:14px; }
.hero__story b { font-size:14px; margin-top:5px; }
.hero__caption { font-size:13px; }
.hero__caption .mono { font-size:11px; }
.countdown-band::after { display:none; }
.countdown-band .countdown { padding-block:30px; }
.countdown__head h2 { font-size:44px; }
.countdown__head .mono { font:600 13px var(--display); letter-spacing:0; text-transform:none; }
#cd-event { font-size:13px; }
.countdown__head small { font-size:12px; color:#dce5ff; }
.countdown__grid b { font-size:clamp(44px,6vw,80px); }
.countdown__grid span { font-size:11px; letter-spacing:.08em; }
.stat span { font-size:12px; line-height:1.45; }
.tab { min-height:80px; padding:16px 12px; text-align:left; transition:background var(--motion); }
.tab b { font-size:15px; }
.tab span { font-size:11px; }
.tab:not([aria-selected=true]):hover { background:#152b51; }
.tab:focus-visible { outline:3px solid #789bff; outline-offset:-4px; position:relative; z-index:1; }
.prog-panel__photo { flex-basis:380px; min-height:350px; }
.prog-panel__body { padding:clamp(24px,3vw,40px); }
.prog-panel__copy h3 { font-size:44px; line-height:1.05; }
.prog-panel__copy p { font-size:16px; max-width:60ch; line-height:1.65; }
.prog-panel__copy > a:not(.btn) { color:#223185; font-weight:600; display:inline-block; padding-block:10px; }
.prog-panel__copy .mono { font:600 12px var(--display); letter-spacing:.04em; }
.prog-panel .btn { min-height:46px; font-size:14px; }
.facts-dl dt,.facts-dl .tbd { font-size:12px; }
.facts-dl dd { font-size:14px; line-height:1.5; }
.athlete__info .mono { font-size:11px; letter-spacing:.05em; }
.athlete__badge { font:700 12px var(--display); letter-spacing:.04em; }
.honor-roll span { font-size:14px; }
.row { padding-block:24px; gap:20px; }
.row__date span { font-size:11px; }
.row__title strong { font-size:19px; line-height:1.35; }
.row__meta { font-size:14px; line-height:1.6; }
.row__note { font-size:13px; }
.row__side button,.row__side a { min-height:44px; padding:10px 12px; font-size:12px; display:inline-flex; align-items:center; justify-content:center; }
.tag { font-size:10px; line-height:1.2; letter-spacing:.05em; }
.split { gap:48px; }
.page-hero { padding-block:56px 36px; }
.page-hero h1 { font-size:clamp(56px,7vw,96px); line-height:.98; margin:0; }
.page-context { margin-top:18px; color:#c9d4ee; font-size:15px; }
.filterbar { top:80px; }
.filterbar .wrap { gap:16px; }
.chips { flex-wrap:wrap; overflow:visible; margin:0; padding:0; gap:8px; }
.chip { border-radius:4px; min-height:44px; font-size:14px; }
.next-card { border-radius:0; }
.month h2 { font-size:36px; line-height:1.1; }
.girls-editorial .hero__inner { padding-left:var(--gutter); }
.girls-editorial h1 { font-size:clamp(64px,7vw,96px); line-height:.98; }
.girls-hero-photo { padding-right:var(--gutter); }
.girls-hero-photo img { max-width:320px; }
.girls-hero-photo figcaption { font:500 12px/1.5 var(--display); letter-spacing:0; text-align:center; max-width:320px; margin-inline:auto; }
.girls-facts b { font-size:26px; line-height:1.15; }
.girls-facts .mono { font:700 12px var(--display); letter-spacing:.06em; }
.girls-welcome h3 { font-size:clamp(30px,3vw,42px); }
.faq { max-width:1100px; }
.faq summary { min-height:44px; align-items:center; font-size:18px; line-height:1.45; }
.faq details p { max-width:70ch; line-height:1.75; }
.sponsor-business { border-top:1px solid var(--rule); min-height:108px; }
.sponsor-business strong { font-size:17px; }
.sponsor-home .sponsor-intro p { font-size:16px; }
.sponsor-level__heading::before { display:none; }
.sponsor-level__heading span,.sponsor-roster-heading .mono { font:600 12px var(--display); letter-spacing:.02em; }
.sponsor-invitation { padding:36px; }
.sponsor-invitation h3 { font-size:38px; }
.sponsor-invitation p { font-size:15px; }
.foot-cols span,.foot-cols a { font-size:14px; line-height:1.65; }
.foot-cols a { display:inline-block; padding-block:4px; }
.foot-base { font-size:12px; }
.cta-band { overflow:hidden; }
@media(max-width:1100px) and (min-width:960px) { .nav { gap:14px; } .brand b { font-size:20px; } .nav .pill { padding-inline:14px; } }
@media(max-width:759px) {
 .site-head .wrap { min-height:68px; }
 .filterbar { top:68px; }
 .section-head { gap:20px; }
 .hero--home .hero__inner { gap:20px; }
 .hero--home .hero__pills .mono { font-size:10px; }
 .tab { min-height:76px; padding:12px 8px; }
 .tab b { font-size:13px; }
 .tab span { font-size:10px; }
 .prog-panel__photo { flex-basis:100%; min-height:260px; }
 .prog-panel__copy h3 { font-size:38px; }
 .facts-dl { gap:20px; }
 .stats .wrap { grid-template-columns:repeat(3,minmax(0,1fr)); padding-block:12px; }
 .stat { padding:14px 8px; }
 .stat span { font-size:11px; }
 .countdown__grid > div { padding-inline:8px; }
 .countdown__grid span { font-size:10px; }
 .row { gap:12px; }
 .page-hero { padding-top:40px; }
 .filterbar { position:static; }
 .chips { width:100%; }
 .chip { padding-inline:13px; }
 .girls-editorial .hero__inner { padding:40px var(--gutter) 24px; }
 .girls-hero-photo { padding:0 var(--gutter) 32px; }
 .girls-welcome { padding:28px; }
 .sponsor-invitation { padding:28px; }
 .sponsor-business strong { font-size:15px; }
 .sponsor-intro { gap:32px; }
 .sponsor-roster-heading { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) { .btn,.tab,.nav .pill { transition:none; } }
.tab .tag--new { color:#03132e; background:#dce5ff; font:700 8px var(--display); padding:2px 4px; }
.tab > span { white-space:nowrap; letter-spacing:0; }
.sp { border-radius:0; font-family:var(--display); font-size:17px; font-weight:700; font-stretch:100%; text-transform:none; line-height:1.35; background:white; color:#03132e; border:1px solid #d8deea; }
a.sp:hover { background:#edf1fb; color:#223185; }
.tier__head .mono { font:700 18px var(--display); letter-spacing:0; text-transform:none; color:white; }
@media(max-width:759px) {
 .next-card { padding:20px; gap:16px; }
 .next-card__l { display:grid; grid-template-columns:45px minmax(0,1fr); gap:16px; width:100%; }
 .next-card__date { min-width:0; }
 .next-card__date b { font-size:44px; }
 .next-card__info strong { font-size:23px; line-height:1.1; }
 .next-card__info span:last-child { font-size:13px; }
 .next-card__days { flex-direction:row; align-items:baseline; gap:6px; margin-left:61px; }
 .next-card__days b { font-size:24px; }
 .next-card__days span { font-size:11px; }
 .sp { font-size:15px; padding:20px 12px; }
}
