/* Shared scroll entrance/exit animation, applied per-element (not per-section). */

[data-animate] {
	opacity: 0;
	transform: translateY(28px);
	transition: opacity 0.6s ease, transform 0.6s ease;
	transition-delay: var(--animate-delay, 0s);
	will-change: opacity, transform;
}

[data-animate].is-in-view {
	opacity: 1;
	transform: translateY(0);
}

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