/* Generated from the original site's looping animations (gen-loops.cjs). */
@keyframes lp1{0%{opacity:0.2;scale:0.95}50%{opacity:0.35;scale:1.05}100%{opacity:0.2;scale:0.95}}
[data-loop="1"]{animation:lp1 8s ease-in-out infinite}
@keyframes lp2{0%{opacity:0.3;scale:1}50%{opacity:0.5;scale:1.12}100%{opacity:0.3;scale:1}}
[data-loop="2"]{animation:lp2 8s ease-in-out infinite}
@keyframes lp3{0%{opacity:0.2;scale:1.1}50%{opacity:0.35;scale:1}100%{opacity:0.2;scale:1.1}}
[data-loop="3"]{animation:lp3 10s ease-in-out infinite}
@keyframes lp4{0%{opacity:0.15}50%{opacity:0.25}100%{opacity:0.15}}
[data-loop="4"]{animation:lp4 6s ease-in-out infinite}
@keyframes lp5{0%{opacity:0.6;scale:1}50%{opacity:1;scale:1.4}100%{opacity:0.6;scale:1}}
[data-loop="5"]{animation:lp5 2s ease-in-out infinite}
@keyframes lp6{0%{opacity:0.4;scale:1}50%{opacity:0;scale:2.5}100%{opacity:0.4;scale:1}}
[data-loop="6"]{animation:lp6 2s ease-in-out infinite}
@keyframes lp7{0%{opacity:0.3}50%{opacity:0.6}100%{opacity:0.3}}
[data-loop="7"]{animation:lp7 3s ease-in-out infinite}
@keyframes lp8{0%{opacity:0.15;scale:1}50%{opacity:0.3;scale:1.08}100%{opacity:0.15;scale:1}}
[data-loop="8"]{animation:lp8 8s ease-in-out infinite}
@keyframes lp9{0%{opacity:0.1}50%{opacity:0.2}100%{opacity:0.1}}
[data-loop="9"]{animation:lp9 10s ease-in-out infinite}
@keyframes lp10{0%{opacity:0.2}50%{opacity:0.4}100%{opacity:0.2}}
[data-loop="10"]{animation:lp10 4s ease-in-out infinite}
@keyframes lp11{0%{translate:-100% 0px}100%{translate:100% 0px}}
[data-loop="11"]{animation:lp11 4s linear infinite}
@keyframes lp12{0%{opacity:0.08}50%{opacity:0.15}100%{opacity:0.08}}
[data-loop="12"]{animation:lp12 10s ease-in-out infinite}
@keyframes lp13{0%{translate:-100% 0px}100%{translate:200% 0px}}
[data-loop="13"]{animation:lp13 2s linear infinite}
@keyframes lp14{0%{opacity:0.08}50%{opacity:0.15}100%{opacity:0.08}}
[data-loop="14"]{animation:lp14 8s ease-in-out infinite}
@keyframes lp15{0%{opacity:0.08}50%{opacity:0.15}100%{opacity:0.08}}
[data-loop="15"]{animation:lp15 8s ease-in-out infinite}
@keyframes lp16{0%{translate:-100% 0px}100%{translate:100% 0px}}
[data-loop="16"]{animation:lp16 4s linear infinite}
@keyframes lp17{0%{opacity:0.03}50%{opacity:0.07}100%{opacity:0.03}}
[data-loop="17"]{animation:lp17 4s ease-in-out infinite}
@keyframes lp18{0%{scale:1}50%{scale:1.3}100%{scale:1}}
[data-loop="18"]{animation:lp18 2s ease-in-out infinite}
@keyframes lp19{0%{opacity:0.15;scale:1}50%{opacity:0.3;scale:1.08}100%{opacity:0.15;scale:1}}
[data-loop="19"]{animation:lp19 8s ease-in-out infinite}
@keyframes lp20{0%{opacity:0.2;translate:0px -15px}50%{opacity:0.35;translate:0px 15px}100%{opacity:0.2;translate:0px -15px}}
[data-loop="20"]{animation:lp20 6s ease-in-out infinite}
@keyframes lp21{0%{opacity:0.3;scale:1}50%{opacity:0.5;scale:1.15}100%{opacity:0.3;scale:1}}
[data-loop="21"]{animation:lp21 8s ease-in-out infinite}
@keyframes lp22{0%{opacity:0.2;scale:1.1}50%{opacity:0.4;scale:1}100%{opacity:0.2;scale:1.1}}
[data-loop="22"]{animation:lp22 10s ease-in-out infinite}
@keyframes lp23{0%{opacity:0.6;scale:1}50%{opacity:1;scale:1.4}100%{opacity:0.6;scale:1}}
[data-loop="23"]{animation:lp23 2s ease-in-out infinite}
@keyframes lp24{0%{opacity:0.1}50%{opacity:0.2}100%{opacity:0.1}}
[data-loop="24"]{animation:lp24 8s ease-in-out infinite}
@keyframes lp25{0%{opacity:0.5;scale:1}50%{opacity:1;scale:1.3}100%{opacity:0.5;scale:1}}
[data-loop="25"]{animation:lp25 2s ease-in-out infinite}
@keyframes lp26{0%{rotate:0deg}100%{rotate:360deg}}
[data-loop="26"]{animation:lp26 20s linear infinite}
@keyframes lp27{0%{scale:1}50%{scale:1.3}100%{scale:1}}
[data-loop="27"]{animation:lp27 2s ease-in-out infinite}
@keyframes lp28{0%{rotate:0deg}100%{rotate:-360deg}}
[data-loop="28"]{animation:lp28 30s linear infinite}
@keyframes lp29{0%{opacity:0.4;scale:1}100%{opacity:0;scale:2.5}}
[data-loop="29"]{animation:lp29 3s ease-in-out infinite}
@keyframes lp30{0%{opacity:0.2;scale:1}50%{opacity:0.4;scale:1.1}100%{opacity:0.2;scale:1}}
[data-loop="30"]{animation:lp30 8s ease-in-out infinite}
@keyframes lp31{0%{opacity:0.15}50%{opacity:0.3}100%{opacity:0.15}}
[data-loop="31"]{animation:lp31 10s ease-in-out infinite}
@keyframes lp32{0%{opacity:0.3;translate:0px -20px}50%{opacity:0.5;translate:0px 20px}100%{opacity:0.3;translate:0px -20px}}
[data-loop="32"]{animation:lp32 6s ease-in-out infinite}
@keyframes lp33{0%{opacity:0.4}50%{opacity:0.7}100%{opacity:0.4}}
[data-loop="33"]{animation:lp33 3s ease-in-out infinite}
@keyframes lp34{0%{rotate:0deg}100%{rotate:360deg}}
[data-loop="34"]{animation:lp34 30s linear infinite}
@keyframes lp35{0%{rotate:0deg}100%{rotate:-360deg}}
[data-loop="35"]{animation:lp35 20s linear infinite}
@keyframes lp36{0%{rotate:0deg}100%{rotate:360deg}}
[data-loop="36"]{animation:lp36 25s linear infinite}
@keyframes lp37{0%{rotate:0deg}100%{rotate:-360deg}}
[data-loop="37"]{animation:lp37 18s linear infinite}
@keyframes lp38{0%{rotate:0deg}100%{rotate:-360deg}}
[data-loop="38"]{animation:lp38 20s linear infinite}
@keyframes lp39{0%{opacity:0.3;scale:1}50%{opacity:0.5;scale:1.15}100%{opacity:0.3;scale:1}}
[data-loop="39"]{animation:lp39 8s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){[data-loop]{animation:none!important}}
