/* =========================================================================
   CMR Academy 2026 - keyframe animations.
   All animations respect prefers-reduced-motion via the global rule in
   style.css, which forces near-zero durations/iteration counts.
   ========================================================================= */

@keyframes scroll-cue {
	0% {
		opacity: 1;
		transform: translateY(0);
	}
	100% {
		opacity: 0;
		transform: translateY(14px);
	}
}

@keyframes marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@keyframes skeleton-shimmer {
	100% {
		transform: translateX(100%);
	}
}

@keyframes fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

/* Page-load fade, applied to <main> briefly on first paint for a soft
   entrance instead of an abrupt page swap. Removed by JS after it runs
   once, and skipped entirely under reduced motion. */
.page-enter {
	animation: fade-in 0.5s var(--ease);
}
