/* Progressive enhancement: nothing is hidden until the observer is ready. */
[data-content-animation] { overflow-x: clip; }
[data-reveal].content-reveal-pending { opacity: 0; }
[data-reveal].content-reveal-entering { animation-duration: 600ms; animation-delay: var(--content-reveal-delay, 0ms); animation-timing-function: ease-in-out; animation-fill-mode: both; }
[data-reveal-style="fade-in"].content-reveal-entering { animation-name: content-fade-in; }
[data-reveal-style="fade-in-up"].content-reveal-entering { animation-name: content-fade-in-up; }
[data-reveal-style="fade-in-down"].content-reveal-entering { animation-name: content-fade-in-down; }
[data-reveal-style="fade-in-left"].content-reveal-entering { animation-name: content-fade-in-left; }
[data-reveal-style="fade-in-right"].content-reveal-entering { animation-name: content-fade-in-right; }
@keyframes content-fade-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes content-fade-in-up { from { opacity: 0; transform: translate3d(0, 48px, 0); } to { opacity: 1; transform: none; } }
@keyframes content-fade-in-down { from { opacity: 0; transform: translate3d(0, -48px, 0); } to { opacity: 1; transform: none; } }
@keyframes content-fade-in-left { from { opacity: 0; transform: translate3d(-48px, 0, 0); } to { opacity: 1; transform: none; } }
@keyframes content-fade-in-right { from { opacity: 0; transform: translate3d(48px, 0, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1 !important; animation: none !important; } }
@media print { [data-reveal] { opacity: 1 !important; animation: none !important; } }
