.sport .demo-hero{animation:sportHeroDrift 16s ease-in-out infinite alternate}
.sport .demo-hero-inner .demo-label,.sport .demo-hero h1,.sport .demo-hero p,.sport .demo-actions{opacity:0;transform:translateY(22px);animation:sportHeroIn .8s cubic-bezier(.2,.7,.2,1) forwards}
.sport .demo-hero h1{animation-delay:.12s}.sport .demo-hero p{animation-delay:.23s}.sport .demo-actions{animation-delay:.34s}
.sport .demo-btn{position:relative;overflow:hidden;transition:transform .22s,box-shadow .22s,background .22s}
.sport .demo-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(2,15,28,.2)}
.sport .demo-btn.primary:after{content:"";position:absolute;inset:-100% auto -100% -35%;width:24%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.8),transparent);transform:rotate(18deg);animation:sportShine 5s 1.2s infinite}
.sport .match-card-inner{overflow:hidden;transition:transform .3s,box-shadow .3s}
.sport .match-card-inner:hover{transform:translateY(-4px);box-shadow:0 30px 70px rgba(13,35,55,.16)}
.sport .match-vs b{animation:sportPulse 2.8s ease-in-out infinite}
.sport-hub{padding:10px 0 78px;background:#f4f6f8}
.sport-hub-heading{display:grid;grid-template-columns:1fr .8fr;gap:70px;align-items:end;margin-bottom:28px}
.sport-hub-heading>div>span{color:#315f86;font-size:11px;font-weight:850;letter-spacing:.16em}
.sport-hub-heading h2{margin:10px 0 0;color:#0b2037;font-size:38px;line-height:1.08;letter-spacing:-.04em}
.sport-hub-heading p{margin:0;color:#607285;line-height:1.65}
.sport-hub-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.sport-hub-grid a{position:relative;min-height:170px;padding:23px;overflow:hidden;border:1px solid #d6e0e7;border-radius:10px;background:#fff;color:#0b2037;text-decoration:none;box-shadow:0 10px 28px rgba(13,35,55,.045);transition:transform .28s,border-color .28s,box-shadow .28s}
.sport-hub-grid a:before{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:#315f86;transform:scaleX(0);transform-origin:left;transition:transform .3s}
.sport-hub-grid a:hover{transform:translateY(-6px);border-color:#aebfcd;box-shadow:0 22px 42px rgba(13,35,55,.1)}
.sport-hub-grid a:hover:before{transform:scaleX(1)}
.sport-hub-grid small,.sport-hub-grid strong,.sport-hub-grid span{display:block}.sport-hub-grid small{color:#7890a4;font-size:11px;font-weight:850}.sport-hub-grid strong{margin-top:35px;font-size:20px}.sport-hub-grid span{margin-top:8px;color:#647789;font-size:13px}
.sport .reveal-target{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1)}
.sport .reveal-target.is-visible{opacity:1;transform:none}
.sport .news-card,.sport .team-tile,.sport .fixture-list article{transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.sport .news-card:hover,.sport .team-tile:hover{transform:translateY(-7px);box-shadow:0 22px 45px rgba(13,35,55,.12)}
.sport .fixture-list article:hover{transform:translateX(6px);background:#f7fafc}
.sport .sport-stats strong{font-variant-numeric:tabular-nums}
@keyframes sportHeroIn{to{opacity:1;transform:none}}
@keyframes sportHeroDrift{from{background-position:center 36%}to{background-position:center 43%}}
@keyframes sportShine{0%,72%{left:-35%}100%{left:130%}}
@keyframes sportPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.08);opacity:.72}}
@media(max-width:800px){.sport-hub{padding:4px 0 58px}.sport-hub-heading{grid-template-columns:1fr;gap:12px}.sport-hub-grid{grid-template-columns:1fr 1fr}.sport-hub-grid a{min-height:145px}.sport-hub-grid strong{margin-top:24px}}
@media(max-width:520px){.sport-hub-grid{grid-template-columns:1fr}.sport-hub-grid a{min-height:125px}.sport-hub-heading h2{font-size:32px}.sport-hub-grid strong{margin-top:18px}}
@media(prefers-reduced-motion:reduce){.sport .demo-hero,.sport .demo-hero-inner .demo-label,.sport .demo-hero h1,.sport .demo-hero p,.sport .demo-actions,.sport .demo-btn.primary:after,.sport .match-vs b{animation:none!important}.sport .demo-hero-inner .demo-label,.sport .demo-hero h1,.sport .demo-hero p,.sport .demo-actions,.sport .reveal-target{opacity:1;transform:none;transition:none}}
