html.ava-bridge-pending body::after {
  position: fixed;
  inset: 0;
  z-index: 2147483645;
  content: "";
  pointer-events: all;
  background:
    radial-gradient(circle at 50% 48%, rgba(34, 91, 108, 0.18), transparent 42%),
    #020307;
}

.stage-menu .ava-ecosystem-link {
  position: relative;
  overflow: hidden;
  pointer-events: auto;
  border-color: rgba(105, 207, 255, 0.42);
  background: linear-gradient(135deg, rgba(105, 207, 255, 0.12), rgba(161, 112, 255, 0.1));
  color: #e9fbff;
  box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 0 22px rgba(105, 207, 255, 0.08);
}

.stage-menu .ava-ecosystem-link::after {
  content: " ↗";
  color: #69cfff;
}

.stage-menu .ava-ecosystem-link::before {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(110deg, transparent 20%, rgba(255, 255, 255, 0.16) 48%, transparent 72%);
  transform: translateX(-120%);
  transition: transform 650ms cubic-bezier(.16, 1, .3, 1);
}

.stage-menu .ava-ecosystem-link:hover::before,
.stage-menu .ava-ecosystem-link:focus-visible::before {
  transform: translateX(120%);
}

.ava-mobile-bridge {
  display: none;
  pointer-events: auto;
}

.coming-soon-stage.is-ava-bridge-awake {
  animation: ava-bridge-awaken 1.15s cubic-bezier(.16, 1, .3, 1);
}

.coming-soon-stage.is-ava-bridge-awake .aaa-hero-art {
  animation: ava-hero-charge 1.25s cubic-bezier(.16, 1, .3, 1);
}

@keyframes ava-bridge-awaken {
  0% { filter: saturate(.68) brightness(.72) hue-rotate(16deg); }
  38% { filter: saturate(1.38) brightness(1.12) hue-rotate(-5deg); }
  100% { filter: none; }
}

@keyframes ava-hero-charge {
  0% { transform: scale(1.045); }
  100% { transform: scale(1); }
}

@media (max-width: 760px) {
  .stage-menu .ava-ecosystem-link {
    order: 99;
  }

  .ava-mobile-bridge {
    position: fixed;
    top: max(70px, calc(env(safe-area-inset-top) + 58px));
    left: 14px;
    z-index: 120;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid rgba(105, 207, 255, 0.36);
    border-radius: 10px;
    background: linear-gradient(135deg, rgba(5, 13, 20, 0.9), rgba(10, 19, 30, 0.82));
    box-shadow: inset 0 1px rgba(255, 255, 255, 0.08), 0 10px 28px rgba(0, 0, 0, 0.34);
    backdrop-filter: blur(12px);
    color: #e9fbff;
    font: 800 0.58rem "Space Grotesk", "Segoe UI", sans-serif;
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
  }

  .ava-mobile-bridge span {
    color: #69cfff;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .coming-soon-top {
    justify-content: flex-start;
  }

  .stage-menu {
    padding-right: 7px;
    padding-left: 7px;
  }

  .stage-menu > a,
  .stage-menu > button {
    min-width: 68px;
    padding-right: 8px;
    padding-left: 8px;
    font-size: 0.57rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .coming-soon-stage.is-ava-bridge-awake,
  .coming-soon-stage.is-ava-bridge-awake .aaa-hero-art {
    animation: none;
  }
}
