/* ==========================================================================
   About Us page (page 82) — polish layer.
   Loaded only on /about/ (cg_about_page_assets() in functions.php).
   Selectors use `body.page-id-82 .elementor-element.elementor-element-{id}`
   (0,3,1) so they win over Elementor's generated post-82.css (0,3,0)
   regardless of stylesheet order. Classes prefixed .cgab- are added by
   about.js; everything reads correctly without JS.
   ========================================================================== */

body.page-id-82 {
	--cgab-accent: var(--e-global-color-accent, #1B3FA0);
	--cgab-accent-soft: #E9EEFB;
	--cgab-ink: #0C1825;
	--cgab-line: #E3E7EC;
	--cgab-ease: cubic-bezier(.2, .7, .2, 1);
}

@media (prefers-reduced-motion: no-preference) {
	html:has(body.page-id-82) { scroll-behavior: smooth; }
}
body.page-id-82 [id] { scroll-margin-top: 110px; }

/* ── Scroll reveal (about.js marks below-the-fold elements with .cgab-rv) ── */
.cgab-js .cgab-rv:not(.is-in) { opacity: 0; }
.cgab-js .cgab-rv.is-in {
	/* `backwards`, not `both`: once finished the element falls back to its
	   normal styles, so existing hover transforms on cards keep working. */
	animation: cgab-rise .8s var(--cgab-ease) backwards;
	animation-delay: var(--cgab-d, 0ms);
}
@keyframes cgab-rise {
	from { opacity: 0; transform: translateY(22px); }
	to   { opacity: 1; transform: none; }
}

/* ── Shared alignment ─────────────────────────────────────────────────── */
/* Sections whose content sat directly in the 1200px box started at +10px,
   while two-column sections (hero, Who We Are, Our People, Facility)
   started at +20px. Normalise every section to the +20px edge, and strip
   the extra inner padding from the grids nested inside them. */
body.page-id-82 :is(.elementor-element-d6fc7b6, .elementor-element-dc9596f, .elementor-element-355c67f, .elementor-element-04df08c, .elementor-element-97effd0, .elementor-element-6b39ba6, .elementor-element-dc4aa4d, .elementor-element-c23349a).elementor-element {
	--padding-left: 20px;
	--padding-right: 20px;
}
body.page-id-82 :is(.elementor-element-fbed610, .elementor-element-72261b2, .elementor-element-0715179, .elementor-element-0b348f7, .elementor-element-93015b8).elementor-element {
	--padding-left: 0px;
	--padding-right: 0px;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con { --padding-left: 0px; }

/* Consecutive paragraphs inside one text widget had no gap between them. */
body.page-id-82 .elementor-widget-text-editor p { margin-block: 0; }
body.page-id-82 .elementor-widget-text-editor p + p { margin-top: 1em; }

/* ── 1. Hero — precision-engineering treatment ────────────────────────── */
/* Drafting grid + soft glow on deep navy; the machining photo bleeds
   full-height off the right edge and dissolves into the navy; an
   engineering overlay (the cgab0hud HTML widget) annotates it. */
body.page-id-82 {
	--cgab-navy: #07111F;
	--cgab-ice: #9DB8FF;
	--cgab-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
body.page-id-82 .elementor-element.elementor-element-cf197d9 {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	min-height: 660px;
	justify-content: center;
	background-color: var(--cgab-navy) !important;
	background-image:
		radial-gradient(760px 520px at 12% 38%, rgba(59, 99, 214, .24), rgba(59, 99, 214, 0) 70%),
		linear-gradient(rgba(157, 184, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, .05) 1px, transparent 1px) !important;
	background-size: auto, 56px 56px, 56px 56px !important;
	background-position: 0 0, -1px -1px, -1px -1px !important;
}
/* Let the photo column position against the full-bleed hero, not the 1200px box. */
body.page-id-82 .elementor-element.elementor-element-14ef9f7 { position: static; }
body.page-id-82 .elementor-element.elementor-element-e72cb90 {
	position: relative;
	z-index: 3;
	--width: 56%;
}

/* Drafting registration marks framing the copy. */
body.page-id-82 .elementor-element.elementor-element-e72cb90::before,
body.page-id-82 .elementor-element.elementor-element-e72cb90::after {
	content: "";
	position: absolute;
	left: -26px;
	width: 16px;
	height: 16px;
	border: 0 solid rgba(157, 184, 255, .45);
	pointer-events: none;
}
body.page-id-82 .elementor-element.elementor-element-e72cb90::before { top: -22px; border-top-width: 1px; border-left-width: 1px; }
body.page-id-82 .elementor-element.elementor-element-e72cb90::after { bottom: -22px; border-bottom-width: 1px; border-left-width: 1px; }

/* Eyebrow → monospace spec label with a leader rule. */
body.page-id-82 .elementor-element.elementor-element-9ecbaa9 .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	font-family: var(--cgab-mono) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
	letter-spacing: .2em !important;
}
body.page-id-82 .elementor-element.elementor-element-9ecbaa9 .elementor-heading-title::before {
	content: "";
	width: 36px;
	height: 1px;
	background: currentColor;
}
body.page-id-82 .elementor-element.elementor-element-81c5988 .elementor-heading-title { text-wrap: balance; }
body.page-id-82 .cgab-hl {
	background: linear-gradient(92deg, #9DB8FF 0%, #DCE7FF 55%, #9DB8FF 100%);
	-webkit-background-clip: text;
	        background-clip: text;
	color: transparent;
}
body.page-id-82 .elementor-element.elementor-element-adedbc5 {
	color: #B4C1D4 !important;
	font-size: 17px;
	line-height: 1.7;
}
body.page-id-82 .elementor-element.elementor-element-52627d1 {
	margin-top: 38px;
	--padding-left: 0px;
	--padding-right: 0px;
}

/* Buttons: squarer, with directional arrows. */
body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button {
	border-radius: 6px !important;
	padding: 17px 26px !important;
	letter-spacing: .08em;
	transition: background-color .25s ease, border-color .25s ease, color .25s ease, box-shadow .25s ease;
}
body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}
body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button-content-wrapper::after {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: var(--cgab-arrow) center / contain no-repeat;
	        mask: var(--cgab-arrow) center / contain no-repeat;
	transition: transform .3s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-a83e4c7 {
	--cgab-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 5v14M5 12l7 7 7-7'/%3E%3C/svg%3E");
}
body.page-id-82 .elementor-element.elementor-element-0e2c225 {
	--cgab-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
}
body.page-id-82 .elementor-element.elementor-element-a83e4c7 .elementor-button {
	box-shadow: 0 10px 30px -10px rgba(59, 99, 214, .8);
}
body.page-id-82 .elementor-element.elementor-element-a83e4c7 .elementor-button:hover { background-color: #2A52C4 !important; }
body.page-id-82 .elementor-element.elementor-element-a83e4c7 .elementor-button:hover .elementor-button-content-wrapper::after { transform: translateY(3px); }
body.page-id-82 .elementor-element.elementor-element-0e2c225 .elementor-button {
	border-color: rgba(157, 184, 255, .3) !important;
	background: rgba(255, 255, 255, .02) !important;
}
body.page-id-82 .elementor-element.elementor-element-0e2c225 .elementor-button:hover {
	border-color: rgba(157, 184, 255, .7) !important;
	background: rgba(157, 184, 255, .08) !important;
}
body.page-id-82 .elementor-element.elementor-element-0e2c225 .elementor-button:hover .elementor-button-content-wrapper::after { transform: translateX(3px); }

/* Full-bleed photo. */
body.page-id-82 .elementor-element.elementor-element-9eb2a09 {
	position: absolute !important;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
	width: 52% !important;
	max-width: none;
	margin: 0 !important;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
}
body.page-id-82 .elementor-element.elementor-element-8c768cd {
	position: absolute;
	inset: 0;
	margin: 0;
}
body.page-id-82 .elementor-element.elementor-element-8c768cd img {
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 62% 50%;
	border-radius: 0 !important;
}
/* Dissolve the photo into the navy on the left and bottom. */
body.page-id-82 .elementor-element.elementor-element-9eb2a09::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(90deg, var(--cgab-navy) 0%, rgba(7, 17, 31, .82) 18%, rgba(7, 17, 31, .25) 48%, rgba(7, 17, 31, .05) 100%),
		linear-gradient(0deg, var(--cgab-navy) 0%, rgba(7, 17, 31, 0) 32%),
		linear-gradient(180deg, rgba(7, 17, 31, .55) 0%, rgba(7, 17, 31, 0) 22%);
}
/* A slow inspection "scan" sweeping the photo. */
body.page-id-82 .elementor-element.elementor-element-9eb2a09::before {
	content: "";
	position: absolute;
	top: 8%;
	bottom: 14%;
	left: 40%;
	z-index: 2;
	width: 1px;
	pointer-events: none;
	background: linear-gradient(180deg, transparent, rgba(157, 184, 255, .85) 30%, rgba(157, 184, 255, .85) 70%, transparent);
	box-shadow: 0 0 18px 2px rgba(157, 184, 255, .35);
	opacity: .55;
	animation: cgab-scan 9s ease-in-out infinite alternate;
}
@keyframes cgab-scan {
	from { left: 38%; }
	to   { left: 94%; }
}

/* Engineering overlay: an Elementor container (.cgab-hud) whose labels are
   ordinary Heading widgets (CSS classes cgab-hud__tag / __dim / __coord /
   __coord-sub), so the text is edited in Elementor. The reticle is drawn
   here on the container's pseudo-elements. */
body.page-id-82 .elementor-element.elementor-element-cgab0hud { position: absolute; inset: 0; z-index: 3; margin: 0; }
body.page-id-82 .cgab-hud.e-con {
	position: absolute !important;
	inset: 0;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	pointer-events: none;
	font-family: var(--cgab-mono);
	color: #D5E2FF;
	text-transform: uppercase;
}
body.page-id-82 .cgab-hud .elementor-heading-title {
	margin: 0;
	font: inherit !important;
	letter-spacing: inherit !important;
	text-transform: inherit !important;
	color: inherit !important;
	white-space: nowrap;
}
/* Rotating dashed outer ring */
body.page-id-82 .cgab-hud.e-con::before {
	content: "" !important;
	position: absolute !important;
	left: 66% !important;
	top: 58% !important;
	width: 184px !important;
	height: 184px !important;
	inset: auto;
	border: 1px dashed rgba(157, 184, 255, .7) !important;
	border-radius: 50% !important;
	background: none !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	transform: translate(-50%, -50%);
	animation: cgab-spin 40s linear infinite;
}
/* Inner circle, crosshair ticks, centre dot */
body.page-id-82 .cgab-hud.e-con::after {
	content: "" !important;
	position: absolute;
	left: 66%;
	top: 58%;
	width: 200px;
	height: 200px;
	transform: translate(-50%, -50%);
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200' fill='none' stroke='rgba(157,184,255,0.7)' stroke-width='1'%3E%3Ccircle cx='100' cy='100' r='64'/%3E%3Cpath d='M100 0v28M100 172v28M0 100h28M172 100h28'/%3E%3Ccircle cx='100' cy='100' r='3' fill='%239DB8FF' stroke='none'/%3E%3C/svg%3E") center / contain no-repeat;
}
@keyframes cgab-spin {
	from { transform: translate(-50%, -50%) rotate(0); }
	to   { transform: translate(-50%, -50%) rotate(360deg); }
}
/* Sits up-left of the reticle so it never runs off the right edge. */
.cgab-hud__tag {
	position: absolute;
	right: calc(34% + 72px);
	top: calc(58% - 128px);
	padding: 7px 12px 7px 14px;
	font-size: 11px;
	letter-spacing: .18em;
	white-space: nowrap;
	background: rgba(7, 17, 31, .62);
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
	border: 1px solid rgba(157, 184, 255, .3);
	border-right: 2px solid #9DB8FF;
}
/* Leader from the tag down to the reticle. */
.cgab-hud__tag::before {
	content: "";
	position: absolute;
	left: 100%;
	top: 100%;
	width: 52px;
	height: 1px;
	background: rgba(157, 184, 255, .6);
	transform-origin: 0 0;
	transform: rotate(42deg);
}
/* Dimension line under the part. */
.cgab-hud__dim {
	position: absolute;
	left: calc(66% - 95px);
	width: 190px;
	top: calc(58% + 120px);
	padding-top: 10px;
	font-size: 10px;
	letter-spacing: .2em;
	text-align: center;
	color: rgba(213, 226, 255, .8);
}
/* Dimension line with end ticks */
.cgab-hud__dim::before {
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	right: 0;
	height: 11px;
	background:
		linear-gradient(rgba(157, 184, 255, .6), rgba(157, 184, 255, .6)) center / 100% 1px no-repeat,
		linear-gradient(rgba(157, 184, 255, .8), rgba(157, 184, 255, .8)) left / 1px 100% no-repeat,
		linear-gradient(rgba(157, 184, 255, .8), rgba(157, 184, 255, .8)) right / 1px 100% no-repeat;
}
.cgab-hud__dim .elementor-heading-title { white-space: normal; }
.cgab-hud__coord,
.cgab-hud__coord-sub {
	position: absolute;
	right: max(40px, calc((100vw - 1200px) / 2 - 40px));
	text-align: right;
	line-height: 1.6;
}
.cgab-hud__coord { bottom: 58px; font-size: 12px; letter-spacing: .16em; }
.cgab-hud__coord-sub { bottom: 40px; font-size: 10px; letter-spacing: .22em; color: rgba(213, 226, 255, .6); }

/* ── 1b. Stats band — continues the hero, read like a caliper scale ──── */
body.page-id-82 .elementor-element.elementor-element-0f5bf2a { background-color: var(--cgab-navy) !important; }
body.page-id-82 .elementor-element.elementor-element-a7e8844 {
	counter-reset: cgab-stat;
	--gap: 0px 0px;
	--column-gap: 0px;
	--row-gap: 0px;
	border-top: 1px solid rgba(157, 184, 255, .16);
	margin-top: 0 !important;
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con {
	--width: 25%;
	position: relative;
	align-items: flex-start !important;
	text-align: left !important;
	--padding-top: 34px;
	--padding-bottom: 46px;
	--padding-left: 28px;
	--padding-right: 28px;
	border-left: 1px solid rgba(157, 184, 255, .12) !important;
	counter-increment: cgab-stat;
	transition: background-color .35s ease, box-shadow .35s ease;
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:first-child {
	border-left: 0 !important;
	--padding-left: 20px;
}
/* Index: 01 — 04. Elementor draws a container's configured border on its
   ::before (absolutely positioned, full size) — that was the bright white
   divider — so it's reset into an in-flow label here, border removed. */
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con::before {
	content: counter(cgab-stat, decimal-leading-zero) !important;
	position: static !important;
	inset: auto !important;
	display: block;
	width: auto !important;
	height: auto !important;
	border: 0 !important;
	background: none !important;
	opacity: 1 !important;
	mix-blend-mode: normal !important;
	margin-bottom: 18px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .2em;
	color: #6E86B8;
}
/* Caliper scale along the base of each cell. */
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con::after {
	content: "";
	position: absolute;
	left: var(--padding-left);
	right: 28px;
	bottom: 0;
	height: 14px;
	background:
		repeating-linear-gradient(90deg, rgba(157, 184, 255, .38) 0 1px, transparent 1px 40px) bottom / 100% 14px no-repeat,
		repeating-linear-gradient(90deg, rgba(157, 184, 255, .18) 0 1px, transparent 1px 8px) bottom / 100% 6px no-repeat;
	transition: opacity .35s ease;
	opacity: .8;
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:hover {
	background-color: rgba(59, 99, 214, .08);
	box-shadow: inset 0 2px 0 #3B63D6;
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:hover::after { opacity: 1; }
body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-heading-title {
	color: #F4F7FC !important;
	font-size: clamp(40px, 4vw, 64px) !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	letter-spacing: -.04em !important;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}
body.page-id-82 .cgab-sfx {
	margin-left: .06em;
	font-size: .45em;
	vertical-align: top;
	position: relative;
	top: .12em;
	letter-spacing: 0;
	color: var(--cgab-ice);
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-widget-text-editor {
	margin-top: 14px !important;
	color: #9FB0C8 !important;
	text-align: left;
}
body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-widget-text-editor p {
	margin: 0;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: .01em;
}

/* Section after the band needs its own top breathing room again. */
body.page-id-82 .elementor-element.elementor-element-6303ca4 { --padding-top: 110px; }

/* ── 1c. Hero intro choreography (class set in <head>, so no flash) ──── */
.cgab-intro body.page-id-82 :is(.elementor-element-9ecbaa9, .elementor-element-81c5988, .elementor-element-adedbc5, .elementor-element-52627d1) {
	animation: cgab-rise .9s var(--cgab-ease) both;
}
.cgab-intro body.page-id-82 .elementor-element-81c5988 { animation-delay: .1s; }
.cgab-intro body.page-id-82 .elementor-element-adedbc5 { animation-delay: .22s; }
.cgab-intro body.page-id-82 .elementor-element-52627d1 { animation-delay: .34s; }
.cgab-intro body.page-id-82 .elementor-element-8c768cd img { animation: cgab-zoom 1.8s var(--cgab-ease) both; }
.cgab-intro body.page-id-82 .cgab-hud { animation: cgab-fade 1s ease both .9s; }
.cgab-intro body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con { animation: cgab-rise .9s var(--cgab-ease) both; }
.cgab-intro body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:nth-child(2) { animation-delay: .08s; }
.cgab-intro body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:nth-child(3) { animation-delay: .16s; }
.cgab-intro body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:nth-child(4) { animation-delay: .24s; }
@keyframes cgab-zoom {
	from { opacity: 0; transform: scale(1.1); }
	to   { opacity: 1; transform: scale(1); }
}
@keyframes cgab-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) {
	body.page-id-82 .elementor-element.elementor-element-9eb2a09::before { animation: none; display: none; }
	body.page-id-82 .cgab-hud.e-con::before { animation: none; }
}

/* ── Hero + band: tablet / mobile ─────────────────────────────────────── */
@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-cf197d9 { min-height: 0; }
	body.page-id-82 .elementor-element.elementor-element-e72cb90 { --width: 62%; }
	body.page-id-82 .elementor-element.elementor-element-9eb2a09 { width: 48% !important; }
	.cgab-hud__tag, .cgab-hud__dim { display: none; }
	body.page-id-82 .cgab-hud.e-con::before { width: 136px !important; height: 136px !important; }
	body.page-id-82 .cgab-hud.e-con::after { width: 148px; height: 148px; }
}
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-e72cb90 { --width: 100%; }
	body.page-id-82 .elementor-element.elementor-element-e72cb90::before,
	body.page-id-82 .elementor-element.elementor-element-e72cb90::after { display: none; }
	/* Photo drops below the copy as a full-width band. */
	body.page-id-82 .elementor-element.elementor-element-9eb2a09 {
		/* Bleeds past the hero's 24px + inner 10px padding to both screen edges. */
		position: relative !important;
		align-self: stretch;
		width: auto !important;
		height: 300px;
		margin: 32px -34px 0 !important;
	}
	body.page-id-82 .elementor-element.elementor-element-9ecbaa9 .elementor-heading-title {
		font-size: 11px !important;
		letter-spacing: .12em !important;
		gap: 10px;
	}
	body.page-id-82 .elementor-element.elementor-element-9ecbaa9 .elementor-heading-title::before { width: 20px; }
	body.page-id-82 .elementor-element.elementor-element-9eb2a09::after {
		background:
			linear-gradient(180deg, var(--cgab-navy) 0%, rgba(7, 17, 31, 0) 30%),
			linear-gradient(0deg, var(--cgab-navy) 0%, rgba(7, 17, 31, 0) 35%);
	}
	body.page-id-82 .elementor-element.elementor-element-9eb2a09::before { display: none; }
	body.page-id-82 .elementor-element.elementor-element-adedbc5 { font-size: 16px; }

	body.page-id-82 .elementor-element.elementor-element-a7e8844 { flex-wrap: wrap !important; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con {
		--width: 50%;
		--padding-top: 26px;
		--padding-bottom: 36px;
		--padding-left: 18px;
		--padding-right: 12px;
	}
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:nth-child(odd) { border-left: 0 !important; --padding-left: 0px; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con:nth-child(n+3) { border-top: 1px solid rgba(157, 184, 255, .12) !important; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con::after { right: 12px; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-heading-title { font-size: 40px !important; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-widget-text-editor p { font-size: 13px; }
	body.page-id-82 .elementor-element.elementor-element-6303ca4 { --padding-top: 72px; }
}

/* ── 2. Who we are ────────────────────────────────────────────────────── */
body.page-id-82 .elementor-element.elementor-element-066380c img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: 0 24px 48px -24px rgba(12, 24, 37, .35);
}
/* Location caption → pin chip */
body.page-id-82 .elementor-element.elementor-element-eccd60d p {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 6px 0 0;
	padding: 7px 14px 7px 12px;
	border-radius: 999px;
	background: var(--cgab-accent-soft);
	color: var(--cgab-accent);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .01em;
}
body.page-id-82 .elementor-element.elementor-element-eccd60d p::before {
	content: "";
	width: 14px;
	height: 14px;
	flex: none;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ── 3. Timeline ──────────────────────────────────────────────────────── */
/* The per-column connector segments were drawn at top:7px while the dots
   sit ~18px down, and spanned column midpoints rather than dot centres.
   They're replaced by one measured track (about.js) that fills on scroll. */
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con::before { display: none !important; }
body.page-id-82 .elementor-element.elementor-element-fbed610 { position: relative; }

.cgab-tl-track {
	position: absolute;
	z-index: 0;
	background: #D5DBE3;
	border-radius: 2px;
	pointer-events: none;
}
.cgab-tl-track--x { height: 2px; }
.cgab-tl-track--y { width: 2px; }
.cgab-tl-fill {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, #3B63D6, var(--cgab-accent));
	border-radius: inherit;
	transform-origin: 0 0;
	transform: scaleX(var(--cgab-p, 0));
}
.cgab-tl-track--y .cgab-tl-fill {
	background: linear-gradient(180deg, #3B63D6, var(--cgab-accent));
	transform: scaleY(var(--cgab-p, 0));
}
body.page-id-82 .cgab-tl-dot {
	position: relative;
	z-index: 1;
	transition: background-color .35s ease, box-shadow .35s ease, transform .35s var(--cgab-ease);
}
body.page-id-82 .cgab-tl-ready .cgab-tl-dot:not(.is-active) {
	background-color: #C3CBD6 !important;
	box-shadow: 0 0 0 5px rgba(12, 24, 37, .05) !important;
	transform: scale(.85);
}
body.page-id-82 .cgab-tl-dot.is-active {
	box-shadow: 0 0 0 6px rgba(27, 63, 160, .16), 0 0 0 12px rgba(27, 63, 160, .06) !important;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con .elementor-heading-title {
	transition: color .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover .elementor-heading-title {
	color: var(--cgab-accent);
}

/* ── 4. Our People — "three generations" panel ────────────────────────── */
/* Native Elementor pieces, identified by CSS classes set in Advanced →
   CSS Classes: .cgab-legacy (container), __photo (Image widget), __card
   (container), __eyebrow / __title (Headings), __gens (row container) of
   __gen containers each holding __gen-title / __gen-sub Headings. */
body.page-id-82 .cgab-legacy.e-con {
	position: relative;
	aspect-ratio: 5 / 4;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	border-radius: 18px;
	overflow: hidden;
	isolation: isolate;
	background: #0B1626;
	box-shadow: 0 30px 60px -30px rgba(12, 24, 37, .5);
}
body.page-id-82 .cgab-legacy .cgab-legacy__photo { position: absolute; inset: 0; margin: 0; }
body.page-id-82 .cgab-legacy .cgab-legacy__photo img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: 60% 45%;
	border-radius: 0;
	transform: scale(1.02);
	transition: transform 1.4s var(--cgab-ease);
}
body.page-id-82 .cgab-legacy:hover .cgab-legacy__photo img { transform: scale(1.07); }
body.page-id-82 .cgab-legacy.e-con::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(8, 16, 30, 0) 30%, rgba(8, 16, 30, .78) 100%),
		linear-gradient(90deg, rgba(27, 63, 160, .25), rgba(27, 63, 160, 0) 60%);
}
body.page-id-82 .cgab-legacy__card.e-con {
	position: absolute;
	left: 22px;
	right: 22px;
	bottom: 22px;
	z-index: 2;
	width: auto;
	--padding-top: 22px;
	--padding-right: 24px;
	--padding-bottom: 20px;
	--padding-left: 24px;
	--gap: 0px;
	border-radius: 14px;
	background: rgba(10, 20, 38, .55);
	-webkit-backdrop-filter: blur(12px) saturate(140%);
	        backdrop-filter: blur(12px) saturate(140%);
	border: 1px solid rgba(255, 255, 255, .14);
	text-align: left;
}
body.page-id-82 .cgab-legacy__card .elementor-heading-title { margin: 0; font-style: normal; }
body.page-id-82 .cgab-legacy__eyebrow .elementor-heading-title {
	font: 600 12px/1.3 Inter, sans-serif !important;
	letter-spacing: .12em !important;
	text-transform: uppercase;
	color: #9DB8FF !important;
}
body.page-id-82 .cgab-legacy__title { margin: 6px 0 18px !important; }
body.page-id-82 .cgab-legacy__title .elementor-heading-title {
	font: 600 22px/1.25 "Space Grotesk", sans-serif !important;
	color: #fff !important;
}
/* Generation markers: dot per step on a track that fills when scrolled in. */
body.page-id-82 .cgab-legacy__gens.e-con {
	position: relative;
	display: grid !important;
	grid-auto-flow: column;
	grid-auto-columns: minmax(0, 1fr);
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 0px;
}
body.page-id-82 .cgab-legacy__gens.e-con::before,
body.page-id-82 .cgab-legacy__gens.e-con::after {
	content: "" !important;
	position: absolute !important;
	top: 5px !important;
	left: 5px !important;
	right: calc(100% / var(--cgab-gens, 3) - 5px) !important;
	bottom: auto !important;
	width: auto !important;
	height: 2px !important;
	border: 0 !important;
	border-radius: 2px;
	opacity: 1 !important;
	background: rgba(255, 255, 255, .22) !important;
}
body.page-id-82 .cgab-legacy__gens.e-con::after {
	background: linear-gradient(90deg, #9DB8FF, #fff) !important;
	transform-origin: 0 50%;
	transition: transform 1.2s var(--cgab-ease) .2s;
}
body.page-id-82 .cgab-legacy__gen.e-con {
	position: relative;
	--padding-top: 22px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--gap: 2px;
}
body.page-id-82 .cgab-legacy__gen.e-con::before {
	content: "" !important;
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 12px !important;
	height: 12px !important;
	border: 0 !important;
	border-radius: 50%;
	opacity: 1 !important;
	background: #fff !important;
	box-shadow: 0 0 0 4px rgba(157, 184, 255, .3);
	transition: transform .4s var(--cgab-ease), opacity .4s ease;
}
body.page-id-82 .cgab-legacy__gen.e-con:nth-child(2)::before { transition-delay: .7s; }
body.page-id-82 .cgab-legacy__gen.e-con:nth-child(3)::before { transition-delay: 1.3s; }
body.page-id-82 .cgab-legacy__card .elementor-widget:not(.cgab-legacy__title) { margin: 0 !important; }
body.page-id-82 .cgab-legacy__gen-title .elementor-heading-title {
	font: 600 18px/1.1 "Space Grotesk", sans-serif !important;
	color: #fff !important;
}
body.page-id-82 .cgab-legacy__gen-sub .elementor-heading-title {
	font: 400 12px/1.4 Inter, sans-serif !important;
	letter-spacing: .04em;
	color: rgba(255, 255, 255, .72) !important;
}
/* Before the panel scrolls into view (JS only): track empty, dots dimmed. */
.cgab-js body.page-id-82 .cgab-legacy:not(.is-in) .cgab-legacy__gens.e-con::after { transform: scaleX(0); }
.cgab-js body.page-id-82 .cgab-legacy:not(.is-in) .cgab-legacy__gen.e-con::before { transform: scale(.4); opacity: .35 !important; }


/* ── 5. Why manufacturers work with us — value cards ──────────────────── */
/* Header left, 2 × 2 value cards right on a light band. Each card: outlined
   numeral + line icon, title and copy pinned to the base; on hover it
   inverts to drafting-grid navy with an accent rule drawn along the base. */
body.page-id-82 .elementor-element.elementor-element-2908451 { background-color: #F4F6F9; }
body.page-id-82 .elementor-element.elementor-element-af9112c { margin: 18px 0 0 !important; }
body.page-id-82 .elementor-element.elementor-element-a4fd7d1 { margin: 26px 0 0 !important; max-width: 440px; }
body.page-id-82 .elementor-element.elementor-element-af9112c .elementor-heading-title { text-wrap: balance; }

body.page-id-82 .elementor-element.elementor-element-72261b2 {
	
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	flex: 1 1 0;
	min-width: 0;
}

/* Card */
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con {
	position: relative;
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-rows: auto 1fr;
	grid-template-areas: "num icon" "body body";
	--width: auto;
	width: auto !important;
	min-height: 290px;
	--padding-top: 30px;
	--padding-right: 30px;
	--padding-bottom: 32px;
	--padding-left: 30px;
	overflow: hidden;
	background-color: #fff;
	background-image:
		linear-gradient(rgba(157, 184, 255, 0) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, 0) 1px, transparent 1px);
	background-size: 28px 28px;
	border: 1px solid #E1E5EB;
	border-radius: 4px;
	transition: background-color .45s ease, border-color .45s ease, box-shadow .45s ease;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con:hover {
	background-color: #0B1626;
	background-image:
		linear-gradient(rgba(157, 184, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, .06) 1px, transparent 1px);
	border-color: #0B1626;
	box-shadow: 0 30px 60px -30px rgba(7, 17, 31, .6);
}
/* Accent rule along the base (Elementor's ::before, repurposed). */
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con::before {
	content: "" !important;
	position: absolute !important;
	inset: auto 0 0 0 !important;
	width: auto !important;
	height: 3px !important;
	border: 0 !important;
	opacity: 1 !important;
	background: linear-gradient(90deg, #3B63D6, #9DB8FF) !important;
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform .6s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con:hover::before { transform: scaleX(1); }
/* Icon: an Elementor Icon widget in each card (CSS class cgab-why__icon), so
   the symbol is chosen in the editor; styled here as a line icon in a ring. */
body.page-id-82 .elementor-element-72261b2 .cgab-why__icon {
	grid-area: icon;
	align-self: start;
	margin: 0 !important;
}
body.page-id-82 .elementor-element-72261b2 .cgab-why__icon .elementor-icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid #D5DCE6;
	font-size: 18px;
	color: var(--cgab-accent);
	fill: var(--cgab-accent);
	transition: border-color .45s ease, color .45s ease, fill .45s ease, transform .6s var(--cgab-ease);
}
body.page-id-82 .elementor-element-72261b2 .cgab-why__icon .elementor-icon svg { width: 18px; height: 18px; fill: currentColor; }
body.page-id-82 .elementor-element-72261b2 > .e-con:hover .cgab-why__icon .elementor-icon {
	border-color: rgba(157, 184, 255, .4);
	color: #9DB8FF;
	fill: #9DB8FF;
	transform: rotate(-8deg);
}

/* Numeral */
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:first-child {
	grid-area: num;
	--width: auto;
	width: auto !important;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:first-child .elementor-heading-title {
	font-size: 58px !important;
	letter-spacing: -.03em;
	transition: -webkit-text-stroke-color .45s ease;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con:hover > .e-con:first-child .elementor-widget-heading {
	-webkit-text-stroke-color: #9DB8FF !important;
}
/* Title + copy, pinned to the card base */
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:not(:first-child) {
	grid-area: body;
	align-self: end;
	margin-top: 40px;
	--padding-top: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--padding-right: 0px;
	--gap: 10px 10px;
	--row-gap: 10px;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:not(:first-child) .elementor-heading-title {
	font-size: 21px !important;
	line-height: 1.25 !important;
	letter-spacing: -.01em;
	transition: color .45s ease;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:not(:first-child) .elementor-widget-text-editor {
	margin: 0 !important;
	font-size: 15px;
	line-height: 1.6;
	transition: color .45s ease;
}
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con:hover > .e-con:not(:first-child) .elementor-heading-title { color: #fff !important; }
body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con:hover > .e-con:not(:first-child) .elementor-widget-text-editor { color: #AFC0D6 !important; }

@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-a4fd7d1 { margin-top: 20px !important; max-width: 640px; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 { margin-top: 40px; }
}
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-72261b2 { grid-template-columns: minmax(0, 1fr); gap: 12px; margin-top: 32px; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con {
		min-height: 0;
		--padding-top: 22px;
		--padding-right: 22px;
		--padding-bottom: 24px;
		--padding-left: 22px;
	}
	body.page-id-82 .elementor-element-72261b2 .cgab-why__icon .elementor-icon { width: 42px; height: 42px; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:first-child .elementor-heading-title { font-size: 42px !important; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:not(:first-child) { margin-top: 22px; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con > .e-con:not(:first-child) .elementor-heading-title { font-size: 19px !important; }
}

/* ── 6. What we manufacture — product catalogue ───────────────────────── */
/* Header split into two columns (title left; intro + "Explore all"
   right), then a 4 × 2 catalogue of indexed cards. Below 768px the grid
   becomes a swipeable, snap-scrolling slider with controls (about.js). */
body.page-id-82 .elementor-element.elementor-element-77ddb8b { margin: 18px 0 0 !important; }
body.page-id-82 .elementor-element.elementor-element-412e9fc { margin: 0 !important; }
body.page-id-82 .elementor-element.elementor-element-21987e5 { margin-top: 20px; }
body.page-id-82 .elementor-element.elementor-element-72f2667 { margin-top: 56px; }

/* "Explore all products" → text link with arrow, not a second big button. */
body.page-id-82 .elementor-element.elementor-element-21987e5 .elementor-button {
	padding: 0 0 6px !important;
	background: none !important;
	border-radius: 0 !important;
	color: var(--cgab-ink) !important;
	font: 600 12px/1.2 var(--cgab-mono) !important;
	letter-spacing: .16em !important;
	box-shadow: inset 0 -1px 0 rgba(12, 24, 37, .25);
	transition: box-shadow .3s ease, color .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-21987e5 .elementor-button-content-wrapper {
	display: inline-flex;
	align-items: center;
	gap: 10px;
}
body.page-id-82 .elementor-element.elementor-element-21987e5 .elementor-button-content-wrapper::after {
	content: "";
	width: 14px;
	height: 14px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .3s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-21987e5 .elementor-button:hover {
	color: var(--cgab-accent) !important;
	box-shadow: inset 0 -2px 0 var(--cgab-accent);
}
body.page-id-82 .elementor-element.elementor-element-21987e5 .elementor-button:hover .elementor-button-content-wrapper::after { transform: translateX(4px); }

/* Grid */
body.page-id-82 .elementor-element.elementor-element-72f2667 {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	counter-reset: cgab-prod;
	--padding-left: 0px;
	--padding-right: 0px;
	width: 100%;
}
/* Card */
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con {
	--width: auto;
	width: auto !important;
	max-width: none;
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	--border-color: #E1E5EB;
	position: relative;
	overflow: hidden;
	background: #fff;
	cursor: pointer;
	counter-increment: cgab-prod;
	transition: box-shadow .4s ease, transform .4s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover {
	--border-color: #C9D3E4;
	box-shadow: 0 24px 48px -28px rgba(12, 24, 37, .35);
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:focus-within {
	outline: 2px solid var(--cgab-accent);
	outline-offset: 3px;
}
/* Photo plate */
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .elementor-widget-image {
	position: relative;
	margin: 0;
	overflow: hidden;
	background: #EEF1F5;
	border-bottom: 1px solid #E8ECF1;
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .elementor-widget-image img {
	display: block;
	width: 100% !important;
	max-width: none;
	height: auto;
	aspect-ratio: 5 / 4;
	object-fit: cover;
	border-radius: 0 !important;
	filter: saturate(.72) contrast(1.02);
	transition: transform .9s var(--cgab-ease), filter .6s ease;
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover > .elementor-widget-image img {
	transform: scale(1.06);
	filter: saturate(1.05) contrast(1.04);
}
/* Index plate: 01 — 08 */
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .elementor-widget-image::before {
	content: counter(cgab-prod, decimal-leading-zero);
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 2;
	padding: 6px 9px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .14em;
	color: var(--cgab-ink);
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
	border: 1px solid rgba(12, 24, 37, .08);
}
/* Drafting brackets frame the part on hover. */
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .elementor-widget-image::after {
	content: "";
	position: absolute;
	inset: 14px;
	z-index: 2;
	pointer-events: none;
	opacity: 0;
	transform: scale(1.04);
	transition: opacity .4s ease, transform .5s var(--cgab-ease);
	background:
		linear-gradient(#fff, #fff) top right / 18px 1.5px no-repeat,
		linear-gradient(#fff, #fff) top right / 1.5px 18px no-repeat,
		linear-gradient(#fff, #fff) bottom left / 18px 1.5px no-repeat,
		linear-gradient(#fff, #fff) bottom left / 1.5px 18px no-repeat,
		linear-gradient(#fff, #fff) bottom right / 18px 1.5px no-repeat,
		linear-gradient(#fff, #fff) bottom right / 1.5px 18px no-repeat;
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover > .elementor-widget-image::after {
	opacity: .95;
	transform: none;
}
/* Body: title, then mono link + round arrow; accent rule draws on hover. */
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .e-con {
	position: relative;
	--padding-top: 22px;
	--padding-right: 76px;
	--padding-bottom: 24px;
	--padding-left: 22px;
	--gap: 10px 10px;
	--row-gap: 10px;
	flex-grow: 1;
	justify-content: flex-start;
	background: linear-gradient(var(--cgab-accent), var(--cgab-accent)) left bottom / 0 2px no-repeat;
	transition: background-size .5s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover > .e-con { background-size: 100% 2px; }
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .e-con::after {
	content: "" !important;
	position: absolute;
	right: 22px;
	top: 50%;
	width: 38px;
	height: 38px;
	margin-top: -19px;
	border-radius: 50%;
	border: 1px solid #D5DCE6;
	background:
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C1825' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / 15px no-repeat;
	transition: background-color .35s ease, border-color .35s ease, transform .45s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover > .e-con::after {
	background-color: var(--cgab-accent);
	border-color: var(--cgab-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
	transform: rotate(45deg);
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con .elementor-heading-title {
	font-family: "Space Grotesk", sans-serif !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -.01em;
	color: var(--cgab-ink) !important;
	transition: color .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con:hover .elementor-heading-title { color: var(--cgab-accent) !important; }
body.page-id-82 .elementor-element.elementor-element-72f2667 .elementor-widget-icon-list { margin: 0 !important; }
body.page-id-82 .elementor-element.elementor-element-72f2667 .elementor-icon-list-icon { display: none !important; }
body.page-id-82 .elementor-element.elementor-element-72f2667 .elementor-icon-list-item > a { white-space: nowrap; }
body.page-id-82 .elementor-element.elementor-element-72f2667 .elementor-icon-list-text {
	padding: 0 !important;
	font: 500 11px/1 var(--cgab-mono) !important;
	letter-spacing: .16em !important;
	text-transform: uppercase;
	color: #5B6B80 !important;
}

@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-412e9fc { margin-top: 20px !important; }
	body.page-id-82 .elementor-element.elementor-element-72f2667 { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 40px; }
}

/* Mobile slider */
.cgab-pslider { display: none; }
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-21987e5 { margin-top: 28px; }
	body.page-id-82 .elementor-element.elementor-element-72f2667 {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 14px;
		margin-top: 32px;
		/* Bleed to the screen edges while the first card still lines up with
		   the heading: 44px = the section's 24px + inner box's 20px mobile
		   padding. A fixed value because scroll-padding percentages resolve
		   against the scroller itself, not its parent. */
		--cgab-gutter: 44px;
		--width: calc(100% + 2 * var(--cgab-gutter));
		width: calc(100% + 2 * var(--cgab-gutter)) !important;
		max-width: none !important;
		margin-inline: calc(-1 * var(--cgab-gutter));
		--padding-left: var(--cgab-gutter);
		--padding-right: var(--cgab-gutter);
		padding-inline: var(--cgab-gutter) !important;
		scroll-padding-inline: var(--cgab-gutter);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}
	body.page-id-82 .elementor-element.elementor-element-72f2667::-webkit-scrollbar { display: none; }
	body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con {
		flex: 0 0 80% !important;
		scroll-snap-align: start;
	}
	body.page-id-82 .elementor-element.elementor-element-72f2667 > .e-con > .e-con { --padding-right: 70px; }

	.cgab-pslider {
		display: flex;
		align-items: center;
		gap: 16px;
		margin-top: 22px;
	}
	.cgab-pslider__count {
		font: 500 12px/1 var(--cgab-mono);
		letter-spacing: .14em;
		color: var(--cgab-ink);
		white-space: nowrap;
	}
	.cgab-pslider__count span { color: #8A96A8; }
	.cgab-pslider__bar {
		position: relative;
		flex: 1;
		height: 2px;
		background: #E1E5EB;
		overflow: hidden;
	}
	.cgab-pslider__bar i {
		position: absolute;
		inset: 0;
		background: var(--cgab-accent);
		transform-origin: 0 50%;
		transform: scaleX(var(--cgab-p, .125));
		transition: transform .35s var(--cgab-ease);
	}
	.cgab-pslider__btn {
		display: grid;
		place-items: center;
		width: 42px;
		height: 42px;
		padding: 0;
		border-radius: 50%;
		border: 1px solid #D5DCE6;
		background: #fff;
		color: var(--cgab-ink);
		cursor: pointer;
		transition: background-color .25s ease, color .25s ease, border-color .25s ease, opacity .25s ease;
	}
	.cgab-pslider__btn svg { width: 16px; height: 16px; }
	/* The parent theme paints [type=button]:hover/:focus white-on-pink. */
	.cgab-pslider__btn:hover,
	.cgab-pslider__btn:focus {
		background: #fff;
		color: var(--cgab-ink);
		border-color: #D5DCE6;
	}
	.cgab-pslider__btn:focus-visible { outline: 2px solid var(--cgab-accent); outline-offset: 2px; }
	.cgab-pslider__btn:not(:disabled):active { background: var(--cgab-accent); border-color: var(--cgab-accent); color: #fff; }
	.cgab-pslider__btn:disabled { opacity: .35; cursor: default; }
}

/* ── 7. Manufacturing & inspection — capability spec sheets ───────────── */
/* Header split like the other sections; two spec-sheet cards: photo plate
   with a capability label, a numbered process table (about.js splits
   "Process — Machine" into two columns), and a full-width footer link.
   On mobile a Manufacturing | Inspection toggle shows one sheet at a time. */
body.page-id-82 .elementor-element.elementor-element-eb42c7b { margin: 18px 0 0 !important; }
body.page-id-82 .elementor-element.elementor-element-f660af6 { margin: 0 !important; }
body.page-id-82 .elementor-element.elementor-element-0715179 {
	
	margin-top: 56px;
	--gap: 24px 24px;
	--column-gap: 24px;
	--row-gap: 24px;
	align-items: stretch;
}

/* Card */
body.page-id-82 .elementor-element-0715179 > .e-con.elementor-element {
	--width: calc(50% - 12px);
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	overflow: hidden;
	background: #fff;
	transition: box-shadow .4s ease;
}
body.page-id-82 .elementor-element-0715179 > .e-con.elementor-element:hover {
	box-shadow: 0 28px 56px -34px rgba(12, 24, 37, .4);
}

/* Photo plate with capability label */
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image.elementor-element {
	position: relative;
	height: 300px;
	margin: 0;
	overflow: hidden;
	background: #0B1626;
}
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	border-radius: 0 !important;
	transition: transform 1s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-c405926 img { object-position: 70% 50%; }
body.page-id-82 .elementor-element.elementor-element-744df0f img { object-position: 50% 35%; }
body.page-id-82 .elementor-element-0715179 > .e-con:hover > .elementor-widget-image img {
	transform: scale(1.05);
}
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(0deg, rgba(7, 17, 31, .85) 0%, rgba(7, 17, 31, .2) 45%, rgba(7, 17, 31, 0) 70%),
		linear-gradient(90deg, rgba(7, 17, 31, .35), rgba(7, 17, 31, 0) 55%);
}
/* Plate label = the image widget's Caption (edited in Elementor); about.js
   swaps "{count}" for the number of list items and shows it here. */
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image figure.wp-caption { margin: 0; }
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image .widget-image-caption { display: none; }
/* In the Elementor editor the script doesn't run, so show the caption itself
   in the label's place (with its literal {count} token) to keep it visible. */
body.page-id-82.elementor-editor-active .elementor-element-0715179 > .e-con > .elementor-widget-image .widget-image-caption {
	display: block;
	position: absolute;
	left: 32px;
	bottom: 26px;
	z-index: 2;
	margin: 0;
	padding: 8px 12px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(7, 17, 31, .55);
	border: 1px solid rgba(157, 184, 255, .35);
	border-left: 2px solid var(--cgab-ice);
}
body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image[data-cap]::before {
	content: attr(data-cap);
	position: absolute;
	left: 32px;
	bottom: 26px;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 8px 12px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .18em;
	text-transform: uppercase;
	color: #fff;
	background: rgba(7, 17, 31, .55);
	-webkit-backdrop-filter: blur(6px);
	        backdrop-filter: blur(6px);
	border: 1px solid rgba(157, 184, 255, .35);
	border-left: 2px solid var(--cgab-ice);
}

/* Body */
body.page-id-82 .elementor-element-0715179 > .e-con > .e-con.elementor-element {
	--padding-top: 30px;
	--padding-right: 32px;
	--padding-bottom: 0px;
	--padding-left: 32px;
	flex-grow: 1;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-heading .elementor-heading-title {
	font-size: 26px !important;
	letter-spacing: -.015em;
}

/* Spec table */
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list.elementor-element {
	margin: 20px 0 0 !important;
	counter-reset: cgab-spec;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-items { margin: 0; }
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item {
	display: grid !important;
	grid-template-columns: 34px minmax(0, 1fr);
	align-items: baseline;
	margin: 0 !important;
	padding: 14px 0 !important;
	border-top: 1px solid #E8ECF1;
	counter-increment: cgab-spec;
	transition: background-color .25s ease;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item:last-child { border-bottom: 1px solid #E8ECF1; }
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item::before {
	content: counter(cgab-spec, decimal-leading-zero);
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .12em;
	color: #8A96A8;
	transition: color .25s ease;
}
/* Elementor's list divider pseudo-element isn't used here. */
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item::after { display: none !important; }
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-icon { display: none !important; }
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-text {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 4px 16px;
	padding: 0 !important;
	font-size: 15px !important;
	line-height: 1.45;
	color: var(--cgab-ink) !important;
}
body.page-id-82 .cgab-spec__p { font-weight: 500; }
body.page-id-82 .cgab-spec__m {
	font: 500 11.5px/1.5 var(--cgab-mono);
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5B6B80;
	text-align: right;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item:hover { background: linear-gradient(90deg, #F4F7FD, rgba(244, 247, 253, 0)); }
body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item:hover::before { color: var(--cgab-accent); }

/* Footer link — full width of the card, pinned to the bottom. */
body.page-id-82 .elementor-element-0715179 .elementor-widget-button.elementor-element {
	/* Stretch + negative margins bleed it past the body's 32px padding. */
	align-self: stretch !important;
	width: auto !important;
	max-width: none !important;
	margin: auto -32px 0 !important;
	padding-top: 28px;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button {
	display: flex !important;
	width: 100%;
	padding: 20px 32px !important;
	border: 0 !important;
	border-top: 1px solid #E8ECF1 !important;
	border-radius: 0 !important;
	background: #FAFBFC !important;
	color: var(--cgab-ink) !important;
	font: 600 12px/1.3 var(--cgab-mono) !important;
	letter-spacing: .14em !important;
	text-align: left;
	white-space: normal;
	transition: background-color .3s ease, color .3s ease;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button-content-wrapper {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button-content-wrapper::after {
	content: "";
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #CDD5E0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C1825' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: background-color .3s ease, border-color .3s ease, transform .35s var(--cgab-ease);
}
body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button:hover { background: #EEF2FB !important; color: var(--cgab-accent) !important; }
body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button:hover .elementor-button-content-wrapper::after {
	background-color: var(--cgab-accent);
	border-color: var(--cgab-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M12 5l7 7-7 7'/%3E%3C/svg%3E");
	transform: translateX(3px);
}

/* Mobile toggle (about.js) */
.cgab-captabs { display: none; }
@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-f660af6 { margin-top: 20px !important; }
	body.page-id-82 .elementor-element.elementor-element-0715179 { margin-top: 40px; }
	body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image.elementor-element { height: 240px; }
	body.page-id-82 .elementor-element-0715179 > .e-con > .e-con.elementor-element { --padding-left: 24px; --padding-right: 24px; }
	body.page-id-82 .elementor-element-0715179 .elementor-widget-button.elementor-element { margin: auto -24px 0 !important; }
	body.page-id-82 .elementor-element-0715179 .elementor-widget-button .elementor-button { padding: 18px 24px !important; }
	body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image[data-cap]::before { left: 24px; bottom: 20px; }
	/* Machine names drop under the process when columns get narrow. */
	body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-text { flex-direction: column; align-items: flex-start; }
	body.page-id-82 .cgab-spec__m { text-align: left; }
}
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-0715179 { margin-top: 20px; }
	body.page-id-82 .elementor-element-0715179 > .e-con.elementor-element { --width: 100%; }
	body.page-id-82 .elementor-element-0715179 > .e-con > .elementor-widget-image.elementor-element { height: 200px; }
	body.page-id-82 .elementor-element-0715179 .elementor-widget-heading .elementor-heading-title { font-size: 22px !important; }
	body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-item { padding: 12px 0 !important; grid-template-columns: 30px minmax(0, 1fr); }
	body.page-id-82 .elementor-element-0715179 .elementor-widget-icon-list .elementor-icon-list-text { font-size: 14.5px !important; }

	.cgab-captabs {
		position: relative;
		display: grid;
		grid-template-columns: repeat(var(--n, 2), minmax(0, 1fr));
		margin-top: 28px;
		padding: 4px;
		border-radius: 999px;
		background: #EEF1F5;
		border: 1px solid #E1E5EB;
	}
	/* Sliding pill: one segment wide, moved to the active option (--i). */
	.cgab-captabs::before {
		content: "";
		position: absolute;
		top: 4px;
		bottom: 4px;
		left: 4px;
		width: calc((100% - 8px) / var(--n, 2));
		border-radius: 999px;
		background: var(--cgab-ink);
		box-shadow: 0 6px 16px -8px rgba(12, 24, 37, .6);
		transform: translateX(calc(var(--i, 0) * 100%));
		transition: transform .4s var(--cgab-ease);
	}
	.cgab-captabs button {
		position: relative;
		z-index: 1;
		padding: 12px 8px;
		border: 0;
		border-radius: 999px;
		background: transparent !important;
		color: #4A5566 !important;
		font: 600 13px/1.2 Inter, sans-serif;
		letter-spacing: .01em;
		cursor: pointer;
		transition: color .3s ease;
	}
	.cgab-captabs button[aria-pressed="true"] { color: #fff !important; }
	.cgab-captabs button:focus-visible { outline: 2px solid var(--cgab-accent); outline-offset: 2px; }
	/* One sheet at a time once the toggle exists. */
	body.page-id-82 .cgab-caps-ready > .e-con:not(.is-shown) { display: none !important; }
	body.page-id-82 .cgab-caps-ready > .e-con.is-shown { animation: cgab-fade .45s ease both; }
}

/* ── 8. Power-transmission supply (dark) ──────────────────────────────── */
body.page-id-82 .elementor-element.elementor-element-d38796c,
body.page-id-82 .elementor-element.elementor-element-6c664e6 {
	background-image: radial-gradient(1000px 420px at 50% -10%, rgba(59, 99, 214, .28), rgba(59, 99, 214, 0) 70%);
}
/* The per-column connectors sat ~11px above the circles and ran across
   each column instead of between circles. Replaced by one track on the
   row from the first circle's centre to the last — about.js measures
   those centres into --cgab-x/--cgab-y/--cgab-w — which draws itself in
   when scrolled into view. Without JS there's simply no connector. */
body.page-id-82 .elementor-element-93015b8 > .e-con::before { display: none !important; }
body.page-id-82 .elementor-element.elementor-element-93015b8 { position: relative; }
body.page-id-82 .elementor-element.elementor-element-93015b8.cgab-steps-ready::before,
body.page-id-82 .elementor-element.elementor-element-93015b8.cgab-steps-ready::after {
	content: "";
	position: absolute;
	top: calc(var(--cgab-y) - 1px);
	left: var(--cgab-x);
	width: var(--cgab-w);
	height: 2px;
	border-radius: 2px;
	z-index: 0;
	pointer-events: none;
}
body.page-id-82 .elementor-element.elementor-element-93015b8::before { background: #1C2C44; }
body.page-id-82 .elementor-element.elementor-element-93015b8::after {
	background: linear-gradient(90deg, #3B63D6, #9DB8FF 50%, #3B63D6);
	transform-origin: 0 50%;
	transition: transform 1.4s var(--cgab-ease) .15s;
}
.cgab-js body.page-id-82 .elementor-element.elementor-element-93015b8:not(.is-in)::after { transform: scaleX(0); }
body.page-id-82 .elementor-element.elementor-element-93015b8 > .e-con { position: relative; z-index: 1; }
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-93015b8::before,
	body.page-id-82 .elementor-element.elementor-element-93015b8::after { display: none; }
}
body.page-id-82 .elementor-element-93015b8 > .e-con > .e-con.elementor-element {
	transition: transform .35s var(--cgab-ease), box-shadow .35s ease;
}
body.page-id-82 .elementor-element-93015b8 > .e-con:hover > .e-con {
	transform: scale(1.1);
	box-shadow: 0 0 0 8px rgba(59, 99, 214, .28) !important;
}

/* ── 9. Industries — sector index ─────────────────────────────────────── */
/* Desktop: a numbered index of sectors (left) driving one large photo
   stage (right). Each tile's own image widget is lifted out of the row
   into the shared stage; the active tile's image crossfades in. Tablet:
   photo cards in two columns. Mobile: snap slider (about.js adds nav). */
body.page-id-82 .elementor-element.elementor-element-1c2e48d { margin: 18px 0 0 !important; }
body.page-id-82 .elementor-element.elementor-element-2fac864 { margin: 0 !important; }

body.page-id-82 .elementor-element.elementor-element-0b348f7 {
	
	position: relative;
	display: block !important;
	margin-top: 56px;
	min-height: 560px;
	counter-reset: cgab-ind;
}
/* Rows */
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con {
	position: static !important;
	--width: 44%;
	width: 44% !important;
	counter-increment: cgab-ind;
	cursor: pointer;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con::before { display: none !important; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-icon-list { margin: 0 !important; text-align: left; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-items { text-align: left; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-icon { display: none !important; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-item > a {
	display: grid !important;
	grid-template-columns: 48px minmax(0, 1fr) 38px;
	align-items: center;
	padding: 22px 4px 22px 0;
	border-top: 1px solid #D9DFE7;
	text-decoration: none;
	opacity: 1 !important;
	background: linear-gradient(var(--cgab-accent), var(--cgab-accent)) left bottom / 0 2px no-repeat;
	transition: background-size .5s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con:last-child .elementor-icon-list-item > a { border-bottom: 1px solid #D9DFE7; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-item > a::before {
	content: counter(cgab-ind, decimal-leading-zero);
	font: 500 12px/1 var(--cgab-mono);
	letter-spacing: .14em;
	color: #8A96A8;
	transition: color .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-item > a::after {
	content: "";
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid #CDD5E0;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C1825' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: background-color .35s ease, border-color .35s ease, transform .45s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-text {
	padding: 0 !important;
	font-family: "Space Grotesk", sans-serif !important;
	font-size: 22px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: -.01em;
	color: var(--cgab-ink) !important;
	transition: color .3s ease, transform .45s var(--cgab-ease);
}
/* Active row (hover / focus via about.js; first row before JS). */
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-item > a,
body.page-id-82 .elementor-element.elementor-element-0b348f7:not(.cgab-ind-ready) > .e-con:first-child .elementor-icon-list-item > a { background-size: 100% 2px; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-item > a::before,
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-text { color: var(--cgab-accent) !important; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-text { transform: translateX(6px); }
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-item > a::after {
	background-color: var(--cgab-accent);
	border-color: var(--cgab-accent);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
	transform: rotate(45deg);
}

/* Stage: every tile's photo stacked in the right-hand area. */
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con > .elementor-widget-image {
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 0;
	z-index: 1;
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity .6s ease, visibility 0s linear .6s;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active > .elementor-widget-image,
body.page-id-82 .elementor-element.elementor-element-0b348f7:not(.cgab-ind-ready) > .e-con:first-child > .elementor-widget-image {
	z-index: 2;
	opacity: 1;
	visibility: visible;
	transition: opacity .6s ease, visibility 0s;
}
/* Photo frame (the image widget itself); caption comes from the row name. */
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con > .elementor-widget-image {
	overflow: hidden;
	border-radius: 4px;
	background: #0B1626;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 :is(figure.wp-caption, .widget-image-caption) { margin: 0; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .widget-image-caption { display: none; }
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	border-radius: 0;
	transform: scale(1.08);
	transition: transform 1.6s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-widget-image img,
body.page-id-82 .elementor-element.elementor-element-0b348f7:not(.cgab-ind-ready) > .e-con:first-child .elementor-widget-image img { transform: scale(1); }
/* Shade + drafting brackets */
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(0deg, rgba(7, 17, 31, .88) 0%, rgba(7, 17, 31, .35) 38%, rgba(7, 17, 31, 0) 62%),
		linear-gradient(90deg, rgba(7, 17, 31, .25), rgba(7, 17, 31, 0) 40%);
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image::before {
	content: "";
	position: absolute;
	inset: 22px;
	z-index: 2;
	pointer-events: none;
	background:
		linear-gradient(#fff, #fff) top left / 22px 1.5px no-repeat,
		linear-gradient(#fff, #fff) top left / 1.5px 22px no-repeat,
		linear-gradient(#fff, #fff) top right / 22px 1.5px no-repeat,
		linear-gradient(#fff, #fff) top right / 1.5px 22px no-repeat;
	opacity: .8;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 .cgab-ind-cap {
	position: absolute;
	left: 36px;
	right: 36px;
	bottom: 32px;
	z-index: 2;
	margin: 0;
	text-align: left;
	font: 600 36px/1.1 "Space Grotesk", sans-serif;
	letter-spacing: -.02em;
	color: #fff;
	opacity: 0;
	transform: translateY(14px);
	transition: opacity .5s ease .15s, transform .6s var(--cgab-ease) .15s;
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 .cgab-ind-cap::before {
	content: "Sector " counter(cgab-ind, decimal-leading-zero);
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 14px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--cgab-ice);
}
body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .cgab-ind-cap,
body.page-id-82 .elementor-element.elementor-element-0b348f7:not(.cgab-ind-ready) > .e-con:first-child .cgab-ind-cap {
	opacity: 1;
	transform: none;
}

/* Tablet: photo cards, two up. */
@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-2fac864 { margin-top: 20px !important; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 20px;
		min-height: 0;
		margin-top: 40px;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con {
		position: relative !important;
		width: auto !important;
		--width: auto;
		overflow: hidden;
		background: #fff;
		border: 1px solid #E1E5EB;
		border-radius: 4px;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con > .elementor-widget-image {
		position: relative;
		inset: auto;
		opacity: 1;
		visibility: visible;
		aspect-ratio: 16 / 10;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image img { transform: none; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con > .elementor-widget-image { border-radius: 0; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image::after { background: linear-gradient(0deg, rgba(7, 17, 31, .35), rgba(7, 17, 31, 0) 45%); }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-widget-image::before { inset: 14px; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .cgab-ind-cap { display: none; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-item > a {
		grid-template-columns: 40px minmax(0, 1fr) 36px;
		padding: 18px 18px 20px;
		border: 0 !important;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-text { font-size: 18px !important; }
	/* No "selected" row in card layouts — only hover feedback. */
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con .elementor-icon-list-item > a { background-size: 0 2px !important; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-text { color: var(--cgab-ink) !important; transform: none; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-item > a::before { color: #8A96A8 !important; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con.is-active .elementor-icon-list-item > a::after {
		background-color: transparent;
		border-color: #CDD5E0;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230C1825' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 17 17 7M8 7h9v9'/%3E%3C/svg%3E");
		transform: none;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con:hover .elementor-icon-list-item > a { background-size: 100% 2px !important; }
}

/* Mobile: snap slider (same .cgab-pslider controls as the products).
   44px = section 24px + inner box 20px mobile padding. */
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-0b348f7 {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		/* Elementor centres this row; overflowing cards would start off-screen left, unreachable. */
		justify-content: flex-start !important;
		align-items: stretch;
		gap: 14px;
		margin-top: 32px;
		--cgab-gutter: 44px;
		width: calc(100% + 2 * var(--cgab-gutter)) !important;
		max-width: none !important;
		margin-inline: calc(-1 * var(--cgab-gutter));
		padding-inline: var(--cgab-gutter) !important;
		scroll-padding-inline: var(--cgab-gutter);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7::-webkit-scrollbar { display: none; }
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con {
		flex: 0 0 80% !important;
		scroll-snap-align: start;
	}
	/* Explicit height: the photo inside is absolutely positioned, and the
	   widget's aspect-ratio collapses to 0 inside this flex row. */
	body.page-id-82 .elementor-element.elementor-element-0b348f7 > .e-con > .elementor-widget-image {
		aspect-ratio: auto;
		height: 190px;
		flex: none;
	}
	body.page-id-82 .elementor-element.elementor-element-0b348f7 .elementor-icon-list-text { font-size: 17px !important; }
}

/* ── 10. Facility ─────────────────────────────────────────────────────── */
body.page-id-82 .elementor-element.elementor-element-fe7b0a1 a {
	color: var(--cgab-accent) !important;
	font-weight: 600;
	text-decoration: none;
	background-image: linear-gradient(currentColor, currentColor);
	background-size: 0 1px;
	background-position: 0 100%;
	background-repeat: no-repeat;
	transition: background-size .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-fe7b0a1 a:hover { background-size: 100% 1px; }
body.page-id-82 .elementor-element.elementor-element-f177e8c { --padding-left: 0px; }
body.page-id-82 .elementor-element.elementor-element-cgab0gmp .elementor-custom-embed {
	border-radius: 18px;
	overflow: hidden;
	border: 1px solid var(--cgab-line);
	box-shadow: 0 30px 60px -32px rgba(12, 24, 37, .4);
	line-height: 0;
}
body.page-id-82 .elementor-element.elementor-element-cgab0gmp iframe { filter: saturate(.85) contrast(1.02); }

/* ── Section navigator (about.js) ─────────────────────────────────────── */
.cgab-secnav {
	position: fixed;
	right: 22px;
	top: 50%;
	z-index: 90;
	padding: 12px 8px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .88);
	-webkit-backdrop-filter: blur(10px);
	        backdrop-filter: blur(10px);
	border: 1px solid rgba(12, 24, 37, .08);
	box-shadow: 0 12px 32px -16px rgba(12, 24, 37, .35);
	transform: translate(12px, -50%);
	opacity: 0;
	visibility: hidden;
	transition: opacity .35s ease, transform .35s var(--cgab-ease), visibility 0s linear .35s;
}
.cgab-secnav.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translate(0, -50%);
	transition-delay: 0s;
}
.cgab-secnav ul { display: flex; flex-direction: column; gap: 4px; margin: 0; padding: 0; list-style: none; }
.cgab-secnav a {
	position: relative;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	border-radius: 999px;
	outline-offset: 2px;
}
.cgab-secnav a::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 999px;
	background: #B7C0CC;
	transition: height .3s var(--cgab-ease), background-color .3s ease;
}
.cgab-secnav a:hover::before { background: var(--cgab-ink); }
.cgab-secnav a[aria-current="true"]::before { height: 18px; background: var(--cgab-accent); }
.cgab-secnav a span {
	position: absolute;
	right: calc(100% + 14px);
	top: 50%;
	padding: 6px 10px;
	border-radius: 8px;
	background: var(--cgab-ink);
	color: #fff;
	font: 600 12px/1 Inter, sans-serif;
	letter-spacing: .02em;
	white-space: nowrap;
	pointer-events: none;
	opacity: 0;
	transform: translate(6px, -50%);
	transition: opacity .2s ease, transform .2s ease;
}
.cgab-secnav a:hover span,
.cgab-secnav a:focus-visible span { opacity: 1; transform: translate(0, -50%); }
@media (max-width: 1279px) { .cgab-secnav { display: none; } }

/* ── Responsive refinements ───────────────────────────────────────────── */
@media (max-width: 767px) {
	body.page-id-82 .cgab-legacy.e-con { aspect-ratio: 4 / 5; }

	/* Stacked timeline: the vertical track runs through the dots at the
	   left edge, so indent each step's text clear of it. */
	body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .elementor-widget { padding-left: 34px; }
	body.page-id-82 .elementor-element.elementor-element-fbed610 { --row-gap: 20px; --gap: 20px 20px; }

	body.page-id-82 .cgab-legacy__card.e-con { left: 14px; right: 14px; bottom: 14px; --padding-top: 18px; --padding-right: 18px; --padding-bottom: 18px; --padding-left: 18px; }
	body.page-id-82 .cgab-legacy__title { margin-bottom: 14px !important; }
	body.page-id-82 .cgab-legacy__title .elementor-heading-title { font-size: 18px !important; }
}

/* ── 11. Inside the Shop — facility gallery ───────────────────────────── */
/* Real shop photos in a bento grid (feature, portrait, singles, one wide),
   graded to sit together, captioned with an index + machine name, opening
   in Elementor's lightbox. Mobile: snap slider (about.js adds controls). */
body.page-id-82 .elementor-element.elementor-element-cgabgal0 {
	background-image:
		radial-gradient(900px 420px at 85% 0%, rgba(59, 99, 214, .2), rgba(59, 99, 214, 0) 70%),
		linear-gradient(rgba(157, 184, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, .045) 1px, transparent 1px);
	background-size: auto, 56px 56px, 56px 56px;
}
body.page-id-82 .elementor-element.elementor-element-cgabgat { margin: 18px 0 0 !important; }
body.page-id-82 .elementor-element.elementor-element-cgabgai { margin: 0 !important; color: #B4C1D4 !important; }
body.page-id-82 .elementor-element.elementor-element-cgabgat .elementor-heading-title { color: #F4F7FC !important; }

body.page-id-82 .elementor-element.elementor-element-cgabgal2 {
	
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: 230px;
	grid-template-areas:
		"a a b c"
		"a a b d"
		"e f g g";
	gap: 16px;
	margin-top: 56px;
	--padding-left: 0px;
	--padding-right: 0px;
	counter-reset: cgab-shop;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con {
	position: relative;
	--width: auto;
	width: auto !important;
	overflow: hidden;
	border-radius: 4px;
	background: #0B1626;
	counter-increment: cgab-shop;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(1) { grid-area: a; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(2) { grid-area: b; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(3) { grid-area: c; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(4) { grid-area: d; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(5) { grid-area: e; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(6) { grid-area: f; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:nth-child(7) { grid-area: g; }
body.page-id-82 .elementor-element.elementor-element-cgabgal2 .elementor-widget-image,
body.page-id-82 .elementor-element.elementor-element-cgabgal2 figure.wp-caption,
body.page-id-82 .elementor-element.elementor-element-cgabgal2 figure.wp-caption > a {
	position: absolute;
	inset: 0;
	margin: 0;
	display: block;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	border-radius: 0 !important;
	filter: saturate(.78) contrast(1.06) brightness(.92);
	transition: transform 1.1s var(--cgab-ease), filter .6s ease;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:hover img {
	transform: scale(1.06);
	filter: saturate(1) contrast(1.05) brightness(1);
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 figure.wp-caption::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background: linear-gradient(0deg, rgba(7, 17, 31, .9) 0%, rgba(7, 17, 31, .35) 36%, rgba(7, 17, 31, 0) 60%);
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 .widget-image-caption {
	position: absolute;
	left: 20px;
	right: 64px;
	bottom: 18px;
	z-index: 2;
	margin: 0;
	text-align: left;
	pointer-events: none;
	font: 600 16px/1.3 "Space Grotesk", sans-serif;
	color: #fff;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 .widget-image-caption::before {
	content: counter(cgab-shop, decimal-leading-zero);
	display: block;
	margin-bottom: 8px;
	font: 500 11px/1 var(--cgab-mono);
	letter-spacing: .2em;
	color: var(--cgab-ice);
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:first-child .widget-image-caption { font-size: 24px; left: 28px; bottom: 26px; }
/* Expand affordance */
body.page-id-82 .elementor-element.elementor-element-cgabgal2 figure.wp-caption > a::after {
	content: "";
	position: absolute;
	right: 16px;
	bottom: 16px;
	z-index: 2;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid rgba(255, 255, 255, .35);
	background: rgba(7, 17, 31, .35) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 3h6v6M9 21H3v-6M21 3l-7 7M3 21l7-7'/%3E%3C/svg%3E") center / 14px no-repeat;
	-webkit-backdrop-filter: blur(4px);
	        backdrop-filter: blur(4px);
	opacity: .8;
	transition: background-color .3s ease, border-color .3s ease, opacity .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:hover figure.wp-caption > a::after {
	opacity: 1;
	background-color: var(--cgab-accent);
	border-color: var(--cgab-accent);
}
@media (max-width: 1024px) {
	body.page-id-82 .elementor-element.elementor-element-cgabgai { margin-top: 20px !important; }
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-rows: 220px;
		grid-template-areas: "a a" "a a" "b c" "b d" "e f" "g g";
		margin-top: 40px;
	}
}

/* ── Mobile refinements (round 2) ─────────────────────────────────────── */
@media (max-width: 767px) {
	/* Hero: the photo becomes a dimmed backdrop instead of a 300px strip. */
	body.page-id-82 .elementor-element.elementor-element-cf197d9 {
		--padding-top: 44px;
		--padding-bottom: 40px;
	}
	body.page-id-82 .elementor-element.elementor-element-9eb2a09 {
		position: absolute !important;
		inset: 0 !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		transform: none !important;
	}
	body.page-id-82 .elementor-element.elementor-element-9eb2a09::after {
		background:
			linear-gradient(180deg, rgba(7, 17, 31, .94) 0%, rgba(7, 17, 31, .8) 45%, rgba(7, 17, 31, .9) 100%),
			linear-gradient(90deg, rgba(7, 17, 31, .5), rgba(7, 17, 31, 0)) !important;
	}
	body.page-id-82 .elementor-element.elementor-element-8c768cd img { object-position: 72% 50%; }
	body.page-id-82 .elementor-element.elementor-element-cgab0hud { display: none; }
	body.page-id-82 .elementor-element.elementor-element-81c5988 .elementor-heading-title { font-size: 33px !important; }
	body.page-id-82 .elementor-element.elementor-element-adedbc5 { font-size: 15px; line-height: 1.65; color: #C3CEDD !important; }
	body.page-id-82 .elementor-element.elementor-element-52627d1 {
		flex-wrap: nowrap !important;
		gap: 10px;
		margin-top: 28px;
	}
	body.page-id-82 .elementor-element.elementor-element-a83e4c7 { flex: 0 0 auto; }
	body.page-id-82 .elementor-element.elementor-element-0e2c225 { flex: 1 1 auto; min-width: 0; }
	body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button {
		width: 100%;
		justify-content: center;
		padding: 15px 16px !important;
		font-size: 12px !important;
		letter-spacing: .04em !important;
		white-space: nowrap;
	}
	body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button-content-wrapper { justify-content: center; }
	body.page-id-82 :is(.elementor-element-a83e4c7, .elementor-element-0e2c225) .elementor-button-content-wrapper::after { display: none; }
	/* Compact stats band */
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con {
		--padding-top: 18px;
		--padding-bottom: 24px;
	}
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con::before { margin-bottom: 10px; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 > .e-con::after { height: 10px; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-heading-title { font-size: 34px !important; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-widget-text-editor { margin-top: 8px !important; }
	body.page-id-82 .elementor-element.elementor-element-a7e8844 .elementor-widget-text-editor p { font-size: 12.5px; }

	/* Who We Are: text only. */
	body.page-id-82 .elementor-element.elementor-element-2a2a09e { display: none !important; }
	body.page-id-82 .elementor-element.elementor-element-6303ca4 { --padding-top: 64px; }

	/* Why Commercial Gear + gallery: snap sliders (about.js adds controls). */
	body.page-id-82 .elementor-element.elementor-element-72261b2,
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		justify-content: flex-start !important;
		align-items: stretch;
		gap: 14px;
		--cgab-gutter: 44px;
		width: calc(100% + 2 * var(--cgab-gutter)) !important;
		max-width: none !important;
		margin-inline: calc(-1 * var(--cgab-gutter));
		padding-inline: var(--cgab-gutter) !important;
		scroll-padding-inline: var(--cgab-gutter);
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
	}
	body.page-id-82 .elementor-element.elementor-element-72261b2::-webkit-scrollbar,
	body.page-id-82 .elementor-element.elementor-element-cgabgal2::-webkit-scrollbar { display: none; }
	body.page-id-82 .elementor-element.elementor-element-72261b2 > .e-con {
		flex: 0 0 82% !important;
		min-height: 280px;
		scroll-snap-align: start;
	}
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 { margin-top: 32px; }
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con {
		flex: 0 0 82% !important;
		height: 300px;
		scroll-snap-align: start;
	}
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 img { filter: saturate(.9) contrast(1.05); }
	body.page-id-82 .elementor-element.elementor-element-cgabgal2 > .e-con:first-child .widget-image-caption { font-size: 18px; left: 20px; bottom: 18px; }
	body.page-id-82 .elementor-element-cgabgal1 .cgab-pslider__count { color: #E6ECF5; }
	body.page-id-82 .elementor-element-cgabgal1 .cgab-pslider__bar { background: rgba(157, 184, 255, .2); }
	body.page-id-82 .elementor-element-cgabgal1 .cgab-pslider__bar i { background: var(--cgab-ice); }

	/* Power transmission: left-aligned copy + vertical stepper. */
	body.page-id-82 .elementor-element.elementor-element-97effd0 { align-items: stretch !important; text-align: left; }
	body.page-id-82 :is(.elementor-element-0d3b5c2, .elementor-element-21329e4, .elementor-element-b206daa).elementor-element {
		align-self: stretch !important;
		text-align: left !important;
	}
	body.page-id-82 :is(.elementor-element-0d3b5c2, .elementor-element-027b0ef, .elementor-element-21329e4, .elementor-element-b206daa) :is(.elementor-heading-title, p) { text-align: left !important; }
	body.page-id-82 .elementor-element.elementor-element-027b0ef { align-self: flex-start !important; text-align: left !important; }
	body.page-id-82 .elementor-element.elementor-element-027b0ef::after { left: 0 !important; transform: none !important; }
	body.page-id-82 .elementor-element.elementor-element-027b0ef .elementor-heading-title { font-size: 28px !important; }
	body.page-id-82 .elementor-element.elementor-element-21329e4 { margin-top: 18px !important; font-size: 15px; }
	body.page-id-82 .elementor-element.elementor-element-b206daa { margin: 14px 0 0 !important; font-size: 15px; line-height: 1.65; }
	body.page-id-82 .elementor-element.elementor-element-93015b8 {
		flex-direction: column !important;
		gap: 0 !important;
		margin-top: 32px;
		padding: 22px 20px 0 !important;
		border: 1px solid rgba(157, 184, 255, .16);
		border-radius: 4px;
		background: rgba(255, 255, 255, .02);
	}
	body.page-id-82 .elementor-element-93015b8 > .e-con.elementor-element {
		position: relative;
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 18px;
		row-gap: 2px;
		align-items: start;
		--width: 100%;
		width: 100% !important;
		padding: 0 0 26px !important;
		text-align: left !important;
	}
	body.page-id-82 .elementor-element-93015b8 > .e-con > .e-con { grid-column: 1; grid-row: 1 / span 2; }
	body.page-id-82 .elementor-element-93015b8 > .e-con > .elementor-widget {
		grid-column: 2;
		margin: 0 !important;
		text-align: left !important;
	}
	body.page-id-82 .elementor-element-93015b8 > .e-con > .elementor-widget-heading { padding-top: 10px; }
	body.page-id-82 .elementor-element-93015b8 > .e-con :is(.elementor-heading-title, p) { text-align: left !important; }
	body.page-id-82 .elementor-element-93015b8 > .e-con > .elementor-widget-text-editor { font-size: 14.5px; color: #9FB0C8 !important; }
	body.page-id-82 .elementor-element-93015b8 > .e-con:not(:last-child)::after {
		content: "";
		position: absolute;
		left: 21px;
		top: 52px;
		bottom: 6px;
		width: 2px;
		border-radius: 2px;
		background: linear-gradient(180deg, #3B63D6, rgba(59, 99, 214, .15));
	}
	body.page-id-82 .elementor-element.elementor-element-793585b { align-self: stretch !important; margin-top: 28px !important; }
	body.page-id-82 .elementor-element.elementor-element-793585b .elementor-button { width: 100%; justify-content: center; }

	/* Facility: address card, then map, then actions side by side. */
	/* The text column is flattened (display: contents), so this box takes over
	   its 20px inset and left alignment. */
	body.page-id-82 .elementor-element.elementor-element-cc1ccfb {
		gap: 0 !important;
		align-items: stretch !important;
		--padding-left: 20px;
		--padding-right: 20px;
	}
	body.page-id-82 .elementor-element.elementor-element-0c01012 { display: contents !important; }
	body.page-id-82 .elementor-element.elementor-element-1a454af { order: 1; }
	body.page-id-82 .elementor-element.elementor-element-277cc5c { order: 2; }
	body.page-id-82 .elementor-element.elementor-element-fe7b0a1 { order: 3; }
	body.page-id-82 .elementor-element.elementor-element-cgab0map { order: 4; }
	body.page-id-82 .elementor-element.elementor-element-f177e8c { order: 5; }
	body.page-id-82 .elementor-element.elementor-element-277cc5c .elementor-heading-title { font-size: 26px !important; }
	body.page-id-82 .elementor-element.elementor-element-fe7b0a1 {
		margin-top: 26px !important;
		padding: 18px 20px;
		background: #fff;
		border: 1px solid #E1E5EB;
		border-left: 3px solid var(--cgab-accent);
		border-radius: 4px;
		font-size: 15px;
	}
	body.page-id-82 .elementor-element.elementor-element-fe7b0a1 p[style] { margin-top: 12px !important; padding-top: 12px; border-top: 1px solid #E8ECF1; }
	body.page-id-82 .elementor-element.elementor-element-cgab0map { --width: 100%; width: 100% !important; margin-top: 16px; }
	body.page-id-82 .elementor-element.elementor-element-cgab0gmp iframe { height: 230px !important; }
	body.page-id-82 .elementor-element.elementor-element-cgab0gmp .elementor-custom-embed { border-radius: 4px; }
	body.page-id-82 .elementor-element.elementor-element-f177e8c {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 10px;
		margin-top: 16px;
		--padding-left: 0px;
		--padding-right: 0px;
	}
	body.page-id-82 .elementor-element.elementor-element-f177e8c > .elementor-widget { flex: 1 1 0; min-width: 0; margin: 0 !important; }
	body.page-id-82 .elementor-element.elementor-element-f177e8c .elementor-button { width: 100%; justify-content: center; padding: 15px 8px; }
}

/* Performance: no live blur on the fixed section navigator (it re-renders on every scroll step). */
.cgab-secnav { -webkit-backdrop-filter: none !important; backdrop-filter: none !important; background: rgba(255, 255, 255, .96) !important; }

/* ── Jump bar: sticky page menu under the stats band ──────────────────
   Elementor: container "Jump bar (sticky page menu)" holding an Icon List
   (labels + #section links, edit there) and a Request a Quote button.
   about.js sets --cgab-jump-top to the pinned header's height, adds
   .is-stuck once it docks and .is-active on the section in view. */
body.page-id-82 .elementor-element.elementor-element-cgabjump {
	position: sticky;
	top: var(--cgab-jump-top, 0px);
	z-index: 60;
	--min-height: 64px;
	border-bottom: 1px solid #E1E5EB;
	transition: box-shadow .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-cgabjump.is-stuck { box-shadow: 0 14px 30px -24px rgba(7, 17, 31, .45); }
body.page-id-82 .cgab-jump__list { min-width: 0; flex: 1 1 auto; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-items {
	display: flex !important;
	flex-wrap: nowrap !important;
	gap: 4px;
	margin: 0 !important;
	overflow-x: auto;
	scrollbar-width: none;
}
body.page-id-82 .cgab-jump__list .elementor-icon-list-items::-webkit-scrollbar { display: none; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-item { flex: none; margin: 0 !important; padding: 0 !important; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-item::after { display: none !important; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-icon { display: none !important; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-item > a {
	position: relative;
	display: flex !important;
	align-items: center;
	height: 64px;
	padding: 0 14px;
	text-decoration: none !important;
}
body:not(#cg-type):not(#cgab) .cgab-jump__list .elementor-icon-list-text {
	padding: 0 !important;
	font: 500 14px/1 Inter, sans-serif !important;
	letter-spacing: normal !important;
	color: #5A6678 !important;
	white-space: nowrap;
	transition: color .2s ease;
}
body.page-id-82 .cgab-jump__list .elementor-icon-list-item > a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: -1px;
	height: 2px;
	border-radius: 2px;
	background: #1B3FA0;
	transform: scaleX(0);
	transition: transform .3s cubic-bezier(.2, .7, .2, 1);
}
body:not(#cg-type):not(#cgab) .cgab-jump__list .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: #0C1825 !important; }
body:not(#cg-type):not(#cgab) .cgab-jump__list .elementor-icon-list-item.is-active .elementor-icon-list-text { color: #1B3FA0 !important; font-weight: 600 !important; }
body.page-id-82 .cgab-jump__list .elementor-icon-list-item.is-active > a::after { transform: scaleX(1); }
body.page-id-82 .cgab-jump__cta { flex: none; }
body.page-id-82 .cgab-jump__cta .elementor-button { padding: 11px 18px !important; border-radius: 9px !important; font-size: 12px !important; }
/* The jump bar replaces the dot rails on this page. */
body.page-id-82.cgab-has-jump .cgx-secnav,
body.page-id-82.cgab-has-jump .cgab-secnav { display: none !important; }
/* Anchored sections land below header + jump bar. */
body.page-id-82 .elementor-82 > .e-con[id] { scroll-margin-top: 150px; }
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-cgabjump { --padding-left: 0px; --padding-right: 0px; }
	body.page-id-82 .cgab-jump__cta { display: none; }
	body.page-id-82 .cgab-jump__list .elementor-icon-list-item > a { height: 54px; padding: 0 12px; }
	body.page-id-82 .cgab-jump__list .elementor-icon-list-items { padding: 0 8px; }
}

/* ── Our Story: header split + dated milestones ───────────────────────── */
body.page-id-82 .elementor-element.elementor-element-cgabsth { margin-bottom: 56px; }
body.page-id-82 .elementor-element-cgabsthl .elementor-element-412bb63 { margin-top: 18px !important; }
body:not(#cg-type):not(#cgab) .cgab-story-intro,
body:not(#cg-type):not(#cgab) .cgab-story-intro p { font-size: 16px !important; line-height: 1.7 !important; color: #5A6678 !important; }
@media (max-width: 1024px) { body.page-id-82 .elementor-element.elementor-element-cgabsth { margin-bottom: 40px; } }

/* ── Our Story timeline: milestone cards ──────────────────────────────
   Each milestone (Elementor: "Milestone N") = the dot on the progress
   track + a "Milestone card" container with Year (p heading,
   .cgab-ms-year), Title (h3, .cgab-ms-title) and Text (.cgab-ms-text).
   The card with .cgab-ms-card--now is highlighted in navy. */
body.page-id-82 .elementor-element.elementor-element-fbed610 {
	display: flex !important;
	flex-wrap: nowrap;
	gap: 20px !important;
	align-items: stretch;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con {
	flex: 1 1 0 !important;
	width: auto !important;
	min-width: 0;
	--gap: 22px;
	--row-gap: 22px;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-ms-card.e-con {
	flex: 1 1 auto;
	position: relative;
	overflow: hidden;
	border: 1px solid #E1E5EB;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(7, 17, 31, .04);
	transition: transform .35s var(--cgab-ease), box-shadow .35s ease, border-color .3s ease;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-ms-card.e-con::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--cgab-accent), #3B63D6);
	transform: scaleX(0);
	transform-origin: 0 50%;
	transition: transform .5s var(--cgab-ease);
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover > .cgab-ms-card.e-con {
	transform: translateY(-4px);
	border-color: rgba(27, 63, 160, .3);
	box-shadow: 0 28px 50px -34px rgba(7, 17, 31, .45);
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover > .cgab-ms-card.e-con::before { transform: scaleX(1); }

/* Year, title, text */
body:not(#cg-type):not(#cgab) .cgab-ms-year .elementor-heading-title {
	font: 600 44px/1 var(--cgab-head, "Space Grotesk"), Inter, sans-serif !important;
	letter-spacing: -.035em !important;
	color: var(--cgab-accent) !important;
	transition: none;
}
body:not(#cg-type):not(#cgab) .cgab-ms-title .elementor-heading-title {
	margin-top: 14px;
	font: 600 18px/1.3 "Space Grotesk", Inter, sans-serif !important;
	letter-spacing: -.01em !important;
	color: #0C1825 !important;
}
body.page-id-82 .cgab-ms-title { padding-bottom: 14px; border-bottom: 1px solid #EDF0F4; }
body:not(#cg-type):not(#cgab) .cgab-ms-text,
body:not(#cg-type):not(#cgab) .cgab-ms-text p {
	margin-top: 14px;
	font: 400 15px/1.65 Inter, sans-serif !important;
	color: #5A6678 !important;
}
body.page-id-82 .cgab-ms-text p { margin: 0; }
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover .cgab-ms-year .elementor-heading-title { color: var(--cgab-accent) !important; }

/* Highlighted "now" card */
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-ms-card--now.e-con {
	border-color: #0C1A2E;
	background-color: #07111F;
	background-image:
		radial-gradient(260px 180px at 100% 0%, rgba(59, 99, 214, .45), rgba(59, 99, 214, 0) 70%),
		linear-gradient(rgba(157, 184, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, .06) 1px, transparent 1px);
	background-size: auto, 28px 28px, 28px 28px;
}
body:not(#cg-type):not(#cgab) .cgab-ms-card--now .cgab-ms-year .elementor-heading-title,
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover .cgab-ms-card--now .cgab-ms-year .elementor-heading-title { color: #9DB8FF !important; }
body:not(#cg-type):not(#cgab) .cgab-ms-card--now .cgab-ms-title .elementor-heading-title { color: #fff !important; }
body.page-id-82 .cgab-ms-card--now .cgab-ms-title { border-bottom-color: rgba(157, 184, 255, .18); }
body:not(#cg-type):not(#cgab) .cgab-ms-card--now .cgab-ms-text,
body:not(#cg-type):not(#cgab) .cgab-ms-card--now .cgab-ms-text p { color: rgba(214, 224, 245, .8) !important; }

/* Tablet: two by two (track hidden, dots stay as markers) */
@media (max-width: 1024px) and (min-width: 768px) {
	body.page-id-82 .elementor-element.elementor-element-fbed610 { flex-wrap: wrap; }
	body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con { flex: 1 1 calc(50% - 10px) !important; }
	body.page-id-82 .elementor-element-fbed610 .cgab-tl-track { display: none; }
}
/* Phone: stacked cards beside the vertical track */
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-fbed610 { flex-direction: column; gap: 16px !important; }
	body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-ms-card.e-con { margin-left: 34px; }
	body:not(#cg-type):not(#cgab) .cgab-ms-year .elementor-heading-title { font-size: 36px !important; }
}
/* Milestone cards: spacing comes from the margins above, titles line up across cards */
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-ms-card.e-con { --gap: 0px; --row-gap: 0px; gap: 0 !important; }
body:not(#cg-type):not(#cgab) .cgab-ms-title .elementor-heading-title { min-height: 2.6em; display: flex; align-items: flex-end; }
@media (max-width: 767px) { body:not(#cg-type):not(#cgab) .cgab-ms-title .elementor-heading-title { min-height: 0; } }

/* ── Timeline line + markers (refined) ────────────────────────────────
   One 2px rule from the first marker to the right edge of the cards,
   fading out at the end; markers are small rings aligned with the card
   text. Passed milestones fill in as the line draws on scroll. */
body.page-id-82 .cgab-tl-track--open {
	-webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 160px), transparent 100%);
	        mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 160px), transparent 100%);
}
body.page-id-82 .cgab-tl-track { background: #D3DAE3; }
body.page-id-82 .cgab-tl-fill { background: linear-gradient(90deg, #1B3FA0, #3B63D6); }
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-tl-dot.e-con {
	flex: 0 0 14px !important;
	width: 14px !important;
	height: 14px !important;
	margin-left: 24px;
	box-sizing: border-box;
	border: 2px solid #1B3FA0;
	background: #1B3FA0 !important;
	box-shadow: 0 0 0 4px #F4F6F9, 0 0 0 5px rgba(27, 63, 160, .18) !important;
	transform: none !important;
	transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease;
}
body.page-id-82 .cgab-tl-ready .cgab-tl-dot.e-con:not(.is-active) {
	border-color: #B9C3D0 !important;
	background: #F4F6F9 !important;
	box-shadow: 0 0 0 4px #F4F6F9 !important;
}
body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con:hover > .cgab-tl-dot.e-con.is-active {
	box-shadow: 0 0 0 4px #F4F6F9, 0 0 0 7px rgba(27, 63, 160, .22) !important;
}
@media (max-width: 767px) {
	body.page-id-82 .elementor-element.elementor-element-fbed610 > .e-con > .cgab-tl-dot.e-con { margin-left: 0; }
}
