/* Nowoka — Service Page Hero. Scoped via .nowoka-service-hero* prefix only. */

.nowoka-service-hero {
	position: relative;
	isolation: isolate;
	padding: 80px 0 60px;
	background:
		radial-gradient(ellipse 60% 50% at 15% 20%, rgba(217, 244, 95, 0.55), transparent 60%),
		radial-gradient(ellipse 50% 45% at 85% 80%, rgba(255, 255, 255, 0.6), transparent 65%),
		radial-gradient(ellipse 40% 35% at 95% 10%, rgba(255, 220, 200, 0.45), transparent 70%),
		var(--nw-bg);
	box-shadow: 0 0 0 100vmax var(--nw-bg);
	clip-path: inset(0 -100vmax);
	overflow: visible;
}

.nowoka-service-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background:
		radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.35), transparent 40%),
		radial-gradient(circle at 0% 100%, rgba(217, 244, 95, 0.35), transparent 45%);
	mix-blend-mode: screen;
}

.nowoka-service-hero > * {
	position: relative;
	z-index: 1;
}

.nowoka-service-hero-row {
	display: flex;
	align-items: center;
	gap: 48px;
	width: 100%;
}

.nowoka-service-hero-row > .e-con,
.nowoka-service-hero-row > .elementor-element {
	flex: 1 1 0;
	min-width: 0;
}

.nowoka-service-hero-left {
	display: flex;
	flex-direction: column;
	gap: 20px;
}

.nowoka-service-hero-highlight {
	background-image: linear-gradient(
		transparent 55%,
		var(--nw-accent) 55%,
		var(--nw-accent) 92%,
		transparent 92%
	);
	background-repeat: no-repeat;
	background-size: 100% 100%;
	padding: 0 6px;
	border-radius: 4px;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
	display: inline;
}

.nowoka-service-hero-right {
	position: relative;
	min-height: 480px;
}

.nowoka-service-hero-right > * {
	position: relative;
	z-index: 2;
}

.nowoka-service-hero-right::before,
.nowoka-service-hero-right::after {
	content: "";
	position: absolute;
	z-index: 1;
	pointer-events: none;
	background: rgba(255, 255, 255, 0.55);
}

.nowoka-service-hero-right::before {
	top: 0;
	right: -20px;
	width: 200px;
	height: 320px;
	border-radius: 40px 40px 0 0;
}

.nowoka-service-hero-right::after {
	bottom: 0;
	left: -30px;
	width: 160px;
	height: 240px;
	border-radius: 0 0 40px 40px;
	background: var(--nw-bg-soft);
	opacity: 0.7;
}

@media (max-width: 1024px) {
	.nowoka-service-hero-row {
		gap: 32px;
	}
	.nowoka-service-hero-right {
		min-height: 400px;
	}
}

@media (max-width: 782px) {
	.nowoka-service-hero {
		padding: 60px 0 40px;
	}
	.nowoka-service-hero-row {
		flex-direction: column;
		gap: 32px;
	}
	.nowoka-service-hero-row > .e-con,
	.nowoka-service-hero-row > .elementor-element {
		flex: 1 1 100%;
		width: 100%;
	}
	.nowoka-service-hero-right {
		min-height: auto;
	}
	.nowoka-service-hero-right::before,
	.nowoka-service-hero-right::after {
		display: none;
	}
}

@media (max-width: 480px) {
	.nowoka-service-hero {
		padding: 48px 0 32px;
	}
	.nowoka-service-hero-left {
		gap: 16px;
	}
}
