/* r36 · live stage lights (home hero) */
.stg{position:absolute;z-index:1;pointer-events:none;overflow:visible;mix-blend-mode:screen;opacity:0;transition:opacity 1.6s ease;contain:layout style}
.stg.ston{opacity:1}
.stg b,.stg i{position:absolute;display:block}
.stb{width:0;transform:translateZ(0)}
.stc{left:calc(var(--bw) / -2);bottom:0;width:var(--bw);height:100%;transform-origin:50% 100%;transform:rotate(var(--a));animation:stSweep var(--d) ease-in-out var(--l) infinite alternate;will-change:transform}
.stk{inset:0;opacity:.7;
  background:conic-gradient(from calc(var(--w) * -1) at 50% 100%,rgba(176,204,255,0) 0deg,rgba(188,212,255,.6) calc(var(--w) * .7),rgba(240,245,255,1) var(--w),rgba(188,212,255,.6) calc(var(--w) * 1.3),rgba(176,204,255,0) calc(var(--w) * 2),rgba(0,0,0,0) calc(var(--w) * 2));
  -webkit-mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.25) 70%,transparent 100%);mask-image:linear-gradient(0deg,#000 0%,rgba(0,0,0,.75) 30%,rgba(0,0,0,.25) 70%,transparent 100%);
  animation:stFlash var(--f) ease-in-out var(--l) infinite;will-change:opacity}
.sts{width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0%,rgba(205,222,255,.6) 18%,rgba(140,175,255,.18) 45%,rgba(120,160,255,0) 70%);animation:stSpot var(--f) ease-in-out var(--l) infinite;will-change:transform,opacity}
.sthz{width:70%;height:45%;border-radius:50%;background:radial-gradient(closest-side,rgba(150,180,255,.16),rgba(150,180,255,0));will-change:transform;animation:stHaze 22s ease-in-out infinite alternate}
.sthz1{left:-10%;top:22%}
.sthz2{right:-12%;top:12%;animation-duration:27s;animation-delay:-9s}
@keyframes stSweep{from{transform:rotate(calc(var(--a) - var(--s)))}to{transform:rotate(calc(var(--a) + var(--s)))}}
@keyframes stFlash{0%{opacity:.62}18%{opacity:.75}30%{opacity:.45}35%{opacity:1}41%{opacity:.55}64%{opacity:.72}72%{opacity:.38}77%{opacity:.95}85%{opacity:.6}100%{opacity:.62}}
@keyframes stSpot{0%,100%{opacity:.7;transform:scale(.9)}36%{opacity:1;transform:scale(1.25)}42%{opacity:.6;transform:scale(.95)}78%{opacity:.95;transform:scale(1.12)}}
@keyframes stHaze{from{transform:translate3d(-4%,2%,0) scale(1)}to{transform:translate3d(8%,-3%,0) scale(1.12)}}
.stg.stoff *,.tzp.mvoff .stg *{animation-play-state:paused!important}
@media (prefers-reduced-motion:reduce){.stg{display:none!important}}
