/* BEAM GSAP scroll + touch layer. Isolated: unique class names, sits behind the existing hero content. */
.beam-motion-layer{position:absolute;left:0;right:0;top:0;height:100%;z-index:0;pointer-events:none;overflow:hidden}
.beam-motion-glow{position:absolute;left:50%;top:50%;width:72vmin;height:72vmin;margin:-36vmin 0 0 -36vmin;border-radius:50%;opacity:0;will-change:transform,opacity}
.beam-motion-glow.g1{background:radial-gradient(circle,rgba(70,90,235,.30),rgba(70,90,235,0) 66%)}
.beam-motion-glow.g2{background:radial-gradient(circle,rgba(150,60,205,.24),rgba(150,60,205,0) 66%)}
.beam-motion-glow.g3{background:radial-gradient(circle,rgba(251,150,0,.17),rgba(251,150,0,0) 66%)}
.beam-motion-glow.beam-motion-touch{width:36vmin;height:36vmin;margin:-18vmin 0 0 -18vmin;background:radial-gradient(circle,rgba(165,155,255,.30),rgba(165,155,255,0) 66%)}
.beam-motion-svg{position:absolute;left:0;top:0;width:100%;height:100%;overflow:visible}
.beam-motion-node{fill:#c8d2ff}
.beam-motion-line{stroke:rgba(175,190,255,.2);stroke-width:.8;fill:none}
.beam-motion-path{fill:none;stroke:url(#beamMotionGrad);stroke-width:1.4;stroke-linecap:round;opacity:.5}
.beam-motion-dot{stroke:none}
.beam-touch-ripple{position:absolute;left:0;top:0;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;border:1px solid rgba(200,210,255,.55);opacity:0;will-change:transform,opacity}
.beam-motion-progress{position:absolute;left:0;right:0;top:0;height:2px;background:rgba(255,255,255,.06)}
.beam-motion-progress i{display:block;height:100%;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#2563eb,#5b26d9,#d10a70,#f25200,#fbb200);opacity:.7}
@media (prefers-reduced-motion:reduce){.beam-motion-layer{display:none}}
