/* Luxury inertial scroll + blur-up reveals */

/* Avoid double-smoothing (Lenis provides the smoothness) */
html { 
  scroll-behavior: auto !important;
  scroll-padding-top: 5rem;
}

/* Lenis smooth scroll setup */
html.lenis, html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
  overflow: hidden;
}

.lenis.lenis-smooth [data-lenis-prevent] {
  overscroll-behavior: contain;
}

/* Reveal system: container-first, heavy + expensive */
.reveal {
  opacity: 0;
  transform: translateY(18px);
  filter: blur(12px);
  transition:
    opacity 0.78s cubic-bezier(0.16, 1, 0.3, 1),
    transform 0.78s cubic-bezier(0.16, 1, 0.3, 1),
    filter 0.78s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0ms);
  will-change: transform, opacity, filter;
}

.reveal.reveal--visible {
  opacity: 1;
  transform: translateY(0);
  filter: blur(0);
}

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


