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: clip;
}

body {
  background:
    radial-gradient(circle at top left, rgba(82, 203, 190, 0.16), transparent 22%),
    radial-gradient(circle at top right, rgba(248, 181, 6, 0.16), transparent 18%),
    linear-gradient(180deg, #fbfffe 0%, #ffffff 100%);
}

.noise-grid::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(23, 23, 23, 0.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 23, 23, 0.03) 1px, transparent 1px);
  background-size: 32px 32px;
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.3), transparent 80%);
}

.wave-orb {
  filter: blur(2px);
  opacity: 0.8;
}

.glass-card {
  backdrop-filter: blur(18px);
}

.hero-image-mask {
  mask-image: linear-gradient(180deg, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0.88));
}

.hero-soft-shadow {
  box-shadow: 0 24px 80px rgba(17, 24, 39, 0.16);
}

.hero-panel-shadow {
  box-shadow: 0 16px 38px rgba(17, 24, 39, 0.14);
}

.inner-cut {
  position: absolute;
  border-radius: 999px;
  background: #f8faf9;
  pointer-events: none;
}

.reveal.is-visible {
  opacity: 1;
  transform: none;
}
