/*
 * Inprodi Reveal — scroll-in animation primitives (shared).
 *
 * Classes are added by JS only (never in markup): if JS is off, in the Elementor
 * editor, or with reduced-motion, content stays fully visible. Elements animate
 * with transform + opacity (no reflow). Several directional/scale variants add
 * variety; JS re-toggles `.is-visible` so they replay when scrolled back into view.
 */

.inprodi-reveal {
	opacity: 0;
	transition:
		opacity 0.7s cubic-bezier(0.22, 0.61, 0.36, 1),
		transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: transform, opacity; /* promote to its own layer -> smooth */
}

.inprodi-reveal--up    { transform: translateY(30px); }
.inprodi-reveal--left  { transform: translateX(-44px); }
.inprodi-reveal--right { transform: translateX(44px); }
.inprodi-reveal--zoom  { transform: scale(0.9); }
.inprodi-reveal--fade  { transform: none; }

.inprodi-reveal.is-visible {
	opacity: 1;
	transform: none;
}

/* The two-column sections use left/right variants — clip the horizontal travel
   so it can never produce a horizontal scrollbar during the animation. */
.inprodi-about,
.inprodi-faq {
	overflow-x: hidden;
}

@media (prefers-reduced-motion: reduce) {
	.inprodi-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}
