@keyframes fade-up { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes image-reveal { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: scale(1); } }
.reveal { opacity: 0; transform: translateY(18px); }
.reveal.is-visible { animation: fade-up .65s both; }
.reveal--delay.is-visible { animation-delay: .14s; }
.image-reveal.is-visible { animation: image-reveal .8s both; }
@media (prefers-reduced-motion: reduce) { .reveal { opacity: 1; transform: none; } }
