/* ==========================================================================
   Globaxa design system
   1 Tokens · 2 Base · 3 Utilities · 4 Buttons & links · 5 Header · 6 Drawer
   7 Heroes · 8 Sections · 9 Cards · 10 Feature blocks · 11 Process
   12 Lists · 13 FAQ · 14 CTA · 15 Map & coverage · 16 Forms · 17 Contact
   18 Services index · 19 Blog · 20 Footer · 21 Action bar & consent
   22 Editor-only states · 23 Motion · 24 Print
   ========================================================================== */

/* 1 · Tokens ------------------------------------------------------------- */
:root {
	--gx-ink: #0b2236;
	--gx-navy: #08304d;
	--gx-navy-2: #0b3a5c;
	--gx-blue: #0170b0;
	--gx-blue-d: #015a8e;
	--gx-blue-50: #eef6fb;
	--gx-blue-100: #d8eaf5;
	--gx-sky: #9cc9e6;
	--gx-green: #87b259;
	--gx-green-d: #4e7a2a;
	--gx-green-50: #f1f7ea;
	--gx-orange: #d65e3b;
	--gx-cta: #c2502f;
	--gx-cta-h: #a9421f;
	--gx-orange-l: #f08a63;
	--gx-mist: #f4f8fb;
	--gx-line: #dce5ec;
	--gx-line-2: #c8d5df;
	--gx-muted: #4a5d6e;
	--gx-on-dark: #d9e7f1;
	--gx-on-dark-2: #a9c3d6;

	--gx-font: Inter, "Segoe UI", system-ui, -apple-system, sans-serif;
	--gx-font-head: Poppins, Inter, "Segoe UI", system-ui, sans-serif;
	--gx-fs-sm: .875rem;
	--gx-fs-base: 1.0625rem;
	--gx-fs-lead: clamp(1.125rem, 1.05rem + .35vw, 1.3125rem);
	--gx-fs-h4: 1.125rem;
	--gx-fs-h3: clamp(1.2rem, 1.1rem + .45vw, 1.5rem);
	--gx-fs-h2: clamp(1.75rem, 1.4rem + 1.6vw, 2.5rem);
	--gx-fs-h1: clamp(2.125rem, 1.6rem + 2.4vw, 3.5rem);
	--gx-fs-display: clamp(2.25rem, 1.5rem + 3.4vw, 4rem);

	--gx-wide: 1240px;
	--gx-text: 760px;
	--gx-gutter: clamp(16px, 4vw, 40px);
	--gx-sec-y: clamp(3.5rem, 7vw, 6.5rem);
	--gx-header-h: 72px;
	--gx-toc-h: 0px;

	--gx-r-sm: 6px;
	--gx-r: 10px;
	--gx-r-lg: 16px;
	--gx-r-xl: 24px;
	--gx-sh-1: 0 1px 2px rgb(11 34 54 / .06), 0 1px 1px rgb(11 34 54 / .04);
	--gx-sh-2: 0 12px 32px -14px rgb(11 34 54 / .22), 0 2px 6px rgb(11 34 54 / .05);
	--gx-sh-3: 0 32px 64px -28px rgb(11 34 54 / .38);

	--gx-ease: cubic-bezier(.2, .7, .2, 1);
	--gx-ease-io: cubic-bezier(.65, 0, .35, 1);
	--gx-t-fast: 160ms;
	--gx-t: 280ms;
	--gx-t-slow: 700ms;
}

/* 2 · Base ---------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: calc(var(--gx-header-h) + var(--gx-toc-h) + var(--wp-admin--admin-bar--height, 0px) + 16px); }
@media (prefers-reduced-motion: no-preference) { html { scroll-behavior: smooth; } }
body {
	margin: 0;
	font-family: var(--gx-font);
	font-size: var(--gx-fs-base);
	line-height: 1.65;
	color: var(--gx-ink);
	background: #fff;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
	overflow-x: clip;
}
:where(h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd, figure, blockquote) { margin: 0; }
:where(ul, ol) { padding-left: 1.25em; }
h1, h2, h3, h4, h5, h6 {
	font-family: var(--gx-font-head);
	font-weight: 600;
	line-height: 1.15;
	letter-spacing: -.015em;
	color: var(--gx-ink);
	text-wrap: balance;
}
h1 { font-size: var(--gx-fs-h1); font-weight: 700; letter-spacing: -.025em; }
h2 { font-size: var(--gx-fs-h2); letter-spacing: -.02em; }
h3 { font-size: var(--gx-fs-h3); }
h4 { font-size: var(--gx-fs-h4); }
p { text-wrap: pretty; }
img, svg, video { max-width: 100%; height: auto; }
img { display: block; }
a { color: var(--gx-blue); text-decoration-thickness: 1px; text-underline-offset: .18em; transition: color var(--gx-t-fast) var(--gx-ease); }
a:hover { color: var(--gx-blue-d); }
strong { font-weight: 650; }
:focus-visible { outline: 3px solid var(--gx-blue); outline-offset: 3px; border-radius: 4px; }
::selection { background: var(--gx-blue-100); color: var(--gx-ink); }
:where(.wp-block-group) > * + * { margin-block-start: 1rem; }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.gx-main { flex: 1 0 auto; }
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px;
	overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important;
}
.skip-link:focus { clip: auto; clip-path: none; height: auto; width: auto; z-index: 1000; background: #fff; padding: .75rem 1rem; top: .5rem; left: .5rem; box-shadow: var(--gx-sh-2); }
.gx-icon { width: 1.25em; height: 1.25em; flex: none; }

/* 3 · Utilities ----------------------------------------------------------- */
.gx-container { width: 100%; max-width: calc(var(--gx-wide) + 2 * var(--gx-gutter)); margin-inline: auto; padding-inline: var(--gx-gutter); }
.gx-container--text { max-width: calc(var(--gx-text) + 2 * var(--gx-gutter)); }
.gx-eyebrow {
	display: inline-flex; align-items: center; gap: .6rem;
	font: 600 .78rem/1.3 var(--gx-font); letter-spacing: .12em; text-transform: uppercase; color: var(--gx-blue);
}
.gx-eyebrow::before { content: ""; width: 1.75rem; height: 2px; border-radius: 2px; background: var(--gx-green); flex: none; }
.gx-lead { font-size: var(--gx-fs-lead); line-height: 1.6; color: var(--gx-muted); max-width: 62ch; }
.gx-muted { color: var(--gx-muted); }
.gx-small { font-size: var(--gx-fs-sm); }
.gx-note {
	position: relative; padding: 1rem 1.25rem 1rem 3.1rem; border-radius: var(--gx-r);
	background: var(--gx-blue-50); color: var(--gx-ink); font-size: .975rem; border: 1px solid var(--gx-blue-100);
}
.gx-note::before {
	content: "i"; position: absolute; left: 1rem; top: 1rem; width: 1.4rem; height: 1.4rem; border-radius: 50%;
	display: grid; place-items: center; font: 700 .8rem/1 var(--gx-font-head); color: #fff; background: var(--gx-blue);
}
.gx-note--warn { background: #fff7f2; border-color: #f6d7c8; }
.gx-note--warn::before { content: "!"; background: var(--gx-cta); }
.gx-chips { display: flex; flex-wrap: wrap; gap: .5rem; list-style: none; margin: 0; padding: 0; }
.gx-chip {
	display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .55rem 1rem;
	border-radius: 999px; border: 1px solid var(--gx-line-2); background: #fff; color: var(--gx-ink);
	font: 500 .9375rem/1.2 var(--gx-font); text-decoration: none; cursor: pointer;
	transition: border-color var(--gx-t-fast) var(--gx-ease), background-color var(--gx-t-fast) var(--gx-ease), color var(--gx-t-fast), transform var(--gx-t-fast) var(--gx-ease);
}
.gx-chip .gx-icon { color: var(--gx-blue); }
.gx-chip:hover { border-color: var(--gx-blue); color: var(--gx-blue-d); background: var(--gx-blue-50); }
.gx-chip[aria-pressed="true"], .gx-chip[aria-current="page"] { background: var(--gx-navy); border-color: var(--gx-navy); color: #fff; }
.gx-chip[aria-pressed="true"] .gx-icon, .gx-chip[aria-current="page"] .gx-icon { color: var(--gx-green); }

/* 4 · Buttons & links ----------------------------------------------------- */
.gx-btn, .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; gap: .55rem;
	min-height: 48px; padding: .85rem 1.4rem; border-radius: 8px; border: 2px solid transparent;
	font: 600 1rem/1.2 var(--gx-font); text-decoration: none; text-align: center; cursor: pointer;
	transition: background-color var(--gx-t-fast) var(--gx-ease), border-color var(--gx-t-fast) var(--gx-ease), color var(--gx-t-fast) var(--gx-ease), transform var(--gx-t-fast) var(--gx-ease), box-shadow var(--gx-t) var(--gx-ease);
}
.gx-btn--primary, .wp-block-button__link { background: var(--gx-cta); color: #fff; }
.gx-btn--primary:hover, .wp-block-button__link:hover { background: var(--gx-cta-h); color: #fff; box-shadow: 0 10px 22px -12px rgb(169 66 31 / .65); transform: translateY(-1px); }
.gx-btn--primary:active, .wp-block-button__link:active { transform: translateY(0); }
.gx-btn--secondary, .is-style-gx-secondary .wp-block-button__link, .is-style-outline .wp-block-button__link {
	background: transparent; color: var(--gx-blue-d); border-color: var(--gx-blue);
}
.gx-btn--secondary:hover, .is-style-gx-secondary .wp-block-button__link:hover, .is-style-outline .wp-block-button__link:hover { background: var(--gx-blue-50); color: var(--gx-blue-d); box-shadow: none; }
.is-style-gx-light .wp-block-button__link { background: transparent; color: #fff; border-color: rgb(255 255 255 / .7); }
.is-style-gx-light .wp-block-button__link:hover { background: rgb(255 255 255 / .12); border-color: #fff; color: #fff; box-shadow: none; }
.is-style-gx-link .wp-block-button__link, .gx-link-arrow {
	display: inline-flex; align-items: center; justify-content: flex-start; text-align: left; gap: .45rem; min-height: 44px; padding: 0; border: 0; background: none;
	color: var(--gx-blue); font: 600 1rem/1.3 var(--gx-font); text-decoration: none; box-shadow: none;
}
.is-style-gx-link .wp-block-button__link::after {
	content: ""; width: 1.1em; height: 1.1em; background: currentColor; flex: none;
	-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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%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' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--gx-t) var(--gx-ease);
}
.gx-link-arrow .gx-icon { width: 1.1em; height: 1.1em; transition: transform var(--gx-t) var(--gx-ease); }
.is-style-gx-link .wp-block-button__link:hover, .gx-link-arrow:hover { background: none; color: var(--gx-blue-d); transform: none; box-shadow: none; }
.is-style-gx-link .wp-block-button__link:hover::after, .gx-link-arrow:hover .gx-icon { transform: translateX(4px); }
.gx-link-arrow--sm { font-size: .9rem; min-height: 32px; }
.gx-btn--block { width: 100%; }
.gx-btn--lg { min-height: 54px; padding-inline: 1.8rem; font-size: 1.0625rem; }
.gx-linkbtn { background: none; border: 0; padding: 0; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: .18em; cursor: pointer; }
:root .wp-block-buttons { display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1rem; }
:root .wp-block-buttons > .wp-block-button { margin: 0; }

/* 5 · Header -------------------------------------------------------------- */
.gx-header-part { position: sticky; top: var(--wp-admin--admin-bar--height, 0px); z-index: 100; }
@media (max-width: 600px) { .admin-bar .gx-header-part { top: 0; } }
.gx-header { background: rgb(255 255 255 / .97); backdrop-filter: saturate(1.4) blur(10px); -webkit-backdrop-filter: saturate(1.4) blur(10px); border-bottom: 1px solid transparent; transition: box-shadow var(--gx-t) var(--gx-ease), border-color var(--gx-t) var(--gx-ease); }
.gx-header.is-scrolled { box-shadow: 0 8px 24px -16px rgb(11 34 54 / .35); border-bottom-color: var(--gx-line); }
.gx-utility { background: var(--gx-navy); color: var(--gx-on-dark); font-size: .8125rem; overflow: hidden; max-height: 40px; transition: max-height var(--gx-t) var(--gx-ease); }
.gx-header.is-scrolled .gx-utility { max-height: 0; }
.gx-utility__inner { display: flex; justify-content: space-between; align-items: center; gap: 1rem; min-height: 38px; }
.gx-utility__text, .gx-utility__links a { display: inline-flex; align-items: center; gap: .45rem; }
.gx-utility .gx-icon { width: 15px; height: 15px; color: var(--gx-green); }
.gx-utility__sep { opacity: .5; margin-inline: .35rem; }
.gx-utility__links { display: flex; gap: 1.5rem; list-style: none; margin: 0; padding: 0; }
.gx-utility__links a { color: #fff; text-decoration: none; }
.gx-utility__links a:hover { color: var(--gx-sky); text-decoration: underline; }
.gx-header__bar { position: relative; }
.gx-header__inner { display: flex; align-items: center; gap: 1.5rem; min-height: var(--gx-header-h); }
.gx-logo { display: inline-flex; flex: none; margin-right: auto; border-radius: 6px; }
.gx-logo img { height: 46px; width: auto; }
.gx-nav { display: none; }
.gx-nav__list { display: flex; align-items: center; gap: .25rem; list-style: none; margin: 0; padding: 0; }
.gx-nav__item { display: flex; align-items: center; }
.gx-nav__link {
	position: relative; display: inline-flex; align-items: center; min-height: 44px; padding: .5rem .8rem;
	color: var(--gx-ink); font: 500 .975rem/1.2 var(--gx-font); text-decoration: none; border-radius: 6px;
}
.gx-nav__link::after { content: ""; position: absolute; left: .8rem; right: .8rem; bottom: .3rem; height: 2px; border-radius: 2px; background: var(--gx-green); transform: scaleX(0); transform-origin: left; transition: transform var(--gx-t) var(--gx-ease); }
.gx-nav__link:hover { color: var(--gx-blue-d); }
.gx-nav__link:hover::after, .gx-nav__link[aria-current="page"]::after, .gx-nav__item.is-current > .gx-nav__link::after, .gx-nav__item.is-open > .gx-nav__link::after { transform: scaleX(1); }
.gx-nav__toggle { display: inline-grid; place-items: center; width: 32px; height: 44px; margin-left: 0; padding: 0; border: 0; border-radius: 6px; background: none; color: var(--gx-muted); cursor: pointer; }
.gx-nav__item--mega > .gx-nav__link { padding-right: .25rem; }
.gx-nav__item--mega > .gx-nav__link::after { right: .25rem; }
.gx-nav__toggle .gx-icon { width: 18px; height: 18px; transition: transform var(--gx-t) var(--gx-ease); }
.gx-nav__toggle[aria-expanded="true"] .gx-icon { transform: rotate(180deg); }
.gx-nav__toggle:hover { color: var(--gx-blue); background: var(--gx-blue-50); }
.gx-header__cta { display: none; min-height: 44px; padding: .7rem 1.15rem; font-size: .95rem; }
.gx-menu-toggle {
	display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; padding: .5rem .85rem; border: 1px solid var(--gx-line-2);
	border-radius: 8px; color: var(--gx-ink); background: #fff; font: 600 .9375rem/1 var(--gx-font); text-decoration: none;
}
.gx-menu-toggle:hover { border-color: var(--gx-blue); color: var(--gx-blue-d); }
.gx-mega {
	position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-top: 1px solid var(--gx-line);
	box-shadow: 0 30px 60px -30px rgb(11 34 54 / .45); padding-block: 2rem 2.25rem; max-height: calc(100vh - 120px); overflow-y: auto;
}
.gx-mega:not([hidden]) { animation: gx-drop var(--gx-t) var(--gx-ease); }
@keyframes gx-drop { from { opacity: 0; transform: translateY(-8px); } }
.gx-mega__inner { display: grid; grid-template-columns: 1fr 280px; gap: 2.5rem; }
.gx-mega__cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.75rem 2rem; }
.gx-mega__heading { display: flex; align-items: flex-start; gap: .6rem; color: var(--gx-ink); font: 600 .975rem/1.35 var(--gx-font-head); text-decoration: none; padding-bottom: .65rem; margin-bottom: .5rem; border-bottom: 1px solid var(--gx-line); }
.gx-mega__heading:hover { color: var(--gx-blue); }
.gx-mega__icon { color: var(--gx-blue); width: 22px; height: 22px; margin-top: .05rem; }
.gx-mega__list { list-style: none; margin: 0; padding: 0; }
.gx-mega__list a { display: block; padding: .32rem 0; color: var(--gx-muted); font-size: .9rem; line-height: 1.4; text-decoration: none; }
.gx-mega__list a:hover, .gx-mega__list a[aria-current="page"] { color: var(--gx-blue-d); text-decoration: underline; }
.gx-mega__aside { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; padding: 1.5rem; border-radius: var(--gx-r-lg); background: var(--gx-mist); border: 1px solid var(--gx-line); align-self: start; }
.gx-mega__aside-text { color: var(--gx-muted); font-size: .95rem; }
@media (min-width: 640px) { .gx-header__cta { display: inline-flex; } }
@media (min-width: 1100px) {
	.gx-nav { display: block; }
	.gx-menu-toggle { display: none; }
	.gx-logo { margin-right: 0; }
	.gx-nav { margin-left: auto; }
	:root { --gx-header-h: 80px; }
}
@media (max-width: 1099px) { .gx-utility { display: none; } :root { --gx-header-h: 68px; } .gx-logo img { height: 40px; } }

/* 6 · Mobile drawer ------------------------------------------------------- */
.gx-drawer {
	margin: 0 0 0 auto; width: min(420px, 100%); max-width: 100%; height: 100dvh; max-height: 100dvh; padding: 0; border: 0;
	background: #fff; color: var(--gx-ink); box-shadow: var(--gx-sh-3); display: none; flex-direction: column;
}
.gx-drawer[open] { display: flex; animation: gx-slide var(--gx-t) var(--gx-ease); }
.gx-drawer::backdrop { background: rgb(8 48 77 / .55); backdrop-filter: blur(2px); }
@keyframes gx-slide { from { transform: translateX(24px); opacity: 0; } }
.gx-drawer__head { display: flex; align-items: center; justify-content: space-between; padding: .9rem var(--gx-gutter); border-bottom: 1px solid var(--gx-line); }
.gx-logo--drawer img { height: 38px; }
.gx-drawer__close { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--gx-line-2); border-radius: 8px; background: #fff; color: var(--gx-ink); cursor: pointer; }
.gx-drawer__nav { flex: 1; overflow-y: auto; padding: 1rem var(--gx-gutter) 1.5rem; }
.gx-drawer__label { font: 600 .75rem/1 var(--gx-font); letter-spacing: .12em; text-transform: uppercase; color: var(--gx-muted); margin: .5rem 0 .75rem; }
.gx-drawer__group { border-bottom: 1px solid var(--gx-line); }
.gx-drawer__group summary { display: flex; align-items: center; gap: .65rem; min-height: 52px; list-style: none; cursor: pointer; font: 600 1rem/1.3 var(--gx-font-head); }
.gx-drawer__group summary::-webkit-details-marker { display: none; }
.gx-drawer__group summary .gx-icon:first-child { color: var(--gx-blue); }
.gx-drawer__chev { margin-left: auto; color: var(--gx-muted); transition: transform var(--gx-t) var(--gx-ease); }
.gx-drawer__group[open] .gx-drawer__chev { transform: rotate(180deg); }
.gx-drawer__group ul { list-style: none; margin: 0 0 .75rem; padding: 0 0 0 2.1rem; }
.gx-drawer__group a, .gx-drawer__primary a { display: block; padding: .55rem 0; color: var(--gx-ink); text-decoration: none; font-size: .975rem; }
.gx-drawer__group a:hover, .gx-drawer__primary a:hover, .gx-drawer a[aria-current="page"] { color: var(--gx-blue-d); text-decoration: underline; }
.gx-drawer__overview { font-weight: 600; color: var(--gx-blue) !important; }
.gx-drawer__primary { list-style: none; margin: 1rem 0 0; padding: 0; }
.gx-drawer__primary a { font: 600 1.05rem/1.3 var(--gx-font-head); padding-block: .7rem; border-bottom: 1px solid var(--gx-line); }
.gx-drawer__foot { padding: 1rem var(--gx-gutter) calc(1rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--gx-line); background: var(--gx-mist); display: grid; gap: .5rem; }
.gx-drawer__foot p a { display: inline-flex; align-items: center; gap: .5rem; min-height: 40px; color: var(--gx-ink); text-decoration: none; font-weight: 500; }
.gx-drawer__foot .gx-icon { color: var(--gx-blue); }
html.gx-lock { overflow: hidden; }

/* 7 · Heroes -------------------------------------------------------------- */
/* Home hero: full-bleed photograph, text on a controlled dark overlay. */
.gx-hero { position: relative; isolation: isolate; color: #fff; background: var(--gx-navy); overflow: hidden; }
:root .gx-hero > * + * { margin-top: 0; }
.gx-hero__media { position: absolute; inset: 0; z-index: -2; }
.gx-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: 70% 40%; }
.gx-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background:
		linear-gradient(90deg, rgb(6 33 54 / .94) 0%, rgb(6 33 54 / .86) 38%, rgb(6 33 54 / .45) 68%, rgb(6 33 54 / .25) 100%),
		radial-gradient(rgb(255 255 255 / .07) 1px, transparent 1.4px) 0 0 / 22px 22px;
}
.gx-hero__art { position: absolute; right: -4%; top: 6%; width: min(46vw, 640px); z-index: -1; opacity: .55; pointer-events: none; color: var(--gx-sky); }
.gx-hero__inner { position: relative; padding-block: clamp(4.5rem, 10vw, 8.5rem) clamp(7rem, 12vw, 10rem); }
.gx-hero__content { max-width: 690px; }
:root .gx-hero__content > * + * { margin-top: 1.25rem; }
.gx-hero .gx-eyebrow { color: #fff; }
.gx-hero__title { font-size: var(--gx-fs-display); line-height: 1.05; color: #fff; letter-spacing: -.03em; }
.gx-hero__title em { font-style: normal; color: var(--gx-green); }
.gx-hero__lead { font-size: var(--gx-fs-lead); line-height: 1.6; color: var(--gx-on-dark); max-width: 58ch; }
:root .gx-hero .wp-block-buttons { margin-top: 2rem; }
.gx-hero__points { display: flex; flex-wrap: wrap; gap: .75rem 1.75rem; list-style: none; padding: 0; margin-top: 2.25rem !important; color: var(--gx-on-dark); font-size: .925rem; }
.gx-hero__points li { display: inline-flex; align-items: center; gap: .55rem; }
.gx-hero__points li::before { content: ""; width: 18px; height: 18px; flex: none; border-radius: 50%; background: var(--gx-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2308304D' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 12px no-repeat; }
@media (max-width: 767px) {
	.gx-hero::before { background: linear-gradient(180deg, rgb(6 33 54 / .78) 0%, rgb(6 33 54 / .92) 55%, rgb(6 33 54 / .97) 100%); }
	.gx-hero__media img { object-position: 65% 30%; }
	.gx-hero__art { display: none; }
}

/* Service finder card overlapping the hero. */
.gx-finder { position: relative; z-index: 2; margin-top: clamp(-5.5rem, -8vw, -3.5rem) !important; }
.gx-finder__card { background: #fff; border-radius: var(--gx-r-xl); box-shadow: var(--gx-sh-3); padding: clamp(1.25rem, 3vw, 2rem) clamp(1.25rem, 3vw, 2.25rem); display: grid; gap: 1rem 2rem; align-items: center; border: 1px solid var(--gx-line); }
:root .gx-finder__card > * + * { margin-top: 0; }
.gx-finder__title { font-size: 1.25rem; }
.gx-finder__text { color: var(--gx-muted); font-size: .95rem; margin-top: .25rem !important; }
@media (min-width: 1000px) { .gx-finder__card { grid-template-columns: 280px 1fr; } }

/* Inner page hero: split text / image. */
.gx-phero { position: relative; background: var(--gx-mist); border-bottom: 1px solid var(--gx-line); overflow: hidden; }
.gx-phero::before { content: ""; position: absolute; inset: 0; background: radial-gradient(rgb(1 112 176 / .09) 1px, transparent 1.4px) 0 0 / 22px 22px; mask-image: linear-gradient(90deg, #000, transparent 60%); -webkit-mask-image: linear-gradient(90deg, #000, transparent 60%); pointer-events: none; }
:root .gx-phero > * + * { margin-top: 0; }
.gx-phero__inner { position: relative; display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: center; padding-block: clamp(1.5rem, 3vw, 2.25rem) clamp(3rem, 6vw, 4.75rem); }
.gx-phero__text { min-width: 0; }
:root .gx-phero__text > * + * { margin-top: 1.1rem; }
:root .gx-phero__text > .gx-breadcrumbs + * { margin-top: clamp(1.75rem, 4vw, 3rem); }
.gx-phero__title { font-size: var(--gx-fs-h1); }
.gx-phero .wp-block-buttons { margin-top: 1.75rem !important; }
.gx-phero__media { position: relative; }
.gx-phero__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--gx-r-xl); box-shadow: var(--gx-sh-3); }
.gx-phero__media::before { content: ""; position: absolute; inset: auto -14px -14px auto; width: 58%; height: 62%; border-radius: var(--gx-r-xl); background: var(--gx-green); opacity: .9; z-index: -1; }
.gx-phero__media::after { content: ""; position: absolute; left: -18px; top: 18px; width: 90px; height: 90px; background: radial-gradient(var(--gx-blue) 1.6px, transparent 2px) 0 0 / 14px 14px; opacity: .45; z-index: -1; }
.gx-phero__media { isolation: isolate; }
.gx-facts { display: grid; gap: .65rem; list-style: none; padding: 1.1rem 1.25rem !important; margin-top: 1.75rem !important; border-radius: var(--gx-r-lg); background: #fff; border: 1px solid var(--gx-line); font-size: .925rem; max-width: 620px; }
.gx-facts li { display: grid; grid-template-columns: 9.5rem 1fr; gap: .75rem; }
.gx-facts li strong { color: var(--gx-muted); font-weight: 600; font-size: .8rem; letter-spacing: .06em; text-transform: uppercase; padding-top: .15rem; }
@media (max-width: 520px) { .gx-facts li { grid-template-columns: 1fr; gap: .1rem; } }
@media (min-width: 960px) { .gx-phero__inner { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); } }
.gx-phero--simple .gx-phero__inner { grid-template-columns: 1fr; padding-bottom: clamp(2.5rem, 5vw, 3.75rem); }
.gx-phero--simple .gx-phero__text { max-width: 820px; }
.gx-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem .5rem; list-style: none; margin: 0; padding: 0; font-size: .85rem; color: var(--gx-muted); }
.gx-breadcrumbs li { display: inline-flex; align-items: center; gap: .5rem; }
.gx-breadcrumbs li + li::before { content: ""; width: 6px; height: 6px; border-right: 1.5px solid var(--gx-line-2); border-top: 1.5px solid var(--gx-line-2); transform: rotate(45deg); }
.gx-breadcrumbs a { color: var(--gx-muted); text-decoration: none; padding-block: .35rem; }
.gx-breadcrumbs a:hover { color: var(--gx-blue-d); text-decoration: underline; }
.gx-breadcrumbs [aria-current] { color: var(--gx-ink); font-weight: 500; }

/* In-page navigation. */
.gx-toc { position: sticky; top: calc(var(--gx-header-h) + var(--wp-admin--admin-bar--height, 0px) - 1px); z-index: 50; background: rgb(255 255 255 / .96); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-bottom: 1px solid var(--gx-line); }
body:has(.gx-toc) { --gx-toc-h: 56px; }
.gx-toc__inner { display: flex; align-items: center; gap: 1.25rem; min-height: 56px; }
.gx-toc__label { flex: none; font: 600 .75rem/1 var(--gx-font); letter-spacing: .12em; text-transform: uppercase; color: var(--gx-muted); }
.gx-toc__list { display: flex; gap: .25rem; list-style: none; margin: 0; padding: 0; overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 92%, transparent); mask-image: linear-gradient(90deg, #000 92%, transparent); }
.gx-toc__list::-webkit-scrollbar { display: none; }
.gx-toc__list a { display: block; white-space: nowrap; padding: .5rem .8rem; border-radius: 999px; color: var(--gx-muted); font-size: .9rem; font-weight: 500; text-decoration: none; }
.gx-toc__list a:hover { color: var(--gx-blue-d); background: var(--gx-blue-50); }
.gx-toc__list a.is-active { color: #fff; background: var(--gx-navy); }
@media (max-width: 640px) { .gx-toc__label { display: none; } }

/* 8 · Sections ------------------------------------------------------------ */
.gx-section { position: relative; padding-block: var(--gx-sec-y); }
:root .gx-section > * + *, :root .gx-section > .gx-container > * + * { margin-top: 0; }
.gx-section--tight { padding-block: clamp(2.5rem, 5vw, 4rem); }
.gx-section--flush-top { padding-top: 0; }
.is-style-gx-tint { background: var(--gx-mist); }
.is-style-gx-navy { background: var(--gx-navy); color: var(--gx-on-dark); }
.is-style-gx-navy::before { content: ""; position: absolute; inset: 0; background: radial-gradient(rgb(255 255 255 / .06) 1px, transparent 1.4px) 0 0 / 22px 22px; pointer-events: none; }
.is-style-gx-navy :is(h1, h2, h3, h4) { color: #fff; }
.is-style-gx-navy .gx-eyebrow { color: var(--gx-sky); }
.is-style-gx-navy .gx-lead, .is-style-gx-navy .gx-section__intro { color: var(--gx-on-dark-2); }
.is-style-gx-navy a:not(.wp-block-button__link):not(.gx-btn) { color: var(--gx-sky); }
.is-style-gx-navy :focus-visible { outline-color: #fff; }
.gx-section__head { max-width: 760px; margin-bottom: clamp(2rem, 4vw, 3rem) !important; }
:root .gx-section__head > * + * { margin-top: 1rem; }
.gx-section__head--center { margin-inline: auto; text-align: center; }
.gx-section__head--center .gx-eyebrow { justify-content: center; }
.gx-section__head--split { max-width: none; display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 1rem 2rem; }
:root .gx-section__head--split > * + * { margin-top: 0; }
.gx-section__head--split > div { max-width: 720px; }
:root .gx-section__head--split > div > * + * { margin-top: .75rem; }
.gx-section__title { font-size: var(--gx-fs-h2); }
.gx-section__intro { color: var(--gx-muted); font-size: var(--gx-fs-lead); line-height: 1.6; }
.gx-grid { display: grid; gap: clamp(1rem, 2.4vw, 1.75rem); }
:root .gx-grid > * { margin: 0; }
@media (min-width: 700px) { .gx-grid--2, .gx-grid--3, .gx-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .gx-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .gx-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

/* Split media layout. */
.gx-split { display: grid; gap: clamp(2rem, 5vw, 4.5rem); align-items: center; }
:root .gx-split > * { margin: 0; }
:root .gx-split__text > * + * { margin-top: 1.1rem; }
.gx-split__text .wp-block-buttons { margin-top: 1.75rem !important; }
.gx-split__media { position: relative; isolation: isolate; }
.gx-split__media img { width: 100%; aspect-ratio: 5 / 4; object-fit: cover; border-radius: var(--gx-r-xl); box-shadow: var(--gx-sh-2); }
.gx-split__media::after { content: ""; position: absolute; inset: 22px -22px -22px 22px; border-radius: var(--gx-r-xl); border: 2px solid var(--gx-blue-100); z-index: -1; }
@media (max-width: 959px) { .gx-split__media::after { inset: 12px -8px -8px 12px; } .gx-phero__media::before { inset: auto -8px -10px auto; } }
@media (min-width: 960px) {
	.gx-split { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.gx-split--reverse .gx-split__media { order: -1; }
	.gx-split--wide-text { grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); }
}

/* Two-column service overview with an "at a glance" card. */
.gx-overview { display: grid; gap: clamp(2rem, 5vw, 4rem); align-items: start; }
:root .gx-overview > * { margin: 0; }
:root .gx-overview__text > * + * { margin-top: 1.1rem; }
.gx-overview__text p { color: #22384b; }
.gx-glance { position: sticky; top: calc(var(--gx-header-h) + var(--gx-toc-h) + var(--wp-admin--admin-bar--height, 0px) + 24px); padding: 1.5rem; border-radius: var(--gx-r-lg); background: #fff; border: 1px solid var(--gx-line); box-shadow: var(--gx-sh-2); }
:root .gx-glance > * + * { margin-top: .9rem; }
.gx-glance__title { font-size: 1.05rem; display: flex; align-items: center; gap: .5rem; }
.gx-glance dl { display: grid; gap: .85rem; margin: 0; }
.gx-glance dt { font: 600 .75rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-muted); }
.gx-glance dd { margin: .2rem 0 0; font-size: .95rem; }
.gx-glance .gx-reflist li { grid-template-columns: 1fr; gap: .2rem; padding: .8rem 0; }
.gx-glance .gx-reflist li strong { font: 600 .75rem/1.3 var(--gx-font); letter-spacing: .08em; text-transform: uppercase; color: var(--gx-muted); }
.gx-glance .gx-reflist li span { color: var(--gx-ink); font-size: .95rem; }
@media (min-width: 1000px) { .gx-overview { grid-template-columns: minmax(0, 1.55fr) minmax(300px, 1fr); } }

/* 9 · Cards --------------------------------------------------------------- */
.gx-card, .is-style-gx-card { background: #fff; border: 1px solid var(--gx-line); border-radius: var(--gx-r-lg); padding: clamp(1.25rem, 2.5vw, 1.75rem); }
/* Category cards (home, services hub). */
.gx-catgrid { display: grid; gap: clamp(1rem, 2.4vw, 1.75rem); }
@media (min-width: 680px) { .gx-catgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1080px) { .gx-catgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gx-ccard { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--gx-r-lg); border: 1px solid var(--gx-line); overflow: hidden; transition: transform var(--gx-t) var(--gx-ease), box-shadow var(--gx-t) var(--gx-ease), border-color var(--gx-t); }
.gx-ccard:hover { transform: translateY(-4px); box-shadow: var(--gx-sh-2); border-color: var(--gx-line-2); }
.gx-ccard__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--gx-blue-50); }
.gx-ccard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--gx-t-slow) var(--gx-ease); }
.gx-ccard:hover .gx-ccard__media img { transform: scale(1.05); }
.gx-ccard__body { display: flex; flex-direction: column; align-items: flex-start; gap: .6rem; flex: 1; padding: 1.5rem 1.5rem 1.35rem; }
.gx-ccard__icon { position: relative; z-index: 2; display: grid; place-items: center; width: 52px; height: 52px; border-radius: 14px; background: #fff; color: var(--gx-blue); box-shadow: var(--gx-sh-2); pointer-events: none; }
.gx-ccard__media + .gx-ccard__body .gx-ccard__icon { margin-top: calc(-1.5rem - 26px); }
.gx-catgrid--compact .gx-ccard__icon { background: var(--gx-blue-50); box-shadow: none; }
.gx-ccard__meta { align-self: stretch; }
.gx-ccard__title { font-size: 1.2rem; line-height: 1.3; }
.gx-ccard__title a { color: var(--gx-ink); text-decoration: none; }
.gx-ccard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gx-ccard { isolation: isolate; }
.gx-ccard__title a:focus-visible { outline: none; }
.gx-ccard:has(a:focus-visible) { outline: 3px solid var(--gx-blue); outline-offset: 3px; }
.gx-ccard__text { color: var(--gx-muted); font-size: .95rem; }
.gx-ccard__meta { display: flex; justify-content: space-between; align-items: center; margin-top: auto !important; padding-top: .85rem; border-top: 1px solid var(--gx-line); font-size: .85rem; font-weight: 500; color: var(--gx-muted); }
.gx-ccard__more { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; background: var(--gx-blue-50); color: var(--gx-blue); transition: background-color var(--gx-t), color var(--gx-t), transform var(--gx-t) var(--gx-ease); }
.gx-ccard:hover .gx-ccard__more { background: var(--gx-cta); color: #fff; transform: translateX(3px); }
.gx-ccard__more .gx-icon { width: 18px; height: 18px; }

/* Service cards. */
.gx-scard { position: relative; isolation: isolate; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--gx-line); border-radius: var(--gx-r-lg); overflow: hidden; transition: transform var(--gx-t) var(--gx-ease), box-shadow var(--gx-t) var(--gx-ease), border-color var(--gx-t); }
.gx-scard:hover { transform: translateY(-3px); box-shadow: var(--gx-sh-2); border-color: var(--gx-line-2); }
.gx-scard:has(a:focus-visible) { outline: 3px solid var(--gx-blue); outline-offset: 3px; }
.gx-scard__media { aspect-ratio: 16 / 9; overflow: hidden; background: var(--gx-blue-50); }
.gx-scard__media img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--gx-t-slow) var(--gx-ease); }
.gx-scard:hover .gx-scard__media img { transform: scale(1.05); }
.gx-scard__body { display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 1.35rem 1.4rem 1.25rem; }
.gx-scard__tag { font: 600 .72rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-green-d); }
.gx-scard__title { font-size: 1.125rem; line-height: 1.35; }
.gx-scard__title a { color: var(--gx-ink); text-decoration: none; }
.gx-scard__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gx-scard__title a:focus-visible { outline: none; }
.gx-scard__text { color: var(--gx-muted); font-size: .95rem; }
.gx-scard__more { display: inline-flex; align-items: center; gap: .4rem; margin-top: auto !important; padding-top: .5rem; font-weight: 600; font-size: .925rem; color: var(--gx-blue); }
.gx-scard__more .gx-icon { width: 1.05em; height: 1.05em; transition: transform var(--gx-t) var(--gx-ease); }
.gx-scard:hover .gx-scard__more .gx-icon { transform: translateX(4px); }

/* Feature cards (icons via class; used for use-cases, value points, deliverables). */
.gx-fcard { position: relative; padding: clamp(1.25rem, 2.4vw, 1.6rem); border-radius: var(--gx-r-lg); background: #fff; border: 1px solid var(--gx-line); transition: border-color var(--gx-t), box-shadow var(--gx-t) var(--gx-ease), transform var(--gx-t) var(--gx-ease); }
:root .gx-fcard > * + * { margin-top: .6rem; }
.gx-fcard:hover { border-color: var(--gx-line-2); box-shadow: var(--gx-sh-1); }
.gx-fcard__title { position: relative; font-size: 1.075rem; line-height: 1.35; display: flex; gap: .75rem; align-items: flex-start; --gx-ico-c: var(--gx-blue); }
.gx-fcard__title::before { content: ""; flex: none; width: 40px; height: 40px; margin-top: -.25rem; border-radius: 11px; background: var(--gx-blue-50); }
.gx-fcard__title::after {
	content: ""; position: absolute; left: 9px; top: calc(-.25rem + 9px); width: 22px; height: 22px; background: var(--gx-ico-c);
	-webkit-mask: var(--gx-ico, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E")) center / contain no-repeat;
	mask: var(--gx-ico, url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7'/%3E%3C/svg%3E")) center / contain no-repeat;
}
.gx-fcard p { color: var(--gx-muted); font-size: .95rem; }
.gx-fcard--plain .gx-fcard__title::before, .gx-fcard--plain .gx-fcard__title::after { display: none; }
.is-style-gx-navy .gx-fcard { background: rgb(255 255 255 / .04); border-color: rgb(255 255 255 / .14); }
.is-style-gx-navy .gx-fcard p { color: var(--gx-on-dark-2); }
.is-style-gx-navy .gx-fcard__title::before { background-color: rgb(135 178 89 / .16); }
.is-style-gx-navy .gx-fcard__title { --gx-ico-c: var(--gx-green); }
/* Icon set for feature cards. */
.gx-ico-flask { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6M10 3v6L4.5 18.5A1.6 1.6 0 006 21h12a1.6 1.6 0 001.5-2.5L14 9V3'/%3E%3Cpath d='M7.5 15h9'/%3E%3C/svg%3E"); }
.gx-ico-doc { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 3H7a2 2 0 00-2 2v14a2 2 0 002 2h10a2 2 0 002-2V8l-5-5z'/%3E%3Cpath d='M14 3v5h5M9 13h6M9 17h6'/%3E%3C/svg%3E"); }
.gx-ico-globe { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M3 12h18M12 3c2.5 2.6 3.8 5.6 3.8 9s-1.3 6.4-3.8 9c-2.5-2.6-3.8-5.6-3.8-9S9.5 5.6 12 3z'/%3E%3C/svg%3E"); }
.gx-ico-chat { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4V5z'/%3E%3Cpath d='M8 9.5h8M8 12.5h5'/%3E%3C/svg%3E"); }
.gx-ico-cycle { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 00-14.3-4.9L4 8M4 4v4h4M4 13a8 8 0 0014.3 4.9L20 16M20 20v-4h-4'/%3E%3C/svg%3E"); }
.gx-ico-shield { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.6-3.2 8.3-7.5 9.5-4.3-1.2-7.5-4.9-7.5-9.5V6L12 3z'/%3E%3Cpath d='M8.5 12l2.5 2.5 4.5-5'/%3E%3C/svg%3E"); }
.gx-ico-target { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Ccircle cx='12' cy='12' r='5'/%3E%3Ccircle cx='12' cy='12' r='1.5'/%3E%3C/svg%3E"); }
.gx-ico-lock { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10' width='14' height='11' rx='2'/%3E%3Cpath d='M8 10V7a4 4 0 018 0v3'/%3E%3C/svg%3E"); }
.gx-ico-alert { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3.5l9 16H3l9-16z'/%3E%3Cpath d='M12 10v4.5M12 17.2v.1'/%3E%3C/svg%3E"); }
.gx-ico-search { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.2-4.2'/%3E%3C/svg%3E"); }
.gx-ico-layers { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l9 5-9 5-9-5 9-5z'/%3E%3Cpath d='M3 13l9 5 9-5'/%3E%3C/svg%3E"); }
.gx-ico-users { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.2'/%3E%3Cpath d='M3 20c0-3.3 2.7-6 6-6s6 2.7 6 6'/%3E%3Cpath d='M16 4.5a3.2 3.2 0 010 6.3M18 14.3c1.8.8 3 2.7 3 4.9'/%3E%3C/svg%3E"); }
.gx-ico-pulse { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h4l2.5-6 4 12 2.5-6H21'/%3E%3C/svg%3E"); }
.gx-ico-molecule { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='7' r='2.2'/%3E%3Ccircle cx='18' cy='7' r='2.2'/%3E%3Ccircle cx='12' cy='17' r='2.2'/%3E%3Cpath d='M8 8.2l2.8 6.8M16 8.2l-2.8 6.8M8.2 7h7.6'/%3E%3C/svg%3E"); }
.gx-ico-clip { --gx-ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='4' width='14' height='17' rx='2'/%3E%3Cpath d='M9 4.5V3h6v1.5M8.5 10h7M8.5 14h7M8.5 18h4'/%3E%3C/svg%3E"); }

/* 10 · Feature blocks ----------------------------------------------------- */
/* Proof strip: factual capability statements (no unverified numbers). */
.gx-proof { display: grid; gap: 1px; background: var(--gx-line); border: 1px solid var(--gx-line); border-radius: var(--gx-r-lg); overflow: hidden; }
:root .gx-proof > * { margin: 0; }
.gx-proof__item { background: #fff; padding: 1.35rem 1.4rem; }
:root .gx-proof__item > * + * { margin-top: .35rem; }
.gx-proof__k { font: 600 1.05rem/1.3 var(--gx-font-head); color: var(--gx-ink); }
.gx-proof__v { font-size: .9rem; color: var(--gx-muted); }
@media (min-width: 700px) { .gx-proof { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1040px) { .gx-proof { grid-template-columns: repeat(4, 1fr); } }

/* Capability panels (home): large editorial panels alternating sides. */
.gx-caps { display: grid; gap: clamp(1.5rem, 3vw, 2.25rem); }
:root .gx-caps > * { margin: 0; }
.gx-cap { display: grid; border-radius: var(--gx-r-xl); overflow: hidden; background: #fff; border: 1px solid var(--gx-line); box-shadow: var(--gx-sh-1); }
:root .gx-cap > * { margin: 0; }
.gx-cap__media { position: relative; min-height: 260px; overflow: hidden; }
.gx-cap__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--gx-ease); }
.gx-cap:hover .gx-cap__media img { transform: scale(1.04); }
.gx-cap__body { padding: clamp(1.5rem, 3.5vw, 2.75rem); }
:root .gx-cap__body > * + * { margin-top: 1rem; }
.gx-cap__title { font-size: clamp(1.4rem, 1.2rem + .8vw, 1.85rem); }
.gx-cap__cols { display: grid; gap: 1rem 1.5rem; margin-top: 1.5rem !important; }
:root .gx-cap__cols > * { margin: 0; }
.gx-cap__col { padding-top: .9rem; border-top: 2px solid var(--gx-line); }
:root .gx-cap__col > * + * { margin-top: .4rem; }
.gx-cap__col h4 { font: 600 .75rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-green-d); }
.gx-cap__col p { font-size: .925rem; color: var(--gx-muted); }
@media (min-width: 700px) { .gx-cap__cols { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) {
	.gx-cap { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
	.gx-cap:nth-child(even) .gx-cap__media { order: 2; }
	.gx-cap__media { min-height: 100%; }
}

/* Industries. */
.gx-industries { display: grid; gap: clamp(1rem, 2.4vw, 1.5rem); }
:root .gx-industries > * { margin: 0; }
.gx-ind { position: relative; isolation: isolate; min-height: 340px; display: flex; flex-direction: column; justify-content: flex-end; padding: 1.5rem; border-radius: var(--gx-r-lg); overflow: hidden; color: #fff; }
:root .gx-ind > * + * { margin-top: .5rem; }
.gx-ind__media { position: absolute !important; inset: 0; z-index: -2; margin: 0 !important; }
.gx-ind__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--gx-ease); }
.gx-ind:hover .gx-ind__media img { transform: scale(1.05); }
.gx-ind::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, rgb(8 48 77 / 0) 25%, rgb(8 48 77 / .92) 78%); }
.gx-ind__title { color: #fff; font-size: 1.25rem; }
.gx-ind p { color: var(--gx-on-dark); font-size: .925rem; }
.gx-ind a { color: #fff; font-weight: 600; }
@media (min-width: 700px) { .gx-industries { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .gx-industries { grid-template-columns: repeat(4, 1fr); } .gx-ind { min-height: 420px; } }

/* 11 · Process ------------------------------------------------------------ */
.gx-process { counter-reset: gx-step; list-style: none; margin: 0; padding: 0; display: grid; gap: 0; position: relative; }
.gx-process > li { position: relative; counter-increment: gx-step; padding: 0 0 2rem 4.25rem; }
.gx-process > li::before {
	content: counter(gx-step, decimal-leading-zero); position: absolute; left: 0; top: 0; z-index: 1;
	display: grid; place-items: center; width: 48px; height: 48px; border-radius: 50%;
	background: #fff; border: 2px solid var(--gx-blue); color: var(--gx-blue); font: 600 .95rem/1 var(--gx-font-head);
	transition: background-color var(--gx-t) var(--gx-ease), color var(--gx-t) var(--gx-ease), border-color var(--gx-t);
}
.gx-process > li::after { content: ""; position: absolute; left: 23px; top: 48px; bottom: 0; width: 2px; background: linear-gradient(var(--gx-blue), var(--gx-green)); transform-origin: top; }
.gx-process > li:last-child { padding-bottom: 0; }
.gx-process > li:last-child::after { display: none; }
.gx-process strong { display: block; font: 600 1.1rem/1.35 var(--gx-font-head); color: var(--gx-ink); margin-bottom: .3rem; padding-top: .55rem; }
.gx-process span { display: block; color: var(--gx-muted); font-size: .95rem; }
.is-style-gx-navy .gx-process strong { color: #fff; }
.is-style-gx-navy .gx-process span { color: var(--gx-on-dark-2); }
.is-style-gx-navy .gx-process > li::before { background: var(--gx-navy); border-color: var(--gx-green); color: #fff; }
@media (min-width: 1040px) {
	.gx-steps-3 { --gx-steps: 3; } .gx-steps-4 { --gx-steps: 4; } .gx-steps-5 { --gx-steps: 5; } .gx-steps-6 { --gx-steps: 6; }
	.gx-process--h { grid-template-columns: repeat(var(--gx-steps, 6), minmax(0, 1fr)); gap: 1.5rem; }
	.gx-process--h > li { padding: 4.5rem 0 0; }
	.gx-process--h > li::after { left: 56px; right: -1.5rem; top: 23px; bottom: auto; width: auto; height: 2px; transform-origin: left; }
	.gx-process--h > li:last-child::after { display: none; }
}
.gx-process > li:hover::before { background: var(--gx-blue); color: #fff; }

/* 12 · Lists -------------------------------------------------------------- */
.is-style-gx-check, .gx-checklist { list-style: none; padding: 0; display: grid; gap: .7rem; }
.is-style-gx-check li, .gx-checklist li { position: relative; padding-left: 2rem; }
.is-style-gx-check li::before, .gx-checklist li::before {
	content: ""; position: absolute; left: 0; top: .2rem; width: 1.3rem; height: 1.3rem; border-radius: 50%;
	background: var(--gx-green-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E7A2A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 12.5l4 4L18 8'/%3E%3C/svg%3E") center / 12px no-repeat;
	border: 1px solid #d4e6c0;
}
.gx-checklist--cols { gap: .7rem 2rem; }
@media (min-width: 760px) { .gx-checklist--cols { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.is-style-gx-steps { list-style: none; padding: 0; counter-reset: gx-li; display: grid; gap: .85rem; }
.is-style-gx-steps li { counter-increment: gx-li; position: relative; padding-left: 2.6rem; }
.is-style-gx-steps li::before { content: counter(gx-li); position: absolute; left: 0; top: 0; width: 1.8rem; height: 1.8rem; border-radius: 50%; display: grid; place-items: center; background: var(--gx-blue); color: #fff; font: 600 .85rem/1 var(--gx-font-head); }
.gx-reflist { list-style: none; padding: 0; display: grid; gap: 0; border-top: 1px solid var(--gx-line); }
.gx-reflist li { display: grid; gap: .25rem; padding: 1rem 0; border-bottom: 1px solid var(--gx-line); }
.gx-reflist li strong { font: 600 1rem/1.4 var(--gx-font-head); }
.gx-reflist li span { color: var(--gx-muted); font-size: .95rem; }
@media (min-width: 760px) { .gx-reflist li { grid-template-columns: 17rem 1fr; gap: 2rem; } }
.gx-panel { padding: clamp(1.4rem, 3vw, 2.25rem); border-radius: var(--gx-r-xl); background: #fff; border: 1px solid var(--gx-line); }
:root .gx-panel > * + * { margin-top: 1rem; }
.gx-panel--tint { background: var(--gx-blue-50); border-color: var(--gx-blue-100); }
.gx-two { display: grid; gap: clamp(1.25rem, 3vw, 2rem); }
:root .gx-two > * { margin: 0; }
@media (min-width: 960px) { .gx-two { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* 13 · FAQ ---------------------------------------------------------------- */
.gx-faq { max-width: 880px; display: grid; gap: .75rem; }
:root .gx-faq > * { margin: 0; }
.gx-faq--center { margin-inline: auto; }
.gx-faq .wp-block-details { background: #fff; border: 1px solid var(--gx-line); border-radius: var(--gx-r); transition: border-color var(--gx-t), box-shadow var(--gx-t); }
.gx-faq .wp-block-details[open] { border-color: var(--gx-line-2); box-shadow: var(--gx-sh-1); }
.gx-faq summary { position: relative; display: block; padding: 1.15rem 3.5rem 1.15rem 1.35rem; cursor: pointer; list-style: none; font: 600 1.025rem/1.45 var(--gx-font-head); color: var(--gx-ink); border-radius: var(--gx-r); }
.gx-faq summary::-webkit-details-marker { display: none; }
.gx-faq summary::after { content: ""; position: absolute; right: 1.2rem; top: 50%; width: 26px; height: 26px; margin-top: -13px; border-radius: 50%; background: var(--gx-blue-50) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230170B0' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M12 6v12M6 12h12'/%3E%3C/svg%3E") center / 14px no-repeat; transition: transform var(--gx-t) var(--gx-ease), background-color var(--gx-t); }
.gx-faq details[open] > summary::after { transform: rotate(45deg); background-color: var(--gx-blue-100); }
.gx-faq summary:hover { color: var(--gx-blue-d); }
.gx-faq .wp-block-details > :not(summary) { padding: 0 1.35rem; color: #2b4256; }
:root .gx-faq .wp-block-details > * + * { margin-top: 0; }
.gx-faq .wp-block-details > :not(summary) + :not(summary) { margin-top: .75rem; }
.gx-faq .wp-block-details > :last-child:not(summary) { padding-bottom: 1.25rem; }
@supports (interpolate-size: allow-keywords) {
	.gx-faq details { interpolate-size: allow-keywords; }
	.gx-faq details::details-content { block-size: 0; overflow: clip; transition: block-size var(--gx-t) var(--gx-ease), content-visibility var(--gx-t) allow-discrete; }
	.gx-faq details[open]::details-content { block-size: auto; }
}

/* 14 · CTA band ----------------------------------------------------------- */
.gx-cta { position: relative; isolation: isolate; overflow: hidden; background: var(--gx-navy); color: var(--gx-on-dark); border-radius: var(--gx-r-xl); padding: clamp(2rem, 5vw, 3.75rem); display: grid; gap: 2rem; align-items: center; }
:root .gx-cta > * { margin: 0; }
.gx-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(rgb(255 255 255 / .07) 1px, transparent 1.4px) 0 0 / 22px 22px; }
.gx-cta::after { content: ""; position: absolute; z-index: -1; right: -120px; bottom: -160px; width: 420px; height: 420px; border-radius: 50%; border: 60px solid rgb(135 178 89 / .16); }
:root .gx-cta__text > * + * { margin-top: 1rem; }
.gx-cta__title { color: #fff; font-size: var(--gx-fs-h2); }
.gx-cta__text p { color: var(--gx-on-dark-2); font-size: 1.075rem; max-width: 60ch; }
.gx-cta__aside { display: grid; gap: 1rem; justify-items: start; }
:root .gx-cta__aside > * { margin: 0; }
.gx-cta__contact { display: grid; gap: .35rem; font-size: .95rem; }
.gx-cta__contact a { color: #fff; text-decoration: none; display: inline-flex; align-items: center; gap: .5rem; }
.gx-cta__contact a:hover { color: var(--gx-sky); text-decoration: underline; }
.gx-contact--cta { gap: .5rem; }
.gx-contact--cta li { align-items: center; }
.gx-contact--cta li:nth-child(1), .gx-contact--cta li:nth-child(4) { display: none; }
.gx-contact--cta .gx-contact__icon { width: 34px; height: 34px; border-radius: 9px; background: rgb(255 255 255 / .08); color: var(--gx-green); }
.gx-contact--cta .gx-contact__label { display: none; }
.gx-contact--cta .gx-contact__value, .gx-contact--cta .gx-contact__value a { color: #fff; font-size: .95rem; }
.gx-contact--cta .gx-contact__value br { display: none; }
.gx-contact--cta .gx-contact__value a:not(:first-child) { margin-left: 1rem; }
@media (min-width: 960px) { .gx-cta { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); } .gx-cta__aside { justify-items: end; text-align: right; } }

/* 15 · Map & coverage ----------------------------------------------------- */
.gx-coverage { display: grid; gap: clamp(2rem, 4vw, 3rem); align-items: center; }
:root .gx-coverage > * { margin: 0; }
@media (min-width: 1040px) { .gx-coverage { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); } }
:root .gx-coverage__text > * + * { margin-top: 1rem; }
.gx-map { margin: 0; }
.gx-map svg { width: 100%; height: auto; display: block; }
.gx-map__legend { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1rem; font-size: .85rem; color: var(--gx-on-dark-2); }
.gx-map__legend span { display: inline-flex; align-items: center; gap: .45rem; }
.gx-map__key { width: 10px; height: 10px; border-radius: 50%; display: inline-block; }
.gx-map__key--office { background: var(--gx-orange-l); box-shadow: 0 0 0 3px rgb(240 138 99 / .3); }
.gx-map__key--asia { background: var(--gx-sky); }
.gx-map__key--africa { background: var(--gx-green); }
.gx-map__key--other { background: rgb(255 255 255 / .28); }
.gx-map .gx-dot { opacity: 1; }
.js .gx-map:not(.is-visible) .gx-dot--asia, .js .gx-map:not(.is-visible) .gx-dot--africa { opacity: .25; }
.gx-map .gx-dot--asia, .gx-map .gx-dot--africa { transition: opacity 900ms var(--gx-ease); }
.gx-map .gx-pulse { transform-origin: center; transform-box: fill-box; }
.gx-phases { list-style: none; padding: 0; display: grid; gap: .75rem; counter-reset: gx-ph; }
.gx-phases li { counter-increment: gx-ph; position: relative; padding: 1rem 1.1rem 1rem 3.4rem; border-radius: var(--gx-r); background: rgb(255 255 255 / .05); border: 1px solid rgb(255 255 255 / .12); }
.gx-phases li::before { content: counter(gx-ph); position: absolute; left: 1rem; top: 1rem; width: 1.65rem; height: 1.65rem; border-radius: 50%; display: grid; place-items: center; background: var(--gx-green); color: var(--gx-navy); font: 700 .8rem/1 var(--gx-font-head); }
.gx-phases strong { display: block; color: #fff; font-family: var(--gx-font-head); font-weight: 600; }
.gx-phases span { display: block; font-size: .9rem; color: var(--gx-on-dark-2); }
@media (min-width: 700px) { .gx-phases { grid-template-columns: repeat(2, 1fr); } }

/* 16 · Forms -------------------------------------------------------------- */
.gx-formcard { background: #fff; border: 1px solid var(--gx-line); border-radius: var(--gx-r-xl); padding: clamp(1.4rem, 3.5vw, 2.5rem); box-shadow: var(--gx-sh-2); scroll-margin-top: calc(var(--gx-header-h) + 24px); }
:root .gx-formcard > * + * { margin-top: 1rem; }
.gx-formcard__title { font-size: 1.6rem; }
.gx-formcard__intro { color: var(--gx-muted); font-size: .925rem; }
.gx-form__grid { display: grid; gap: 1.15rem 1.25rem; margin-top: 1.5rem; }
@media (min-width: 720px) { .gx-form__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .gx-field--full { grid-column: 1 / -1; } }
.gx-field { display: grid; gap: .4rem; align-content: start; min-width: 0; border: 0; margin: 0; padding: 0; }
.gx-field label, .gx-field legend { font-weight: 600; font-size: .95rem; color: var(--gx-ink); padding: 0; }
.gx-req { color: var(--gx-cta); margin-left: .2rem; }
.gx-optional { font-weight: 400; color: var(--gx-muted); font-size: .875rem; }
.gx-field__hint { font-size: .85rem; color: var(--gx-muted); margin-top: -.15rem; }
.gx-field input[type="text"], .gx-field input[type="email"], .gx-field input[type="tel"], .gx-field input[type="search"], .gx-field select, .gx-field textarea {
	width: 100%; min-height: 50px; padding: .75rem .95rem; border: 1.5px solid var(--gx-line-2); border-radius: 8px; background: #fff;
	color: var(--gx-ink); font: 400 1rem/1.4 var(--gx-font); transition: border-color var(--gx-t-fast), box-shadow var(--gx-t-fast);
}
.gx-field textarea { min-height: 140px; resize: vertical; }
.gx-field select { appearance: none; padding-right: 2.75rem; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234A5D6E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") right .9rem center / 18px no-repeat; }
.gx-field :is(input, select, textarea):hover { border-color: #9fb3c3; }
.gx-field :is(input, select, textarea):focus { outline: none; border-color: var(--gx-blue); box-shadow: 0 0 0 4px rgb(1 112 176 / .16); }
.gx-field [aria-invalid="true"] { border-color: #c0392b !important; background-color: #fffafa; }
.gx-field__error { display: flex; gap: .4rem; align-items: flex-start; color: #b0281a; font-size: .875rem; font-weight: 500; }
.gx-field__error::before { content: "!"; flex: none; display: grid; place-items: center; width: 1.1rem; height: 1.1rem; margin-top: .1rem; border-radius: 50%; background: #b0281a; color: #fff; font-size: .7rem; font-weight: 700; }
.gx-field__error[hidden] { display: none; }
.gx-radios { display: flex !important; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; }
.gx-radios legend { margin-bottom: .5rem; width: 100%; float: left; }
.gx-radio, .gx-check { display: inline-flex; align-items: flex-start; gap: .6rem; min-height: 44px; padding-block: .35rem; cursor: pointer; font-weight: 400 !important; }
.gx-radio input, .gx-check input { flex: none; width: 20px; height: 20px; margin: .15rem 0 0; accent-color: var(--gx-blue); }
.gx-check span { font-size: .925rem; color: #2b4256; }
.gx-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gx-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.5rem; margin-top: 1.5rem; padding-top: 1.5rem; border-top: 1px solid var(--gx-line); }
.gx-form__privacy { display: flex; gap: .5rem; align-items: flex-start; flex: 1 1 260px; font-size: .85rem; color: var(--gx-muted); }
.gx-form__privacy .gx-icon { width: 18px; height: 18px; color: var(--gx-green-d); margin-top: .1rem; }
[data-gx-submit][aria-busy="true"] { pointer-events: none; opacity: .85; }
[data-gx-submit][aria-busy="true"]::before { content: ""; width: 18px; height: 18px; border-radius: 50%; border: 2.5px solid rgb(255 255 255 / .4); border-top-color: #fff; animation: gx-spin .8s linear infinite; }
@keyframes gx-spin { to { transform: rotate(360deg); } }
.gx-notice, .gx-form__alert { padding: .95rem 1.1rem; border-radius: 8px; font-size: .95rem; }
.gx-notice--success { background: var(--gx-green-50); border: 1px solid #cfe3b8; color: #2f4d18; }
.gx-notice--error, .gx-form__alert { background: #fdf1ef; border: 1px solid #f2c9c1; color: #8a2215; }
.gx-form__success { text-align: center; padding: 2rem 1rem; }
:root .gx-form__success > * + * { margin-top: .9rem; }
.gx-form__success-icon { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: var(--gx-green-50); color: var(--gx-green-d); border: 1px solid #cfe3b8; }
.gx-form__success-icon .gx-icon { width: 30px; height: 30px; }
.gx-form__success:focus { outline: none; }

/* 17 · Contact page ------------------------------------------------------- */
.gx-contact-layout { display: grid; gap: clamp(1.5rem, 4vw, 3rem); align-items: start; }
:root .gx-contact-layout > * { margin: 0; }
@media (min-width: 1000px) { .gx-contact-layout { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); } }
.gx-contact { list-style: none; margin: 0; padding: 0; display: grid; gap: 1.1rem; }
.gx-contact li { display: flex; gap: .9rem; align-items: flex-start; }
.gx-contact__icon { display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 12px; background: var(--gx-blue-50); color: var(--gx-blue); }
.gx-contact__icon .gx-icon { width: 20px; height: 20px; }
.gx-contact__body { display: grid; gap: .1rem; min-width: 0; }
.gx-contact__label { font: 600 .75rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-muted); }
.gx-contact__value { font-size: .975rem; overflow-wrap: anywhere; }
.gx-contact__value a { color: var(--gx-ink); text-decoration: none; font-weight: 500; }
.gx-contact__value a:hover { color: var(--gx-blue-d); text-decoration: underline; }
.gx-contact--footer { gap: .8rem; }
.gx-contact--footer .gx-contact__icon { width: 34px; height: 34px; border-radius: 9px; background: #fff; border: 1px solid var(--gx-line); }
.gx-contact--footer .gx-contact__label { display: none; }
.gx-contact--footer .gx-contact__value { font-size: .925rem; color: var(--gx-muted); }
.gx-sidecard { padding: clamp(1.4rem, 3vw, 2rem); border-radius: var(--gx-r-xl); background: var(--gx-mist); border: 1px solid var(--gx-line); }
:root .gx-sidecard > * + * { margin-top: 1.25rem; }
.gx-sidecard__title { font-size: 1.25rem; }

/* 18 · Services index (hub) ------------------------------------------------ */
.gx-index { display: grid; gap: clamp(2rem, 4vw, 3rem); }
:root .gx-index > * { margin: 0; }
.gx-index__controls { position: sticky; top: calc(var(--gx-header-h) + var(--wp-admin--admin-bar--height, 0px)); z-index: 20; display: grid; gap: 1rem; padding: 1.25rem; border-radius: var(--gx-r-lg); background: rgb(255 255 255 / .97); backdrop-filter: blur(8px); border: 1px solid var(--gx-line); box-shadow: var(--gx-sh-1); }
.gx-field--search { position: relative; }
.gx-field--search label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.gx-field--search input { padding-left: 2.9rem !important; }
.gx-field__icon { position: absolute; left: 1rem; top: 50%; transform: translateY(-50%); color: var(--gx-muted); display: flex; }
.gx-chips--filter .gx-chip { min-height: 40px; font-size: .875rem; padding: .45rem .85rem; }
.gx-index__count { font-size: .875rem; color: var(--gx-muted); }
.gx-index__group[hidden] { display: none; }
.gx-index__head { display: flex; gap: 1rem; align-items: flex-start; margin-bottom: 1.25rem; }
:root .gx-index__head > * + * { margin-top: 0; }
.gx-index__icon { display: grid; place-items: center; flex: none; width: 52px; height: 52px; border-radius: 14px; background: var(--gx-navy); color: var(--gx-green); }
.gx-index__title { font-size: clamp(1.3rem, 1.15rem + .6vw, 1.65rem); }
.gx-index__title a { color: var(--gx-ink); text-decoration: none; }
.gx-index__title a:hover { color: var(--gx-blue-d); text-decoration: underline; }
.gx-index__intro { color: var(--gx-muted); margin-top: .35rem !important; max-width: 70ch; }
.gx-index__list { list-style: none; margin: 0; padding: 0; display: grid; gap: .75rem; }
@media (min-width: 760px) { .gx-index__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .gx-index__list { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gx-index__list li[hidden] { display: none; }
.gx-index__list a { position: relative; display: grid; gap: .3rem; height: 100%; padding: 1.1rem 3rem 1.1rem 1.2rem; border-radius: var(--gx-r); border: 1px solid var(--gx-line); background: #fff; text-decoration: none; color: var(--gx-ink); transition: border-color var(--gx-t), box-shadow var(--gx-t), transform var(--gx-t) var(--gx-ease); }
.gx-index__list a:hover { border-color: var(--gx-blue); box-shadow: var(--gx-sh-1); transform: translateY(-2px); }
.gx-index__name { font: 600 1rem/1.35 var(--gx-font-head); }
.gx-index__desc { font-size: .875rem; color: var(--gx-muted); }
.gx-index__arrow { position: absolute; right: 1rem; top: 1.15rem; color: var(--gx-blue); width: 20px; height: 20px; transition: transform var(--gx-t) var(--gx-ease); }
.gx-index__list a:hover .gx-index__arrow { transform: translateX(3px); }
.gx-index__empty { padding: 1.5rem; border-radius: var(--gx-r); background: var(--gx-mist); text-align: center; }

/* 19 · Blog --------------------------------------------------------------- */
.gx-pcard { position: relative; isolation: isolate; display: flex; flex-direction: column; border-radius: var(--gx-r-lg); background: #fff; border: 1px solid var(--gx-line); overflow: hidden; transition: transform var(--gx-t) var(--gx-ease), box-shadow var(--gx-t) var(--gx-ease); height: 100%; }
.gx-pcard:hover { transform: translateY(-3px); box-shadow: var(--gx-sh-2); }
.gx-pcard:has(a:focus-visible) { outline: 3px solid var(--gx-blue); outline-offset: 3px; }
.gx-pcard__media, .gx-pcard .wp-block-post-featured-image { aspect-ratio: 16 / 9; overflow: hidden; margin: 0; background: var(--gx-blue-50); }
.gx-pcard__media img, .gx-pcard .wp-block-post-featured-image img { width: 100%; height: 100% !important; object-fit: cover; transition: transform var(--gx-t-slow) var(--gx-ease); }
.gx-pcard:hover img { transform: scale(1.05); }
.gx-pcard__body { display: flex; flex-direction: column; gap: .55rem; flex: 1; padding: 1.35rem 1.4rem 1.3rem; }
:root .gx-pcard__body > * + * { margin-top: 0; }
.gx-pcard__tag, .gx-pcard .wp-block-post-terms { font: 600 .72rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-green-d); }
.gx-pcard .wp-block-post-terms a { color: inherit; text-decoration: none; position: relative; z-index: 2; }
.gx-pcard__title, .gx-pcard .wp-block-post-title { font-size: 1.15rem; line-height: 1.35; }
.gx-pcard__title a, .gx-pcard .wp-block-post-title a { color: var(--gx-ink); text-decoration: none; }
.gx-pcard__title a::after, .gx-pcard .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.gx-pcard__text, .gx-pcard .wp-block-post-excerpt { color: var(--gx-muted); font-size: .95rem; }
.gx-pcard .wp-block-post-excerpt__more-text { display: none; }
.gx-pcard__meta, .gx-pcard .wp-block-post-date { display: flex; gap: .5rem; margin-top: auto !important; padding-top: .5rem; font-size: .85rem; color: var(--gx-muted); }
.gx-posts .wp-block-post-template { list-style: none; margin: 0; padding: 0; display: grid; gap: clamp(1rem, 2.4vw, 1.75rem); }
.gx-posts .wp-block-post-template > li { margin: 0; }
@media (min-width: 700px) { .gx-posts .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .gx-posts .wp-block-post-template { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.gx-posts .wp-block-query-pagination { display: flex; justify-content: center; gap: .5rem; margin-top: 2.5rem; }
.gx-posts .wp-block-query-pagination a, .gx-posts .wp-block-query-pagination .current { display: inline-grid; place-items: center; min-width: 44px; min-height: 44px; padding: 0 .75rem; border-radius: 8px; border: 1px solid var(--gx-line); text-decoration: none; color: var(--gx-ink); }
.gx-posts .wp-block-query-pagination .current { background: var(--gx-navy); color: #fff; border-color: var(--gx-navy); }
.gx-topics { margin-bottom: 2rem; }
.gx-empty { padding: 2.5rem; border-radius: var(--gx-r-lg); background: var(--gx-mist); border: 1px dashed var(--gx-line-2); text-align: center; color: var(--gx-muted); }

/* Article. */
.gx-ahero { background: var(--gx-mist); border-bottom: 1px solid var(--gx-line); }
.gx-ahero__inner { padding-block: clamp(1.5rem, 3vw, 2.25rem) clamp(2.5rem, 5vw, 3.5rem); max-width: calc(880px + 2 * var(--gx-gutter)); }
:root .gx-ahero__inner > * + * { margin-top: 1.1rem; }
:root .gx-ahero__inner > .gx-breadcrumbs + * { margin-top: clamp(1.5rem, 3vw, 2.5rem); }
.gx-ahero .wp-block-post-terms { font: 600 .78rem/1.3 var(--gx-font); letter-spacing: .12em; text-transform: uppercase; }
.gx-ahero .wp-block-post-terms a { text-decoration: none; }
.gx-ahero .wp-block-post-title { font-size: clamp(2rem, 1.5rem + 2vw, 3rem); }
.gx-ahero .wp-block-post-excerpt { font-size: var(--gx-fs-lead); color: var(--gx-muted); }
.gx-ahero .wp-block-post-excerpt__more-text { display: none; }
.gx-ameta { display: flex; flex-wrap: wrap; gap: .75rem 2rem; list-style: none; margin: 1.5rem 0 0 !important; padding: 1rem 0 0; border-top: 1px solid var(--gx-line); font-size: .9rem; }
.gx-ameta li { display: grid; gap: .15rem; }
.gx-ameta__k { font: 600 .7rem/1.3 var(--gx-font); letter-spacing: .1em; text-transform: uppercase; color: var(--gx-muted); }
.gx-article__media { max-width: calc(1040px + 2 * var(--gx-gutter)); margin-top: clamp(-1.5rem, -2vw, -1rem) !important; }
.gx-article__media img { width: 100%; aspect-ratio: 21 / 9; object-fit: cover; border-radius: var(--gx-r-xl); box-shadow: var(--gx-sh-2); }
.gx-article__body { padding-block: clamp(2.5rem, 5vw, 4rem); }

/* Long-form prose (articles and legal pages). */
.gx-prose { max-width: 720px; margin-inline: auto; font-size: 1.075rem; line-height: 1.75; color: #1d3447; }
:root .gx-prose > * + * { margin-top: 1.15em; }
:root .gx-prose > :is(h2, h3) { margin-top: 2.1em; }
:root .gx-prose > :is(h2, h3) + * { margin-top: .75em; }
.gx-prose h2 { font-size: clamp(1.5rem, 1.3rem + .8vw, 1.9rem); }
.gx-prose h3 { font-size: 1.25rem; }
.gx-prose ul, .gx-prose ol { padding-left: 1.4em; }
.gx-prose li + li { margin-top: .45em; }
.gx-prose li::marker { color: var(--gx-blue); }
.gx-prose table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; }
.gx-prose .wp-block-table { overflow-x: auto; }
.gx-prose th, .gx-prose td { border-bottom: 1px solid var(--gx-line); padding: .7rem .8rem; text-align: left; vertical-align: top; }
.gx-prose th { background: var(--gx-mist); font-family: var(--gx-font-head); font-weight: 600; color: var(--gx-ink); }
.gx-prose .wp-block-table figcaption { font-size: .85rem; color: var(--gx-muted); margin-top: .5rem; }
.gx-prose .gx-takeaways { padding: 1.4rem 1.5rem; border-radius: var(--gx-r-lg); background: var(--gx-blue-50); border: 1px solid var(--gx-blue-100); }
:root .gx-prose .gx-takeaways > * + * { margin-top: .75rem; }
.gx-prose .gx-takeaways h2 { font-size: 1.1rem; margin: 0; }
.gx-prose blockquote { border-left: 3px solid var(--gx-green); padding-left: 1.25rem; color: var(--gx-muted); }
.gx-acta { max-width: calc(880px + 2 * var(--gx-gutter)); margin: 0 auto clamp(3rem, 6vw, 5rem); padding: clamp(1.5rem, 3vw, 2.25rem); border-radius: var(--gx-r-xl); background: var(--gx-navy); color: var(--gx-on-dark); display: grid; gap: 1.5rem; }
:root .gx-acta > * + * { margin-top: 0; }
:root .gx-acta__body > * + * { margin-top: .6rem; }
.gx-acta .gx-eyebrow { color: var(--gx-sky); }
.gx-acta__title { color: #fff; font-size: 1.5rem; }
.gx-acta__body p { color: var(--gx-on-dark-2); }
.gx-acta__actions { display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; align-items: center; }
.gx-acta .gx-link-arrow { color: var(--gx-sky); }
.gx-legal-updated { font-size: .9rem; color: var(--gx-muted); }

/* 404 / search. */
.gx-404 { text-align: center; }
.gx-404 .gx-chips { justify-content: center; }
.gx-search { display: flex; gap: .5rem; max-width: 560px; margin-inline: auto; }
.gx-search .wp-block-search__inside-wrapper { display: flex; gap: .5rem; width: 100%; }
.gx-search input { flex: 1; min-height: 50px; padding: .75rem 1rem; border: 1.5px solid var(--gx-line-2); border-radius: 8px; font: inherit; }
.gx-search button { min-height: 50px; padding: 0 1.25rem; border: 0; border-radius: 8px; background: var(--gx-blue); color: #fff; font: 600 1rem var(--gx-font); cursor: pointer; }

/* 20 · Footer ------------------------------------------------------------- */
.gx-footer { background: var(--gx-mist); border-top: 1px solid var(--gx-line); padding-top: clamp(3rem, 6vw, 4.5rem); color: var(--gx-ink); }
.gx-footer__top { display: grid; gap: 2.5rem; padding-bottom: 2.5rem; }
.gx-footer__brand { display: grid; gap: 1.25rem; align-content: start; max-width: 420px; }
.gx-logo--footer img { height: 48px; }
.gx-footer__about { color: var(--gx-muted); font-size: .95rem; }
.gx-footer__nav { display: grid; gap: 2rem; }
@media (min-width: 640px) { .gx-footer__nav { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1040px) { .gx-footer__top { grid-template-columns: minmax(0, 1fr) minmax(0, 1.7fr); gap: 4rem; } }
.gx-footer__heading { font: 600 .78rem/1.3 var(--gx-font); letter-spacing: .12em; text-transform: uppercase; color: var(--gx-muted); margin-bottom: 1rem; }
.gx-footer ul { list-style: none; margin: 0; padding: 0; }
.gx-footer__col li + li { margin-top: .15rem; }
.gx-footer__col a { display: inline-block; padding-block: .35rem; color: var(--gx-ink); font-size: .95rem; text-decoration: none; }
.gx-footer__col a:hover { color: var(--gx-blue-d); text-decoration: underline; }
.gx-footer__social a { display: inline-flex; align-items: center; gap: .5rem; margin-top: 1rem; color: var(--gx-ink); text-decoration: none; font-weight: 500; }
.gx-footer__legal { padding-block: 1.5rem calc(1.5rem + env(safe-area-inset-bottom)); border-top: 1px solid var(--gx-line); display: grid; gap: 1rem; font-size: .85rem; color: var(--gx-muted); }
.gx-footer__disclaimer { max-width: 100ch; }
.gx-footer__bottom { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .75rem 2rem; }
.gx-footer__legal-links { display: flex; flex-wrap: wrap; gap: .25rem 1.25rem; }
.gx-footer__legal-links a, .gx-footer__legal-links button { color: var(--gx-muted); font-size: .85rem; min-height: 32px; display: inline-flex; align-items: center; }
.gx-footer__legal-links a:hover, .gx-footer__legal-links button:hover { color: var(--gx-blue-d); }

/* 21 · Action bar & consent ---------------------------------------------- */
.gx-actionbar { position: fixed; z-index: 90; left: 0; right: 0; bottom: 0; display: grid; grid-template-columns: auto auto 1fr; gap: .5rem; padding: .55rem var(--gx-gutter) calc(.55rem + env(safe-area-inset-bottom)); background: rgb(255 255 255 / .97); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border-top: 1px solid var(--gx-line); box-shadow: 0 -10px 30px -18px rgb(11 34 54 / .4); transform: translateY(110%); transition: transform var(--gx-t) var(--gx-ease); }
.gx-actionbar.is-visible { transform: none; }
.gx-actionbar a { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 46px; padding: 0 .9rem; border-radius: 8px; border: 1px solid var(--gx-line-2); color: var(--gx-ink); text-decoration: none; font-weight: 600; font-size: .9rem; }
.gx-actionbar a .gx-icon { width: 18px; height: 18px; color: var(--gx-blue); }
.gx-actionbar .gx-actionbar__primary { background: var(--gx-cta); border-color: var(--gx-cta); color: #fff; }
.gx-actionbar .gx-actionbar__primary .gx-icon { color: #fff; }
@media (min-width: 768px) { .gx-actionbar { display: none; } }
@media (max-width: 767px) { body { padding-bottom: calc(66px + env(safe-area-inset-bottom)); } .gx-is-contact .gx-actionbar { display: none; } body.gx-is-contact { padding-bottom: 0; } }
@media (max-width: 380px) { .gx-actionbar a:not(.gx-actionbar__primary) span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }
.gx-consent { position: fixed; z-index: 120; left: var(--gx-gutter); right: var(--gx-gutter); bottom: calc(1rem + env(safe-area-inset-bottom)); max-width: 720px; margin-inline: auto; padding: 1.25rem 1.4rem; border-radius: var(--gx-r-lg); background: #fff; border: 1px solid var(--gx-line); box-shadow: var(--gx-sh-3); }
.gx-consent[hidden] { display: none; }
.gx-consent__inner { display: grid; gap: 1rem; align-items: center; }
.gx-consent__text { font-size: .925rem; color: #2b4256; }
.gx-consent__actions { display: flex; flex-wrap: wrap; gap: .75rem; }
@media (min-width: 720px) { .gx-consent__inner { grid-template-columns: 1fr auto; } }
@media (max-width: 767px) { .gx-consent { bottom: calc(76px + env(safe-area-inset-bottom)); } }

/* 22 · Editor-only states ------------------------------------------------- */
.gx-pending { position: relative; padding: 1rem; border: 2px dashed #e0a100; border-radius: var(--gx-r); background: repeating-linear-gradient(-45deg, #fffbea, #fffbea 12px, #fff6d5 12px, #fff6d5 24px); }
.gx-pending__label { display: flex; flex-wrap: wrap; gap: .35rem 1rem; align-items: baseline; margin-bottom: .75rem !important; font-size: .85rem; color: #6b4f00; }
.gx-pending__note { font-style: italic; }
.gx-editor-note { font-size: .875rem; padding: .75rem 1rem; border-radius: 8px; background: #fffbea; border: 1px dashed #e0a100; color: #6b4f00; }

/* 23 · Motion ------------------------------------------------------------- */
.js .gx-reveal { opacity: 0; transform: translateY(22px); transition: opacity var(--gx-t-slow) var(--gx-ease), transform var(--gx-t-slow) var(--gx-ease); }
.js .gx-reveal.is-visible { opacity: 1; transform: none; }
.js .gx-stagger > * { opacity: 0; transform: translateY(18px); transition: opacity 560ms var(--gx-ease), transform 560ms var(--gx-ease), box-shadow var(--gx-t) var(--gx-ease), border-color var(--gx-t); transition-delay: calc(var(--gx-i, 0) * 70ms); }
.js .gx-stagger.is-visible > * { opacity: 1; transform: none; }
.js .gx-stagger.is-visible > *:hover { transition-delay: 0ms; }
.js .gx-stagger.is-visible > .gx-ccard:hover { transform: translateY(-4px); }
.js .gx-stagger.is-visible > .gx-scard:hover, .js .gx-stagger.is-visible > .gx-pcard:hover { transform: translateY(-3px); }
.js .gx-process > li::after { transform: scaleY(0); transition: transform 900ms var(--gx-ease-io); transition-delay: calc(var(--gx-i, 0) * 160ms + 120ms); }
.js .gx-process > li::before { transform: scale(.6); opacity: 0; transition: transform 420ms var(--gx-ease), opacity 420ms var(--gx-ease), background-color var(--gx-t), color var(--gx-t); transition-delay: calc(var(--gx-i, 0) * 160ms); }
.js .gx-process > li > * { opacity: 0; transform: translateY(10px); transition: opacity 520ms var(--gx-ease), transform 520ms var(--gx-ease); transition-delay: calc(var(--gx-i, 0) * 160ms + 80ms); }
.js .gx-process.is-visible > li::after { transform: none; }
.js .gx-process.is-visible > li::before { transform: none; opacity: 1; }
.js .gx-process.is-visible > li > * { opacity: 1; transform: none; }
@media (min-width: 1040px) { .js .gx-process--h > li::after { transform: scaleX(0); } .js .gx-process--h.is-visible > li::after { transform: none; } }
.gx-hero__art path, .gx-hero__art circle, .gx-hero__art line { vector-effect: non-scaling-stroke; }
.js .gx-hero__art .gx-draw { stroke-dasharray: 1; stroke-dashoffset: 1; animation: gx-draw 2.4s var(--gx-ease-io) .3s forwards; }
.js .gx-hero__art .gx-node { opacity: 0; animation: gx-fade .6s var(--gx-ease) forwards; animation-delay: calc(.6s + var(--d, 0) * .12s); }
@keyframes gx-draw { to { stroke-dashoffset: 0; } }
@keyframes gx-fade { to { opacity: 1; } }
.gx-hero__content > * { animation: gx-rise .8s var(--gx-ease) both; }
.gx-hero__content > :nth-child(2) { animation-delay: .06s; }
.gx-hero__content > :nth-child(3) { animation-delay: .12s; }
.gx-hero__content > :nth-child(4) { animation-delay: .18s; }
.gx-hero__content > :nth-child(5) { animation-delay: .24s; }
@keyframes gx-rise { from { opacity: 0; transform: translateY(16px); } }
.gx-hero__media img { animation: gx-settle 1.6s var(--gx-ease) both; }
@keyframes gx-settle { from { transform: scale(1.06); } }

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
	.js .gx-reveal, .js .gx-stagger > *, .js .gx-process > li > *, .js .gx-process > li::before { opacity: 1 !important; transform: none !important; }
	.js .gx-process > li::after { transform: none !important; }
	.js .gx-hero__art .gx-draw { stroke-dashoffset: 0; }
	.js .gx-hero__art .gx-node { opacity: 1; }
	.gx-ccard:hover, .gx-scard:hover, .gx-pcard:hover, .gx-btn--primary:hover, .wp-block-button__link:hover { transform: none; }
	.gx-ccard:hover .gx-ccard__media img, .gx-scard:hover .gx-scard__media img, .gx-cap:hover .gx-cap__media img, .gx-ind:hover .gx-ind__media img, .gx-pcard:hover img { transform: none; }
}

/* 24 · Print -------------------------------------------------------------- */
@media print {
	.gx-header-part, .gx-actionbar, .gx-consent, .gx-toc, .gx-drawer, .gx-cta, .gx-form, .gx-hero__art { display: none !important; }
	.gx-hero, .is-style-gx-navy { background: none !important; color: #000 !important; }
	.gx-hero::before, .gx-hero__media { display: none !important; }
	.gx-hero :is(h1, p, li), .is-style-gx-navy :is(h2, h3, p, li, span, strong) { color: #000 !important; }
	.js .gx-reveal, .js .gx-stagger > * { opacity: 1 !important; transform: none !important; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: .8em; }
}
