#hero-demo .is-visible {
    opacity: 1 !important;
    transform: translateY(0) !important;
}

.hero-dots span {
    animation: heroDots 1.2s infinite ease-in-out;
}

.hero-dots span:nth-child(2) {
    animation-delay: 0.15s;
}

.hero-dots span:nth-child(3) {
    animation-delay: 0.3s;
}

@keyframes heroDots {
    0%, 80%, 100% {
        opacity: 0.3;
    }
    40% {
        opacity: 1;
    }
}

#testimonials-track {
    transition: transform 0.7s ease;
}

@media (min-width: 1024px) {
    .testimonial-slide {
        width: calc((100% - 2.5rem) / 3);
    }
}

@media (max-width: 1023px) {
    .testimonial-slide {
        width: 100%;
    }
}
.faq-item.is-open {
    border-color: rgba(59, 130, 246, 0.35);
    background: #0c1930;
    box-shadow: 0 10px 30px rgba(20, 40, 90, 0.12);
}

.faq-item.is-open .faq-icon {
    transform: rotate(180deg);
}