/* Hero geometric shapes interaction & positioning */
.hero-main {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.hero-main:before {
  content: none !important;
}

.hero-main .hero-inner {
  position: relative;
  z-index: 1;
}

.hero-shapes {
  position: absolute;
  width: 720px;
  height: 520px;
  right: -10px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  z-index: 0;
  opacity: 0.75;
  overflow: visible;
}

.hero-shapes .shape {
  will-change: transform, opacity;
  mix-blend-mode: color-dodge;
  transform-box: view-box;
}

/* Scramble typography reveal styling */
.scramble-char {
  display: inline-block;
  white-space: pre;
}

.scramble-char.scrambling {
  opacity: 0.65;
  color: #70b9ef;
}

.scramble-char.resolving {
  color: #ffffff;
  text-shadow: 0 0 12px rgba(112, 185, 239, 0.9), 0 0 20px rgba(112, 185, 239, 0.4);
}

@media (max-width: 900px) {
  .hero-shapes {
    width: 580px;
    height: 420px;
    right: -100px;
    opacity: 0.55;
  }
}

@media (max-width: 760px) {
  .hero-shapes {
    width: 480px;
    height: 350px;
    right: -180px;
    opacity: 0.4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-shapes .shape {
    transition: none !important;
  }
}
