/* ============================================================
   ISIBERICO — Capa de movimiento (animaciones)
   Easing y duraciones del Manual · respeta prefers-reduced-motion
   ============================================================ */

/* Hover de flecha en botones (sutil, siempre activo) */
.btn__arrow { display:inline-block; transition: transform 0.3s cubic-bezier(0.16,1,0.3,1); }
.btn:hover .btn__arrow { transform: translateX(5px); }

/* Hover de tarjeta de programa — zoom discreto de la foto (1.03) */
.program-card__photo { transition: transform 0.6s cubic-bezier(0.16,1,0.3,1); will-change: transform; }
.program-card--img:hover .program-card__photo { transform: scale(1.03); }

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

  /* --- Hero: entrada escalonada (antetítulo → título → texto → botones) --- */
  .hero__label,
  .hero__title,
  .hero__sub,
  .hero__cta-row {
    opacity: 0;
    transform: translateY(20px);
    animation: isbRise 0.7s cubic-bezier(0.16,1,0.3,1) forwards;
  }
  .hero__label   { animation-delay: 0.20s; }
  .hero__title   { animation-delay: 0.38s; }
  .hero__sub     { animation-delay: 0.60s; }
  .hero__cta-row { animation-delay: 0.82s; }

  /* --- Hero: zoom lento de la imagen de fondo (Ken Burns discreto) --- */
  .hero__bg {
    transform-origin: 60% 40%;
    animation: isbZoom 16s ease-out forwards;
  }

  /* --- Revelado de secciones al entrar al viewport --- */
  .anim-reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.16,1,0.3,1),
                transform 0.7s cubic-bezier(0.16,1,0.3,1);
  }
  .anim-reveal.is-visible { opacity: 1; transform: none; }

  /* --- Cifras: entrada escalonada dentro de la fila --- */
  .stats-row .stat {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity 0.6s cubic-bezier(0.16,1,0.3,1),
                transform 0.6s cubic-bezier(0.16,1,0.3,1);
  }
  .stats-row.is-visible .stat { opacity: 1; transform: none; }
  .stats-row.is-visible .stat:nth-child(1) { transition-delay: 0.00s; }
  .stats-row.is-visible .stat:nth-child(2) { transition-delay: 0.08s; }
  .stats-row.is-visible .stat:nth-child(3) { transition-delay: 0.16s; }
  .stats-row.is-visible .stat:nth-child(4) { transition-delay: 0.24s; }
  .stats-row.is-visible .stat:nth-child(5) { transition-delay: 0.32s; }
  .stats-row.is-visible .stat:nth-child(6) { transition-delay: 0.40s; }

  @keyframes isbRise { to { opacity: 1; transform: none; } }
  @keyframes isbZoom { from { transform: scale(1.0); } to { transform: scale(1.07); } }
}
