/* Mouvement de la passe luxe : mots des titres, entrée et sortie de page. Fichier NOUVEAU du socle (05-SPEC-systeme section 3).
   RÈGLE : ce fichier ne cache JAMAIS rien. L'état initial masqué (opacité 0, décalage) est posé par le JS, uniquement dans la
   branche « mouvement autorisé » de gsap.matchMedia(). Sans JS, sans GSAP ou sous prefers-reduced-motion : tout est visible.
   Seuls les écrans luxe le chargent ; réservation, séjour et cockpit n'ont ni entrée ni sortie de page. */

/* Un mot de titre : le masque est le mot (il ne rogne ni jambage ni accent) ; les mots sont séparés par de vrais espaces,
   le navigateur garde ses points de coupe et text-wrap: balance. */
.mot {
  display: inline-block;
  overflow: hidden;
  vertical-align: top;
  padding-block: 0.14em;
  margin-block: -0.14em;
}
.mot__in { display: inline-block; }
html[lang="he"] .mot { padding-block: 0.22em; margin-block: -0.22em; }

/* Transitions de page : posées avant le premier rendu par amorce.ecran.js (attribut sur <html>), sans GSAP.
   L'animation d'entrée se termine seule : aucun contenu ne reste à 0. La règle « main { transition: opacity } » du socle sert la sortie. */
@media (prefers-reduced-motion: no-preference) {
  @keyframes entree-page {
    from { opacity: 0; transform: translateY(var(--decalage-entree)); }
  }
  html[data-motion-entree] main {
    animation: entree-page var(--m-page-entree) var(--ease-entree) both;
  }
  html.motion-sortie main {
    opacity: 0;
    transition-duration: var(--m-page-sortie);
  }
}
