/* Reveal - vertical seul (PIEGE PROD #13 - jamais translateX) */
[data-reveal]{
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 0.7s ease, transform 0.7s ease;
  will-change: opacity, transform;
}
[data-reveal].in{
  opacity: 1;
  transform: translateY(0);
}

/* MOT-2 Slide directionnel - slide vertical doux avec stagger */
[data-reveal-stagger] > *{
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
[data-reveal-stagger].in > *{
  opacity: 1;
  transform: translateY(0);
}
[data-reveal-stagger].in > *:nth-child(1){ transition-delay: 0ms; }
[data-reveal-stagger].in > *:nth-child(2){ transition-delay: 80ms; }
[data-reveal-stagger].in > *:nth-child(3){ transition-delay: 160ms; }
[data-reveal-stagger].in > *:nth-child(4){ transition-delay: 240ms; }
[data-reveal-stagger].in > *:nth-child(5){ transition-delay: 320ms; }
[data-reveal-stagger].in > *:nth-child(6){ transition-delay: 400ms; }
[data-reveal-stagger].in > *:nth-child(7){ transition-delay: 480ms; }
[data-reveal-stagger].in > *:nth-child(8){ transition-delay: 560ms; }

/* Hero subtil pulse au load */
.hero-immersif__title,
.hero-immersif__sub,
.hero-immersif__usps,
.hero-immersif__cta,
.hero-rating{
  opacity: 0;
  transform: translateY(14px);
  animation: heroIn 0.9s ease forwards;
}
.hero-immersif__title{ animation-delay: 0.1s; }
.hero-immersif__sub{ animation-delay: 0.25s; }
.hero-immersif__usps{ animation-delay: 0.35s; }
.hero-immersif__cta{ animation-delay: 0.45s; }
.hero-rating{ animation-delay: 0.55s; }

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

/* FAQ height transition */
.faq-answer{
  display: grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows 0.32s ease, padding 0.32s ease;
  overflow: hidden;
}
.faq-answer > p{
  min-height: 0;
}
.faq-item.is-open .faq-answer{
  grid-template-rows: 1fr;
}

/* Dispo dot pulse subtil */
.dispo-dot{
  animation: pulseDot 2.4s ease-in-out infinite;
}
@keyframes pulseDot{
  0%, 100% { box-shadow: 0 0 0 4px rgba(138, 179, 127, 0.25); }
  50% { box-shadow: 0 0 0 8px rgba(138, 179, 127, 0.05); }
}

/* Reduced motion : filet de securite */
@media (prefers-reduced-motion: reduce){
  *, *::before, *::after{
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
  [data-reveal],
  [data-reveal-stagger] > *,
  .hero-immersif__title,
  .hero-immersif__sub,
  .hero-immersif__usps,
  .hero-immersif__cta,
  .hero-rating{
    opacity: 1 !important;
    transform: none !important;
  }
  .faq-answer{ grid-template-rows: 1fr; }
  .dispo-dot{ animation: none; }
}
