/*
 * Zaguán — soporte de animaciones (pre-ocultado anti-parpadeo).
 *
 * Los scripts van con `defer`, así que el navegador pinta el contenido antes de
 * que GSAP entre. Sin esto se vería el salto: elemento visible → opacidad 0 →
 * animación. Aquí lo ocultamos de antemano.
 *
 * Tres condiciones para que el pre-ocultado se aplique, y así no dejar nunca
 * contenido inaccesible:
 *
 *   1. .zaguan-js en <html>    → hay JavaScript (lo pone un script en head).
 *   2. prefers-reduced-motion  → si el usuario pide menos movimiento, no se oculta.
 *   3. [data-zaguan-anim]      → cuando el JS arranca ('ready') o se agota el
 *                                plazo del failsafe ('timeout'), se libera.
 *
 * El selector va por prefijo real y no por `[class*="is-anim-"]`, para no
 * capturar clases ajenas que contengan esa subcadena (p. ej. "this-is-animated").
 */

@media (prefers-reduced-motion: no-preference) {
	html.zaguan-js:not([data-zaguan-anim]) :is(
			[class^="is-anim-"],
			[class*=" is-anim-"],
			[data-anim]
		) {
		opacity: 0;
		/* Solo durante el pre-ocultado: mantenerlo después forzaría una capa de
		   composición por elemento durante toda la vida de la página. */
		will-change: opacity, transform;
	}
}
