/* ===========================
   HERO ENTRANCE
   =========================== */
.hero__headline {
  opacity: 0;
  transform: translateY(20px);
  animation: heroIn 0.9s ease forwards 0.15s;
}

.hero__bullets {
  opacity: 0;
  transform: translateY(20px);
  animation: heroIn 0.9s ease forwards 0.4s;
}

.hero .btn {
  opacity: 0;
  transform: translateY(20px);
  animation: heroIn 0.9s ease forwards 0.65s;
}

@keyframes heroIn {
  to { opacity: 1; transform: translateY(0); }
}

/* ===========================
   SCROLL REVEALS (GSAP fallback)
   =========================== */
@media (prefers-reduced-motion: no-preference) {
  .reveal,
  .reveal-left,
  .reveal-right {
    opacity: 0;
    will-change: opacity, transform;
  }

  .reveal       { transform: translateY(28px); }
  .reveal-left  { transform: translateX(-32px); }
  .reveal-right { transform: translateX(32px); }
}

/* ===========================
   IA CHAT ANIMATION
   =========================== */
@media (prefers-reduced-motion: no-preference) {
  .ia-chat__msg,
  .ia-chat__typing { opacity: 0; transform: translateY(10px); }

  .ia--played .ia-chat__msg--user {
    animation: chatIn 0.4s ease forwards 0.3s;
  }

  .ia--played .ia-chat__typing {
    animation: chatIn 0.3s ease forwards 1s, chatOut 0.25s ease forwards 3.1s;
  }

  .ia--played .ia-chat__msg--ai {
    animation: chatIn 0.45s ease forwards 3.3s;
  }

  @keyframes chatIn  { to { opacity: 1; transform: translateY(0); } }
  @keyframes chatOut { to { opacity: 0; transform: translateY(-6px); } }
}

@media (prefers-reduced-motion: reduce) {
  .ia-chat__msg,
  .ia-chat__typing { opacity: 1; transform: none; }
}

/* ===========================
   REDUCED MOTION
   =========================== */
@media (prefers-reduced-motion: reduce) {
  .hero__headline,
  .hero__bullets,
  .hero .btn {
    opacity: 1;
    transform: none;
    animation: none;
  }

  .reveal,
  .reveal-left,
  .reveal-right {
    opacity: 1;
    transform: none;
  }

  * { transition-duration: 0.01ms !important; animation-duration: 0.01ms !important; }
}
