/*
 * Jersey Bulls FC — Motion layer (scroll-reveal)
 *
 * Sections tagged `data-bulls-reveal` fade + rise as they enter the viewport.
 * Progressive + safe: elements are visible by default, so with no JS (or no
 * IntersectionObserver) nothing is hidden. The `.bulls-motion-ready` class is
 * added to <html> ONLY when motion is allowed (see functions.php, set pre-paint
 * to avoid a flash), which arms the hidden→revealed transition. Reduced-motion
 * is honoured both ways: the class isn't added, and this @media no-ops it.
 *
 * Tokens: css/tokens.css
 */

.bulls-motion-ready [data-bulls-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity var(--motion-slower) var(--ease-out), transform var(--motion-slower) var(--ease-out);
	will-change: opacity, transform;
}

.bulls-motion-ready [data-bulls-reveal].is-revealed {
	opacity: 1;
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.bulls-motion-ready [data-bulls-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
