/* Animações de entrada (scroll-reveal) — dão dinâmica ao site.
   SEGURO POR DESIGN: a opacidade nunca desce abaixo de 0.6 (sempre legível) e a
   revelação corre por animação CSS no compositor. Mesmo que o JavaScript ou o
   renderizador travem, o conteúdo está sempre visível — só desliza e ganha nitidez.
   Desliga-se para quem prefere menos movimento. */
@media (prefers-reduced-motion: no-preference) {
  .tdp-reveal {
    opacity: .6;
    transform: translateY(24px);
    animation: tdp-reveal-in .7s cubic-bezier(.2, .7, .2, 1) 1s forwards;
    will-change: opacity, transform;
  }
  .tdp-reveal.tdp-in {
    animation: tdp-reveal-in .7s cubic-bezier(.2, .7, .2, 1) 0s forwards;
  }
  @keyframes tdp-reveal-in {
    from { opacity: .6; transform: translateY(24px); }
    to   { opacity: 1; transform: none; }
  }
}
