/* Light and haze stay inside the original concert photographs. */
.concert-motion{position:absolute;inset:0;pointer-events:none;overflow:hidden;opacity:0}
.hero-art>.concert-motion{z-index:2}
.concert-motion svg{display:block;width:100%;height:100%;overflow:hidden}
.concert-motion-ready .concert-motion{opacity:1}
.home .world-band{position:relative;isolation:isolate}
.world-band>.world-copy{position:relative;z-index:1}
.world-band>.concert-motion{max-width:none;z-index:0;mask-image:linear-gradient(90deg,transparent 35%,#000 68%);-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000 68%)}
.stage-beam{transform-box:view-box;animation:concert-sweep var(--duration,1.5s) ease-in-out infinite;animation-direction:var(--direction,alternate);animation-delay:var(--delay,0s)}
.stage-haze{transform-box:fill-box;transform-origin:center;animation:concert-haze var(--duration,3s) ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.stage-glow{animation:concert-glow 1.4s ease-in-out infinite alternate;animation-delay:-.7s}
.stage-wash{animation:concert-wash 3.5s ease-in-out infinite;animation-delay:-.5s}
.stage-wash--cool{animation-delay:-2.25s}
.stage-flare{animation:concert-flare 1.3s ease-in-out infinite alternate;animation-delay:var(--delay,0s)}
.concert-motion .stage-effect{animation-play-state:paused}
.concert-motion[data-playing="true"] .stage-effect{animation-play-state:running}
@keyframes concert-sweep{0%{transform:rotate(-36deg);opacity:.6}50%{opacity:1}100%{transform:rotate(34deg);opacity:.75}}
@keyframes concert-haze{from{transform:translate(-85px,26px) scale(.94);opacity:.25}to{transform:translate(95px,-36px) scale(1.1);opacity:.58}}
@keyframes concert-glow{from{opacity:.16}to{opacity:.5}}
@keyframes concert-wash{0%,100%{opacity:.04}35%{opacity:.38}60%{opacity:.46}80%{opacity:.14}}
@keyframes concert-flare{from{opacity:.45}to{opacity:.95}}
.concert-toggle{position:absolute;right:16px;bottom:16px;z-index:4;display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:8px 13px;border:1px solid #827c70;border-radius:2px;background:#faf9f3ed;color:#161d1d;font-family:RobotoCondensed,Arial,sans-serif;font-size:14px;line-height:1.25;cursor:pointer;box-shadow:0 1px 6px #0002}
.concert-toggle[hidden]{display:none}
.concert-toggle svg{width:14px;height:14px;flex:none;fill:currentColor}
.concert-toggle:hover{background:#fff}
.world-band>.concert-toggle{right:max(4%,calc((100% - 1320px)/2));bottom:12px;color:#fff;background:#111917eb;border-color:#7c827e}
.world-band>.concert-toggle:hover{background:#26322f}
/* Keep motion controls available to keyboard and screen-reader users. */
.concert-toggle:not(:focus-visible){width:1px;height:1px;min-height:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;box-shadow:none}
.concert-toggle:focus-visible{outline:3px solid #b2f914;outline-offset:3px}
@media(max-width:600px){.concert-toggle{right:12px;bottom:12px;font-size:13px}.concert-toggle:focus-visible{padding:8px 11px}.world-band>.concert-toggle{right:6%;bottom:11px}}
@media(prefers-reduced-motion:reduce){.concert-motion,.concert-toggle{display:none!important}}
