/* Motion system — Sections 01, 02 and 03. Vanilla JS adds state classes. */

@media (prefers-reduced-motion:no-preference){
  /* Section 01 / cinematic opening */
  .motion-ready .hero-media{opacity:0;transform:translateX(-50%) scale(1.045);transition:opacity 1s ease,transform 1.4s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .hero-overlay{opacity:0;transition:opacity .9s ease .1s}
  .motion-ready .hero-copy .eyebrow,.motion-ready .hero-copy h1,.motion-ready .hero-lead,.motion-ready .hero-copy .button-row{opacity:0;transform:translateY(26px);transition:opacity .72s ease,transform .85s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .hero-copy h1{transition-delay:.12s}.motion-ready .hero-lead{transition-delay:.24s}.motion-ready .hero-copy .button-row{transition-delay:.34s}
  .motion-ready .hero-watermark{opacity:0;transform:translateX(-22px);transition:opacity .8s ease .28s,transform 1s ease .28s}
  .motion-ready .hero-hud{opacity:0;transform:translateX(35px);transition:opacity .75s ease .42s,transform .9s cubic-bezier(.2,.75,.2,1) .42s}
  .motion-ready .hero-frame-corners{opacity:0;transform:scale(.985);transition:opacity .7s ease .55s,transform .9s ease .55s}
  .motion-ready .hero-social-rail a{opacity:0;transform:translateX(14px);transition:opacity .45s ease,transform .55s ease,border-color .2s,color .2s,background-color .2s}
  .motion-ready .hero-social-rail a:nth-child(1){transition-delay:.62s}.motion-ready .hero-social-rail a:nth-child(2){transition-delay:.7s}.motion-ready .hero-social-rail a:nth-child(3){transition-delay:.78s}
  .motion-ready .hero-hud .stat-bar>i::after{transform:scaleX(0);transform-origin:left;transition:transform .85s ease 1s}
  .motion-ready .hero-media img{transform:translateY(var(--hero-shift,0px)) scale(1.025);transition:transform .12s linear}
  .motion-ready.hero-ready .hero-media{opacity:1;transform:translateX(-50%) scale(1)}
  .motion-ready.hero-ready .hero-overlay,.motion-ready.hero-ready .hero-copy .eyebrow,.motion-ready.hero-ready .hero-copy h1,.motion-ready.hero-ready .hero-lead,.motion-ready.hero-ready .hero-copy .button-row,.motion-ready.hero-ready .hero-watermark,.motion-ready.hero-ready .hero-hud,.motion-ready.hero-ready .hero-frame-corners,.motion-ready.hero-ready .hero-social-rail a{opacity:1;transform:none}
  .motion-ready.hero-ready .hero-hud .stat-bar>i::after{transform:scaleX(1)}

  /* Authority transition */
  .motion-ready .authority .club-mark,.motion-ready .authority .authority-intro,.motion-ready .authority .authority-stat{opacity:0;transform:translateY(18px);transition:opacity .55s ease,transform .65s ease}
  .motion-ready .authority.is-inview .authority-intro,.motion-ready .authority.is-inview .authority-stat{opacity:1;transform:none}
  .motion-ready .authority.is-inview .club-mark{opacity:1;transform:none}
  .motion-ready .authority.is-inview .club-mark:nth-child(2){transition-delay:.08s}.motion-ready .authority.is-inview .club-mark:nth-child(3){transition-delay:.16s}.motion-ready .authority.is-inview .club-mark:nth-child(4){transition-delay:.24s}

  /* Section 02 / layered cards */
  .motion-ready .journey-intro>*{opacity:0;transform:translateX(-28px);transition:opacity .65s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .journey-intro>*:nth-child(2){transition-delay:.08s}.motion-ready .journey-intro>*:nth-child(3){transition-delay:.16s}.motion-ready .journey-intro>*:nth-child(4){transition-delay:.24s}
  .motion-ready .journey .player-card{--tilt-x:0deg;--tilt-y:0deg;--lift:0px;--athlete-x:0px;--athlete-y:0px;--bg-x:0px;--bg-y:0px;opacity:0;transform:perspective(950px) translateY(48px) scale(.97);transition:opacity .7s ease,transform .85s cubic-bezier(.2,.75,.2,1),box-shadow .3s ease}
  .motion-ready .journey.is-inview .journey-intro>*{opacity:1;transform:none}
  .motion-ready .journey.is-inview .player-card{opacity:1;transform:perspective(950px) translateY(var(--lift)) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));transition-delay:.12s}
  .motion-ready .journey.is-inview .player-card:nth-child(2){transition-delay:.24s}.motion-ready .journey.is-inview .player-card:nth-child(3){transition-delay:.36s}
  .motion-ready .journey.is-inview .player-card:hover{--lift:-9px;box-shadow:0 30px 60px rgba(5,8,6,.28)}
  .motion-ready .journey.is-inview .player-card.featured:hover{box-shadow:0 0 0 1px rgba(8,213,43,.65),0 34px 66px rgba(8,213,43,.24)}
  .journey .player-card .person-slot img{--athlete-scale:1.08;transform:translate3d(var(--athlete-x),var(--athlete-y),0) scale(var(--athlete-scale));transition:transform .18s ease-out}
  .journey .card-formation .person-slot img{--athlete-scale:1.02}.journey .card-performance .person-slot img{--athlete-scale:1.16}.journey .card-physical .person-slot img{--athlete-scale:1.08}
  .journey .card-background img{transform:translate3d(var(--bg-x),var(--bg-y),0) scale(1.07);transition:transform .22s ease-out}
  .motion-ready .journey-stats i::before{transform:scaleX(0);transform-origin:left;transition:transform .8s ease .7s}
  .motion-ready .journey.is-inview .journey-stats i::before{transform:scaleX(1)}

  /* Section 03 / sequential process */
  .motion-ready .method-layout>div:first-child>*{opacity:0;transform:translateX(-30px);transition:opacity .65s ease,transform .8s ease}
  .motion-ready .method-layout>div:first-child>*:nth-child(2){transition-delay:.12s}
  .motion-ready .method-steps::before{transform:scaleX(0);transition:transform 1.1s ease .3s}
  .motion-ready .method-steps article{opacity:0;transform:translateY(calc(var(--step-y) + 42px));transition:opacity .65s ease,transform .85s cubic-bezier(.2,.75,.2,1),border-color .25s,background-color .25s}
  .motion-ready .method-steps article>i::after{transform:scaleX(0);transition:transform .7s ease}
  .motion-ready .method-footer{opacity:0;transform:translateY(18px);transition:opacity .6s ease .8s,transform .7s ease .8s}
  .motion-ready .method-footer i{transform:scaleX(0);transition:transform .7s ease 1s}
  .motion-ready .method.is-inview .method-layout>div:first-child>*{opacity:1;transform:none}
  .motion-ready .method.is-inview .method-steps::before{transform:scaleX(1)}
  .motion-ready .method.is-inview .method-steps article{opacity:1;transform:translateY(var(--step-y))}
  .motion-ready .method.is-inview .method-steps article:nth-child(1){transition-delay:.18s}.motion-ready .method.is-inview .method-steps article:nth-child(2){transition-delay:.32s}.motion-ready .method.is-inview .method-steps article:nth-child(3){transition-delay:.46s}.motion-ready .method.is-inview .method-steps article:nth-child(4){transition-delay:.6s}
  .motion-ready .method.is-inview .method-steps article:hover{transform:translateY(calc(var(--step-y) - 8px));transition-delay:0s}
  .motion-ready .method.is-inview .method-steps article>i::after,.motion-ready .method.is-inview .method-footer i{transform:scaleX(1)}
  .motion-ready .method.is-inview .method-footer{opacity:1;transform:none}

  /* Section 04 / athlete profile analysis */
  .motion-ready .profile-copy>*{opacity:0;transform:translateX(-24px);transition:opacity .6s ease,transform .75s ease}
  .motion-ready .profile-copy>*:nth-child(2){transition-delay:.08s}.motion-ready .profile-copy>*:nth-child(3){transition-delay:.16s}.motion-ready .profile-copy>*:nth-child(4){transition-delay:.24s}.motion-ready .profile-copy>*:nth-child(5){transition-delay:.32s}
  .motion-ready .profile-person{opacity:0;transform:translateY(42px);transition:opacity .8s ease .15s,transform 1s cubic-bezier(.2,.75,.2,1) .15s}
  .motion-ready .profile-number{opacity:0;transform:translateX(-20px);transition:opacity .8s ease .1s,transform 1s ease .1s}
  .motion-ready .profile-id{opacity:0;transition:opacity .6s ease .55s}
  .motion-ready .profile-radar-panel,.motion-ready .profile-metrics{opacity:0;transform:translateY(26px);transition:opacity .65s ease,transform .8s ease}
  .motion-ready .profile-metrics{transition-delay:.18s}
  .motion-ready .radar-value{transform:scale(0);transition:transform .95s cubic-bezier(.2,.8,.2,1) .65s}
  .motion-ready .radar-points{opacity:0;transition:opacity .4s ease 1.1s}
  .motion-ready .profile-metric>input{opacity:.2;transform:scaleX(0);transition:opacity .55s ease,transform .85s ease}
  .motion-ready .profile.is-inview .profile-copy>*,.motion-ready .profile.is-inview .profile-person,.motion-ready .profile.is-inview .profile-number,.motion-ready .profile.is-inview .profile-radar-panel,.motion-ready .profile.is-inview .profile-metrics{opacity:1;transform:none}
  .motion-ready .profile.is-inview .profile-id{opacity:1}
  .motion-ready .profile.is-inview .radar-value{transform:scale(1)}
  .motion-ready .profile.is-inview .radar-points{opacity:1}
  .motion-ready .profile.is-inview .profile-metric>input{opacity:1;transform:scaleX(1)}
  .motion-ready .profile.is-inview .profile-metric:nth-child(1)>input{transition-delay:.48s}.motion-ready .profile.is-inview .profile-metric:nth-child(2)>input{transition-delay:.56s}.motion-ready .profile.is-inview .profile-metric:nth-child(3)>input{transition-delay:.64s}.motion-ready .profile.is-inview .profile-metric:nth-child(4)>input{transition-delay:.72s}.motion-ready .profile.is-inview .profile-metric:nth-child(5)>input{transition-delay:.8s}.motion-ready .profile.is-inview .profile-metric:nth-child(6)>input{transition-delay:.88s}

  /* Section 05 / tactical field */
  .motion-ready .field-heading>*{opacity:0;transform:translateY(24px);transition:opacity .65s ease,transform .8s ease}
  .motion-ready .field-heading>*:nth-child(2){transition-delay:.1s}.motion-ready .field-heading>*:nth-child(3){transition-delay:.2s}
  .motion-ready .field-board{opacity:0;transform:translateX(-30px);transition:opacity .75s ease .2s,transform .9s cubic-bezier(.2,.75,.2,1) .2s}
  .motion-ready .field-panel{opacity:0;transform:translateX(30px);transition:opacity .75s ease .32s,transform .9s cubic-bezier(.2,.75,.2,1) .32s}
  .motion-ready .field-section.is-inview .field-heading>*,.motion-ready .field-section.is-inview .field-board,.motion-ready .field-section.is-inview .field-panel{opacity:1;transform:none}

  /* Section 06 / next generation — entrance only; athletes remain static */
  .motion-ready .next-copy>*{opacity:0;transform:translateX(-26px);transition:opacity .62s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .next-copy>*:nth-child(2){transition-delay:.08s}.motion-ready .next-copy>*:nth-child(3){transition-delay:.16s}.motion-ready .next-copy>*:nth-child(4){transition-delay:.24s}.motion-ready .next-copy>*:nth-child(5){transition-delay:.32s}
  .motion-ready .stage-card{opacity:0;transform:translateY(34px) scaleY(.88);transform-origin:center bottom;transition:opacity .65s ease,transform .9s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .next-gen .child{opacity:0;transform:translateY(46px);transition:opacity .72s ease,transform .95s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .capability-list article{opacity:0;transform:translateY(24px);transition:opacity .55s ease,transform .72s cubic-bezier(.2,.75,.2,1),border-color .3s ease,box-shadow .3s ease}
  .motion-ready .next-gen.is-inview .next-copy>*,.motion-ready .next-gen.is-inview .stage-card,.motion-ready .next-gen.is-inview .child,.motion-ready .next-gen.is-inview .capability-list article{opacity:1;transform:none}
  .motion-ready .next-gen.is-inview .stage-card-a{transition-delay:.14s}.motion-ready .next-gen.is-inview .stage-card-b{transition-delay:.22s}.motion-ready .next-gen.is-inview .stage-card-c{transition-delay:.3s}.motion-ready .next-gen.is-inview .stage-card-d{transition-delay:.38s}
  .motion-ready .next-gen.is-inview .child-movement{transition-delay:.28s}.motion-ready .next-gen.is-inview .child-ball{transition-delay:.4s}.motion-ready .next-gen.is-inview .child-game{transition-delay:.52s}
  .motion-ready .next-gen.is-inview .capability-list article:nth-child(1){transition-delay:.3s}.motion-ready .next-gen.is-inview .capability-list article:nth-child(2){transition-delay:.4s}.motion-ready .next-gen.is-inview .capability-list article:nth-child(3){transition-delay:.5s}.motion-ready .next-gen.is-inview .capability-list article:nth-child(4){transition-delay:.6s}
  .motion-ready .next-gen.is-inview .capability-list article:hover{transform:translateY(-4px);transition-delay:0s}
}

@media (max-width:640px) and (prefers-reduced-motion:no-preference){
  .motion-ready .method-steps article,.motion-ready .method.is-inview .method-steps article{transform:translateY(28px)}
  .motion-ready .method.is-inview .method-steps article{transform:none}
  .motion-ready .method.is-inview .method-steps article:hover{transform:translateY(-5px)}
}

@media (prefers-reduced-motion:reduce){
  .hero-media img,.journey .person-slot img,.journey .card-background img,.profile-person img{transform:none!important}
}

@media (prefers-reduced-motion:no-preference){
  /* Section 07 / coach authority profile — entrance only */
  .motion-ready .coach-profile .coach-copy>*{opacity:0;transform:translateX(-26px);transition:opacity .62s ease,transform .8s cubic-bezier(.2,.75,.2,1)}
  .motion-ready .coach-profile .coach-copy>*:nth-child(2){transition-delay:.08s}.motion-ready .coach-profile .coach-copy>*:nth-child(3){transition-delay:.16s}.motion-ready .coach-profile .coach-copy>*:nth-child(4){transition-delay:.24s}.motion-ready .coach-profile .coach-copy>*:nth-child(5){transition-delay:.32s}
  .motion-ready .coach-profile .coach-person{opacity:0;transform:translateY(46px);transition:opacity .78s ease .18s,transform 1s cubic-bezier(.2,.75,.2,1) .18s}
  .motion-ready .coach-floating-stat{opacity:0;transform:translateY(18px);transition:opacity .52s ease,transform .68s ease}.motion-ready .coach-stat-athletes{transition-delay:.5s}.motion-ready .coach-stat-clubs{transition-delay:.62s}
  .motion-ready .coach-dashboard>*{opacity:0;transform:translateX(24px);transition:opacity .58s ease,transform .75s cubic-bezier(.2,.75,.2,1)}.motion-ready .coach-dashboard>*:nth-child(2){transition-delay:.14s}.motion-ready .coach-dashboard>*:nth-child(3){transition-delay:.24s}.motion-ready .coach-dashboard>*:nth-child(4){transition-delay:.34s}
  .motion-ready .coach-route-items article{opacity:0;transform:translateY(18px);transition:opacity .48s ease,transform .65s ease}.motion-ready .coach-route-items article:nth-child(2){transition-delay:.08s}.motion-ready .coach-route-items article:nth-child(3){transition-delay:.16s}.motion-ready .coach-route-items article:nth-child(4){transition-delay:.24s}.motion-ready .coach-route-items article:nth-child(5){transition-delay:.32s}.motion-ready .coach-route-items article:nth-child(6){transition-delay:.4s}
  .motion-ready .coach-profile.is-inview .coach-copy>*,.motion-ready .coach-profile.is-inview .coach-person,.motion-ready .coach-profile.is-inview .coach-floating-stat,.motion-ready .coach-profile.is-inview .coach-dashboard>*,.motion-ready .coach-profile.is-inview .coach-route-items article{opacity:1;transform:none}

  /* Section 08 / real footage archive */
  .motion-ready .performance-motion .motion-heading>*{opacity:0;transform:translateY(24px);transition:opacity .62s ease,transform .8s ease}.motion-ready .performance-motion .motion-heading>p{transition-delay:.12s}
  .motion-ready .performance-motion .motion-menu{opacity:0;transform:translateX(-22px);transition:opacity .6s ease .18s,transform .75s ease .18s}
  .motion-ready .performance-motion .video-main{opacity:0;transform:translateY(28px);transition:opacity .7s ease .22s,transform .9s cubic-bezier(.2,.75,.2,1) .22s}
  .motion-ready .performance-motion .video-grid .video-card{opacity:0;transform:translateY(22px);transition:opacity .55s ease,transform .72s ease,border-color .3s}.motion-ready .performance-motion .video-grid .video-card:nth-child(1){transition-delay:.3s}.motion-ready .performance-motion .video-grid .video-card:nth-child(2){transition-delay:.38s}.motion-ready .performance-motion .video-grid .video-card:nth-child(3){transition-delay:.46s}.motion-ready .performance-motion .video-grid .video-card:nth-child(4){transition-delay:.54s}
  .motion-ready .performance-motion.is-inview .motion-heading>*,.motion-ready .performance-motion.is-inview .motion-menu,.motion-ready .performance-motion.is-inview .video-main,.motion-ready .performance-motion.is-inview .video-grid .video-card{opacity:1;transform:none}
}
