/*
 * SEER POWER Elementor motion system — Controlled Energization.
 *
 * JavaScript adds pending states only after a registered Widget is found, so
 * content remains visible without scripting. Motion is limited to named
 * internal content, never Elementor hosts, full-bleed stages or page surfaces.
 */
:root {
	--seer-motion-enter-duration: 520ms;
	--seer-motion-media-duration: 680ms;
	--seer-motion-trace-duration: 760ms;
	--seer-motion-stagger: 55ms;
	--seer-motion-enter-ease: cubic-bezier(.16, 1, .3, 1);
}

.seer-motion-target {
	opacity: 1;
	scale: 1;
	translate: none;
}

.seer-motion-target.seer-motion-pending,
.seer-motion-target.seer-motion-visible {
	opacity: 0;
	transition:
		opacity var(--seer-motion-enter-duration) var(--seer-motion-enter-ease),
		translate var(--seer-motion-enter-duration) var(--seer-motion-enter-ease),
		scale var(--seer-motion-enter-duration) var(--seer-motion-enter-ease);
	transition-delay: var(--seer-motion-delay, 0ms);
}

.seer-motion-target.seer-motion-visible {
	opacity: 1;
}

.seer-motion-lead.seer-motion-pending {
	translate: 0 14px;
}

.seer-motion-item.seer-motion-pending {
	translate: 0 10px;
}

.seer-motion-process.seer-motion-pending {
	translate: -12px 0;
}

.seer-motion-data.seer-motion-pending {
	scale: .992 1;
	translate: -9px 0;
	transform-origin: left center;
}

.seer-motion-disclosure.seer-motion-pending {
	translate: 0 7px;
}

.seer-motion-cta.seer-motion-pending {
	scale: .992;
	translate: 0 8px;
}

.seer-motion-media.seer-motion-pending,
.seer-motion-media.seer-motion-visible {
	transition-duration: var(--seer-motion-media-duration);
}

.seer-motion-media.seer-motion-pending {
	scale: 1.008;
	translate: 12px 0;
}

.seer-motion-target.seer-motion-visible {
	opacity: 1;
	scale: 1;
	translate: none;
	will-change: auto;
}

/*
 * A single inspection-current trace is the system's signature. It runs only
 * across eligible media containers after they enter; it never loops.
 */
.seer-motion-media[data-seer-motion-trace]::after {
	position: absolute;
	z-index: 3;
	top: 0;
	bottom: 0;
	left: -18%;
	width: 16%;
	background:
		linear-gradient(
			90deg,
			transparent,
			rgba(241, 90, 24, .34) 48%,
			rgba(255, 255, 255, .28) 52%,
			transparent
		);
	content: "";
	opacity: 0;
	pointer-events: none;
	transform: skewX(-8deg) translate3d(0, 0, 0);
}

.seer-motion-media.seer-motion-visible[data-seer-motion-trace]::after {
	animation: seer-motion-current-trace var(--seer-motion-trace-duration) var(--seer-motion-enter-ease) both;
	animation-delay: calc(var(--seer-motion-delay, 0ms) + 80ms);
	will-change: opacity, transform;
}

@keyframes seer-motion-current-trace {
	0% {
		opacity: 0;
		transform: skewX(-8deg) translate3d(0, 0, 0);
	}

	22% {
		opacity: .82;
	}

	100% {
		opacity: 0;
		transform: skewX(-8deg) translate3d(725%, 0, 0);
	}
}

@media (max-width: 767px) {
	:root {
		--seer-motion-enter-duration: 440ms;
		--seer-motion-media-duration: 520ms;
		--seer-motion-trace-duration: 620ms;
		--seer-motion-stagger: 45ms;
	}

	.seer-motion-lead.seer-motion-pending {
		translate: 0 10px;
	}

	.seer-motion-item.seer-motion-pending,
	.seer-motion-disclosure.seer-motion-pending,
	.seer-motion-cta.seer-motion-pending {
		translate: 0 6px;
	}

	.seer-motion-process.seer-motion-pending,
	.seer-motion-data.seer-motion-pending,
	.seer-motion-media.seer-motion-pending {
		translate: 7px 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.seer-motion-scope,
	.seer-motion-scope * {
		scroll-behavior: auto !important;
	}

	.seer-motion-scope *,
	.seer-motion-scope *::before,
	.seer-motion-scope *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-delay: 0ms !important;
		transition-duration: .01ms !important;
	}

	.seer-motion-target {
		animation: none !important;
		opacity: 1 !important;
		scale: 1 !important;
		translate: none !important;
		transition: none !important;
		will-change: auto !important;
	}

	.seer-motion-media[data-seer-motion-trace]::after {
		display: none !important;
	}
}
