/* Motion layer: composited movement, no dependencies, visible without JavaScript. */
:root{--motion-ease:cubic-bezier(.2,.7,.2,1)}
.brand img{transform-origin:50% 50%}
.header{transition:background .3s,box-shadow .3s}
.header.is-scrolled{background:#10130ff5;box-shadow:0 8px 30px #0003}
.nav nav a{position:relative}
.nav nav a:after{content:'';position:absolute;left:0;right:0;bottom:-8px;height:1px;background:var(--lime);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--motion-ease)}
.nav nav a:hover:after,.nav nav a:focus-visible:after{transform:scaleX(1)}
.button{position:relative;isolation:isolate;overflow:hidden;transition:transform .3s var(--motion-ease),background .25s,box-shadow .3s}
.button:after{content:'';pointer-events:none;position:absolute;inset:-70% auto -70% -70%;width:35%;background:linear-gradient(90deg,transparent,#ffffff50,transparent);transform:rotate(23deg);opacity:0}
.button:hover:after,.button:focus-visible:after{animation:button-sheen .75s var(--motion-ease)}
.button:hover{box-shadow:0 8px 28px #cbff6419;transform:translateY(-3px)}
.button:active{transform:translateY(0) scale(.97)}
.button>span,.text-link>span{transition:transform .25s var(--motion-ease)}
.button:hover>span{transform:translate(3px,-3px)}
.text-link:hover>span{transform:translateY(3px)}
.hero h1 em{background:linear-gradient(100deg,#cbff64 10%,#cbff64 35%,#eeffc9 49%,#cbff64 63%,#cbff64 90%);background-size:250% 100%;background-clip:text;-webkit-background-clip:text;color:transparent}
.sports-hero{position:relative;will-change:auto}
.sports-hero:after{content:'';position:absolute;pointer-events:none;inset:0;z-index:-1;background:radial-gradient(ellipse at 80% 20%,#cbff6415,transparent 60%);opacity:.45}
.sports-free{transform-origin:right center}
.sports-tile,.sports-channels>div,.channel-grid>div{transition:transform .3s var(--motion-ease),box-shadow .3s,background .3s}
.sports-tile:hover,.sports-channels>div:hover,.channel-grid>div:hover{transform:translateY(-5px);background:#f5ffe7;box-shadow:0 9px 20px #0004}
.sports-tile img,.sports-channels img,.channel-grid img{transition:transform .3s var(--motion-ease)}
.sports-tile:hover img,.sports-channels>div:hover img,.channel-grid>div:hover img{transform:scale(1.09)}
.sports-cta>span{transition:transform .3s,background .3s,color .3s}
.sports-cta:hover>span{transform:rotate(45deg);background:var(--lime);color:#18250c}
.title-card{transition:translate .3s var(--motion-ease)}
.title-card:hover{translate:0 -4px}
.title-card .poster-frame{transition:box-shadow .3s}
.title-card:hover .poster-frame{box-shadow:0 8px 20px #0005}
.feature-icon{transition:transform .35s var(--motion-ease),background .35s,color .35s}
.feature-grid article:hover .feature-icon{transform:rotate(-7deg) scale(1.1);background:var(--lime);color:#253718}
.steps article>span{transition:color .3s,letter-spacing .3s}
.steps article:hover>span{letter-spacing:3px;color:#ecffc8}
.download-card{transition:transform .35s var(--motion-ease),border-color .35s,box-shadow .35s}
.download-card:hover{transform:translateY(-5px);border-color:#738f54;box-shadow:0 18px 35px #0003}
.faqs summary:after{transition:transform .3s var(--motion-ease)}
.faqs summary:hover:after{transform:rotate(90deg)}
.faqs details[open] summary:after{transform:rotate(180deg)}
.closing{isolation:isolate}
.closing-mark{pointer-events:none}
.round-button,.icon-button{transition:transform .25s,background .25s}
.round-button:hover{transform:scale(1.1)}
.round-button:active,.icon-button:active{transform:scale(.92)}
.motion-toggle{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid #49543e;border-radius:5px;padding:5px 9px;background:transparent;color:#c0c9b8;font:inherit;font-size:10px;line-height:1.4;cursor:pointer;white-space:nowrap}
.motion-toggle:hover{color:var(--lime);border-color:#7b965b}
.motion-toggle:disabled{opacity:.7;cursor:default}
.footer-bottom{align-items:center;gap:16px;flex-wrap:wrap}
.motion-toggle.no-footer{margin-top:28px}
@keyframes logo-hello{0%,100%{transform:rotate(0) scale(1)}35%{transform:rotate(-12deg) scale(1.12)}70%{transform:rotate(7deg) scale(1.05)}}
@keyframes logo-idle{0%,100%{transform:translateY(0) rotate(-3deg) scale(1);filter:drop-shadow(0 0 0 transparent)}50%{transform:translateY(-4px) rotate(6deg) scale(1.09);filter:drop-shadow(0 3px 8px #cbff6455)}}
@keyframes button-sheen{0%{left:-70%;opacity:0}10%{opacity:1}100%{left:150%;opacity:0}}
@keyframes headline-light{0%,25%{background-position:100% 50%}70%,100%{background-position:0 50%}}
@keyframes live-pulse{0%,100%{box-shadow:0 0 0 3px #cbff6414}50%{box-shadow:0 0 0 7px #cbff6400}}
@keyframes panel-float{0%,100%{translate:0 0}50%{translate:0 -7px}}
@keyframes field-drift{0%,100%{translate:0 0}50%{translate:-5px 8px}}
@keyframes ambient-glow{0%,100%{opacity:.35}50%{opacity:1}}
@keyframes spark-turn{0%,65%{rotate:0deg}100%{rotate:180deg}}
@keyframes closing-drift{0%,100%{translate:0 0;rotate:0deg}50%{translate:-12px -8px;rotate:5deg}}
@keyframes badge-pop{0%,82%,100%{scale:1}90%{scale:1.06}}
@media(prefers-reduced-motion:no-preference){
html:not([data-motion="paused"]) .brand img{animation:logo-idle 4s ease-in-out infinite}
html:not([data-motion="paused"]) .brand:hover img{animation-duration:2.8s}
html:not([data-motion="paused"]) .hero h1 em{animation:headline-light 9s ease-in-out infinite}
html:not([data-motion="paused"]) .live-dot{animation:live-pulse 2.8s ease-in-out infinite}
html:not([data-motion="paused"]) .sports-hero{animation:panel-float 7s ease-in-out infinite}
html:not([data-motion="paused"]) .sports-hero:after{animation:ambient-glow 6s ease-in-out infinite}
html:not([data-motion="paused"]) .pitch-art{animation:field-drift 10s ease-in-out infinite}
html:not([data-motion="paused"]) .sports-free{animation:badge-pop 8s ease-in-out infinite}
html:not([data-motion="paused"]) .category-strip .spark{animation:spark-turn 12s var(--motion-ease) infinite}
html:not([data-motion="paused"]) .category-strip .spark:nth-of-type(4){animation-delay:-6s}
html:not([data-motion="paused"]) .closing-mark{animation:closing-drift 11s ease-in-out infinite}
}
html[data-motion="paused"] *,html[data-motion="paused"] *:before,html[data-motion="paused"] *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.hero h1 em{background:none;color:var(--lime)}.title-card:hover,.download-card:hover,.sports-tile:hover,.sports-channels>div:hover,.channel-grid>div:hover{translate:none;transform:none}}
@media(max-width:580px){.footer-bottom{gap:13px}.motion-toggle{font-size:9px}.sports-hero{animation-duration:9s!important}}
