.hero-shape{position:absolute;border-radius:9999px;opacity:.2;background:linear-gradient(135deg,#7e69ab,#3b82f6)}.hero-shape-1{width:60px;height:60px;top:20%;left:15%;animation:float-gentle 8s ease-in-out infinite}.hero-shape-2{width:40px;height:40px;top:60%;right:20%;animation:float-gentle 6s ease-in-out infinite reverse}.hero-shape-3{width:80px;height:80px;top:30%;right:10%;animation:float-gentle 10s ease-in-out infinite;animation-delay:-2s}.hero-shape-4{width:30px;height:30px;top:70%;left:25%;animation:float-gentle 7s ease-in-out infinite reverse;animation-delay:-1s}.hero-shape-5{width:50px;height:50px;top:15%;left:60%;animation:float-gentle 9s ease-in-out infinite;animation-delay:-3s}.hero-shape-6{width:35px;height:35px;top:80%;right:40%;animation:float-gentle 5s ease-in-out infinite reverse;animation-delay:-4s}.hero-line{position:absolute;opacity:.1;background:linear-gradient(90deg,transparent,#7e69ab,transparent);height:1px}.hero-line-1{width:200px;top:25%;left:30%;animation:line-pulse 4s ease-in-out infinite}.hero-line-2{width:150px;top:65%;right:25%;animation:line-pulse 3s ease-in-out infinite;animation-delay:-1s}.hero-line-3{width:180px;top:45%;left:10%;animation:line-pulse 5s ease-in-out infinite;animation-delay:-2s}.hero-dot{position:absolute;height:.5rem;width:.5rem;border-radius:9999px;background:#3b82f6;opacity:0}.hero-dot-1{top:35%;left:45%;animation:dot-twinkle 3s ease-in-out infinite}.hero-dot-2{top:55%;right:35%;animation:dot-twinkle 2.5s ease-in-out infinite;animation-delay:-.5s}.hero-dot-3{top:25%;left:70%;animation:dot-twinkle 4s ease-in-out infinite;animation-delay:-1s}.hero-dot-4{top:75%;left:50%;animation:dot-twinkle 3.5s ease-in-out infinite;animation-delay:-1.5s}@keyframes float-gentle{0%,to{transform:translateY(0) translateX(0)}25%{transform:translateY(-10px) translateX(5px)}50%{transform:translateY(-5px) translateX(-3px)}75%{transform:translateY(-15px) translateX(8px)}}@keyframes line-pulse{0%,to{opacity:.05;transform:scaleX(.8)}50%{opacity:.15;transform:scaleX(1.2)}}@keyframes dot-twinkle{0%,to{opacity:0;transform:scale(.5)}50%{opacity:.4;transform:scale(1)}}