/* Gialloblu motion: one entrance, a quick change of pace, then room to read. */
:root{--court-ease:cubic-bezier(.16,1,.3,1);--court-spring:cubic-bezier(.2,.85,.3,1.15)}
.motion-line{display:block}
.motion-line>span{display:inline-block}
.motion-ball{display:inline-block;flex-shrink:0;width:1em;height:1em;font-size:1.4375rem;line-height:1;transform-origin:50% 100%;vertical-align:middle}
.campaign-art{position:relative;perspective:1100px;isolation:isolate}
.campaign-art>img{position:relative;z-index:1}
.campaign-art::after{content:'';position:absolute;inset:0;z-index:2;pointer-events:none;opacity:0;background:linear-gradient(112deg,transparent 30%,#fff2 46%,#fff5 50%,transparent 63%) 150% 0/300% 100%}

@media(prefers-reduced-motion:no-preference){
 .button,.round-arrow,.play-circle{transition:background .25s,color .25s,border-color .25s,transform .4s var(--court-spring),box-shadow .35s}
 .button:active{transform:translateY(1px) scale(.98)}
 .button>span[aria-hidden]:not(.motion-ball),.text-link>span[aria-hidden],.news-meta>span{display:inline-block;transition:transform .4s var(--court-spring)}
 .button:hover>span[aria-hidden]:not(.motion-ball),.button:focus-visible>span[aria-hidden]:not(.motion-ball),.text-link:hover>span[aria-hidden]{transform:translate(3px,-3px)}
 .news-card,.video-card,.player-card,.sponsor-card,.photo-button,.fixture,.link-cards>a{transition:transform .45s var(--court-ease),border-color .3s,box-shadow .4s,background .3s}
 .news-picture img,.video-cover>img,.player-photo>img,.photo-button>img{transition:transform .75s var(--court-ease)}
 .player-number{transition:transform .6s var(--court-spring),color .3s}
 .player-info{transition:border-color .3s}
 .campaign-art>img{transition:transform .5s var(--court-ease)}
 .motion-enabled .campaign-art.motion-sweep::after{animation:court-sheen 1.25s .22s var(--court-ease) both}
 .header-row nav>a::before{content:'';position:absolute;height:2px;bottom:6px;inset-inline:0;background:var(--yellow);transform:scaleX(0);transform-origin:left;transition:transform .35s var(--court-ease)}
 .header-row nav>a:hover::before,.header-row nav>a:focus-visible::before{transform:scaleX(1)}
 .filter-tabs button{transition:background .22s,color .22s,border-color .22s,transform .3s var(--court-spring)}
 .filter-tabs button:active{transform:scale(.96)}
 .media-dialog[open]{animation:court-dialog .35s var(--court-ease)}
 .media-dialog[open]::backdrop{animation:court-backdrop .25s ease-out}
 .faq details[open]>p{animation:court-detail .3s var(--court-ease)}
}

@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){
 .news-card:hover,.video-card:hover,.player-card:hover{transform:translateY(-7px)}
 .news-card:hover .news-meta>span{transform:translate(4px,-4px)}
 .news-card a:hover img,.video-card:hover img{transform:scale(1.07)}
 .player-card:hover .player-photo>img{transform:scale(1.055) translateY(-3px)}
 .player-card:hover .player-number{transform:translate(6px,-10px) rotate(-5deg);color:var(--blue)}
 .player-card:hover .player-info{border-color:var(--blue)}
 .player-card:hover .round-arrow{transform:rotate(45deg);background:var(--yellow);color:var(--navy);border-color:var(--yellow)}
 .video-card:hover .play-circle{transform:scale(1.15);box-shadow:0 0 0 9px #ffda0026}
 .sponsor-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #0716290e}
 .fixture:hover{background:#f8fafc;box-shadow:inset 0 -3px var(--blue)}
 .photo-button:hover>img{transform:scale(1.045)}
 .link-cards>a:hover{transform:translateY(-5px)}
 .button.yellow:hover{box-shadow:0 7px 22px #ffda0029}
 .campaign-art:hover>img{transform:rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) scale(1.014)}
}

@media(max-width:1050px) and (prefers-reduced-motion:no-preference){
 .header-row nav.open{animation:court-menu .35s var(--court-ease)}
 .header-row nav.open>a{animation:court-menu-link .4s var(--court-ease) backwards}
 .header-row nav.open>a:nth-child(2){animation-delay:45ms}
 .header-row nav.open>a:nth-child(3){animation-delay:90ms}
 .header-row nav.open>a:nth-child(4){animation-delay:135ms}
 .header-row nav.open>a:nth-child(5){animation-delay:180ms}
 .header-row nav.open>a:nth-child(6){animation-delay:225ms}
 .header-row nav.open>a:focus-visible{animation:none}
}

@keyframes court-sheen{0%{opacity:0;background-position:150% 0}25%{opacity:.7}100%{opacity:0;background-position:-50% 0}}
@keyframes court-dialog{from{opacity:0;transform:translateY(18px) scale(.975)}to{opacity:1;transform:none}}
@keyframes court-backdrop{from{opacity:0}to{opacity:1}}
@keyframes court-detail{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes court-menu{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@keyframes court-menu-link{from{opacity:0;transform:translateX(-16px)}to{opacity:1;transform:none}}

/* All content is visible without scripting; motion never controls navigation. */
@media(prefers-reduced-motion:reduce){
 .campaign-art>img,.player-number,.player-card:hover,.video-card:hover,.news-card:hover,.sponsor-card:hover,.photo-button:hover>img,.player-card:hover img,.news-card:hover img,.video-card:hover img{transform:none!important}
 .campaign-art::after{display:none}
}
@media print{.motion-line>span{transform:none!important;opacity:1!important}.motion-ball{display:none}.campaign-art::after{display:none}}
