/* ==========================================================================
   YAZHI — MOTION
   Subtle only. Respects prefers-reduced-motion globally via variables.css
   zeroing transition durations; this file also guards keyframe-based motion.
   ========================================================================== */

@keyframes yazhi-fade-up {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: translateY(0); }
}

.reveal {
    opacity: 0;
    animation: yazhi-fade-up 0.7s var(--ease) forwards;
    animation-play-state: paused;
}
.reveal.is-visible { animation-play-state: running; }

@media (prefers-reduced-motion: reduce) {
    .reveal { opacity: 1; animation: none; transform: none; }
}

.hover-lift {
    transition: transform var(--transition-base), box-shadow var(--transition-base);
}
.hover-lift:hover, .hover-lift:focus-within {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
}
@media (prefers-reduced-motion: reduce) {
    .hover-lift:hover, .hover-lift:focus-within { transform: none; }
}
