/*
 * Scroll-reveal — homepage section fade-in (REBUILD-MASTER §11.7).
 *
 * Only elements the script has "armed" (.jjd-reveal--armed) are ever hidden, and
 * the script only arms elements that start well below the fold. So above-the-fold
 * content is never hidden even for a frame, and if the script fails or is slow,
 * nothing disappears. The media query is the single source of truth for whether
 * motion happens, so scroll-reveal.js never checks matchMedia.
 */

.jjd-js .jjd-reveal--armed {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	will-change: opacity, transform;
}

.jjd-js .jjd-reveal--armed.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.jjd-js .jjd-reveal--armed {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
