/* Estado inicial: Invisível e levemente abaixo */
.scroll-reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.4, 0, 0.2, 1), transform 0.8s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: opacity, transform;
}

/* Estado final: Visível e na posição correta */
.scroll-reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* Delays para efeito cascata sequencial */
.delay-1 { transition-delay: 150ms; }
.delay-2 { transition-delay: 300ms; }
.delay-3 { transition-delay: 450ms; }