.sp-bg{z-index:0;pointer-events:none;--mx:70vw;--my:30vh;position:fixed;inset:0;overflow:hidden}.sp-blob{filter:blur(90px);opacity:.55;will-change:transform;border-radius:50%;position:absolute}.sp-blob-1{background:radial-gradient(circle,#e8432a8c,#e8432a00 70%);width:46vmax;height:46vmax;animation:26s ease-in-out infinite alternate sp-drift-1;top:-14vmax;left:-12vmax}.sp-blob-2{background:radial-gradient(circle,#ff7a3d52,#ff7a3d00 70%);width:38vmax;height:38vmax;animation:32s ease-in-out infinite alternate sp-drift-2;top:30vh;right:-10vmax}.sp-blob-3{background:radial-gradient(circle,#78180c99,#78180c00 70%);width:52vmax;height:52vmax;animation:38s ease-in-out infinite alternate sp-drift-3;bottom:-30vmax;left:20vw}@keyframes sp-drift-1{to{transform:translate(18vw,12vh)scale(1.15)}}@keyframes sp-drift-2{to{transform:translate(-22vw,-18vh)scale(.9)}}@keyframes sp-drift-3{to{transform:translate(-14vw,-10vh)scale(1.1)}}.sp-spot{background:radial-gradient(520px circle at var(--mx) var(--my),#ffffff0e,transparent 60%);position:absolute;inset:0}.sp-grain{opacity:.07;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");animation:1.2s steps(6,end) infinite sp-grain;position:absolute;inset:-50%}@keyframes sp-grain{0%{transform:translate(0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}to{transform:translate(0)}}@media (pointer:coarse),(prefers-reduced-motion:reduce){.sp-blob,.sp-grain{animation:none}.sp-spot{display:none}}
