/* Animated Background Elements */
.animated-bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    z-index: -1;
}

.animated-bg span {
    position: absolute;
    display: block;
    width: 20px;
    height: 20px;
    background: rgba(143, 0, 255, 0.1);
    animation: animate 15s linear infinite;
    bottom: -150px;
}

.animated-bg span:nth-child(1) {
    left: 25%;
    width: 80px;
    height: 80px;
    animation-delay: 0s;
}

.animated-bg span:nth-child(2) {
    left: 10%;
    width: 20px;
    height: 20px;
    animation-delay: 2s;
    animation-duration: 12s;
}

/* Add more span elements as needed */

@keyframes animate {
    0% {
        transform: translateY(0) rotate(0deg);
        opacity: 1;
        border-radius: 0;
    }
    100% {
        transform: translateY(-1000px) rotate(720deg);
        opacity: 0;
        border-radius: 50%;
    }
}

/* Scroll Animations */
[data-scroll] {
    opacity: 0;
    transition: opacity 0.5s, transform 0.5s;
}

[data-scroll="fadeIn"] {
    transform: translateY(50px);
}

[data-scroll="fadeInLeft"] {
    transform: translateX(-50px);
}

[data-scroll="fadeInRight"] {
    transform: translateX(50px);
}

[data-scroll].is-visible {
    opacity: 1;
    transform: translate(0);
}

/* Hover Animations */
.hover-grow {
    transition: transform 0.3s;
}

.hover-grow:hover {
    transform: scale(1.05);
}