/* =========================================================================
   animations.css · RECONSTRUCCIÓN desde el manual de estilo.
   .animate-on-scroll + variantes se activan vía .is-visible (lo añade main.js
   al activar la slide). Sustituir por el original para paridad exacta.
   ========================================================================= */

.animate-on-scroll{opacity:0;transition:opacity .6s var(--ease),transform .6s var(--ease);will-change:opacity,transform;}
.animate-on-scroll.fade-up{transform:translateY(24px);}
.animate-on-scroll.fade-down{transform:translateY(-24px);}
.animate-on-scroll.fade-left{transform:translateX(24px);}
.animate-on-scroll.fade-right{transform:translateX(-24px);}
.animate-on-scroll.fade-in{transform:none;}
.animate-on-scroll.scale-up{transform:scale(.96);}

.animate-on-scroll.is-visible{opacity:1;transform:none;}

/* Delays manuales 80ms → 480ms */
.delay-1{transition-delay:.08s;}
.delay-2{transition-delay:.16s;}
.delay-3{transition-delay:.24s;}
.delay-4{transition-delay:.32s;}
.delay-5{transition-delay:.40s;}
.delay-6{transition-delay:.48s;}

/* Stagger: escalona los hijos hasta el 6º */
.stagger>*:nth-child(1){transition-delay:.05s;}
.stagger>*:nth-child(2){transition-delay:.13s;}
.stagger>*:nth-child(3){transition-delay:.21s;}
.stagger>*:nth-child(4){transition-delay:.29s;}
.stagger>*:nth-child(5){transition-delay:.37s;}
.stagger>*:nth-child(6){transition-delay:.45s;}

/* Substeps (revelado progresivo dentro de slide) */
[data-step]{opacity:0;transform:translateY(12px);transition:opacity .45s var(--ease),transform .45s var(--ease);}
[data-step].step--shown{opacity:1;transform:none;}

@media (prefers-reduced-motion:reduce){
  .animate-on-scroll,[data-step]{transition:none!important;opacity:1!important;transform:none!important;}
}
