/* style.css */
.animate-on-scroll {
    opacity: 0;
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
    will-change: opacity, transform;
}
.animate-on-scroll.is-visible {
    opacity: 1;
    transform: translate(0, 0);
}
.fade-up { transform: translateY(30px); }
.fade-right { transform: translateX(-50px); }
.fade-left { transform: translateX(50px); }
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-in-out, opacity 0.3s ease-in-out, padding 0.3s ease-in-out;
    opacity: 0;
    padding-top: 0;
    padding-bottom: 0;
}
.faq-item.active .faq-answer {
    max-height: 500px;
    opacity: 1;
    padding-bottom: 1rem;
}
.faq-icon { transition: transform 0.3s ease; }
.faq-item.active .faq-icon { transform: rotate(180deg); }
