/* Il movimento accompagna l'azione, senza ritardare la lettura. */

@media (prefers-reduced-motion: no-preference) {
  .hero-copy > * { animation: hero-entry .8s var(--ease) both; }
  .hero-copy > :nth-child(2) { animation-delay: .08s; }
  .hero-copy > :nth-child(3) { animation-delay: .16s; }
  .hero-copy > :nth-child(4) { animation-delay: .24s; }

  @keyframes hero-entry {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
  }

  /* Comparsa leggera, attivata solo se reveal.js è in funzione. */
  .has-reveal [data-reveal] { transition: opacity .45s var(--ease), transform .45s var(--ease); }
  .has-reveal [data-reveal]:not(.is-revealed) { opacity: 0; transform: translateY(16px); }
  .has-reveal .process-grid [data-reveal]:nth-child(2) { transition-delay: .08s; }
  .has-reveal .process-grid [data-reveal]:nth-child(3) { transition-delay: .16s; }
  .has-reveal .process-grid [data-reveal]:nth-child(4) { transition-delay: .24s; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
