.single-product .csp-main-image{isolation:isolate}.csp-hero-animation{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;opacity:var(--csp-anim-opacity);background:radial-gradient(circle at 50% 52%,color-mix(in srgb,var(--csp-anim-primary) 18%,transparent),transparent 58%)}.single-product .csp-main-image>img{z-index:2!important}.csp-hero-animation>*{position:absolute}.csp-wave-track{inset:15% 0;width:200%;height:70%;animation:cspWave 6s linear infinite;will-change:transform}.csp-wave{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:var(--csp-anim-primary);stroke-width:5;vector-effect:non-scaling-stroke;filter:drop-shadow(0 0 10px var(--csp-anim-primary))}.csp-wave-b{stroke:var(--csp-anim-secondary);opacity:.7}.csp-anim-sine-scope:before,.csp-grid{content:"";position:absolute;inset:0;background-image:linear-gradient(color-mix(in srgb,var(--csp-anim-primary) 14%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--csp-anim-primary) 14%,transparent) 1px,transparent 1px);background-size:42px 42px;mask-image:radial-gradient(circle,#000,transparent 76%)}@keyframes cspWave{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
.csp-ring{inset:50%;width:25%;aspect-ratio:1;border:3px solid var(--csp-anim-primary);border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 20px var(--csp-anim-primary);animation:cspRing 3s ease-out infinite}.csp-ring.r2{animation-delay:-1s;border-color:var(--csp-anim-secondary)}.csp-ring.r3{animation-delay:-2s}@keyframes cspRing{0%{scale:.2;opacity:1}100%{scale:4;opacity:0}}
.csp-scan-line{left:5%;right:5%;top:10%;height:3px;background:linear-gradient(90deg,transparent,var(--csp-anim-primary),transparent);box-shadow:0 0 24px var(--csp-anim-primary);animation:cspScan 3.5s ease-in-out infinite alternate}@keyframes cspScan{to{top:90%}}
.csp-energy-core{left:50%;top:50%;width:18%;aspect-ratio:1;translate:-50% -50%;border-radius:50%;background:var(--csp-anim-primary);filter:blur(18px);animation:cspPulse 2s ease-in-out infinite}.csp-energy-halo{inset:20%;border:2px solid var(--csp-anim-primary);border-radius:50%;animation:cspSpin 8s linear infinite;clip-path:polygon(0 0,100% 0,100% 35%,0 65%)}.csp-energy-halo.h2{inset:30%;border-color:var(--csp-anim-secondary);animation-direction:reverse;animation-duration:5s}@keyframes cspPulse{50%{scale:1.8;opacity:.45}}@keyframes cspSpin{to{rotate:360deg}}
.csp-cells{inset:15%;display:flex;gap:7%;align-items:center}.csp-cells i{position:relative;flex:1;height:65%;border:2px solid var(--csp-anim-primary);background:linear-gradient(to top,var(--csp-anim-primary) 0 20%,transparent 20%);box-shadow:0 0 12px color-mix(in srgb,var(--csp-anim-primary) 45%,transparent);animation:cspCell 2.8s ease-in-out infinite}.csp-cells i:nth-child(2n){animation-delay:-.7s}.csp-cells i:nth-child(3n){animation-delay:-1.4s}@keyframes cspCell{50%{background-size:100% 420%;background-color:color-mix(in srgb,var(--csp-anim-primary) 35%,transparent)}}
.csp-particles{inset:0}.csp-particles i{position:absolute;left:var(--x);top:110%;width:5px;height:5px;border-radius:50%;background:var(--csp-anim-primary);box-shadow:0 0 12px var(--csp-anim-primary);animation:cspParticle 4s linear infinite}.csp-particles i:nth-child(3n){background:var(--csp-anim-secondary)}.csp-particles i:nth-child(1){--x:5%;animation-delay:-.3s}.csp-particles i:nth-child(2){--x:12%;animation-delay:-2.1s}.csp-particles i:nth-child(3){--x:19%;animation-delay:-1.2s}.csp-particles i:nth-child(4){--x:26%;animation-delay:-3.1s}.csp-particles i:nth-child(5){--x:34%;animation-delay:-.8s}.csp-particles i:nth-child(6){--x:41%;animation-delay:-2.7s}.csp-particles i:nth-child(7){--x:49%;animation-delay:-1.7s}.csp-particles i:nth-child(8){--x:57%;animation-delay:-3.7s}.csp-particles i:nth-child(9){--x:64%;animation-delay:-.5s}.csp-particles i:nth-child(10){--x:71%;animation-delay:-2.4s}.csp-particles i:nth-child(11){--x:78%;animation-delay:-1.4s}.csp-particles i:nth-child(12){--x:86%;animation-delay:-3.4s}.csp-particles i:nth-child(n+13){--x:93%;animation-delay:-2s}@keyframes cspParticle{to{top:-10%;transform:translateX(45px) scale(1.7);opacity:0}}
.csp-grid-glow{inset:10%;border:1px solid var(--csp-anim-primary);box-shadow:inset 0 0 50px var(--csp-anim-primary),0 0 20px var(--csp-anim-primary);animation:cspPulse 3s ease-in-out infinite}.csp-paths{inset:0}.csp-paths i{position:absolute;left:-10%;top:calc(15% + var(--n,0)*13%);width:70%;height:2px;background:linear-gradient(90deg,transparent,var(--csp-anim-primary),var(--csp-anim-secondary),transparent);box-shadow:0 0 10px var(--csp-anim-primary);animation:cspPath 4s linear infinite}.csp-paths i:nth-child(2){--n:1;animation-delay:-1s}.csp-paths i:nth-child(3){--n:2;animation-delay:-2s}.csp-paths i:nth-child(4){--n:3;animation-delay:-3s}.csp-paths i:nth-child(5){--n:4;animation-delay:-.5s}.csp-paths i:nth-child(6){--n:5;animation-delay:-2.5s}@keyframes cspPath{to{transform:translateX(180%)}}
.csp-anim-charge-pulse .csp-energy-core{width:55%;height:8%;aspect-ratio:auto;border-radius:999px;animation:cspCharge 2.4s ease-in-out infinite}@keyframes cspCharge{0%,100%{transform:scaleX(.25);opacity:.3}50%{transform:scaleX(1.25);opacity:1}}
.csp-anim-battery-flow .csp-energy-core{width:70%;height:4%;aspect-ratio:auto;border-radius:0;background:linear-gradient(90deg,transparent,var(--csp-anim-primary),var(--csp-anim-secondary),transparent);animation:cspFlow 2.8s linear infinite}@keyframes cspFlow{from{transform:translateX(-90%)}to{transform:translateX(90%)}}
.csp-anim-jump-burst .csp-energy-halo{border-width:5px;border-radius:12%;clip-path:polygon(48% 0,60% 38%,100% 45%,64% 58%,54% 100%,43% 63%,0 53%,38% 42%)}
.csp-anim-sine-ribbon .csp-wave{stroke-width:10;opacity:.82;filter:drop-shadow(0 0 7px var(--csp-anim-primary)) drop-shadow(0 0 22px var(--csp-anim-primary))}.csp-anim-sine-ribbon .csp-wave-track{animation-duration:8s}
.csp-anim-sine-harmonic .csp-wave-a{stroke-width:4}.csp-anim-sine-harmonic .csp-wave-b{stroke-width:2;opacity:.46;transform:scaleY(.55);transform-origin:center}.csp-anim-sine-harmonic .csp-wave-track{animation-duration:10s}
.csp-anim-charge-orbit .csp-ring{border-radius:46%;animation-duration:5.5s}.csp-anim-charge-orbit .r2{border-style:dashed}.csp-anim-charge-orbit .r3{border-width:1px}
.csp-anim-charge-stream .csp-particles i{left:-8%;top:var(--y,50%);animation:cspCurrentStream 5.8s cubic-bezier(.25,.1,.25,1) infinite}.csp-anim-charge-stream .csp-particles i:nth-child(3n){--y:32%}.csp-anim-charge-stream .csp-particles i:nth-child(3n+1){--y:50%}.csp-anim-charge-stream .csp-particles i:nth-child(3n+2){--y:68%}@keyframes cspCurrentStream{0%{transform:translate3d(0,0,0) scale(.65);opacity:0}12%{opacity:.85}88%{opacity:.85}100%{transform:translate3d(116vw,0,0) scale(1.25);opacity:0}}
.csp-anim-jump-arc .csp-particles i{width:9%;height:2px;border-radius:99px;left:46%;top:48%;transform-origin:left center;animation:cspArc 3.8s ease-in-out infinite}.csp-anim-jump-arc .csp-particles i:nth-child(3n){rotate:35deg}.csp-anim-jump-arc .csp-particles i:nth-child(3n+1){rotate:155deg}.csp-anim-jump-arc .csp-particles i:nth-child(3n+2){rotate:275deg}@keyframes cspArc{0%,100%{scale:.15 1;opacity:0}40%,60%{scale:1 1;opacity:.85}}
.csp-anim-jump-flare .csp-energy-core{width:24%;animation-duration:3.6s}.csp-anim-jump-flare .csp-energy-halo{border-radius:18%;animation-duration:12s;opacity:.65}
.csp-anim-battery-orbit .csp-ring{border-width:2px;animation:cspBatteryOrbit 7s ease-in-out infinite}.csp-anim-battery-orbit .r2{animation-delay:-2.33s}.csp-anim-battery-orbit .r3{animation-delay:-4.66s}@keyframes cspBatteryOrbit{0%,100%{transform:translate(-50%,-50%) scale(.5,.2);opacity:.2}50%{transform:translate(-50%,-50%) scale(3.2,1.25);opacity:.8}}
.csp-anim-battery-level .csp-cells{gap:3%;align-items:end}.csp-anim-battery-level .csp-cells i{height:18%;border:0;border-radius:4px;background:var(--csp-anim-primary);animation:cspLevel 4.5s ease-in-out infinite}.csp-anim-battery-level .csp-cells i:nth-child(2){animation-delay:-.25s}.csp-anim-battery-level .csp-cells i:nth-child(3){animation-delay:-.5s}.csp-anim-battery-level .csp-cells i:nth-child(4){animation-delay:-.75s}.csp-anim-battery-level .csp-cells i:nth-child(5){animation-delay:-1s}.csp-anim-battery-level .csp-cells i:nth-child(6){animation-delay:-1.25s}.csp-anim-battery-level .csp-cells i:nth-child(7){animation-delay:-1.5s}.csp-anim-battery-level .csp-cells i:nth-child(8){animation-delay:-1.75s}@keyframes cspLevel{0%,100%{height:15%;opacity:.32}50%{height:72%;opacity:.9}}
.csp-anim-diagnostic-radar .csp-grid{background-size:32px 32px}.csp-anim-diagnostic-radar .csp-scan-line{left:50%;right:auto;top:50%;width:40%;transform-origin:left center;animation:cspRadar 6s linear infinite}@keyframes cspRadar{to{rotate:360deg}}
.csp-anim-diagnostic-data .csp-paths i{height:1px;animation-duration:7s}.csp-anim-diagnostic-data .csp-paths i:nth-child(2n){background:linear-gradient(90deg,transparent,var(--csp-anim-secondary),transparent)}
.csp-anim-industrial-nodes .csp-particles i{top:var(--y,20%);left:var(--x);animation:cspNode 5s ease-in-out infinite alternate}.csp-anim-industrial-nodes .csp-particles i:nth-child(2n){--y:42%}.csp-anim-industrial-nodes .csp-particles i:nth-child(3n){--y:67%}@keyframes cspNode{to{transform:translate3d(18px,-12px,0) scale(1.8);opacity:.35}}
.csp-anim-industrial-flow .csp-paths i{height:3px;animation-duration:8s;opacity:.7}.csp-anim-industrial-flow .csp-paths i:nth-child(even){animation-direction:reverse}
.csp-speed-slow *{animation-duration:9s!important}.csp-speed-fast *{animation-duration:2.2s!important}.csp-intensity-subtle{filter:saturate(.75) brightness(.8)}.csp-intensity-strong{filter:saturate(1.4) brightness(1.25)}@media(max-width:767px){.csp-hero-animation:not(.csp-anim-mobile){display:none}}@media(prefers-reduced-motion:reduce){.csp-hero-animation *{animation:none!important}}
