/*
 * Scroll-reveal — section content fades + rises once as it enters the viewport.
 *
 * Gated behind the `fd-js` class (added to <html> in <head> before first paint by
 * inc/enqueue.php) so content is NEVER stuck hidden when JS is off or the observer
 * never runs. assets/js/fdmrv.js (section 8) toggles .is-revealed via an
 * IntersectionObserver (once per element). Distance/duration come from the
 * --fd-reveal-* tokens (tokens.css), which zero out under prefers-reduced-motion;
 * the media query below is the belt-and-suspenders "always visible" guarantee.
 */

.fd-js .fd-section > .fd-container {
	opacity: 0;
	transform: translateY(var(--fd-reveal-distance));
	transition: opacity var(--fd-reveal-duration) var(--fd-easing),
	            transform var(--fd-reveal-duration) var(--fd-easing);
}
.fd-js .fd-section > .fd-container.is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.fd-js .fd-section > .fd-container { opacity: 1; transform: none; transition: none; }
}
