/* Shared first-screen motion language for modernized BotLabs landing pages. */
.site-wow-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.site-wow-hero > :not(.site-wow-canvas) {
  position: relative;
  z-index: 1;
}

.site-wow-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.site-wow-orb,
.site-wow-grid,
.site-wow-beam,
.site-wow-sweep,
.site-wow-pulse,
.site-wow-signal {
  position: absolute;
  pointer-events: none;
  transform: translate3d(0, 0, 0);
}

.site-wow-orb {
  top: clamp(-250px, -15vw, -110px);
  right: clamp(-260px, -10vw, -80px);
  width: clamp(340px, 48vw, 760px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 42% 43%, rgba(39, 94, 255, .22), rgba(39, 94, 255, .08) 34%, transparent 69%),
    radial-gradient(circle at 63% 60%, rgba(31, 191, 241, .17), transparent 58%);
  opacity: .78;
}

.site-wow-grid {
  inset: -24%;
  background-image:
    linear-gradient(rgba(39, 94, 255, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(39, 94, 255, .09) 1px, transparent 1px);
  background-size: 52px 52px;
  mask-image: radial-gradient(circle at 73% 42%, #000 0 22%, transparent 66%);
  -webkit-mask-image: radial-gradient(circle at 73% 42%, #000 0 22%, transparent 66%);
  opacity: .52;
}

.site-wow-beam {
  top: 18%;
  right: -12%;
  width: min(58vw, 820px);
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(39, 94, 255, .42), rgba(31, 191, 241, .56), transparent);
  opacity: .7;
  transform: rotate(-18deg) translate3d(0, 0, 0);
  transform-origin: center;
}

.site-wow-sweep {
  top: -24%;
  bottom: -24%;
  left: -32%;
  width: min(30vw, 430px);
  background: linear-gradient(90deg, transparent, rgba(39, 94, 255, .1), rgba(255, 255, 255, .62), rgba(31, 191, 241, .16), transparent);
  opacity: 0;
  transform: translate3d(-120%, 0, 0) skewX(-14deg);
}

.site-wow-pulse {
  top: 50%;
  right: clamp(-110px, 3vw, 70px);
  width: clamp(230px, 31vw, 470px);
  aspect-ratio: 1;
  border: 1px solid rgba(39, 94, 255, .3);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 46%, rgba(31, 191, 241, .1) 47%, transparent 48%),
    conic-gradient(from 210deg, transparent 0 35%, rgba(31, 191, 241, .48) 36% 37%, transparent 38% 79%, rgba(39, 94, 255, .44) 80% 81%, transparent 82%);
  opacity: 0;
  transform: translate3d(0, -50%, 0) scale(.74);
}

.site-wow-signal {
  top: 16%;
  right: 2%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 5px rgba(31, 191, 241, .14), 0 0 18px rgba(31, 191, 241, .8);
  opacity: 0;
}

.site-wow-hero [data-site-wow-target] {
  backface-visibility: hidden;
}

/* Shared section motion: the first block after the hero gets one dominant
   visual moment; later blocks use restrained, one-shot content reveals. */
.site-motion-block {
  position: relative;
  isolation: isolate;
}

.site-wow-block {
  overflow: hidden;
}

.site-wow-block > :not(.site-wow-block-canvas) {
  position: relative;
  z-index: 1;
}

.site-wow-block-canvas {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.site-wow-block-halo,
.site-wow-block-orbit,
.site-wow-block-scan {
  position: absolute;
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 0, 0);
}

.site-wow-block-halo {
  top: 50%;
  left: clamp(-220px, -12vw, -80px);
  width: clamp(300px, 42vw, 680px);
  aspect-ratio: 1;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, rgba(31, 191, 241, .32), rgba(39, 94, 255, .16) 36%, transparent 70%);
}

.site-wow-block-orbit {
  top: 50%;
  right: clamp(-180px, -8vw, -60px);
  width: clamp(240px, 28vw, 440px);
  aspect-ratio: 1;
  border: 1px solid rgba(76, 132, 255, .38);
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 50%, transparent 0 43%, rgba(31, 191, 241, .16) 44%, transparent 45%),
    conic-gradient(from 30deg, transparent 0 15%, rgba(31, 191, 241, .7) 16% 17%, transparent 18% 62%, rgba(76, 132, 255, .58) 63% 64%, transparent 65%);
}

.site-wow-block-scan {
  top: 0;
  bottom: 0;
  left: -32%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .28), rgba(31, 191, 241, .12), transparent);
  transform: translate3d(-120%, 0, 0) skewX(-12deg);
}

.site-motion-block [data-site-block-target] {
  backface-visibility: hidden;
}

@media (max-width: 768px) {
  .site-wow-grid,
  .site-wow-beam,
  .site-wow-sweep,
  .site-wow-signal {
    display: none;
  }

  .site-wow-orb {
    top: -160px;
    right: -180px;
    width: 420px;
    opacity: .56;
  }

  .site-wow-pulse {
    top: 38%;
    right: -150px;
    width: 340px;
    opacity: .3;
  }

  .site-wow-block-orbit,
  .site-wow-block-scan {
    display: none;
  }

  .site-wow-block-halo {
    top: 42%;
    left: -190px;
    width: 410px;
    opacity: .46;
  }
}

@media (prefers-reduced-motion: reduce) {
  .site-wow-canvas,
  .site-wow-block-canvas {
    display: none;
  }

  .site-wow-hero [data-site-wow-target],
  .site-motion-block [data-site-block-target] {
    opacity: 1 !important;
    transform: none !important;
  }
}
