/**
 * ETA — /services/ (Elementor 4323) CSS Grid / Bento layout
 * Version: 5.3.4 / 2026-07-27 — CTA Przejdź: mt20 mb50 +50px width all modules
 *
 * REGRESSION v2 (display:contents): NEVER reintroduce on copy columns.
 * REGRESSION v4 (100cqw + left:calc(100%-100cqw)): cards escaped flow and
 * painted over taller images (U03–U05). Fixed via eta-services-layout.js
 * promoting boxes to module .e-con-inner + grid-column:1/-1 on row 2.
 * REGRESSION v5.1: list+CTA :has() also matched col0017 (2× e-con + nested
 * button/ul) and zeroed margin on 1e68ed3 — U01 intro→list collapsed vs U02.
 *
 * Desktop (≥1101):
 *   [ copy ~57% | image ~43% ]   ← grid row 1
 *   [ card ][ card ][ card ]     ← grid row 2, column 1 / -1
 * Flip: image|copy on row 1; cards still full-width row 2.
 *
 * ≤1100: stack image → copy → cards; cards 3-equal until ≤900 → 1-col.
 * NEVER 2+1 card grid.
 *
 * Appearance ONLY via child-theme CSS — never regenerate post-4323.css.
 */

body.page-id-4323,
.elementor-4323 {
	--eta-svc-gap: clamp(20px, 2.5vw, 36px);
	--eta-svc-card-gap: clamp(14px, 1.5vw, 20px);
	--eta-svc-card-pad: clamp(16px, 1.6vw, 22px);
	--eta-svc-radius: 10px;
	--eta-svc-navy: #001f3f;
	/* Near-white surface (user 2026-07-21 — #f4f7fb still read muddy; #fcfdfe ≈ page white) */
	--eta-svc-card-bg: #fcfdfe;
	--eta-svc-card-accent: #001f3f;
	/* Canonical media frame — U01–U08 share one crop box (fixes U04/U05 portrait) */
	--eta-svc-img-aspect: 4 / 3;
	--eta-svc-copy-gap: 8px;
	--eta-svc-list-cta-gap: 20px;
	/* Track fractions — MUST include fr unit (unitless breaks grid) */
	--eta-svc-copy-fr: 1.15fr;
	--eta-svc-img-fr: 0.85fr;
}

/* ═══════════════════════════════════════════════════════════════════
   MODULE SHELL — 2-col grid, NO display:contents
   ═══════════════════════════════════════════════════════════════════ */

.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, var(--eta-svc-copy-fr)) minmax(0, var(--eta-svc-img-fr));
	grid-template-rows: auto auto;
	column-gap: var(--eta-svc-gap) !important;
	row-gap: clamp(28px, 3vw, 40px) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 100% !important;
	--flex-direction: row !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
	overflow: visible !important;
	isolation: isolate;
}

/* Flip (02/04/06/08): image left */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner {
	grid-template-columns: minmax(0, var(--eta-svc-img-fr)) minmax(0, var(--eta-svc-copy-fr));
}

/* Both direct columns: reset Elementor % widths that crush layout */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	--width: 100% !important;
	--flex-grow: 0 !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	float: none !important;
	height: auto !important;
	min-height: 0 !important;
	overflow: visible !important;
	z-index: auto;
}

/* Non-flip (01/03/05/07): copy left, image right — DOM may be image-first.
   Exclude feature-card boxes (box00*) so promote-to-row-2 is never overridden. */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]) {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* Flip (02/04/06/08): image left, copy right */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) {
	grid-column: 1 !important;
	grid-row: 1 !important;
}

.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]) {
	grid-column: 2 !important;
	grid-row: 1 !important;
}

/* ── Copy column: NORMAL document flow (flex column) — never target card boxes ── */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]) {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	padding: 0 !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	background: transparent;
	z-index: 1;
	overflow: visible !important;
}

/* Nested wrappers inside copy (Usługa 01 pattern) — keep flow, kill absolute */
.elementor-4323 .elementor-element-sec0019 .elementor-element-col0017 .e-con,
.elementor-4323 .elementor-element-sec0038 .elementor-element-col0036 .e-con,
.elementor-4323 .elementor-element-sec0057 .elementor-element-col0055 .e-con,
.elementor-4323 .elementor-element-sec0076 .elementor-element-col0074 .e-con,
.elementor-4323 .elementor-element-sec0095 .elementor-element-col0093 .e-con,
.elementor-4323 .elementor-element-sec0114 .elementor-element-col0112 .e-con,
.elementor-4323 .elementor-element-sec0133 .elementor-element-col0131 .e-con,
.elementor-4323 .elementor-element-sec0152 .elementor-element-col0150 .e-con {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	float: none !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	--margin-left: 0px !important;
	--margin-right: 0px !important;
}

/*
 * U01 title stack (a9bcc10): eyebrow + h2 + intro nested in one e-con.
 * U02 puts those widgets as direct col0036 children → gap:8px from copy column.
 * Without this, a9bcc10 defaults to gap:0 → collapsed rhythm.
 */
.elementor-4323 .elementor-element-sec0019 .elementor-element-a9bcc10 {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	justify-content: flex-start !important;
	gap: var(--eta-svc-copy-gap) !important;
	row-gap: var(--eta-svc-copy-gap) !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	--margin-top: 0px !important;
	--margin-bottom: 0px !important;
	--gap: var(--eta-svc-copy-gap) !important;
}

/* U01 list+CTA wrap — restore col0036 rhythm (intro→list = 8px col gap + 4px mt) */
.elementor-4323 .elementor-element-sec0019 .elementor-element-1e68ed3 {
	margin-top: 4px !important;
	--margin-top: 4px !important;
	padding: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
}

.elementor-4323 .elementor-element-sec0019 .elementor-element-col0017 .elementor-widget,
.elementor-4323 .elementor-element-sec0038 .elementor-element-col0036 .elementor-widget,
.elementor-4323 .elementor-element-sec0057 .elementor-element-col0055 .elementor-widget,
.elementor-4323 .elementor-element-sec0076 .elementor-element-col0074 .elementor-widget,
.elementor-4323 .elementor-element-sec0095 .elementor-element-col0093 .elementor-widget,
.elementor-4323 .elementor-element-sec0114 .elementor-element-col0112 .elementor-widget,
.elementor-4323 .elementor-element-sec0133 .elementor-element-col0131 .elementor-widget,
.elementor-4323 .elementor-element-sec0152 .elementor-element-col0150 .elementor-widget {
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	float: none !important;
	height: auto !important;
	min-height: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-block: 0 !important;
}

/*
 * USŁUGA 01–08 eyebrow — same breathing after stacked image (≤1100).
 * Desktop stays top-aligned with media (no mt).
 */
@media (max-width: 1100px) {
	.elementor-4323 .elementor-element-sec0019 .elementor-element-col0017 .elementor-element-acf2ee7,
	.elementor-4323 .elementor-element-sec0038 .elementor-element-col0036 .elementor-element-w0032,
	.elementor-4323 .elementor-element-sec0057 .elementor-element-col0055 .elementor-element-w0051,
	.elementor-4323 .elementor-element-sec0076 .elementor-element-col0074 .elementor-element-w0070,
	.elementor-4323 .elementor-element-sec0095 .elementor-element-col0093 .elementor-element-w0089,
	.elementor-4323 .elementor-element-sec0114 .elementor-element-col0112 .elementor-element-w0108,
	.elementor-4323 .elementor-element-sec0133 .elementor-element-col0131 .elementor-element-w0127,
	.elementor-4323 .elementor-element-sec0152 .elementor-element-col0150 .elementor-element-w0146 {
		margin-top: 60px !important;
		margin-block-start: 60px !important;
		--margin-top: 60px !important;
	}
}

/* ── Image cell ── */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) {
	z-index: 0;
	/* Beat generic column `overflow: visible !important` — prevent media paint into cards */
	overflow: hidden !important;
	isolation: isolate;
	border-radius: var(--eta-svc-radius);
	box-shadow: 0 12px 32px -18px rgba(0, 31, 63, 0.2) !important;
	margin-bottom: 0 !important;
	align-self: start !important;
	/* One crop box for every module — portrait sources (U04/U05) no longer stretch the band */
	aspect-ratio: var(--eta-svc-img-aspect) !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	/* Kill Elementor 14px white matte — looked like a second frame on zebra (#f4f7fb) bands */
	padding: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	background: transparent !important;
	background-color: transparent !important;
	/* Contain ThemeREX/Elementor parallax layers inside the media cell */
	contain: layout paint;
	display: flex !important;
	flex-direction: column !important;
}

.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) > .e-con-inner,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-image,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) .elementor-widget-container {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 1 1 auto !important;
}

.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) img {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: 0 !important;
}

/*
 * List + CTA row ONLY (exactly 2 direct e-con children = list | button).
 * MUST exclude copy columns (col0017 etc.): U01 has only 2 e-con children
 * (a9bcc10 + 1e68ed3) and also :has(button)+ :has(ul) — that false match
 * applied `> .e-con { margin:0 }` and wiped 1e68ed3's 4px margin-top.
 * Guard: no direct-child heading widget / no h2 in the list+CTA wrap.
 */
.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)),
.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) {
	display: flex !important;
	flex-direction: column !important;
	flex-wrap: nowrap !important;
	align-items: flex-start !important;
	justify-content: flex-start !important;
	gap: var(--eta-svc-list-cta-gap) !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 4px 0 0 !important;
	--margin-top: 4px !important;
	padding: 0 !important;
	position: relative !important;
	min-width: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	--min-height: 0px !important;
}

.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con,
.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: 0 0 auto !important;
	--width: 100% !important;
	--min-height: 0px !important;
	margin: 0 !important;
	padding: 0 !important;
	height: auto !important;
	min-height: 0 !important;
	position: relative !important;
}

.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button),
.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) > .e-con:has(.elementor-widget-button) {
	flex: 0 0 auto !important;
	width: auto !important;
	max-width: max-content !important;
	--width: auto !important;
	align-self: flex-start !important;
}

/* Kill Elementor 50px mb under list widget (CTA gap) */
.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-text-editor,
.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container,
.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(> .e-con .elementor-widget-button):has(> .e-con ul):not(:has(> .elementor-widget-heading)):not(:has(h2)) .elementor-widget-container {
	margin: 0 !important;
	margin-bottom: 0 !important;
	--margin-bottom: 0px !important;
}

/* Bullets */
.elementor-4323 .elementor-element-sec0019 ul,
.elementor-4323 .elementor-element-sec0038 ul,
.elementor-4323 .elementor-element-sec0057 ul,
.elementor-4323 .elementor-element-sec0076 ul,
.elementor-4323 .elementor-element-sec0095 ul,
.elementor-4323 .elementor-element-sec0114 ul,
.elementor-4323 .elementor-element-sec0133 ul,
.elementor-4323 .elementor-element-sec0152 ul {
	margin: 0 !important;
	padding-left: 1.15em !important;
	max-width: 42ch;
	position: relative !important;
}

.elementor-4323 .elementor-element-sec0019 ul li,
.elementor-4323 .elementor-element-sec0038 ul li,
.elementor-4323 .elementor-element-sec0057 ul li,
.elementor-4323 .elementor-element-sec0076 ul li,
.elementor-4323 .elementor-element-sec0095 ul li,
.elementor-4323 .elementor-element-sec0114 ul li,
.elementor-4323 .elementor-element-sec0133 ul li,
.elementor-4323 .elementor-element-sec0152 ul li {
	margin: 0 0 0.35em !important;
	line-height: 1.45;
	position: relative !important;
}

/* ═══════════════════════════════════════════════════════════════════
   FEATURE CARDS — grid row 2, full module width (NO 100cqw / NO absolute)
   eta-services-layout.js appends box* to module .e-con-inner.
   Fallback (pre-JS): stay in copy column at 100% copy width (no image paint).
   ═══════════════════════════════════════════════════════════════════ */

.elementor-4323 .elementor-element.elementor-element-box0012,
.elementor-4323 .elementor-element.elementor-element-box0031,
.elementor-4323 .elementor-element.elementor-element-box0050,
.elementor-4323 .elementor-element.elementor-element-box0069,
.elementor-4323 .elementor-element.elementor-element-box0088,
.elementor-4323 .elementor-element.elementor-element-box0107,
.elementor-4323 .elementor-element.elementor-element-box0126,
.elementor-4323 .elementor-element.elementor-element-box0145 {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	--width: 100% !important;
	flex: none !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	margin-inline-start: 0 !important;
	margin-inline-end: 0 !important;
	--margin-top: 0px !important;
	--margin-left: 0px !important;
	--margin-right: 0px !important;
	/* Kill Elementor side pads (U02+ had 20px → cards narrower than U01) */
	padding: 0 !important;
	padding-inline: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
	box-sizing: border-box !important;
	position: relative !important;
	left: auto !important;
	right: auto !important;
	inset-inline-start: auto !important;
	inset-inline-end: auto !important;
	top: auto !important;
	transform: none !important;
	z-index: 1;
	align-self: stretch !important;
	float: none !important;
}

/* Promoted boxes (direct children of module inner): span both columns on row 2 */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .elementor-element-box0012,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .elementor-element-box0031,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .elementor-element-box0050,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .elementor-element-box0069,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .elementor-element-box0088,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .elementor-element-box0107,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .elementor-element-box0126,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .elementor-element-box0145 {
	grid-column: 1 / -1 !important;
	grid-row: 2 !important;
	width: 100% !important;
	max-width: 100% !important;
	--width: 100% !important;
	left: auto !important;
	inset-inline-start: auto !important;
	/* Breathing above feature row — keep in sync across modules */
	margin-top: 12px !important;
	--margin-top: 12px !important;
}

/* Explicit U01 card IDs — guarantee light BG wins over Elementor classic */
.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con.elementor-element-654d4ee,
.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con.elementor-element-edb79c8,
.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con.elementor-element-9e41cc8 {
	background: #fcfdfe !important;
	background-color: #fcfdfe !important;
	background-image: none !important;
	--background-color: #fcfdfe !important;
}

.elementor-4323 .elementor-element-box0012 > .e-con-inner,
.elementor-4323 .elementor-element-box0031 > .e-con-inner,
.elementor-4323 .elementor-element-box0050 > .e-con-inner,
.elementor-4323 .elementor-element-box0069 > .e-con-inner,
.elementor-4323 .elementor-element-box0088 > .e-con-inner,
.elementor-4323 .elementor-element-box0107 > .e-con-inner,
.elementor-4323 .elementor-element-box0126 > .e-con-inner,
.elementor-4323 .elementor-element-box0145 > .e-con-inner {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--eta-svc-card-gap) !important;
	align-items: stretch !important;
	width: 100% !important;
	max-width: 100% !important;
	flex-direction: unset !important;
	flex-wrap: unset !important;
}

.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0031 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0050 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0069 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0088 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0107 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0126 > .e-con-inner > .e-con,
.elementor-4323 .elementor-element-box0145 > .e-con-inner > .e-con {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	flex: none !important;
	--width: 100% !important;
	--flex-grow: 0 !important;
	height: 100% !important;
	min-height: 120px !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	--margin-top: 0px !important;
	--margin-bottom: 0px !important;
	--margin-left: 0px !important;
	--margin-right: 0px !important;
	padding: var(--eta-svc-card-pad) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: flex-start !important;
	align-items: stretch !important;
	gap: 8px !important;
	row-gap: 8px !important;
	--padding-top: var(--eta-svc-card-pad) !important;
	--padding-bottom: var(--eta-svc-card-pad) !important;
	--padding-left: var(--eta-svc-card-pad) !important;
	--padding-right: var(--eta-svc-card-pad) !important;
	border-radius: var(--eta-svc-radius) !important;
	/* Beat Elementor classic/per-card bg — near-white #f8fafc (v5.2) */
	background: var(--eta-svc-card-bg) !important;
	background-color: var(--eta-svc-card-bg) !important;
	background-image: none !important;
	--background-color: var(--eta-svc-card-bg) !important;
	--background-color-b: var(--eta-svc-card-bg) !important;
	border-top: 3px solid var(--eta-svc-card-accent) !important;
	box-shadow: none !important;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	overflow: hidden;
}

.elementor-4323 .elementor-element-box0012 .elementor-heading-title,
.elementor-4323 .elementor-element-box0031 .elementor-heading-title,
.elementor-4323 .elementor-element-box0050 .elementor-heading-title,
.elementor-4323 .elementor-element-box0069 .elementor-heading-title,
.elementor-4323 .elementor-element-box0088 .elementor-heading-title,
.elementor-4323 .elementor-element-box0107 .elementor-heading-title,
.elementor-4323 .elementor-element-box0126 .elementor-heading-title,
.elementor-4323 .elementor-element-box0145 .elementor-heading-title {
	color: var(--eta-svc-navy) !important;
	font-size: clamp(15px, 1.25vw, 18px) !important;
	line-height: 1.3 !important;
	margin: 0 0 6px !important;
	max-width: 100%;
	hyphens: none !important;
	-webkit-hyphens: none !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	word-wrap: normal !important;
	white-space: normal !important;
}

/* Services Elementor/TRX entrance — sync with eta-motion (0.1s / 0.4s) */
.elementor-4323 .elementor-element.animated,
.elementor-4323 .elementor-element[class*="ta_fade"].animated,
.elementor-4323 .animated-item.animated,
.elementor-4323 .sc_item_animated_block.animated,
.elementor-4323 [class*="ta_fade"].animated {
	animation-delay: var(--eta-anim-delay, 0.1s) !important;
	animation-duration: var(--eta-anim-duration, 0.4s) !important;
	animation-fill-mode: both !important;
}

.elementor-4323 .elementor-element-box0012 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0031 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0050 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0069 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0088 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0107 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0126 .elementor-widget-text-editor,
.elementor-4323 .elementor-element-box0145 .elementor-widget-text-editor {
	max-width: 100%;
	color: #5e6a82;
	font-size: clamp(13px, 1.05vw, 15px);
	line-height: 1.45;
	margin: 0 !important;
	hyphens: none !important;
	-webkit-hyphens: none !important;
	overflow-wrap: break-word;
	word-break: normal;
}

@media (prefers-reduced-motion: no-preference) {
	.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0031 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0050 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0069 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0088 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0107 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0126 > .e-con-inner > .e-con,
	.elementor-4323 .elementor-element-box0145 > .e-con-inner > .e-con {
		transition: transform 180ms ease, box-shadow 180ms ease;
	}

	.elementor-4323 .elementor-element-box0012 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0031 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0050 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0069 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0088 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0107 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0126 > .e-con-inner > .e-con:hover,
	.elementor-4323 .elementor-element-box0145 > .e-con-inner > .e-con:hover {
		transform: translateY(-2px);
		box-shadow: 0 12px 40px -8px rgba(0, 31, 63, 0.14);
	}
}

/* CTA „Przejdź” — same rhythm in every service module */
.elementor-4323 .elementor-element-sec0019 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0038 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0057 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0076 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0095 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0114 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0133 .elementor-widget.elementor-widget-button,
.elementor-4323 .elementor-element-sec0152 .elementor-widget.elementor-widget-button {
	margin-top: 0 !important;
	margin-bottom: 50px !important;
	margin-block: 0 50px !important;
	--margin-top: 0px !important;
	--margin-bottom: 50px !important;
	width: auto !important;
	max-width: 100% !important;
}

.elementor-4323 .elementor-element-sec0019 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0038 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0057 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0076 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0095 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0114 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0133 .elementor-widget-button .elementor-button,
.elementor-4323 .elementor-element-sec0152 .elementor-widget-button .elementor-button {
	/* Was ~91px — +50px hit area */
	min-width: 141px !important;
	width: auto !important;
	box-sizing: border-box !important;
	justify-content: center !important;
	text-align: center !important;
}

.elementor-4323 .elementor-element-sec0019 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0038 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0057 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0076 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0095 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0114 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0133 .elementor-button:focus-visible,
.elementor-4323 .elementor-element-sec0152 .elementor-button:focus-visible {
	outline: 2px solid var(--eta-svc-navy);
	outline-offset: 3px;
}

/* Module vertical rhythm + single horizontal pad source (section, not .e-con-boxed) */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 {
	--padding-top: clamp(48px, 6vw, 80px) !important;
	--padding-bottom: clamp(48px, 6vw, 80px) !important;
}

/* Kill Elementor per-module .e-con-boxed side pads (U02+ had 20px mobile; U01 had 0) */
.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed,
.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed {
	padding: 0 !important;
	--padding-top: 0px !important;
	--padding-bottom: 0px !important;
	--padding-left: 0px !important;
	--padding-right: 0px !important;
}

/* ═══════════════════════════════════════════════════════════════════
   MID / TABLET ≤1100 — 1-col stack: image → copy → cards
   Cards stay 3-equal full width (never 2+1 awkward grid).
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 1100px) {
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 20px !important;
	}

	.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:has(.elementor-widget-image) {
		grid-column: 1 !important;
		grid-row: auto !important;
		order: -1;
		max-width: 100%;
	}

	.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]),
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .e-con:not(:has(.elementor-widget-image)):not([class*="elementor-element-box"]) {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner > .elementor-element-box0012,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner > .elementor-element-box0031,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner > .elementor-element-box0050,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner > .elementor-element-box0069,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner > .elementor-element-box0088,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner > .elementor-element-box0107,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner > .elementor-element-box0126,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner > .elementor-element-box0145 {
		grid-column: 1 !important;
		grid-row: auto !important;
		order: 2;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-inline-start: 0 !important;
		--margin-left: 0px !important;
		left: auto !important;
		inset-inline-start: auto !important;
	}

	/* Keep 3 equal — never 2+1 */
	.elementor-4323 .elementor-element-box0012 > .e-con-inner,
	.elementor-4323 .elementor-element-box0031 > .e-con-inner,
	.elementor-4323 .elementor-element-box0050 > .e-con-inner,
	.elementor-4323 .elementor-element-box0069 > .e-con-inner,
	.elementor-4323 .elementor-element-box0088 > .e-con-inner,
	.elementor-4323 .elementor-element-box0107 > .e-con-inner,
	.elementor-4323 .elementor-element-box0126 > .e-con-inner,
	.elementor-4323 .elementor-element-box0145 > .e-con-inner {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* Narrow tablet: 3 cards too tight → stack 1-col before phone */
@media (max-width: 900px) {
	.elementor-4323 .elementor-element-box0012 > .e-con-inner,
	.elementor-4323 .elementor-element-box0031 > .e-con-inner,
	.elementor-4323 .elementor-element-box0050 > .e-con-inner,
	.elementor-4323 .elementor-element-box0069 > .e-con-inner,
	.elementor-4323 .elementor-element-box0088 > .e-con-inner,
	.elementor-4323 .elementor-element-box0107 > .e-con-inner,
	.elementor-4323 .elementor-element-box0126 > .e-con-inner,
	.elementor-4323 .elementor-element-box0145 > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
	}
}

/* ═══════════════════════════════════════════════════════════════════
   MOBILE ≤767
   ═══════════════════════════════════════════════════════════════════ */

@media (max-width: 767px) {
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0019 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0038 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0057 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0076 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0095 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0114 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0133 > .e-con-boxed > .e-con-inner,
	.elementor-4323 > .e-con.e-parent.elementor-element-sec0152 > .e-con-boxed > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 16px !important;
	}

	.elementor-4323 .elementor-element-box0012 > .e-con-inner,
	.elementor-4323 .elementor-element-box0031 > .e-con-inner,
	.elementor-4323 .elementor-element-box0050 > .e-con-inner,
	.elementor-4323 .elementor-element-box0069 > .e-con-inner,
	.elementor-4323 .elementor-element-box0088 > .e-con-inner,
	.elementor-4323 .elementor-element-box0107 > .e-con-inner,
	.elementor-4323 .elementor-element-box0126 > .e-con-inner,
	.elementor-4323 .elementor-element-box0145 > .e-con-inner {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 12px !important;
	}

	.elementor-4323 .elementor-element-sec0019 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0038 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0057 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0076 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0095 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0114 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0133 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul),
	.elementor-4323 .elementor-element-sec0152 .e-con:has(> .e-con:nth-child(2)):not(:has(> .e-con:nth-child(3))):has(.elementor-widget-button):has(ul) {
		flex-direction: column !important;
		align-items: stretch !important;
	}

	body.page-id-4323,
	.elementor-4323 {
		overflow-x: clip;
	}
}
