html {
  scroll-behavior: smooth;
}

/* Scroll reveal animation */
.scroll-reveal {
  opacity: 0;
  transform: translateY(24px) scale(0.98);
  transition: opacity 0.8s ease-out, transform 0.8s ease-out;
  will-change: opacity, transform;
}

.scroll-reveal.active {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.scroll-reveal[data-delay="100"],
.scroll-reveal[data-delay="200"],
.scroll-reveal[data-delay="300"] {
  /* Placeholder: supports explicit data-delay in HTML if needed */
}

/* Animar cards internos com delay por padrão */
.scroll-reveal .grid > *,
.scroll-reveal .flex > * {
  opacity: 0;
  transform: translateY(15px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

.scroll-reveal.active .grid > *,
.scroll-reveal.active .flex > * {
  opacity: 1;
  transform: translateY(0);
}
