.ega-char {
	display: inline-block;
	white-space: pre;
}

/* Split-word presets: mask each word so “curtain” motion reads cleanly (similar to editorial sites). */
.ega-word {
	display: inline-block;
	overflow: hidden;
	vertical-align: top;
	padding-bottom: 0.08em;
	margin-bottom: -0.08em;
}

.ega-word-inner {
	display: inline-block;
}

.ega-gsap-image img {
	display: block;
	transform-origin: center center;
}

.ega-gsap-bg {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.ega-gsap-bg::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image: var(--ega-bg-image);
	background-size: var(--ega-bg-size);
	background-position: var(--ega-bg-position);
	background-repeat: var(--ega-bg-repeat);
	background-attachment: var(--ega-bg-attachment);
	background-color: var(--ega-bg-color);

	clip-path: inset(0 var(--ega-bg-clip-right, 100%) 0 var(--ega-bg-clip-left, 0%));
	transform: translate3d(0, 0, 0) scale(var(--ega-bg-scale, 1));
	opacity: var(--ega-bg-opacity, 1);
}

.ega-gsap-bg > * {
	position: relative;
	z-index: 1;
}

/* Legacy reading-highlight overlay (removed preset; stripped in JS if present). */
.ega-reading-highlight-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	font: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-align: inherit;
	white-space: inherit;
	z-index: 1;
}

/* Respect system accessibility preference (JS also skips GSAP when reduce is set). */
@media (prefers-reduced-motion: reduce) {
	.ega-gsap-heading[data-ega-enabled='1'] .elementor-heading-title,
	.ega-gsap-image[data-ega-enabled='1'] img {
		opacity: 1 !important;
		transform: none !important;
		clip-path: none !important;
	}
}

