/* ============================================================
   FASS ASESORES — Animaciones y transiciones de scroll
   ============================================================ */

/* Estado inicial: oculto / fuera de posición */
.fade-up {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

.fade-in {
  opacity: 0;
  transition: opacity 0.65s ease;
}

.fade-right {
  opacity: 0;
  transform: translateX(-22px);
  transition: opacity 0.65s ease, transform 0.65s ease;
}

/* Retrasos escalonados para grupos de elementos */
.delay-1 { transition-delay: 0.10s; }
.delay-2 { transition-delay: 0.20s; }
.delay-3 { transition-delay: 0.30s; }
.delay-4 { transition-delay: 0.42s; }
.delay-5 { transition-delay: 0.55s; }

/* Estado visible (añadido por JS via IntersectionObserver) */
.is-visible.fade-up  { opacity: 1; transform: translateY(0); }
.is-visible.fade-in  { opacity: 1; }
.is-visible.fade-right { opacity: 1; transform: translateX(0); }

/* Animación de entrada del hero (se aplica al cargar la página) */
@keyframes heroFadeUp {
  from { opacity: 0; transform: translateY(30px); }
  to   { opacity: 1; transform: translateY(0); }
}

.hero-anim-1 { animation: heroFadeUp 0.8s ease 0.1s both; }
.hero-anim-2 { animation: heroFadeUp 0.8s ease 0.3s both; }
.hero-anim-3 { animation: heroFadeUp 0.8s ease 0.5s both; }
.hero-anim-4 { animation: heroFadeUp 0.8s ease 0.65s both; }
