/* Progressive scroll motion layer for full-page reveal and stagger effects */
.scroll-pro-ready .scroll-pro-reveal {
  opacity: 0;
  transform: translate3d(0, 26px, 0) scale(0.985);
  filter: blur(7px);
  transition:
    opacity 0.72s cubic-bezier(0.18, 0.86, 0.22, 1),
    transform 0.72s cubic-bezier(0.18, 0.86, 0.22, 1),
    filter 0.72s ease;
  transition-delay: var(--reveal-delay, 0ms);
  will-change: transform, opacity, filter;
}

.scroll-pro-ready .scroll-pro-reveal.scroll-pro-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
  filter: blur(0);
}

.scroll-pro-ready .scroll-pro-reveal[data-reveal="left"] {
  transform: translate3d(-30px, 18px, 0) scale(0.985);
}

.scroll-pro-ready .scroll-pro-reveal[data-reveal="right"] {
  transform: translate3d(30px, 18px, 0) scale(0.985);
}

.scroll-pro-ready .scroll-pro-reveal[data-reveal="zoom"] {
  transform: translate3d(0, 16px, 0) scale(0.94);
}

.scroll-pro-ready .scroll-pro-reveal[data-reveal="float"] {
  animation: none;
}

.scroll-pro-ready .scroll-pro-reveal.scroll-pro-visible[data-reveal="float"] {
  animation: scrollProFloat 5.4s ease-in-out 0.4s infinite;
}

@keyframes scrollProFloat {
  0% {
    transform: translate3d(0, 0, 0);
  }
  50% {
    transform: translate3d(0, -5px, 0);
  }
  100% {
    transform: translate3d(0, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-pro-ready .scroll-pro-reveal {
    opacity: 1 !important;
    transform: none !important;
    filter: none !important;
    transition: none !important;
    animation: none !important;
  }
}
