/* ============================================================================
   REVEAL — entradas suaves ao rolar a página

   Progressive enhancement: só age quando o JS marca <html class="js">, então
   sem JavaScript o conteúdo aparece normalmente. Tudo desligado para quem pede
   `prefers-reduced-motion: reduce` (o estado inicial escondido nem é aplicado).
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {

  /* --- bloco único --------------------------------------------------------- */
  html.js [data-reveal] {
    opacity: 0;
    transform: translateY(1.5rem);
    transition:
      opacity 0.85s var(--ease-out),
      transform 0.85s var(--ease-out);
  }
  html.js [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
  }

  /* --- filhos em cascata (listas / grades) -------------------------------- */
  /* a transição do reveal some quando o grupo "assenta" (.is-settled), pra não
     sobrescrever o transition próprio de cada filho (ex.: hover do person-card) */
  html.js [data-reveal-children]:not(.is-settled) > * {
    transition:
      opacity 0.7s var(--ease-out),
      transform 0.7s var(--ease-out);
  }
  html.js [data-reveal-children]:not(.is-revealed) > * {
    opacity: 0;
    transform: translateY(0.9rem);
  }
  html.js [data-reveal-children].is-revealed:not(.is-settled) > *:nth-child(2)   { transition-delay: 0.09s; }
  html.js [data-reveal-children].is-revealed:not(.is-settled) > *:nth-child(3)   { transition-delay: 0.18s; }
  html.js [data-reveal-children].is-revealed:not(.is-settled) > *:nth-child(4)   { transition-delay: 0.27s; }
  html.js [data-reveal-children].is-revealed:not(.is-settled) > *:nth-child(5)   { transition-delay: 0.36s; }
  html.js [data-reveal-children].is-revealed:not(.is-settled) > *:nth-child(n+6) { transition-delay: 0.45s; }

  /* --- entrada do hero (uma vez, no load) -------------------------------- */
  .hero__content {
    animation: reveal-rise 0.8s var(--ease-out) 0.1s both;
  }

  @keyframes reveal-rise {
    from { opacity: 0; transform: translateY(0.75rem); }
  }
}
