/* Scroll reveal generico: sustituye whileInView/ScrollReveal de Framer Motion */
[data-reveal] {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.8s cubic-bezier(0.6, 0.01, 0.05, 0.95), transform 0.8s cubic-bezier(0.6, 0.01, 0.05, 0.95);
}
[data-reveal].is-revealed {
	opacity: 1;
	transform: translateY(0);
}
[data-reveal="scale"] {
	transform: scale(0.96);
}
[data-reveal="scale"].is-revealed {
	transform: scale(1);
}

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