:root {
    --transition-fast: 150ms ease;
    --transition-base: 220ms ease;
    --transition-slow: 320ms ease;
}

@media (prefers-reduced-motion: reduce) {
    * {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }
}

[data-animate] {
    opacity: 0;
    transform: translateY(18px);
    transition: opacity var(--transition-slow), transform var(--transition-slow);
}

[data-animate].is-visible {
    opacity: 1;
    transform: translateY(0);
}

.lift-hover {
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}

.lift-hover:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}

.nav-menu {
    transition: max-height var(--transition-slow), opacity var(--transition-base), transform var(--transition-base);
}

.auth-modal {
    opacity: 0;
    pointer-events: none;
    transition: opacity var(--transition-base);
}

.auth-modal.is-visible {
    opacity: 1;
    pointer-events: auto;
}

.auth-modal__card {
    transform: scale(0.96);
    transition: transform var(--transition-base), opacity var(--transition-base);
}

.auth-modal.is-visible .auth-modal__card {
    transform: scale(1);
}
