:root{--red:#d71920;--red-dark:#a80f15;--black:#111214;--charcoal:#1c1e21;--white:#fff;--cream:#f5f2ed;--gray:#6c7076;--line:#dedbd6;--display:"Barlow Condensed",Arial,sans-serif;--body:Inter,Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--black);font-family:var(--body);background:var(--cream);line-height:1.6}a{color:inherit}.skip-link{position:absolute;left:-999px;top:0}.skip-link:focus{left:1rem;top:1rem;background:#fff;padding:.75rem;z-index:99}.notice{background:var(--red);color:#fff;text-align:center;padding:.55rem 1rem;font:700 .78rem var(--body);letter-spacing:.12em}.site-header{height:88px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(1rem,5vw,5rem);position:sticky;top:0;z-index:20;border-bottom:1px solid #eee}.brand{display:flex;align-items:center;gap:.8rem;text-decoration:none}.brand-mark{width:52px;height:52px;background:var(--red);color:#fff;display:grid;place-items:center;font:800 1.5rem var(--display);transform:skew(-6deg)}.brand strong,.brand small{display:block;line-height:1}.brand strong{font:800 1.45rem var(--display);letter-spacing:.04em}.brand small{font-size:.65rem;letter-spacing:.17em;margin-top:.35rem;color:var(--gray)}nav{display:flex;gap:1.8rem}nav a{text-decoration:none;font-weight:700;font-size:.88rem;text-transform:uppercase}nav a:hover{color:var(--red)}.menu-button{display:none;border:0;background:var(--black);color:#fff;padding:.75rem 1rem;font-weight:800}.hero{min-height:650px;background:linear-gradient(115deg,#0b0c0e 0%,#17191c 62%,#2a0b0d 62%,#d71920 100%);color:#fff;padding:clamp(4rem,9vw,8rem) clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1.4fr .7fr;gap:3rem;align-items:center}.eyebrow{font-weight:800;letter-spacing:.2em;font-size:.78rem;margin:0 0 1rem}.eyebrow.red{color:var(--red)}h1,h2,h3{font-family:var(--display);margin:0;line-height:.95;text-transform:uppercase}h1{font-size:clamp(4rem,10vw,8.8rem);letter-spacing:-.025em}h1 span{color:var(--red)}h2{font-size:clamp(2.8rem,6vw,5rem)}h3{font-size:2rem}.hero-lead{font-size:clamp(1rem,2vw,1.3rem);max-width:650px;color:#d9d9d9}.hero-actions,.social-buttons{display:flex;gap:1rem;flex-wrap:wrap;margin-top:2rem}.button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;padding:.8rem 1.5rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em;text-decoration:none;border:2px solid transparent}.button.primary{background:var(--red);color:#fff}.button.secondary{border-color:#fff;color:#fff}.button.light{background:#fff;color:var(--black)}.hero-card{border:1px solid rgba(255,255,255,.25);padding:2rem;background:rgba(0,0,0,.26);backdrop-filter:blur(6px)}.hero-card p{font-size:.75rem;letter-spacing:.2em}.hero-card strong{font:800 clamp(2rem,4vw,3.5rem)/1 var(--display)}.quick-links{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-bottom:1px solid var(--line)}.quick-links a{padding:1.6rem;text-decoration:none;font:700 1.35rem var(--display);text-transform:uppercase;border-right:1px solid var(--line)}.quick-links span{color:var(--red);font-size:.75rem;margin-right:.6rem}.section{padding:clamp(4rem,8vw,7rem) clamp(1.25rem,8vw,8rem)}.section-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:3rem;align-items:end;margin-bottom:3rem}.section-heading>p{color:var(--gray);font-size:1.05rem}.announcement-section{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem;background:#fff;align-items:center}.announcement-section .social-buttons{grid-column:1/-1;margin-top:0}.text-link{font-weight:800;color:var(--red)}.program-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.program-card{min-height:380px;padding:clamp(2rem,5vw,4rem);color:#fff;display:flex;flex-direction:column;justify-content:flex-end}.program-card h3{font-size:clamp(4rem,8vw,7rem)}.program-card p{max-width:530px}.program-card a{font-weight:800;margin-top:1rem}.dark{background:linear-gradient(145deg,#111214,#323438)}.red-card{background:linear-gradient(145deg,var(--red),var(--red-dark))}.card-kicker{font-size:.75rem;font-weight:800;letter-spacing:.18em}.safety{background:var(--black);color:#fff;text-align:center}.safety p:last-child{max-width:850px;margin:2rem auto 0;color:#d0d0d0;font-size:1.1rem}.schedule{background:#fff}.schedule>div:first-child{margin-bottom:2.5rem}.event-list{border-top:1px solid var(--line)}.event-list article{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:1.75rem 0;border-bottom:1px solid var(--line);align-items:center}.event-list article>span{color:var(--red);font:800 1.25rem/1 var(--display)}.event-list p{font-size:.7rem;letter-spacing:.16em;margin:0;color:var(--gray)}.event-list small{color:var(--gray)}.volunteer,.registration{background:var(--red);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:3rem}.volunteer>div,.registration{max-width:100%}.volunteer p{max-width:720px}.tier-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}.tier-grid article{background:#fff;border:1px solid var(--line);padding:1.5rem;min-height:190px}.tier-grid article.featured{background:var(--black);color:#fff;border-top:5px solid var(--red)}.tier-grid p{font-size:.7rem;letter-spacing:.16em;color:var(--red);font-weight:800}.tier-grid strong{font:800 1.8rem var(--display);display:block;margin-top:2rem}.fine-print{color:var(--gray);font-size:.85rem;margin-top:1.5rem}.partners{background:#fff;text-align:center}.partners>p:not(.eyebrow){color:var(--gray)}.partner-list{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap;margin-top:2rem}.partner-list span{border:1px solid var(--line);padding:1rem 1.5rem;font-weight:700}.board-placeholder{border:2px dashed #aaa;padding:4rem 2rem;text-align:center;font:700 1.1rem var(--display);letter-spacing:.12em;color:var(--gray)}.registration{display:block;text-align:center;max-width:none}.registration p{max-width:600px;margin:1.5rem auto}.registration .button{margin-top:1rem}footer{background:#08090a;color:#fff;padding:4rem clamp(1.25rem,8vw,8rem);display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:2rem}footer p{color:#aaa;margin:.3rem 0}.footer-brand .brand small{color:#aaa}.copyright{grid-column:1/-1;border-top:1px solid #333;padding-top:1.5rem;margin-top:2rem!important;font-size:.8rem}.menu-open{display:flex!important}
@media(max-width:900px){.site-header{height:76px}.menu-button{display:block}nav{display:none;position:absolute;top:76px;left:0;right:0;background:#fff;padding:1rem;flex-direction:column;border-bottom:3px solid var(--red);box-shadow:0 10px 20px rgba(0,0,0,.15)}nav a{padding:.65rem}.hero{grid-template-columns:1fr;min-height:auto}.hero-card{max-width:480px}.quick-links{grid-template-columns:1fr 1fr}.program-grid,.section-heading,.announcement-section{grid-template-columns:1fr}.announcement-section .social-buttons{grid-column:auto}.tier-grid{grid-template-columns:1fr 1fr}.volunteer{align-items:flex-start;flex-direction:column}footer{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.brand strong{font-size:1.15rem}.brand-mark{width:44px;height:44px}.hero{padding-top:5rem}.quick-links{grid-template-columns:1fr}.quick-links a{border-right:0;border-bottom:1px solid var(--line)}.tier-grid{grid-template-columns:1fr}.event-list article{grid-template-columns:85px 1fr;gap:1rem}.program-card{min-height:320px}.program-card h3{font-size:4rem}footer{grid-template-columns:1fr}}

.program-details,.policy-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin:1rem 0 3rem}.program-details article,.policy-grid article{background:#fff;border:1px solid var(--line);padding:1.75rem}.program-details h3,.policy-grid h3{font-size:1.7rem}.resources{background:#eef0f2}.policy-grid li{margin:.4rem 0}.policy-grid a,.volunteer a{font-weight:800}.resource-list{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.resource-list a{background:#fff;border-left:5px solid var(--red);padding:1.25rem;text-decoration:none;display:flex;flex-direction:column;transition:.15s transform,.15s box-shadow}.resource-list a:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(0,0,0,.08)}.resource-list strong{font:800 1.35rem var(--display);text-transform:uppercase}.resource-list span{font-size:.8rem;color:var(--gray);margin-top:.35rem}
.league-note{margin:-1.5rem 0 3rem;padding:1.25rem;background:#fff;border-left:5px solid var(--red)}.league-note a{color:var(--red);font-weight:800}
.football-feature-photo{position:relative;margin:1.5rem 0 0;background:var(--black);overflow:hidden}.football-feature-photo img{display:block;width:100%;height:clamp(320px,52vw,650px);object-fit:cover;object-position:center}.football-feature-photo figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:1.5rem clamp(1rem,4vw,2.5rem);color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.9));padding-top:5rem}.football-feature-photo strong{font-family:var(--display);font-size:1.6rem;text-transform:uppercase}.football-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0 2rem}.football-photo-grid figure{margin:0;background:var(--black);color:#fff}.football-photo-grid img{display:block;width:100%;height:300px;object-fit:cover}.football-photo-grid figcaption{padding:1rem;font-size:.85rem;color:#ddd}
.coaches{background:#fff}.coach-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.coach-grid article{border:2px dashed #c6c6c6;padding:2rem;min-height:210px}.coach-grid span{display:block;color:var(--red);font-size:.72rem;font-weight:800;letter-spacing:.14em;margin-bottom:2.5rem}.coach-contact{color:var(--gray);margin-top:1.5rem}.coach-contact a{color:var(--red);font-weight:800}
.coach-grid .coach-profile{grid-column:1/-1;border:1px solid var(--line);border-left:7px solid var(--red);padding:0;display:grid;grid-template-columns:minmax(250px,.75fr) 1.25fr;overflow:hidden}.coach-profile img{width:100%;height:100%;min-height:430px;object-fit:cover}.coach-profile>div{padding:2rem}.coach-grid .coach-profile span{margin-bottom:.6rem}.coach-profile h3{font-size:clamp(2.4rem,5vw,4rem)}.coach-profile h4{margin:1.5rem 0 .35rem;text-transform:uppercase;letter-spacing:.08em}.coach-profile p{color:var(--gray)}
.featured-coach{margin-bottom:1.5rem}.coach-profile img.show-full-photo{object-fit:contain;background:var(--black)}.coach-profile img.coach-portrait-photo{object-fit:cover;object-position:center}
.coach-photo-placeholder{min-height:430px;background:linear-gradient(145deg,var(--black),#35383d);display:grid;place-items:center;text-align:center}.coach-grid .coach-photo-placeholder span{color:#fff;margin:0;font-family:var(--display);font-size:1.25rem;letter-spacing:.1em}
.roster-note{background:var(--cream);border-left:5px solid var(--red);padding:1rem 1.25rem;margin-bottom:1.5rem}.coach-rosters{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.coach-rosters article{background:var(--black);color:#fff;padding:2rem}.coach-rosters h3{color:#fff;margin-bottom:1rem}.coach-rosters ul{columns:2;column-gap:2rem;margin:0;padding-left:1.2rem}.coach-rosters li{break-inside:avoid;margin:.35rem 0;color:#ddd}.coach-rosters li::marker{color:var(--red)}
.coach-rosters a{color:#fff;font-weight:800;text-decoration-color:var(--red);text-underline-offset:.2em}.coach-rosters a:hover,.coach-rosters a:focus{color:#ff4a51}.coach-profile[id]{scroll-margin-top:110px}
.schedule-intro{max-width:850px;color:var(--gray)}.schedule-table-wrap{overflow-x:auto;margin-top:2.5rem}.game-schedule{width:100%;border-collapse:collapse;background:#fff;min-width:760px}.game-schedule th{background:var(--black);color:#fff;text-align:left;text-transform:uppercase;font:800 1rem var(--display);letter-spacing:.05em}.game-schedule th,.game-schedule td{padding:1rem;border:1px solid var(--line)}.game-schedule td:first-child{font-weight:800;white-space:nowrap}.game-schedule .home-game{background:#fff0f0}.game-schedule .home-game td:nth-child(2) strong{display:inline-block;background:var(--red);color:#fff;padding:.15rem .5rem;margin-right:.35rem;font-size:.72rem;letter-spacing:.08em}.schedule-note{font-size:.85rem;color:var(--gray);margin-top:1rem}.cheer-schedule-note{margin-top:3rem;background:var(--cream);border-left:6px solid var(--red);padding:2rem}.cheer-schedule-note h3{font-size:2rem}.cheer-schedule-note p:last-child{max-width:800px}.banquet-list{margin-top:2.5rem}
.game-schedule .split-location{background:#f4f7fa}.postseason-dates{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.postseason-dates article{background:var(--black);color:#fff;padding:1.4rem;display:flex;flex-direction:column}.postseason-dates span{color:var(--red);font:800 1.15rem var(--display)}.postseason-dates strong{font:800 1.55rem var(--display);text-transform:uppercase}
.safety-standards{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;max-width:1100px;margin:2.5rem auto 0;text-align:left}.safety-standards article{border:1px solid #3c3f43;padding:1.5rem;background:#181a1d}.safety-standards strong,.safety-standards span{display:block}.safety-standards strong{font:800 1.35rem var(--display);text-transform:uppercase;color:#fff;margin-bottom:.5rem}.safety-standards span{color:#d0d0d0;font-size:.9rem}
.registration-window{background:rgba(0,0,0,.16);padding:1rem 1.25rem}.contact-section{background:#fff;display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center}.contact-section>div:first-child>p:last-child{max-width:650px;color:var(--gray)}.contact-card{border-top:6px solid var(--red);background:var(--cream);padding:2rem}.contact-card small{display:block;font-weight:800;letter-spacing:.13em;color:var(--gray)}.contact-card>a:first-of-type{display:block;font-weight:800;color:var(--red);overflow-wrap:anywhere;margin:.75rem 0 1.5rem}.contact-card .button{color:#fff}
.cheer-photo-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.cheer-photo-grid figure{margin:0;background:var(--black);color:#fff}.cheer-photo-grid img{display:block;width:100%;height:340px;object-fit:cover}.cheer-photo-grid figcaption{padding:1rem;font-size:.85rem;color:#ddd}.cheer-schedules{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.25rem}.cheer-squad{background:#fff;border:1px solid var(--line);padding:1.25rem}.cheer-squad h3{padding-bottom:1rem;border-bottom:5px solid var(--red)}.cheer-squad .schedule-table-wrap{margin-top:1rem}.cheer-squad table{width:100%;border-collapse:collapse;min-width:430px;font-size:.8rem}.cheer-squad th{background:var(--black);color:#fff;text-align:left;text-transform:uppercase;font:800 .8rem var(--display)}.cheer-squad th,.cheer-squad td{border:1px solid var(--line);padding:.65rem}.cheer-squad td:first-child,.cheer-squad td:last-child{white-space:nowrap;font-weight:700}.cheer-squad .home-game{background:#fff0f0}.cheer-squad .home-game strong{background:var(--red);color:#fff;font-size:.62rem;padding:.1rem .3rem}.cheer-squad .possible-game{background:#f3f3f3;color:var(--gray)}
.sponsor-actions{display:flex;gap:1rem;flex-wrap:wrap;margin:1rem 0 2rem}.button.outline{border-color:var(--red);color:var(--red);background:#fff}
.sponsor-tier{border:1px solid var(--line);background:#fff;min-width:0}.sponsor-tier[open]{grid-column:span 2}.sponsor-tier summary{list-style:none;cursor:pointer;padding:2rem;min-height:345px;display:flex;flex-direction:column;position:relative}.sponsor-tier summary::-webkit-details-marker{display:none}.sponsor-tier summary span{color:var(--red);font-weight:800;letter-spacing:.17em;font-size:.78rem}.sponsor-tier summary h3{font:800 2rem/1 var(--display);text-transform:uppercase;margin:1.6rem 0 .75rem}.sponsor-tier summary strong{font:800 2rem var(--display);margin-top:auto}.sponsor-tier summary small{color:var(--gray);font-weight:700;margin-top:1rem}.sponsor-tier summary small:after{content:' +';color:var(--red);font-size:1.1rem}.sponsor-tier[open] summary{min-height:220px}.sponsor-tier[open] summary small:after{content:' −'}.sponsor-tier>ul{margin:0;padding:0 2rem 2rem 3.2rem;color:var(--gray);line-height:1.55}.sponsor-tier>ul li{margin:.5rem 0}.sponsor-tier.featured{background:var(--black);color:#fff;border-top:6px solid var(--red)}.sponsor-tier.featured summary small,.sponsor-tier.featured>ul{color:#ddd}
@media(max-width:900px){.program-details,.policy-grid,.coach-grid{grid-template-columns:1fr}.resource-list{grid-template-columns:1fr 1fr}.sponsor-tier[open]{grid-column:span 1}}
@media(max-width:800px){.coach-grid .coach-profile{grid-template-columns:1fr}.coach-profile img{min-height:280px;max-height:420px}.coach-photo-placeholder{min-height:220px}}
@media(max-width:800px){.coach-rosters{grid-template-columns:1fr}.coach-rosters ul{columns:1}}
@media(max-width:560px){.resource-list{grid-template-columns:1fr}}
@media(max-width:650px){.football-photo-grid,.cheer-photo-grid{grid-template-columns:1fr}.football-photo-grid img,.cheer-photo-grid img{height:280px}}
@media(max-width:700px){.postseason-dates{grid-template-columns:1fr}}
@media(max-width:900px){.safety-standards{grid-template-columns:1fr}}
@media(max-width:900px){.contact-section{grid-template-columns:1fr}}
@media(max-width:1150px){.cheer-schedules{grid-template-columns:1fr}.cheer-squad table{min-width:620px}}
@media(max-width:700px){.cheer-photo-grid{grid-template-columns:1fr}.cheer-photo-grid img{height:260px}.cheer-squad table{min-width:430px}}
