.hero-animation{height:100%;min-height:100vh;overflow:hidden;position:relative;width:100%}.hero-animation__gradient{background:linear-gradient(135deg,#f7f4ff,#f1f7ff 40%,#f7f4ff);inset:0;position:absolute}.hero-animation__waves{height:100%;inset:0;position:absolute;width:100%}.hero-animation__shape{border-radius:999px;filter:blur(60px);opacity:.4;position:absolute}.hero-animation__shape--one{animation:float-one 18s ease-in-out infinite;background:linear-gradient(135deg,rgba(127,83,231,.3),rgba(88,123,223,.18));height:320px;left:6%;top:12%;width:320px}.hero-animation__shape--two{animation:float-two 22s ease-in-out infinite;background:linear-gradient(135deg,rgba(88,123,223,.28),rgba(71,156,109,.15));height:260px;right:8%;top:18%;width:260px}.hero-animation__shape--three{animation:float-three 20s ease-in-out infinite;background:linear-gradient(135deg,rgba(71,156,109,.3),rgba(127,83,231,.16));bottom:12%;height:220px;left:18%;width:220px}.hero-animation__grid{background-image:linear-gradient(90deg,#1f1f1f 1px,transparent 0),linear-gradient(180deg,#1f1f1f 1px,transparent 0);background-size:40px 40px;inset:0;opacity:.04;pointer-events:none;position:absolute}.wave-animation-1,.wave-animation-2,.wave-animation-3{animation-iteration-count:infinite;animation-timing-function:ease-in-out}.wave-animation-1{animation:wave1 15s ease-in-out infinite}.wave-animation-2{animation:wave2 20s ease-in-out infinite}.wave-animation-3{animation:wave3 25s ease-in-out infinite}@keyframes wave1{0%,to{d:path("M0,100 Q250,50 500,100 T1000,100 T1500,100 T2000,100 V0 H0 Z")}50%{d:path("M0,80 Q250,130 500,80 T1000,80 T1500,80 T2000,80 V0 H0 Z")}}@keyframes wave2{0%,to{d:path("M0,200 Q300,150 600,200 T1200,200 T1800,200 T2400,200 V0 H0 Z")}50%{d:path("M0,180 Q300,230 600,180 T1200,180 T1800,180 T2400,180 V0 H0 Z")}}@keyframes wave3{0%,to{d:path("M0,300 Q350,250 700,300 T1400,300 T2100,300 T2800,300 V0 H0 Z")}50%{d:path("M0,280 Q350,330 700,280 T1400,280 T2100,280 T2800,280 V0 H0 Z")}}@keyframes float-one{0%{transform:translate(0) scale(1)}50%{transform:translate(-30px,25px) scale(1.1)}to{transform:translate(0) scale(1)}}@keyframes float-two{0%{transform:translate(0) scale(1)}50%{transform:translate(25px,-30px) scale(.95)}to{transform:translate(0) scale(1)}}@keyframes float-three{0%{transform:translate(0) scale(1)}50%{transform:translate(-20px,-25px) scale(1.05)}to{transform:translate(0) scale(1)}}@media (prefers-reduced-motion:reduce){.hero-animation__shape,.wave-animation-1,.wave-animation-2,.wave-animation-3{animation:none!important}.hero-animation__grid{opacity:.08}}