.is-hidden {
    display: none !important;
}

.reveal {
    opacity: 0;
    transition: opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94), transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.reveal-up {
    transform: translateY(40px);
}
.reveal-left {
    transform: translateX(-40px);
}
.reveal-right {
    transform: translateX(40px);
}
.reveal.visible {
    opacity: 1;
    transform: translateY(0) translateX(0);
}
@media (max-width: 991px) {
    .reveal-left,
    .reveal-right {
        transform: translateY(24px);
    }
}
.btn-primary:hover, .btn-secondary:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.08);
}
.security-feature, .faq-item {
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.security-feature:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.05);
}
.faq-item:hover {
    transform: scale(1.02);
}
