/* ============================================================
   Motion — editorial reveals, hero load, marquee, reduced-motion
   ============================================================ */

@media (prefers-reduced-motion: no-preference){

  /* generic scroll reveal */
  .reveal{opacity:0;transform:translateY(28px);
    transition:opacity 1s var(--ease),transform 1s var(--ease);}
  .reveal.is-visible{opacity:1;transform:none;}

  /* stagger children marked .reveal inside a .stagger parent */
  .stagger > .reveal{transition-delay:calc(var(--i,0) * .08s);}

  /* media clip reveal */
  .reveal-media{clip-path:inset(0 0 100% 0);transform:scale(1.06);
    transition:clip-path 1.1s var(--ease-inout),transform 1.4s var(--ease);}
  .reveal-media.is-visible{clip-path:inset(0 0 0 0);transform:scale(1);}

  /* hero headline lines rise on load */
  .hero__head .l > span{transform:translateY(110%);animation:rise 1s var(--ease) forwards;}
  .hero__head .l:nth-child(1) > span{animation-delay:.15s;}
  .hero__head .l:nth-child(2) > span{animation-delay:.28s;}
  .hero__head .l:nth-child(3) > span{animation-delay:.41s;}
  .hero__head .l:nth-child(4) > span{animation-delay:.54s;}
  @keyframes rise{to{transform:translateY(0);}}

  /* fade-up hero side pieces on load */
  .load-fade{opacity:0;transform:translateY(16px);animation:loadfade .9s var(--ease) forwards;animation-delay:.7s;}
  @keyframes loadfade{to{opacity:1;transform:none;}}
}

@media (prefers-reduced-motion: reduce){
  .marquee__track{animation:none;}
  .reveal,.reveal-media,.hero__head .l > span,.load-fade{opacity:1 !important;transform:none !important;clip-path:none !important;}
  *{scroll-behavior:auto !important;}
}
