.webgl-effect {
  position: absolute;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  opacity: 0;
  transition: opacity 600ms cubic-bezier(0.16, 1, 0.3, 1);
}

.webgl-effect[data-webgl-state="ready"],
.webgl-effect[data-webgl-state="static"] {
  opacity: 1;
}

.webgl-effect canvas {
  display: block;
  width: 100%;
  height: 100%;
}

.marketing-hero-lines {
  z-index: 0;
  opacity: 0;
  mask-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.92) 58%, transparent 100%);
  -webkit-mask-image: linear-gradient(to bottom, black 0%, rgba(0, 0, 0, 0.92) 58%, transparent 100%);
}

.hero > .hero-visual {
  z-index: 1;
}

.marketing-hero-lines[data-webgl-state="ready"],
.marketing-hero-lines[data-webgl-state="static"] {
  opacity: 0.5;
}

@media (max-width: 767px) {
  .marketing-hero-lines[data-webgl-state="ready"],
  .marketing-hero-lines[data-webgl-state="static"] {
    opacity: 0.34;
  }
}

@media (prefers-reduced-motion: reduce) {
  .webgl-effect {
    transition: none;
  }

  .marketing-hero-lines[data-webgl-state="static"] {
    opacity: 0.24;
  }
}
