.elementor-element.elementor-element-ae9f53f,
.elementor-element.gtech-cta {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* Homepage engineering CTA: mirror the approved HTML gradient even when
 * Elementor's optional custom CSS classes are regenerated or removed. */
.elementor-39 .elementor-element.elementor-element-ae9f53f {
	background-color: #06132c !important;
	background-image: linear-gradient(105deg, #071733 0%, #0a3564 61%, #0785a8 100%) !important;
}

.elementor-element.elementor-element-ae9f53f > .gtech-cta-artwork,
.elementor-element.gtech-cta > .gtech-cta-artwork {
	position: absolute;
	z-index: 1;
	top: -76px;
	right: 0;
	width: 560px;
	height: 470px;
	max-width: none;
	object-fit: contain;
	filter: none;
	opacity: 0.22;
	pointer-events: none;
}

/* Background-based CTA line art used by About, Leadership, Careers and the
 * related internal pages.  Match the large, intentionally cropped HTML art. */
.elementor-element.gtech-common-line-cta {
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

/* Native Elementor CTAs that predate the shared semantic class. Their image
 * files include generous transparent canvas, so `contain` makes the visible
 * drawing look undersized. Use the same cropped geometry as the approved CTA. */
:is(
	.elementor-element-10999dd,
	.elementor-element-4e8e839,
	.elementor-element-e32d0f3,
	.elementor-element-86b07f1,
	.elementor-element-a3f2f98,
	.elementor-element-f9a2669
) {
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

/* Benefits keeps its artwork in Elementor's background-overlay pseudo-layer. */
.elementor-element-e32d0f3::before {
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

/* About G-TECH uses the same CTA geometry but predates the shared class. */
.elementor-457 .elementor-element.elementor-element-176f6ee {
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

.elementor-element.elementor-element-ae9f53f > .elementor-element,
.elementor-element.gtech-cta > .elementor-element {
	position: relative;
	z-index: 2;
}

/* Shared page CTA artwork matches the approved HTML geometry.  The homepage
 * keeps its smaller, page-specific globe treatment above. */
.elementor-element.gtech-cta > .gtech-cta-artwork {
	top: -210px;
	right: -150px;
	width: 867px;
	height: 700px;
	opacity: .2;
}

.elementor-39 .elementor-element.elementor-element-b9822d2 .elementor-button {
	font-size: 14px;
}

/* Shared interactive state for Elementor buttons. This covers hero, CTA and
 * content buttons even when an individual widget has no Hover style set. */
.elementor-page .elementor-button {
	transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s ease;
}

.elementor-page .elementor-button:hover,
.elementor-page .elementor-button:focus-visible {
	background-color: #2563eb !important;
	border-color: #2563eb !important;
	color: #ffffff !important;
	box-shadow: 0 8px 20px rgba(6, 19, 44, .18);
	transform: translateY(-2px);
}

.elementor-page .elementor-button:hover .elementor-button-text,
.elementor-page .elementor-button:focus-visible .elementor-button-text,
.elementor-page .elementor-button:hover .elementor-button-icon,
.elementor-page .elementor-button:focus-visible .elementor-button-icon {
	color: #ffffff !important;
}

/* Contact details are text actions even though Elementor renders them as buttons. */
body.page-id-500 :is(.elementor-element-cb7c84d, .elementor-element-cd45228, .elementor-element-55a360f) .elementor-button:is(:hover, :focus-visible) {
	background-color: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #2563eb !important;
	fill: #2563eb !important;
	transform: none !important;
}

body.page-id-500 :is(.elementor-element-cb7c84d, .elementor-element-cd45228, .elementor-element-55a360f) .elementor-button:is(:hover, :focus-visible) :is(.elementor-button-text, .elementor-button-icon, svg, path) {
	color: #2563eb !important;
	fill: currentColor !important;
}

/* Editorial text actions are links, not filled CTA buttons. On hover only
 * their text color changes. */
a.elementor-button[href*="/insights/blog/"]:hover,
a.elementor-button[href*="/insights/blog/"]:focus-visible,
a.elementor-button[href*="/insights/case-study/"]:hover,
a.elementor-button[href*="/insights/case-study/"]:focus-visible,
.blog-related-card a:hover,
.blog-related-card a:focus-visible {
	background: transparent !important;
	border-color: transparent !important;
	box-shadow: none !important;
	color: #071a3d !important;
	transform: none !important;
}

a.elementor-button[href*="/insights/blog/"]:hover :is(.elementor-button-text, .elementor-button-icon),
a.elementor-button[href*="/insights/blog/"]:focus-visible :is(.elementor-button-text, .elementor-button-icon),
a.elementor-button[href*="/insights/case-study/"]:hover :is(.elementor-button-text, .elementor-button-icon),
a.elementor-button[href*="/insights/case-study/"]:focus-visible :is(.elementor-button-text, .elementor-button-icon) {
	color: #071a3d !important;
}

.gtech-cta-single-line-button .elementor-button,
.gtech-cta-single-line-button .elementor-button-text {
	white-space: nowrap;
}

/* Keep the Insights CTA at the compact, vertically centered approved size. */
.gtech-native-insights-cta-panel {
	min-height: 330px !important;
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

/* Existing Case Studies markup: keep the approved compact CTA even before
 * Elementor regenerates the page JSON with the semantic panel class above. */
.elementor-page .e-con:has(> .e-con > .gtech-cta-single-line-button) {
	min-height: 330px !important;
	height: 330px !important;
	background-size: 867px 700px !important;
	background-position: calc(100% + 150px) -210px !important;
	background-repeat: no-repeat !important;
}

.elementor-page .e-con:has(> .gtech-cta-single-line-button) {
	align-items: center !important;
}

.elementor-page .e-con:has(> .gtech-cta-single-line-button) > .elementor-widget-heading {
	width: 62% !important;
}

@media (max-width: 767px) {
	.elementor-page .e-con:has(> .e-con > .gtech-cta-single-line-button) {
		min-height: 390px !important;
		height: auto !important;
		background-size: 620px 500px !important;
		background-position: calc(100% + 230px) -80px !important;
	}

	.elementor-page .e-con:has(> .gtech-cta-single-line-button) {
		align-items: flex-start !important;
	}

	.elementor-page .e-con:has(> .gtech-cta-single-line-button) > .elementor-widget-heading {
		width: 100% !important;
	}

	.elementor-element.elementor-element-ae9f53f > .gtech-cta-artwork,
	.elementor-element.gtech-cta > .gtech-cta-artwork {
		top: -35px;
		right: -110px;
		width: 360px;
		height: 360px;
	}

	.elementor-element.gtech-cta > .gtech-cta-artwork {
		top: -80px;
		right: -230px;
		width: 620px;
		height: 500px;
		opacity: .16;
	}

	.elementor-element.gtech-common-line-cta {
		background-size: 620px 500px !important;
		background-position: calc(100% + 230px) -80px !important;
	}

	:is(
		.elementor-element-10999dd,
		.elementor-element-4e8e839,
		.elementor-element-e32d0f3,
		.elementor-element-86b07f1,
		.elementor-element-a3f2f98,
		.elementor-element-f9a2669
	) {
		background-size: 620px 500px !important;
		background-position: calc(100% + 230px) -80px !important;
	}

	.elementor-element-e32d0f3::before {
		background-size: 620px 500px !important;
		background-position: calc(100% + 230px) -80px !important;
	}

	.elementor-457 .elementor-element.elementor-element-176f6ee {
		background-size: 620px 500px !important;
		background-position: calc(100% + 230px) -80px !important;
	}
}

/* Engineering Industry manifesto — parity with industry-engineering.html. */
.elementor-page-362 .elementor-element.elementor-element-560ce49 {
	position: relative;
	isolation: isolate;
	background-color: #f7f9fc !important;
	background-image:
		linear-gradient(rgba(32, 68, 118, .075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(32, 68, 118, .075) 1px, transparent 1px) !important;
	background-size: 58px 58px !important;
}

/* Shared version of the approved manifesto for every Industry page. */
.gtech-industry-manifesto {
	position: relative;
	isolation: isolate;
	background-color: #f7f9fc !important;
	background-image:
		linear-gradient(rgba(32, 68, 118, .075) 1px, transparent 1px),
		linear-gradient(90deg, rgba(32, 68, 118, .075) 1px, transparent 1px) !important;
	background-size: 58px 58px !important;
}
.gtech-industry-manifesto::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background:
		radial-gradient(circle at 0% 48%, rgba(37, 99, 235, .14) 0%, rgba(37, 99, 235, .07) 24%, rgba(37, 99, 235, 0) 54%),
		linear-gradient(90deg, rgba(247,249,252,.92) 0%, rgba(247,249,252,.88) 58%, rgba(247,249,252,.48) 100%);
	pointer-events: none;
}
.gtech-industry-manifesto-shell,
.gtech-industry-manifesto-shell > .e-con-inner { position: relative; z-index: 2; }
.gtech-industry-manifesto-title { width: min(990px, 100%) !important; max-width: 990px !important; align-self: flex-start; }
.gtech-industry-manifesto-title .elementor-heading-title {
	max-width: 990px;
	font-size: 50px !important;
}
.gtech-industry-manifesto-copy { border-top: 0 !important; }
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-heading {
	width: min(990px, 100%) !important;
	max-width: 990px !important;
	align-self: flex-start;
}
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
	max-width: 990px;
	font-size: 50px !important;
}
@media (max-width: 767px) {
	.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-heading .elementor-heading-title {
		font-size: 35px !important;
	}
}
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-divider {
	width: min(930px, 100%) !important;
	max-width: 930px !important;
}
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-divider .elementor-divider-separator { width: 100% !important; }
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-divider .elementor-divider {
	padding-block: 0 !important;
}
.gtech-industry-manifesto-shell > .e-con-inner > .elementor-widget-divider .elementor-divider-separator {
	border-top-width: 1px !important;
}
.gtech-industry-manifesto-copy > .elementor-widget-text-editor {
	flex: 0 0 calc((100% - 55px) / 2) !important;
	width: calc((100% - 55px) / 2) !important;
	max-width: calc((100% - 55px) / 2) !important;
}
.gtech-industry-manifesto > .elementor-element-ggear01 {
	position: absolute; z-index: 1; top: auto; right: -7%; bottom: -15px; width: min(620px, 43vw);
	transform: none; pointer-events: none;
}
@media(max-width:900px){.gtech-industry-manifesto > .elementor-element-ggear01{top:auto;right:-18%;bottom:-35px;width:520px;transform:none;opacity:.48}}
@media(max-width:600px){.gtech-industry-manifesto > .elementor-element-ggear01{top:auto;right:-150px;bottom:-80px;width:410px;transform:none;opacity:.34}}
@media(max-width:600px){.gtech-industry-manifesto-copy > .elementor-widget-text-editor{flex-basis:100%!important;width:100%!important;max-width:100%!important}}

.elementor-page-362 .elementor-element.elementor-element-560ce49::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 0;
	background: linear-gradient(90deg, rgba(247,249,252,.98) 0%, rgba(247,249,252,.94) 58%, rgba(247,249,252,.48) 100%);
	pointer-events: none;
}

.elementor-page-362 .elementor-element.elementor-element-ggear01 {
	position: absolute;
	z-index: 1;
	top: auto;
	right: -7%;
	bottom: -15px;
	width: min(620px, 43vw);
	transform: none;
	pointer-events: none;
}

.elementor-page-362 .gtech-industry-manifesto-gears {
	display: block;
	width: 100%;
	height: auto;
	mix-blend-mode: multiply;
	opacity: .58;
}

.elementor-page-362 .elementor-element.elementor-element-9566572,
.elementor-page-362 .elementor-element.elementor-element-9566572 > .e-con-inner {
	position: relative;
	z-index: 2;
}

.elementor-page-362 .elementor-element.elementor-element-1ab4839 {
	width: min(990px, 100%) !important;
	max-width: 990px !important;
	align-self: flex-start;
}

.elementor-page-362 .elementor-element.elementor-element-1ab4839 .elementor-heading-title {
	max-width: 990px;
}

.elementor-page-362 .elementor-element.elementor-element-c1f8fb3 {
	border-top: 0 !important;
}

@media (max-width: 900px) {
	.elementor-page-362 .elementor-element.elementor-element-ggear01 {
		top: auto;
		right: -18%;
		bottom: -35px;
		width: 520px;
		transform: none;
		opacity: .48;
	}
}

@media (max-width: 600px) {
	.elementor-page-362 .elementor-element.elementor-element-ggear01 {
		top: auto;
		right: -150px;
		bottom: -80px;
		width: 410px;
		transform: none;
		opacity: .34;
	}
}
