/* Scroll reveal — only when JS is present; never hide content without JS (SEO/LCP). */
@media (prefers-reduced-motion: no-preference) {
  .js [data-reveal]:not(.is-revealed) {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition:
      opacity 0.65s cubic-bezier(0.22, 1, 0.36, 1),
      transform 0.65s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .js [data-reveal].is-revealed {
    opacity: 1;
    transform: none;
  }
}

/* Skip paint work for off-screen sections (Chromium / Safari). */
.section-padding[data-reveal],
.partners[data-reveal] {
  content-visibility: auto;
  contain-intrinsic-size: 1px 720px;
}
