/* ============================================================
   TALENTUM — Hero : animation de sortie (Step 1.4)
   Exit scroll-triggered — chaque ligne sort comme un bloc unique.
   Le .title-line-inner est l'unité animée ; .title-line garde overflow:hidden.
   ============================================================ */

/* État par défaut — composition visible, prête à partir */
.title-line-inner {
  display: block;
  transform: translateY(0);
  /* 1s exit, ease-out cinématique — sortie posée et théâtrale */
  transition: transform 1s var(--ease-expo-out);
  will-change: transform;
}

/* Ligne 2 : TALENT + *(clap) sortent ensemble comme une unité */
.title-line--photo .title-line-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.3em;
}

/* ---- Exit : .hero.is-exiting déclenché par JS à 30px de scroll ---- */
.hero.is-exiting .title-line-inner {
  transform: translateY(-110%);
}

/* Cascade stagger — ligne 1 part en premier, ligne 4 en dernier */
.hero.is-exiting .title-line:nth-child(1) .title-line-inner { transition-delay: 0ms;   }
.hero.is-exiting .title-line:nth-child(2) .title-line-inner { transition-delay: 120ms; }
.hero.is-exiting .title-line:nth-child(3) .title-line-inner { transition-delay: 240ms; }
.hero.is-exiting .title-line:nth-child(4) .title-line-inner { transition-delay: 360ms; }

/* ---- Accessibilité : pas d'animation de translate si reduced-motion ---- */
@media (prefers-reduced-motion: reduce) {
  .title-line-inner {
    transition: opacity 0.4s ease;
  }
  .hero.is-exiting .title-line-inner {
    transform: none;
    opacity: 0;
  }
  /* Stagger préservé sur l'opacité */
  .hero.is-exiting .title-line:nth-child(1) .title-line-inner { transition-delay: 0ms;   }
  .hero.is-exiting .title-line:nth-child(2) .title-line-inner { transition-delay: 80ms;  }
  .hero.is-exiting .title-line:nth-child(3) .title-line-inner { transition-delay: 160ms; }
  .hero.is-exiting .title-line:nth-child(4) .title-line-inner { transition-delay: 240ms; }
}
