html.lenis,
html.lenis body {
  height: auto;
}

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

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

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

[data-reveal] {
  opacity: 0;
  transform: translateY(50px);
  will-change: transform, opacity;
}

[data-reveal-stagger] > * {
  opacity: 0;
  transform: translateY(40px);
  will-change: transform, opacity;
}

[data-split-text] {
  will-change: contents;
}

.split-parent {
  overflow: hidden;
  white-space: normal;
  word-wrap: break-word;
}

.split-char {
  display: inline-block;
  will-change: transform, opacity;
}

.barba-transition-overlay {
  display: none !important;
  opacity: 0 !important;
  pointer-events: none !important;
  visibility: hidden !important;
}

#hero-3d-canvas {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

#hero-3d-canvas canvas {
  display: block;
  width: 100%;
  height: 100%;
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal],
  [data-reveal-stagger] > * {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .split-char {
    opacity: 1 !important;
    transform: none !important;
  }

  .barba-transition-overlay {
    display: none !important;
  }

  #hero-3d-canvas {
    display: none !important;
  }
}
