/**
 * GSAP entrance animation — initial hidden states only.
 * JS in assets/js/main.js drives the motion.
 *
 * Usage: data-anim="fade-up | fade-in | slide-left | slide-right | zoom-in"
 * Optional: data-anim-delay="0.1" (seconds), data-anim-load (animate on load, not scroll)
 */

[data-anim] {
	will-change: transform, opacity;
}

[data-anim='fade-up'],
[data-anim='fade-in'],
[data-anim='slide-left'],
[data-anim='slide-right'],
[data-anim='zoom-in'] {
	opacity: 0;
}

[data-anim='fade-up'] {
	transform: translate3d(0, 2rem, 0);
}

[data-anim='slide-left'] {
	transform: translate3d(2rem, 0, 0);
}

[data-anim='slide-right'] {
	transform: translate3d(-2rem, 0, 0);
}

[data-anim='zoom-in'] {
	transform: scale(0.96);
}

[data-anim].is-animated {
	will-change: auto;
}

@media (prefers-reduced-motion: reduce) {
	[data-anim] {
		opacity: 1 !important;
		transform: none !important;
		will-change: auto;
	}
}
