/**
 * Ambient orbs + light-sweep shine (Epsilon DT pattern, AssetZA colours).
 *
 * Light sections: soft amber/navy blurred orbs.
 * Navy sections: retuned orbs + periodic skewed light sweep.
 */

.elementor .e-con.assetza-ambient {
	position: relative;
	overflow: hidden;
}

.elementor .e-con.assetza-ambient::before,
.elementor .e-con.assetza-ambient::after,
.elementor .e-con.assetza-ambient > .e-con-inner::before {
	content: "";
	position: absolute;
	border-radius: 50%;
	/* Soft radial instead of live blur — blur()+infinite animation lagged scroll. */
	filter: none;
	opacity: 0.55;
	pointer-events: none;
	z-index: 0;
	animation: none;
	contain: strict;
}

/* Amber orb — top right */
.elementor .e-con.assetza-ambient::before {
	width: 280px;
	height: 280px;
	top: -40px;
	right: 8%;
	background: radial-gradient(circle at center, rgba(232, 160, 32, 0.32) 0%, rgba(232, 160, 32, 0) 70%);
}

/* Soft navy orb — bottom left */
.elementor .e-con.assetza-ambient::after {
	width: 220px;
	height: 220px;
	bottom: -30px;
	left: 12%;
	background: radial-gradient(circle at center, rgba(30, 58, 95, 0.16) 0%, rgba(30, 58, 95, 0) 70%);
}

/* Smaller amber wash — mid */
.elementor .e-con.assetza-ambient > .e-con-inner::before {
	width: 160px;
	height: 160px;
	top: 35%;
	left: 42%;
	background: radial-gradient(circle at center, rgba(232, 160, 32, 0.18) 0%, rgba(232, 160, 32, 0) 70%);
}

.elementor .e-con.assetza-ambient > .e-con-inner {
	position: relative;
	z-index: 1;
}

.elementor .e-con.assetza-ambient > .e-con-inner > .elementor-element {
	position: relative;
	z-index: 1;
}

/* ── Navy / dark sections ── */
.elementor .e-con.assetza-ambient-dark {
	isolation: isolate;
	overflow: hidden;
}

.elementor .e-con.assetza-ambient-dark::before {
	width: 320px;
	height: 320px;
	top: -60px;
	left: -4%;
	right: auto;
	background: radial-gradient(circle at center, rgba(232, 160, 32, 0.36) 0%, rgba(232, 160, 32, 0) 70%);
	opacity: 0.3;
}

.elementor .e-con.assetza-ambient-dark::after {
	width: 260px;
	height: 260px;
	bottom: -40px;
	right: 6%;
	left: auto;
	background: radial-gradient(circle at center, rgba(255, 255, 255, 0.14) 0%, rgba(255, 255, 255, 0) 70%);
	opacity: 0.5;
}

.elementor .e-con.assetza-ambient-dark > .e-con-inner::before {
	width: 200px;
	height: 200px;
	top: 20%;
	right: 18%;
	left: auto;
	background: radial-gradient(circle at center, rgba(232, 160, 32, 0.22) 0%, rgba(232, 160, 32, 0) 70%);
	opacity: 0.36;
}

/* Gloss sheen layers (non-video navy bands) */
.elementor .e-con.assetza-ambient-dark:not(.assetza-home-hero) {
	background-image:
		linear-gradient(
			118deg,
			rgba(255, 255, 255, 0.12) 0%,
			rgba(255, 255, 255, 0.04) 16%,
			transparent 44%
		),
		linear-gradient(180deg, rgba(255, 255, 255, 0.06) 0%, transparent 30%),
		radial-gradient(ellipse 85% 60% at 50% -18%, rgba(232, 160, 32, 0.12), transparent 58%) !important;
}

/* Light-sweep shine — static gloss only (infinite sweep lagged scroll). */
.elementor .e-con.assetza-ambient-dark > .e-con-inner::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	background: linear-gradient(
		118deg,
		rgba(255, 255, 255, 0.08) 0%,
		rgba(255, 255, 255, 0.03) 18%,
		transparent 42%
	);
	transform: none;
	animation: none;
	opacity: 1;
}

/* Hero already has video — keep orbs softer so they read as glow accents */
.elementor .e-con.assetza-home-hero.assetza-ambient-dark::before {
	opacity: 0.22;
	z-index: 1;
}

.elementor .e-con.assetza-home-hero.assetza-ambient-dark::after {
	opacity: 0.28;
	z-index: 1;
}

.elementor .e-con.assetza-home-hero.assetza-ambient-dark > .e-con-inner::before {
	opacity: 0.2;
}

.elementor .e-con.assetza-home-hero.assetza-ambient-dark > .e-con-inner::after {
	z-index: 1;
}

@keyframes assetza-orb-drift {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}

	50% {
		transform: translate(12px, -16px) scale(1.06);
	}
}

@keyframes assetza-shine-sweep {
	0%,
	72%,
	100% {
		transform: translateX(-130%) skewX(-14deg);
		opacity: 0;
	}

	78% {
		opacity: 0.85;
	}

	92% {
		transform: translateX(130%) skewX(-14deg);
		opacity: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.elementor .e-con.assetza-ambient::before,
	.elementor .e-con.assetza-ambient::after,
	.elementor .e-con.assetza-ambient > .e-con-inner::before {
		animation: none;
	}

	.elementor .e-con.assetza-ambient-dark > .e-con-inner::after {
		animation: none;
		opacity: 0.35;
		transform: none;
		inset: 0;
		background: linear-gradient(
			118deg,
			rgba(255, 255, 255, 0.08) 0%,
			transparent 42%
		);
	}
}
