.abstract-hero-bg{overflow:hidden;background:linear-gradient(135deg,#0a1f1c,#134e4a 50%,#0f3730)}.abstract-hero-bg,.flowing-shapes{position:absolute;inset:0}.shape-1{filter:blur(60px);animation:floatShape1 20s ease-in-out infinite;top:-25%;left:-12%;width:70%;height:90%;background:radial-gradient(circle,rgba(34,197,94,.6) 0,rgba(20,184,166,.3) 50%,rgba(20,184,166,0) 70%);opacity:.8}.shape-1,.shape-2{position:absolute;border-radius:9999px}.shape-2{filter:blur(55px);animation:floatShape2 18s ease-in-out infinite;top:30%;right:-18%;width:75%;height:95%;background:radial-gradient(circle,rgba(52,211,153,.5) 0,rgba(34,197,94,.3) 50%,rgba(34,197,94,0) 70%);opacity:.7}.shape-3{position:absolute;border-radius:9999px;filter:blur(50px);animation:floatShape3 22s ease-in-out infinite;bottom:-15%;left:25%;width:60%;height:75%;background:radial-gradient(circle,rgba(16,185,129,.6) 0,rgba(5,150,105,.3) 50%,rgba(5,150,105,0) 70%);opacity:.75}.dot-pattern{position:absolute;inset:0;opacity:.5;background-image:radial-gradient(circle,rgba(52,211,153,.5) 1.5px,transparent 0),radial-gradient(circle,rgba(52,211,153,.35) 1px,transparent 0);background-size:40px 40px,20px 20px;background-position:0 0,10px 10px;animation:dotMove 25s linear infinite}@keyframes dotMove{0%{transform:translate(0)}to{transform:translate(60px,60px)}}.flowing-curves{position:absolute;inset:0;width:100%;height:100%;opacity:1}.flowing-curves path{animation:waveFlow 12s ease-in-out infinite}.flowing-curves path:nth-child(odd){animation-delay:0s}.flowing-curves path:nth-child(2n){animation-delay:2s}@keyframes waveFlow{0%,to{transform:translateY(0) translateX(0);opacity:.8}50%{transform:translateY(-15px) translateX(10px);opacity:.5}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes floatShape1{0%,to{transform:translate(0) scale(1)}33%{transform:translate(40px,-35px) scale(1.1)}66%{transform:translate(-30px,25px) scale(.95)}}@keyframes floatShape2{0%,to{transform:translate(0) scale(1) rotate(0deg)}33%{transform:translate(-25px,30px) scale(1.08) rotate(5deg)}66%{transform:translate(35px,-20px) scale(.92) rotate(-5deg)}}@keyframes floatShape3{0%,to{transform:translate(0) scale(1)}33%{transform:translate(25px,30px) scale(1.05)}66%{transform:translate(-35px,-25px) scale(.98)}}@media (max-width:768px){.shape-1,.shape-2,.shape-3{filter:blur(40px)}.dot-pattern{background-size:40px 40px,20px 20px}}