/* Attributs data-motion : révélation progressive hors hero.
   Le hero reste volontairement exclu pour ne pas changer son rendu initial.
*/

html.js [data-motion]:not(.is-visible):not(.mobile-menu-panel):not(.mobile-menu-panel *){
  opacity:0;
  transform:translateY(24px);
  filter:blur(7px);
}

html.js [data-motion]{
  transition:
    opacity .72s ease,
    transform .72s cubic-bezier(.2,.74,.2,1),
    filter .72s ease;
  transition-delay:var(--motion-delay, 0ms);
  will-change:opacity, transform, filter;
}

html.js [data-motion].is-visible{
  opacity:1;
  transform:none;
  filter:blur(0);
}

html.js [data-motion="card"]{
  transition-duration:.82s;
}

html.js [data-motion="reservation-tunnel"]{
  transition-duration:.86s;
}

@media (prefers-reduced-motion:reduce){
  html.js [data-motion],
  html.js [data-motion]:not(.is-visible):not(.mobile-menu-panel):not(.mobile-menu-panel *){
    opacity:1 !important;
    transform:none !important;
    filter:none !important;
    transition:none !important;
  }
}
