/* Optional local microphone visualizer layered over the existing stage. */
.stage-sound { position: relative; z-index: 5; order: 1; display: none; flex-direction: column; align-items: center; gap: 8px; max-width: min(100%, 580px); margin: 2px auto 10px; }
.js .stage-sound { display: flex; }
.stage-sound-toggle { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 47px; max-width: 100%; padding: 9px 16px; border: 1px solid rgba(236, 134, 255, .85); border-radius: 999px; color: #fff5ff; background: rgba(39, 10, 55, .92); box-shadow: inset 0 0 15px rgba(224, 69, 255, .18), 0 0 16px rgba(224, 69, 255, .35); font: 800 15px/1 var(--display); letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: transform .2s, box-shadow .2s, border-color .2s; }
.stage-sound-toggle:hover { transform: translateY(-2px); box-shadow: inset 0 0 22px rgba(224, 69, 255, .27), 0 0 25px rgba(224, 69, 255, .62); }
.stage-sound-toggle:disabled { cursor: wait; opacity: .75; }
.stage-sound-toggle__icon { color: #f7b4ff; font-size: 20px; line-height: .8; text-shadow: 0 0 12px #d648f9; }
.stage-sound-toggle__status { min-width: 34px; padding: 5px 6px; border: 1px solid rgba(255,255,255,.4); border-radius: 999px; color: #dec8e8; font: 800 12px/1 var(--display); }
.stage-sound-toggle[aria-pressed="true"] { border-color: #b6ff7e; box-shadow: inset 0 0 22px rgba(153, 255, 108, .22), 0 0 24px rgba(224, 69, 255, .65); }
.stage-sound-toggle[aria-pressed="true"] .stage-sound-toggle__status { border-color: #baff7b; color: #0a1804; background: #a6ff54; box-shadow: 0 0 12px rgba(166,255,84,.6); }
.stage-sound__message { max-width: 480px; margin: 0; color: #eddef5; font: 600 14px/1.25 var(--body); letter-spacing: .02em; text-align: center; }
.hero.sound-active .stage-light-show { opacity: var(--sound-beam-opacity, .68); }
.hero.sound-active .stage-light-show__beam { filter: blur(10px) brightness(var(--sound-brightness, 1)); }
.hero.sound-active .stage-light-show__beam--blue { filter: blur(10px) brightness(var(--sound-low-brightness, 1)); }
.hero.sound-active .stage-light-show__beam--orange { filter: blur(10px) brightness(var(--sound-high-brightness, 1)); }
.hero.sound-active .stage-light-show__floor { opacity: var(--sound-floor-opacity, .65); }
.hero.sound-active .hero-logo-art { filter: brightness(var(--sound-logo-brightness, 1)) drop-shadow(0 0 17px rgba(255, 200, 104, .65)); }
.hero.sound-active .stage-halo { box-shadow: 0 0 var(--sound-halo-spread, 50px) rgba(213, 71, 255, .67), inset 0 0 32px rgba(77, 149, 255, .24); }
@media (max-width: 520px) { .stage-sound { margin-bottom: 6px; }.stage-sound-toggle { min-height: 44px; padding: 9px 12px; font-size: 13px; letter-spacing: .05em; }.stage-sound__message { padding-inline: 12px; font-size: 13px; } }
@media (max-width: 760px) {
  .hero.sound-active .stage-light-show__beam { filter: none !important; }
  .hero.sound-active .hero-logo-art { filter: none; }
  .hero.sound-active .stage-halo { box-shadow: 0 0 35px rgba(213,71,255,.42); }
}
@media (prefers-reduced-motion: reduce) { .hero.sound-active .stage-light-show, .hero.sound-active .stage-light-show__floor { opacity: .72 !important; }.hero.sound-active .stage-light-show__beam { filter: blur(10px) !important; }.hero.sound-active .hero-logo-art { filter: none !important; }.hero.sound-active .stage-halo { box-shadow: 0 0 50px rgba(213,71,255,.5) !important; } }
