/* Content stays readable without JavaScript; only observed elements animate. */
.reveal-pending { opacity: 0; translate: 0 10px; }
.reveal-enter { animation: site-reveal-in .65s cubic-bezier(.22,1,.36,1) both; }
@keyframes site-reveal-in { from { opacity: 0; translate: 0 10px; } to { opacity: 1; translate: 0 0; } }
@media (prefers-reduced-motion: reduce) {
    .reveal-pending { opacity: 1; translate: none; }
    .reveal-enter { animation: none; }
}
@media print { .reveal-pending { opacity: 1; translate: none; } .reveal-enter { animation: none; } }
