/* ═══ ANIMATIONS ÉDITORIALES ═══ */

@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; } }

.stagger-reveal > * { opacity: 0; transform: translateY(12px); animation: ed-reveal 0.8s cubic-bezier(0.2,0.8,0.2,1) forwards; }
.stagger-reveal > *:nth-child(1) { animation-delay: 0.05s; }
.stagger-reveal > *:nth-child(2) { animation-delay: 0.15s; }
.stagger-reveal > *:nth-child(3) { animation-delay: 0.25s; }
.stagger-reveal > *:nth-child(4) { animation-delay: 0.35s; }
.stagger-reveal > *:nth-child(5) { animation-delay: 0.45s; }
@keyframes ed-reveal { to { opacity: 1; transform: translateY(0); } }

a.link-underline { position: relative; text-decoration: none; padding-bottom: 2px; }
a.link-underline::after { content: ""; position: absolute; left: 0; bottom: 0; width: 0; height: 1px; background: currentColor; transition: width 0.4s cubic-bezier(0.2,0.8,0.2,1); }
a.link-underline:hover::after { width: 100%; }

.card-lift { transition: transform 0.4s cubic-bezier(0.2,0.8,0.2,1), box-shadow 0.4s; }
.card-lift:hover { transform: translateY(-4px); box-shadow: 0 24px 48px -16px rgba(0,0,0,0.4); }

.btn-depth { transition: transform 0.15s ease-out, box-shadow 0.15s ease-out; }
.btn-depth:active { transform: translateY(1px) scale(0.99); }

.reveal-on-scroll { opacity: 0; transform: translateY(24px); transition: opacity 0.8s cubic-bezier(0.2,0.8,0.2,1), transform 0.8s cubic-bezier(0.2,0.8,0.2,1); }
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }

body { animation: page-enter 0.35s ease-out; }
@keyframes page-enter { from { opacity: 0; } to { opacity: 1; } }
