.dgc-clients-page .dgc-clients-hero,
.dgc-clients-page .dgc-clients-showcase,
.dgc-clients-page .dgc-clients-cta {
	position: relative;
	overflow: hidden;
}

.dgc-clients-page .dgc-clients-hero::before {
	content: "";
	position: absolute;
	inset: 0 auto 0 0;
	width: min(32vw, 540px);
	background:
		radial-gradient(circle, rgba(129, 201, 48, .24) 1.6px, transparent 1.8px) 0 0 / 18px 18px,
		linear-gradient(120deg, rgba(129, 201, 48, .2), transparent 72%);
	-webkit-mask-image: linear-gradient(90deg, #000, transparent);
	mask-image: linear-gradient(90deg, #000, transparent);
	pointer-events: none;
}

.dgc-clients-page .dgc-clients-hero::after {
	content: "";
	position: absolute;
	right: 7vw;
	top: 50%;
	width: 190px;
	aspect-ratio: 1;
	border: 3px solid rgba(76, 193, 228, .32);
	transform: translateY(-50%) rotate(16deg);
	pointer-events: none;
}

.dgc-clients-page .dgc-clients-hero > .e-con-inner,
.dgc-clients-page .dgc-clients-showcase > .e-con-inner,
.dgc-clients-page .dgc-clients-cta > .e-con-inner {
	position: relative;
	z-index: 2;
}

.dgc-clients-page .dgc-clients-hero .elementor-widget-heading {
	max-width: 850px;
}

.dgc-clients-page .dgc-clients-showcase::before,
.dgc-clients-page .dgc-clients-showcase::after {
	content: "";
	position: absolute;
	width: 360px;
	height: 520px;
	background-image:
		radial-gradient(circle, rgba(76, 193, 228, .34) 1.8px, transparent 2px),
		radial-gradient(circle at 44% 28%, transparent 0 86px, rgba(76, 193, 228, .18) 87px 89px, transparent 90px);
	background-size: 19px 19px, 100% 100%;
	background-repeat: repeat, no-repeat;
	pointer-events: none;
}

.dgc-clients-page .dgc-clients-showcase::before {
	left: -128px;
	top: 170px;
	-webkit-mask-image: linear-gradient(90deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
	mask-image: linear-gradient(90deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
}

.dgc-clients-page .dgc-clients-showcase::after {
	right: -132px;
	bottom: 150px;
	background-image:
		radial-gradient(circle, rgba(248, 120, 25, .31) 1.8px, transparent 2px),
		linear-gradient(45deg, transparent 41%, rgba(129, 201, 48, .14) 41.5% 42.5%, transparent 43%),
		linear-gradient(-45deg, transparent 41%, rgba(129, 201, 48, .14) 41.5% 42.5%, transparent 43%);
	background-size: 19px 19px, 220px 220px, 220px 220px;
	background-position: 0 0, 54px 92px, 54px 92px;
	background-repeat: repeat, no-repeat, no-repeat;
	-webkit-mask-image: linear-gradient(270deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
	mask-image: linear-gradient(270deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
}

.dgc-clients-page .dgc-clients-intro {
	margin-bottom: 12px;
}

.dgc-clients-page .dgc-clients-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	width: 100%;
	margin-top: 18px;
}

.dgc-clients-page .dgc-client-card {
	--dgc-accent: #81c930;
	position: relative;
	min-width: 0;
	min-height: 154px;
	background: #fff;
	border: 1px solid rgba(34, 33, 35, .11);
	border-radius: 12px;
	box-shadow: 0 12px 28px rgba(34, 33, 35, .07);
	overflow: hidden;
	transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.dgc-clients-page .dgc-client-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: var(--dgc-accent);
}

.dgc-clients-page .dgc-client-card--blue { --dgc-accent: #4cc1e4; }
.dgc-clients-page .dgc-client-card--orange { --dgc-accent: #f87819; }

.dgc-clients-page .dgc-client-card:hover,
.dgc-clients-page .dgc-client-card:focus-within {
	transform: translateY(-5px);
	box-shadow: 0 18px 38px rgba(34, 33, 35, .13);
	border-color: color-mix(in srgb, var(--dgc-accent) 65%, #fff);
}

.dgc-clients-page .dgc-client-card > a,
.dgc-clients-page .dgc-client-card__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 154px;
	padding: 28px 26px;
}

.dgc-clients-page .dgc-client-card img {
	display: block;
	width: auto;
	max-width: 88%;
	height: auto;
	max-height: 82px;
	object-fit: contain;
}

.dgc-clients-page .dgc-clients-cta::before {
	content: "";
	position: absolute;
	left: -88px;
	top: 50%;
	width: 260px;
	aspect-ratio: 1;
	border: 16px solid rgba(255,255,255,.18);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow:
		0 0 0 34px rgba(129, 201, 48, .10),
		0 0 0 68px rgba(255, 255, 255, .055);
	pointer-events: none;
}

.dgc-clients-page .dgc-clients-cta::after {
	content: "";
	position: absolute;
	right: 3.5vw;
	top: 50%;
	width: 150px;
	aspect-ratio: 1;
	border: 10px solid rgba(255,255,255,.20);
	transform: translateY(-50%) rotate(13deg);
	background-image: radial-gradient(circle, rgba(248, 120, 25, .38) 1.6px, transparent 1.8px);
	background-size: 15px 15px;
	box-shadow: 34px -28px 0 -18px rgba(129, 201, 48, .25);
	pointer-events: none;
}

.dgc-clients-page .dgc-clients-cta {
	background-image:
		linear-gradient(112deg, rgba(129, 201, 48, .17), transparent 31%),
		linear-gradient(292deg, rgba(248, 120, 25, .17), transparent 28%);
}

.dgc-clients-page .dgc-clients-cta .elementor-widget-heading,
.dgc-clients-page .dgc-clients-cta .elementor-widget-text-editor,
.dgc-clients-page .dgc-clients-cta .elementor-widget-button {
	position: relative;
	z-index: 3;
}

.dgc-clients-page .dgc-clients-cta .elementor-widget-button .elementor-button {
	min-width: 160px;
}

@media (max-width: 1024px) {
	.dgc-clients-page .dgc-clients-hero::after {
		right: -40px;
		width: 150px;
	}

	.dgc-clients-page .dgc-clients-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.dgc-clients-page .dgc-clients-showcase::before,
	.dgc-clients-page .dgc-clients-showcase::after {
		width: 260px;
		height: 420px;
		opacity: .72;
	}
}

@media (max-width: 767px) {
	.dgc-clients-page .dgc-clients-hero::before,
	.dgc-clients-page .dgc-clients-hero::after,
	.dgc-clients-page .dgc-clients-showcase::before,
	.dgc-clients-page .dgc-clients-showcase::after,
	.dgc-clients-page .dgc-clients-cta::before,
	.dgc-clients-page .dgc-clients-cta::after {
		display: none;
	}

	.dgc-clients-page .dgc-clients-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.dgc-clients-page .dgc-client-card,
	.dgc-clients-page .dgc-client-card > a,
	.dgc-clients-page .dgc-client-card__inner {
		min-height: 118px;
	}

	.dgc-clients-page .dgc-client-card > a,
	.dgc-clients-page .dgc-client-card__inner {
		padding: 20px 14px;
	}

	.dgc-clients-page .dgc-client-card img {
		max-height: 64px;
	}

	.dgc-clients-page .dgc-clients-cta {
		background-image: linear-gradient(135deg, rgba(129, 201, 48, .12), transparent 42%);
	}
}

/* Thin inner-page hero standard. */
@media (min-width: 1025px) {
	.dgc-clients-page :is(.dgc-clients-hero, .elementor-element-9302625) {
		min-height: 320px !important;
		height: auto !important;
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	.dgc-clients-page .elementor-element-57d0972 {
		max-width: 760px;
	}
}

/* Shared hero rhythm: one desktop height across the selected company pages. */
@media (min-width: 1025px) {
	.dgc-clients-page :is(.dgc-clients-hero, .elementor-element-9302625) {
		min-height: 320px !important;
		height: auto !important;
		box-sizing: border-box;
		padding-top: 28px !important;
		padding-bottom: 28px !important;
	}

	.dgc-clients-page :is(.dgc-clients-hero, .elementor-element-9302625) > .e-con-inner {
		min-height: 264px !important;
		height: auto !important;
		justify-content: center !important;
	}

	/* Elementor 4 renders this hero through a boxed child container. */
	.dgc-clients-page .elementor-element-9302625 > .elementor-element-2170f23,
	.dgc-clients-page .elementor-element-9302625 > .elementor-element-2170f23 > .e-con-inner {
		min-height: 264px !important;
		height: auto !important;
	}

	.dgc-clients-page .elementor-element-9302625 > .elementor-element-2170f23 > .e-con-inner {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dgc-clients-page .dgc-client-card {
		transition: none;
	}
}

/* Bind page artwork to Elementor 4's stable generated section IDs. */
.dgc-clients-page .elementor-element-9302625,
.dgc-clients-page .elementor-element-3800007,
.dgc-clients-page .elementor-element-bdfda87 {
	position: relative;
	overflow: hidden;
}

.dgc-clients-page .elementor-element-9302625::before,
.dgc-clients-page .elementor-element-9302625::after,
.dgc-clients-page .elementor-element-3800007::before,
.dgc-clients-page .elementor-element-3800007::after,
.dgc-clients-page .elementor-element-bdfda87::before,
.dgc-clients-page .elementor-element-bdfda87::after {
	content: "";
	position: absolute;
	pointer-events: none;
}

.dgc-clients-page .elementor-element-9302625::before {
	inset: 0 auto 0 0;
	width: min(32vw, 540px);
	background:
		radial-gradient(circle, rgba(129, 201, 48, .24) 1.6px, transparent 1.8px) 0 0 / 18px 18px,
		linear-gradient(120deg, rgba(129, 201, 48, .2), transparent 72%);
	-webkit-mask-image: linear-gradient(90deg, #000, transparent);
	mask-image: linear-gradient(90deg, #000, transparent);
}

.dgc-clients-page .elementor-element-9302625::after {
	right: 7vw;
	top: 50%;
	width: 190px;
	aspect-ratio: 1;
	border: 3px solid rgba(76, 193, 228, .32);
	transform: translateY(-50%) rotate(16deg);
}

.dgc-clients-page .elementor-element-3800007::before,
.dgc-clients-page .elementor-element-3800007::after {
	width: 360px;
	height: 520px;
	background-size: 19px 19px, 100% 100%;
	background-repeat: repeat, no-repeat;
}

.dgc-clients-page .elementor-element-3800007::before {
	left: -128px;
	top: 170px;
	background-image:
		radial-gradient(circle, rgba(76, 193, 228, .34) 1.8px, transparent 2px),
		radial-gradient(circle at 44% 28%, transparent 0 86px, rgba(76, 193, 228, .18) 87px 89px, transparent 90px);
	-webkit-mask-image: linear-gradient(90deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
	mask-image: linear-gradient(90deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
}

.dgc-clients-page .elementor-element-3800007::after {
	right: -132px;
	bottom: 150px;
	background-image:
		radial-gradient(circle, rgba(248, 120, 25, .31) 1.8px, transparent 2px),
		linear-gradient(45deg, transparent 41%, rgba(129, 201, 48, .14) 41.5% 42.5%, transparent 43%),
		linear-gradient(-45deg, transparent 41%, rgba(129, 201, 48, .14) 41.5% 42.5%, transparent 43%);
	background-size: 19px 19px, 220px 220px, 220px 220px;
	background-position: 0 0, 54px 92px, 54px 92px;
	-webkit-mask-image: linear-gradient(270deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
	mask-image: linear-gradient(270deg, #000 18%, rgba(0,0,0,.82) 42%, transparent 92%);
}

.dgc-clients-page .elementor-element-bdfda87 {
	background-image:
		linear-gradient(112deg, rgba(129, 201, 48, .17), transparent 31%),
		linear-gradient(292deg, rgba(248, 120, 25, .17), transparent 28%);
}

.dgc-clients-page .elementor-element-bdfda87::before {
	left: -88px;
	top: 50%;
	width: 260px;
	aspect-ratio: 1;
	border: 16px solid rgba(255,255,255,.18);
	border-radius: 50%;
	transform: translateY(-50%);
	box-shadow: 0 0 0 34px rgba(129, 201, 48, .10), 0 0 0 68px rgba(255, 255, 255, .055);
}

.dgc-clients-page .elementor-element-bdfda87::after {
	right: 3.5vw;
	top: 50%;
	width: 150px;
	aspect-ratio: 1;
	border: 10px solid rgba(255,255,255,.20);
	transform: translateY(-50%) rotate(13deg);
	background-image: radial-gradient(circle, rgba(248, 120, 25, .38) 1.6px, transparent 1.8px);
	background-size: 15px 15px;
	box-shadow: 34px -28px 0 -18px rgba(129, 201, 48, .25);
}

.dgc-clients-page .elementor-element-9302625 > *,
.dgc-clients-page .elementor-element-3800007 > *,
.dgc-clients-page .elementor-element-bdfda87 > * {
	position: relative;
	z-index: 2;
}

@media (max-width: 1024px) {
	.dgc-clients-page .elementor-element-3800007::before,
	.dgc-clients-page .elementor-element-3800007::after {
		width: 260px;
		height: 420px;
		opacity: .72;
	}
}

@media (max-width: 767px) {
	.dgc-clients-page .elementor-element-9302625::before,
	.dgc-clients-page .elementor-element-9302625::after,
	.dgc-clients-page .elementor-element-3800007::before,
	.dgc-clients-page .elementor-element-3800007::after,
	.dgc-clients-page .elementor-element-bdfda87::before,
	.dgc-clients-page .elementor-element-bdfda87::after {
		display: none;
	}
}
