/**
 * INAI Child — scroll reveal.
 *
 * The hidden state is deliberately gated behind `html.inia-reveal-ready`, a
 * class only reveal.js adds, and only once it has confirmed it is not running
 * inside the Elementor editor/preview. Without that class — no JS, a script
 * error, an old cache, or the editor — every element renders at its normal
 * opacity and position, so the animation can never swallow content.
 */

@media (prefers-reduced-motion: no-preference) {
	html.inia-reveal-ready [data-inia-reveal] {
		opacity: 0;
		transform: translateY(var(--inia-reveal-shift, 16px));
		transition:
			opacity 0.6s cubic-bezier(0.22, 0.61, 0.36, 1),
			transform 0.6s cubic-bezier(0.22, 0.61, 0.36, 1);
		transition-delay: var(--inia-reveal-delay, 0s);
	}

	/*
	 * `none` rather than `translateY(0)`: a resolved transform would keep the
	 * element as a containing block for any `position: fixed` descendant.
	 */
	html.inia-reveal-ready [data-inia-reveal].is-revealed {
		opacity: 1;
		transform: none;
	}
}
