/**
 * Scroll reveal — parity with static HTML ([data-anim] + .visible).
 * Depends on design tokens for --ease.
 */

[data-anim] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.6s var(--ease, cubic-bezier(0.4, 0, 0.2, 1)),
		transform 0.6s var(--ease, cubic-bezier(0.4, 0, 0.2, 1));
}

[data-anim].visible {
	opacity: 1;
	transform: none;
}

[data-anim-delay="1"] {
	transition-delay: 0.1s;
}
[data-anim-delay="2"] {
	transition-delay: 0.2s;
}
[data-anim-delay="3"] {
	transition-delay: 0.3s;
}
[data-anim-delay="4"] {
	transition-delay: 0.4s;
}
[data-anim-delay="5"] {
	transition-delay: 0.5s;
}

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