:root{--premium-red:#f0192d;--mx:50vw;--my:35vh}
body{overflow-x:hidden}
body:before{content:"";position:fixed;z-index:-1;inset:0;pointer-events:none;background:radial-gradient(650px circle at var(--mx) var(--my),rgba(240,25,45,.085),transparent 58%);transition:opacity .3s}
.topline{position:relative;overflow:hidden}
.topline:after{content:"";position:absolute;inset:0;width:28%;background:linear-gradient(90deg,transparent,#fff,transparent);opacity:.85;animation:premium-scan 5s ease-in-out infinite}
header{box-shadow:0 16px 50px rgba(0,0,0,.38)}
.logo,.official-logo{animation:premium-float 5.5s ease-in-out infinite;filter:drop-shadow(0 14px 20px rgba(0,0,0,.58)) drop-shadow(0 0 16px rgba(240,25,45,.12))}
.navlinks>a:not(.button),.navlinks summary{position:relative;transition:color .25s ease,text-shadow .25s ease}
.navlinks>a:not(.button):after{content:"";position:absolute;left:50%;right:50%;bottom:-8px;height:2px;background:var(--premium-red);box-shadow:0 0 10px var(--premium-red);transition:left .25s ease,right .25s ease}
.navlinks>a:not(.button):hover{color:#fff;text-shadow:0 0 16px rgba(255,255,255,.3)}
.navlinks>a:not(.button):hover:after{left:0;right:0}
.button{position:relative;overflow:hidden;isolation:isolate;transform:translateZ(0);transition:transform .25s ease,box-shadow .25s ease,background .25s ease!important}
.button:after{content:"";position:absolute;z-index:-1;top:-80%;bottom:-80%;left:-55%;width:36%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.38),transparent);transform:rotate(18deg);transition:left .55s ease}
.button:hover{transform:translateY(-3px) scale(1.015)!important;box-shadow:0 15px 38px rgba(240,25,45,.34)!important}
.button:hover:after{left:125%}
.hero{isolation:isolate}
.hero:before{content:"";position:absolute;z-index:-1;width:520px;height:520px;right:-180px;top:-210px;border:1px solid rgba(240,25,45,.22);border-radius:50%;box-shadow:0 0 80px rgba(240,25,45,.12),inset 0 0 80px rgba(240,25,45,.06);animation:premium-orbit 18s linear infinite}
.hero h1{filter:drop-shadow(0 14px 26px rgba(0,0,0,.45))}
.hero-collage{perspective:1200px;transform-style:preserve-3d}
.hero-photo{will-change:transform;transition:transform .25s ease-out,filter .35s ease!important;filter:drop-shadow(0 28px 30px rgba(0,0,0,.62))}
.hero-photo.main{transform:translate3d(var(--p1x,0),var(--p1y,0),40px) rotateY(var(--p1r,0deg))!important}
.hero-photo.board{transform:translate3d(var(--p2x,0),var(--p2y,0),15px) rotateY(var(--p2r,0deg))!important}
.hero-photo.champ{transform:translate3d(var(--p3x,0),var(--p3y,0),70px) rotateY(var(--p3r,0deg))!important}
.program,.card,.member,.standing,.schedule-card,.form-card{transform-style:preserve-3d;will-change:transform;transition:transform .28s cubic-bezier(.2,.8,.2,1),box-shadow .28s ease,border-color .28s ease!important}
.premium-tilt{transform:perspective(1000px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) translateY(var(--lift,0px))!important}
.premium-tilt:hover{--lift:-8px;box-shadow:0 32px 72px rgba(0,0,0,.72),0 0 0 1px rgba(240,25,45,.26)!important}
.program-image,.card-media img{transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .45s ease!important}
.program:hover .program-image,.card:hover .card-media img{transform:scale(1.075)!important;filter:saturate(1.12) contrast(1.04)}
.sponsor-inner{position:relative;overflow:hidden;transform:perspective(1200px) translateZ(0);box-shadow:0 38px 90px rgba(0,0,0,.68)!important}
.sponsor-inner:after{content:"";position:absolute;inset:-2px;pointer-events:none;border:1px solid rgba(255,255,255,.08);background:linear-gradient(115deg,transparent 25%,rgba(255,255,255,.06) 48%,transparent 70%);transform:translateX(-100%);animation:premium-sponsor-shine 8s ease-in-out infinite}
.motion-ready .reveal{opacity:0;transform:translate3d(0,34px,0) scale(.985);filter:blur(5px)}
.motion-ready .reveal.from-left{transform:translate3d(-42px,18px,0) scale(.985)}
.motion-ready .reveal.from-right{transform:translate3d(42px,18px,0) scale(.985)}
.motion-ready .reveal.is-visible{opacity:1;transform:translate3d(0,0,0) scale(1);filter:blur(0);transition:opacity .75s ease,transform .85s cubic-bezier(.2,.8,.2,1),filter .65s ease}
.motion-ready .reveal[data-delay="1"]{transition-delay:.08s}.motion-ready .reveal[data-delay="2"]{transition-delay:.16s}.motion-ready .reveal[data-delay="3"]{transition-delay:.24s}.motion-ready .reveal[data-delay="4"]{transition-delay:.32s}
@keyframes premium-scan{0%,18%{transform:translateX(-160%)}55%,100%{transform:translateX(480%)}}
@keyframes premium-float{0%,100%{transform:translateY(0)}50%{transform:translateY(5px)}}
@keyframes premium-orbit{to{transform:rotate(360deg)}}
@keyframes premium-sponsor-shine{0%,20%{transform:translateX(-100%)}55%,100%{transform:translateX(100%)}}
@media(max-width:820px){.hero:before{width:330px;height:330px}.hero-photo.main,.hero-photo.board,.hero-photo.champ{transform:none!important}.premium-tilt,.premium-tilt:hover{transform:none!important}.motion-ready .reveal.from-left,.motion-ready .reveal.from-right{transform:translate3d(0,28px,0) scale(.99)}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.motion-ready .reveal{opacity:1!important;transform:none!important;filter:none!important}.premium-tilt{transform:none!important}}

/* Homepage cinematic stage */
.premium-ticker{height:38px;overflow:hidden;background:#f0192d;color:#fff;border-bottom:1px solid rgba(255,255,255,.28);box-shadow:0 12px 32px rgba(240,25,45,.18)}
.premium-ticker-track{width:max-content;height:100%;display:flex;align-items:center;gap:24px;white-space:nowrap;font-size:12px;font-weight:1000;letter-spacing:.18em;animation:premium-marquee 26s linear infinite}
.premium-ticker-track span{min-width:max-content}.premium-ticker-track b{font-size:10px;color:#130305}
body:has(.premium-ticker) .hero{min-height:680px;display:flex;align-items:center;background:radial-gradient(circle at 75% 38%,rgba(240,25,45,.23),transparent 26%),radial-gradient(circle at 12% 20%,#58121b 0,transparent 31%),linear-gradient(125deg,#020203 0%,#111115 54%,#050506 100%)}
body:has(.premium-ticker) .hero:after{inset:auto -11% -210px 32%;height:420px;border-width:75px;border-color:rgba(240,25,45,.1);box-shadow:0 0 100px rgba(240,25,45,.07)}
body:has(.premium-ticker) .hero-grid{grid-template-columns:.78fr 1.22fr;gap:64px}
body:has(.premium-ticker) .hero-copy{position:relative;z-index:4}
body:has(.premium-ticker) .hero h1{font-size:clamp(5rem,8.6vw,8rem);text-shadow:0 8px 0 #09090b,0 18px 45px rgba(0,0,0,.8)}
body:has(.premium-ticker) .hero h1 .red{background:linear-gradient(180deg,#ff3347 0%,#e50821 55%,#8d0010 100%);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 10px 18px rgba(240,25,45,.3))}
.hero-stamp{position:absolute;right:-18px;top:18px;width:104px;height:104px;border:2px solid rgba(255,255,255,.72);border-radius:50%;display:grid;place-content:center;text-align:center;line-height:1;transform:rotate(9deg);background:rgba(5,5,6,.65);box-shadow:0 0 0 6px rgba(240,25,45,.16),0 18px 35px rgba(0,0,0,.5);backdrop-filter:blur(10px);animation:premium-stamp 5s ease-in-out infinite}
.hero-stamp strong{font-size:11px;letter-spacing:.2em;color:#f0192d}.hero-stamp span{font-size:28px;font-weight:1000}.hero-stamp small{font-size:8px;letter-spacing:.14em}
body:has(.premium-ticker) .hero-collage{height:555px;gap:14px;transform:perspective(1300px) rotateY(-5deg) rotateX(2deg);animation:premium-stage 7s ease-in-out infinite;filter:drop-shadow(0 34px 55px rgba(0,0,0,.7))}
body:has(.premium-ticker) .hero-photo{border:1px solid rgba(255,255,255,.3);border-radius:16px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 24px 55px rgba(0,0,0,.7)!important}
body:has(.premium-ticker) .hero-photo.main{clip-path:polygon(0 0,100% 4%,96% 100%,3% 96%)}
body:has(.premium-ticker) .hero-photo.board{clip-path:polygon(4% 3%,100% 0,96% 96%,0 100%)}
body:has(.premium-ticker) .hero-photo.champ{clip-path:polygon(0 3%,96% 0,100% 100%,4% 96%)}
body:has(.premium-ticker) .hero-photo img{animation:premium-breathe 9s ease-in-out infinite alternate}
body:has(.premium-ticker) .hero-photo:nth-child(2) img{animation-delay:-3s}body:has(.premium-ticker) .hero-photo:nth-child(3) img{animation-delay:-6s}
body:has(.premium-ticker) .season{position:relative;overflow:hidden;background:linear-gradient(90deg,#9d0012,#f0192d 45%,#a10013)}
body:has(.premium-ticker) .season:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.22),transparent 65%);animation:premium-wide-shine 5s ease-in-out infinite}
body:has(.premium-ticker) .season-inner{position:relative;z-index:1}
body:has(.premium-ticker) .program-section{position:relative;padding:105px 0;background:radial-gradient(circle at 50% -10%,rgba(240,25,45,.12),transparent 36%),#050505}
body:has(.premium-ticker) .program-section:before{content:"PROGRAMS";position:absolute;left:50%;top:38px;transform:translateX(-50%);font-size:clamp(6rem,18vw,17rem);font-weight:1000;letter-spacing:-.07em;color:rgba(255,255,255,.018);pointer-events:none}
body:has(.premium-ticker) .program{border-radius:18px;border-color:rgba(255,255,255,.2);box-shadow:0 25px 65px rgba(0,0,0,.78),inset 0 0 0 1px rgba(255,255,255,.04)}
body:has(.premium-ticker) .program:before{height:7px}
body:has(.premium-ticker) .program-content{transform:translateZ(45px)}
@keyframes premium-marquee{to{transform:translateX(-50%)}}
@keyframes premium-stage{0%,100%{transform:perspective(1300px) rotateY(-5deg) rotateX(2deg) translateY(0)}50%{transform:perspective(1300px) rotateY(-2deg) rotateX(0deg) translateY(-10px)}}
@keyframes premium-breathe{from{transform:scale(1.02)}to{transform:scale(1.095)}}
@keyframes premium-stamp{0%,100%{transform:rotate(9deg) translateY(0)}50%{transform:rotate(5deg) translateY(-7px)}}
@keyframes premium-wide-shine{0%,25%{transform:translateX(-100%)}60%,100%{transform:translateX(100%)}}
@media(max-width:820px){.premium-ticker{height:34px}body:has(.premium-ticker) .hero{min-height:0}body:has(.premium-ticker) .hero-grid{grid-template-columns:1fr;gap:30px}body:has(.premium-ticker) .hero h1{font-size:clamp(4rem,18vw,6rem)}.hero-stamp{right:0;top:10px;width:86px;height:86px}body:has(.premium-ticker) .hero-collage{height:430px;transform:none;animation:premium-stage-mobile 6s ease-in-out infinite}body:has(.premium-ticker) .program-section{padding:78px 0}}
@keyframes premium-stage-mobile{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}

.contact-float{position:fixed;right:22px;bottom:22px;z-index:100;display:inline-flex;align-items:center;gap:10px;min-height:56px;padding:0 22px;color:#fff;background:linear-gradient(135deg,#ff263c,#c8081c);border:1px solid #ff6473;border-radius:999px;box-shadow:0 16px 45px #000b,0 0 28px #f0192d75;font-size:14px;font-weight:950;letter-spacing:.07em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease}
.contact-float span{font-size:20px;line-height:1}.contact-float:hover,.contact-float:focus-visible{transform:translateY(-4px) scale(1.03);box-shadow:0 20px 55px #000d,0 0 38px #f0192daa}
@media(max-width:600px){.contact-float{right:14px;bottom:14px;min-height:52px;padding:0 18px}}
.facebook-float{position:fixed;right:22px;bottom:91px;z-index:99;display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 18px;color:#fff;background:#0866ff;border:1px solid #5d99ff;border-radius:999px;box-shadow:0 14px 36px #000b,0 0 22px #0866ff55;font-size:13px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;transition:transform .25s ease,box-shadow .25s ease}.facebook-float span{display:grid;place-items:center;width:27px;height:27px;border-radius:50%;background:#fff;color:#0866ff;font-family:Arial,sans-serif;font-size:24px;font-weight:1000;line-height:1;padding-top:5px}.facebook-float:hover,.facebook-float:focus-visible{transform:translateY(-4px) scale(1.03);box-shadow:0 18px 46px #000d,0 0 32px #0866ff88}
@media(max-width:600px){.facebook-float{right:14px;bottom:78px;min-height:46px;padding:0 14px}.facebook-float strong{display:none}}
body:has(.premium-ticker) .hero h1.hero-slogan{font-size:clamp(4.35rem,7.4vw,7rem);line-height:.8;letter-spacing:-.065em}.hero-slogan .slogan-paren{color:#f0192d;text-shadow:none;font-weight:850}@media(max-width:820px){body:has(.premium-ticker) .hero h1.hero-slogan{font-size:clamp(3.25rem,15.5vw,5rem);line-height:.82}}
