/* Custom Animations and Styles */

/* Blob Floating Animation */
@keyframes blobFloat {

    0%,
    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.3;
    }

    50% {
        transform: translate(-50%, -50%) scale(1.2);
        opacity: 0.5;
    }
}

.blob-float {
    animation: blobFloat 6s ease-in-out infinite;
}

/* Orbit Patterns */
@keyframes orbit1 {
    0% {
        transform: translateY(0) rotate(0deg);
    }

    50% {
        transform: translateY(-20px) rotate(180deg);
    }

    100% {
        transform: translateY(0) rotate(360deg);
    }
}

@keyframes orbit2 {
    0% {
        transform: translateY(0) rotate(360deg);
    }

    50% {
        transform: translateY(30px) rotate(180deg);
    }

    100% {
        transform: translateY(0) rotate(0deg);
    }
}

@keyframes orbit3 {
    0% {
        transform: translateY(0) scale(1);
    }

    50% {
        transform: translateY(-40px) scale(1.1);
    }

    100% {
        transform: translateY(0) scale(1);
    }
}

.orbit-1 {
    animation: orbit1 20s linear infinite;
}

.orbit-2 {
    animation: orbit2 15s linear infinite;
}

.orbit-3 {
    animation: orbit3 18s ease-in-out infinite;
}

/* Mask Gradient for Testimonials */
.mask-gradient {
    mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
    -webkit-mask-image: linear-gradient(to bottom, transparent, black 25%, black 75%, transparent);
}

/* Scroll Up Animation for Testimonial Columns */
@keyframes scrollUp {
    from {
        transform: translateY(0);
    }

    to {
        transform: translateY(-50%);
    }
}

.animate-scroll-up {
    animation: scrollUp 40s linear infinite;
    /* Adjusted speed, duration passed in JS usually */
}

.animate-scroll-up-slow {
    animation: scrollUp 50s linear infinite;
}

.animate-scroll-up-slower {
    animation: scrollUp 60s linear infinite;
}

/* Feature Details Expansion */
.feature-details {
    max-height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.feature-item.active .feature-details {
    max-height: 500px;
    /* Arbitrary large height */
    opacity: 1;
    margin-top: 1rem;
}

/* Accordion Animation */
.accordion-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out;
}

.accordion-item.active .accordion-content {
    max-height: 200px;
    /* Adjust based on content */
}

.accordion-trigger svg {
    transition: transform 0.3s ease;
}

.accordion-item.active .accordion-trigger svg {
    transform: rotate(180deg);
}

/* Stagger Testimonial Cards */
.stagger-card {
    transition: all 0.5s ease-in-out;
    position: absolute;
    left: 50%;
    top: 50%;
    cursor: pointer;
    animation: fadeInScale 0.4s ease-out;
}

/* Card Entrance Animation */
@keyframes fadeInScale {
    from {
        opacity: 0;
        transform: translate(-50%, -50%) scale(0.95);
    }

    to {
        opacity: 1;
        transform: translate(-50%, -50%) scale(1);
    }
}