/*
 * XGene Enterprise IA + Visual System — 1.5.0
 * Presentation-only upgrade for the core commercial pages.
 */

:root {
	--xg-cyan: #23c7d9;
	--xg-violet: #6d5bd0;
	--xg-gold: #e9aa26;
	--xg-surface: #f6f9fd;
	--xg-surface-blue: #eef5ff;
	--xg-surface-teal: #eaf8f7;
	--xg-surface-lime: #f3fae8;
	--xg-surface-coral: #fff1e9;
	--xg-surface-violet: #f3f0ff;
	--xg-shadow-soft: 0 12px 36px rgb(15 42 74 / 8%);
	--xg-shadow-lift: 0 24px 62px rgb(15 42 74 / 13%);
}

/* Full-width owned presentation for the commercial core. */
.xg-enterprise-core .site-content > .ast-container {
	display: block;
	width: 100%;
	max-width: none;
	padding: 0;
}
.xg-enterprise-core .content-area {
	width: 100%;
	margin: 0;
}
.xg-enterprise-page,
.xg-services-hub,
.xg-enterprise-hub {
	background: #fff;
}

/* Global header/navigation ownership moved to xgene-foundation-161.css in 1.6.1. */

/* Accent helpers. */
.xg-accent-blue { --xg-local-accent: var(--xg-blue); --xg-local-soft: var(--xg-surface-blue); }
.xg-accent-teal { --xg-local-accent: var(--xg-teal); --xg-local-soft: var(--xg-surface-teal); }
.xg-accent-lime { --xg-local-accent: #69a900; --xg-local-soft: var(--xg-surface-lime); }
.xg-accent-coral { --xg-local-accent: var(--xg-coral); --xg-local-soft: var(--xg-surface-coral); }
.xg-accent-violet { --xg-local-accent: var(--xg-violet); --xg-local-soft: var(--xg-surface-violet); }
.xg-accent-gold { --xg-local-accent: #b77800; --xg-local-soft: #fff8df; }

.xg-enterprise-section {
	padding: clamp(4.5rem, 7vw, 7rem) 0;
}
.xg-enterprise-section--soft {
	background:
		radial-gradient(circle at 8% 18%, rgb(17 93 246 / 7%), transparent 22rem),
		linear-gradient(180deg, #f8fbff, #f3f7fb);
}
.xg-enterprise-heading {
	max-width: 54rem;
	margin-bottom: clamp(2.1rem, 4vw, 3.5rem);
}
.xg-enterprise-heading h2 {
	margin: .18em 0 .42em;
	color: var(--xg-navy);
	font-size: clamp(2.25rem, 1.65rem + 2.25vw, 4rem);
	line-height: 1.02;
	letter-spacing: -.05em;
}
.xg-enterprise-heading > p:not(.xg-eyebrow) {
	max-width: 48rem;
	margin: 0;
	color: var(--xg-muted);
	font-size: 1.08rem;
	line-height: 1.72;
}

/* Shared enterprise hero language. */
.xg-enterprise-hero,
.xg-contact-hero {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	color: #fff;
	background:
		radial-gradient(circle at 82% 20%, rgb(35 199 217 / 24%), transparent 28rem),
		radial-gradient(circle at 73% 88%, rgb(132 212 0 / 12%), transparent 22rem),
		linear-gradient(128deg, #0b2746 2%, #0d3a61 54%, #08737b 100%);
}
.xg-enterprise-hero::after,
.xg-contact-hero::after {
	position: absolute;
	right: -13rem;
	bottom: -18rem;
	width: 34rem;
	height: 34rem;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 50%;
	box-shadow: 0 0 0 4.5rem rgb(255 255 255 / 4%), 0 0 0 9rem rgb(255 255 255 / 2.5%);
	content: "";
	z-index: -1;
}
.xg-enterprise-hero__grid,
.xg-contact-hero__grid {
	display: grid;
	min-height: 35rem;
	padding: clamp(4.8rem, 8vw, 7.4rem) 0;
	grid-template-columns: minmax(0, 1.15fr) minmax(20rem, .85fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}
.xg-enterprise-hero .xg-eyebrow,
.xg-contact-hero .xg-eyebrow {
	color: #8fe3e5;
}
.xg-enterprise-hero h1,
.xg-contact-hero h1 {
	max-width: 16ch;
	margin: .15em 0 .36em;
	color: #fff;
	font-size: clamp(3rem, 2.1rem + 3.6vw, 5.7rem);
	font-weight: 820;
	line-height: .97;
	letter-spacing: -.058em;
}
.xg-enterprise-lead {
	max-width: 51rem;
	margin: 0;
	color: rgb(255 255 255 / 86%);
	font-size: clamp(1.08rem, 1rem + .35vw, 1.3rem);
	line-height: 1.7;
}
.xg-hub-button--light {
	color: var(--xg-navy) !important;
	border-color: rgb(15 42 74 / 12%);
	background: #fff;
}
.xg-hub-button--light:hover,
.xg-hub-button--light:focus-visible {
	color: var(--xg-deep-blue) !important;
	border-color: rgb(17 93 246 / 25%);
	background: var(--xg-sky);
}

/* WHO WE HELP ------------------------------------------------------------ */
.xg-enterprise-hero--audience {
	background:
		radial-gradient(circle at 78% 18%, rgb(17 93 246 / 30%), transparent 24rem),
		radial-gradient(circle at 82% 82%, rgb(132 212 0 / 16%), transparent 21rem),
		linear-gradient(130deg, #0a2644 2%, #0d3560 48%, #0a6f76 100%);
}
.xg-audience-orbit {
	position: relative;
	width: min(29rem, 100%);
	aspect-ratio: 1;
	margin-inline: auto;
	border: 1px solid rgb(255 255 255 / 19%);
	border-radius: 2rem;
	background: rgb(255 255 255 / 8%);
	box-shadow: 0 30px 70px rgb(1 18 35 / 30%);
	backdrop-filter: blur(10px);
}
.xg-audience-orbit::before,
.xg-audience-orbit::after {
	position: absolute;
	inset: 16%;
	border: 1px solid rgb(255 255 255 / 16%);
	border-radius: 50%;
	content: "";
}
.xg-audience-orbit::after { inset: 31%; border-style: dashed; }
.xg-audience-orbit__core {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	width: 9.3rem;
	height: 9.3rem;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid rgb(255 255 255 / 25%);
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(145deg, rgb(17 93 246 / 72%), rgb(11 141 150 / 78%));
	box-shadow: 0 0 0 1rem rgb(255 255 255 / 4%);
	transform: translate(-50%, -50%);
}
.xg-audience-orbit__core span,
.xg-audience-orbit__core small { font-size: .69rem; letter-spacing: .1em; text-transform: uppercase; opacity: .78; }
.xg-audience-orbit__core strong { font-size: 1.3rem; line-height: 1.25; }
.xg-audience-orbit__node {
	position: absolute;
	display: flex;
	min-width: 7rem;
	padding: .7rem .8rem;
	align-items: center;
	gap: .5rem;
	border: 1px solid rgb(255 255 255 / 22%);
	border-radius: .85rem;
	color: #fff;
	background: rgb(255 255 255 / 10%);
	font-size: .78rem;
	font-weight: 800;
	box-shadow: 0 10px 24px rgb(0 0 0 / 10%);
}
.xg-audience-orbit__node span { display:flex; }
.xg-audience-orbit__node .xg-icon { width:1rem; height:1rem; color:#aef0f2; }
.xg-audience-orbit__node--one { top: 8%; left: 8%; }
.xg-audience-orbit__node--two { top: 14%; right: 7%; }
.xg-audience-orbit__node--three { right: 8%; bottom: 11%; }
.xg-audience-orbit__node--four { bottom: 9%; left: 7%; }

.xg-audience-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.25rem;
}
.xg-audience-card {
	position: relative;
	display: flex;
	min-height: 27rem;
	padding: 1.6rem;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--xg-line);
	border-top: 4px solid var(--xg-local-accent);
	border-radius: 1.35rem;
	color: var(--xg-ink) !important;
	background: linear-gradient(180deg, var(--xg-local-soft), #fff 43%);
	box-shadow: var(--xg-shadow-soft);
	text-decoration: none !important;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.xg-audience-card::after {
	position: absolute;
	top: -4.5rem;
	right: -4.5rem;
	width: 10rem;
	height: 10rem;
	border: 1px solid color-mix(in srgb, var(--xg-local-accent) 25%, transparent);
	border-radius: 50%;
	box-shadow: 0 0 0 2.5rem color-mix(in srgb, var(--xg-local-accent) 6%, transparent);
	content: "";
}
.xg-audience-card:hover,
.xg-audience-card:focus-visible { transform: translateY(-5px); box-shadow: var(--xg-shadow-lift); }
.xg-audience-card__icon {
	display: flex;
	width: 3.1rem;
	height: 3.1rem;
	align-items: center;
	justify-content: center;
	border-radius: .9rem;
	color: var(--xg-local-accent);
	background: #fff;
	box-shadow: 0 8px 20px rgb(15 42 74 / 8%);
}
.xg-audience-card__icon .xg-icon { width: 1.45rem; height: 1.45rem; }
.xg-audience-card__kicker {
	margin-top: 1.3rem;
	color: var(--xg-local-accent);
	font-size: .72rem;
	font-weight: 850;
	letter-spacing: .09em;
	text-transform: uppercase;
}
.xg-audience-card h3 {
	margin: .45rem 0 .65rem;
	color: var(--xg-navy);
	font-size: 1.45rem;
	line-height: 1.12;
	letter-spacing: -.035em;
}
.xg-audience-card p { margin: 0; color: var(--xg-muted); line-height: 1.66; }
.xg-audience-card strong { margin-top: auto; padding-top: 1.4rem; color: var(--xg-deep-blue); }

.xg-audience-decisions { background: #fff; }
.xg-audience-decisions__grid {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(24rem, 1.1fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: center;
}
.xg-decision-stack { display: grid; gap: .9rem; }
.xg-decision-row {
	display: grid;
	padding: 1.15rem 1.25rem;
	border: 1px solid var(--xg-line);
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 10px 26px rgb(15 42 74 / 6%);
	grid-template-columns: 3rem 1fr;
	gap: 1rem;
	align-items: center;
}
.xg-decision-row > span {
	display: grid;
	width: 2.65rem;
	height: 2.65rem;
	place-items: center;
	border-radius: .8rem;
	color: var(--xg-deep-blue);
	background: var(--xg-sky);
	font-weight: 850;
}
.xg-decision-row:nth-child(2) > span { color: var(--xg-teal); background: var(--xg-aqua); }
.xg-decision-row:nth-child(3) > span { color: #5b8d00; background: var(--xg-surface-lime); }
.xg-decision-row:nth-child(4) > span { color: var(--xg-coral-hover); background: var(--xg-peach); }
.xg-decision-row strong,
.xg-decision-row small { display: block; }
.xg-decision-row strong { color: var(--xg-navy); }
.xg-decision-row small { margin-top: .2rem; color: var(--xg-muted); }

/* ABOUT ------------------------------------------------------------------ */
.xg-enterprise-hero--about {
	background:
		radial-gradient(circle at 78% 19%, rgb(109 91 208 / 25%), transparent 24rem),
		radial-gradient(circle at 85% 83%, rgb(132 212 0 / 12%), transparent 21rem),
		linear-gradient(128deg, #0b2746 2%, #12365f 55%, #0b5e69 100%);
}
.xg-about-compass {
	position: relative;
	width: min(29rem, 100%);
	aspect-ratio: 1;
	margin-inline: auto;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 50%;
	background: radial-gradient(circle, rgb(255 255 255 / 10%), transparent 62%);
}
.xg-about-compass__ring {
	position: absolute;
	inset: 15%;
	border: 1px dashed rgb(255 255 255 / 23%);
	border-radius: 50%;
}
.xg-about-compass__core {
	position: absolute;
	top: 50%; left: 50%;
	display: flex;
	width: 11rem; height: 11rem;
	flex-direction: column;
	align-items: center; justify-content: center;
	border-radius: 50%;
	color: #fff;
	background: linear-gradient(145deg, rgb(17 93 246 / 80%), rgb(11 141 150 / 82%));
	box-shadow: 0 0 0 1.3rem rgb(255 255 255 / 4%);
	transform: translate(-50%, -50%);
}
.xg-about-compass__core span,
.xg-about-compass__core small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; opacity: .8; }
.xg-about-compass__core strong { font-size: 1.2rem; }
.xg-about-compass__label {
	position: absolute;
	padding: .58rem .76rem;
	border: 1px solid rgb(255 255 255 / 20%);
	border-radius: .75rem;
	color: #fff;
	background: rgb(255 255 255 / 10%);
	font-size: .75rem;
	font-weight: 800;
}
.xg-about-compass__label--one { top: 7%; left: 38%; }
.xg-about-compass__label--two { top: 39%; right: 2%; }
.xg-about-compass__label--three { bottom: 6%; left: 38%; }
.xg-about-compass__label--four { top: 39%; left: -1%; }

.xg-about-principles {
	border-bottom: 1px solid var(--xg-line);
	background: #fff;
}
.xg-about-principles__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.xg-about-principle {
	position: relative;
	min-height: 8.5rem;
	padding: 1.4rem 1.2rem 1.35rem 1.4rem;
	border-right: 1px solid var(--xg-line);
	background: linear-gradient(180deg, var(--xg-local-soft), #fff);
}
.xg-about-principle:last-child { border-right: 0; }
.xg-about-principle::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--xg-local-accent); content:""; }
.xg-about-principle span { display:block; color:var(--xg-local-accent); font-size:.72rem; font-weight:850; letter-spacing:.08em; }
.xg-about-principle strong { display:block; margin-top:.9rem; color:var(--xg-navy); font-size:1rem; line-height:1.35; }

.xg-about-story {
	background:
		radial-gradient(circle at 92% 12%, rgb(35 199 217 / 7%), transparent 26rem),
		#fff;
}
.xg-about-story__grid {
	display: grid;
	grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr);
	gap: clamp(3rem, 7vw, 7rem);
	align-items: start;
}
.xg-about-story__rail {
	position: sticky;
	top: 8rem;
	padding: 1.75rem;
	border: 1px solid var(--xg-line);
	border-radius: 1.4rem;
	background: linear-gradient(145deg, var(--xg-sky), var(--xg-aqua));
	box-shadow: var(--xg-shadow-soft);
}
.xg-about-story__rail h2 { margin:.2em 0 1rem; font-size:clamp(1.8rem,1.45rem + 1vw,2.7rem); line-height:1.06; letter-spacing:-.04em; }
.xg-about-story__signal { display:flex; margin-top:1.7rem; flex-direction:column; gap:.58rem; color:var(--xg-navy); font-size:.78rem; font-weight:800; }
.xg-about-story__signal i { width:1px; height:1rem; margin-left:.35rem; background:linear-gradient(var(--xg-blue),var(--xg-teal)); }
.xg-about-prose { max-width: 50rem; }
.xg-about-prose > :first-child { margin-top: 0; }
.xg-about-prose h1 { display: none; }
.xg-about-prose h2 {
	margin: clamp(3.25rem, 6vw, 5rem) 0 1.15rem;
	padding-top: .8rem;
	border-top: 1px solid var(--xg-line);
	color: var(--xg-navy);
	font-size: clamp(1.8rem, 1.45rem + 1.2vw, 2.8rem);
	line-height: 1.08;
	letter-spacing: -.04em;
}
.xg-about-prose h2:first-of-type { margin-top: 1rem; }
.xg-about-prose p,
.xg-about-prose li { color:#36475a; font-size:1.02rem; line-height:1.82; }
.xg-about-prose strong { color: var(--xg-navy); }

/* CONTACT FAMILY --------------------------------------------------------- */
.xg-contact-hero {
	background:
		radial-gradient(circle at 80% 20%, rgb(244 122 60 / 18%), transparent 23rem),
		radial-gradient(circle at 73% 85%, rgb(35 199 217 / 19%), transparent 21rem),
		linear-gradient(128deg, #0b2746 2%, #0d3d62 54%, #0a7078 100%);
}
.xg-contact-enterprise--assessment .xg-contact-hero { background:radial-gradient(circle at 80% 20%,rgb(132 212 0 / 18%),transparent 23rem),linear-gradient(128deg,#0b2746,#0d3d62 54%,#0a7078); }
.xg-contact-hero__grid { min-height: 31rem; }
.xg-contact-hero h1 { max-width: 15ch; }
.xg-contact-signal {
	display: grid;
	gap: .9rem;
	padding: 1.25rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 8%);
	box-shadow: 0 24px 60px rgb(0 0 0 / 18%);
	backdrop-filter: blur(9px);
}
.xg-contact-signal > div {
	display: grid;
	padding: 1rem;
	border: 1px solid rgb(255 255 255 / 13%);
	border-radius: .9rem;
	background: rgb(255 255 255 / 7%);
	grid-template-columns: 2.2rem 1fr;
	gap: .1rem .8rem;
}
.xg-contact-signal span { grid-row: 1 / span 2; color:#8fe3e5; font-size:.72rem; font-weight:850; }
.xg-contact-signal strong { color:#fff; }
.xg-contact-signal small { color:rgb(255 255 255 / 72%); line-height:1.42; }

.xg-contact-pathways { padding: 0 0 clamp(2.5rem, 5vw, 4rem); background: #fff; }
.xg-contact-pathways__grid {
	display: grid;
	margin-top: -2.8rem;
	position: relative;
	z-index: 2;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1rem;
}
.xg-contact-path {
	display: grid;
	min-height: 13rem;
	padding: 1.3rem;
	border: 1px solid var(--xg-line);
	border-top: 4px solid var(--xg-local-accent);
	border-radius: 1.15rem;
	color: var(--xg-navy) !important;
	background: linear-gradient(180deg, var(--xg-local-soft), #fff 68%);
	box-shadow: var(--xg-shadow-soft);
	text-decoration: none !important;
	transition: transform .18s ease, box-shadow .18s ease;
}
.xg-contact-path:hover,.xg-contact-path:focus-visible { transform:translateY(-4px); box-shadow:var(--xg-shadow-lift); }
.xg-contact-path > span { display:flex; width:2.7rem; height:2.7rem; align-items:center; justify-content:center; border-radius:.75rem; color:var(--xg-local-accent); background:#fff; }
.xg-contact-path strong { margin-top:.8rem; font-size:1.15rem; }
.xg-contact-path small { margin-top:.3rem; color:var(--xg-muted); }
.xg-contact-path em { margin-top:auto; padding-top:.9rem; color:var(--xg-deep-blue); font-style:normal; font-weight:800; }

.xg-contact-form-section { background:linear-gradient(180deg,#f7faff,#eef4f9); }
.xg-contact-form-layout {
	display: grid;
	grid-template-columns: minmax(19rem, .72fr) minmax(0, 1.28fr);
	gap: clamp(2.5rem, 6vw, 5.5rem);
	align-items: start;
}
.xg-contact-assurance {
	position: sticky;
	top: 8rem;
	padding: 1.65rem;
	border: 1px solid var(--xg-line);
	border-radius: 1.4rem;
	background: #fff;
	box-shadow: var(--xg-shadow-soft);
}
.xg-contact-assurance h2 { margin:.2em 0 1.4rem; font-size:clamp(1.7rem,1.45rem + .8vw,2.4rem); line-height:1.08; letter-spacing:-.04em; }
.xg-contact-assurance__items { display:grid; gap:.8rem; }
.xg-contact-assurance__items > div { display:grid; grid-template-columns:2.3rem 1fr; gap:.75rem; padding:.85rem 0; border-top:1px solid var(--xg-line); }
.xg-contact-assurance__items > div:first-child { border-top:0; }
.xg-contact-assurance__items > div > span { display:grid; width:2.1rem; height:2.1rem; place-items:center; border-radius:.65rem; color:var(--xg-deep-blue); background:var(--xg-sky); font-size:.7rem; font-weight:850; }
.xg-contact-assurance__items p { margin:0; }
.xg-contact-assurance__items strong,.xg-contact-assurance__items small { display:block; }
.xg-contact-assurance__items small { margin-top:.2rem; color:var(--xg-muted); line-height:1.48; }
.xg-contact-assurance__brand { display:grid; margin-top:1.2rem; padding:1rem; border-radius:.9rem; color:var(--xg-navy); background:linear-gradient(135deg,var(--xg-sky),var(--xg-aqua)); }
.xg-contact-assurance__brand span { color:var(--xg-muted); font-size:.84rem; }
.xg-contact-assurance__brand a { margin-top:.25rem; color:var(--xg-deep-blue); font-weight:800; }

.xg-contact-form-wrap .xg-intake,
.xg-booking-wrap .xg-booking {
	width: 100%;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.25rem);
	border-radius: 1.4rem;
	box-shadow: var(--xg-shadow-soft);
}
.xg-contact-form-wrap .xg-intake__header h2,
.xg-booking-wrap .xg-booking__header h2 {
	margin: .25em 0 .5em;
	color: var(--xg-navy);
	font-size: clamp(2rem, 1.55rem + 1.5vw, 3.2rem);
	line-height: 1.04;
	letter-spacing: -.045em;
}
.xg-contact-form-wrap .xg-intake__header p { margin-bottom:0; }
.xg-contact-form-wrap .xg-form-field input:not([type="checkbox"]),
.xg-contact-form-wrap .xg-form-field select,
.xg-contact-form-wrap .xg-form-field textarea {
	border-color: #b9c6d5;
	background: #fbfdff;
	box-shadow: inset 0 1px 2px rgb(15 42 74 / 3%);
}
.xg-contact-form-wrap .xg-form-field input:not([type="checkbox"]):focus,
.xg-contact-form-wrap .xg-form-field select:focus,
.xg-contact-form-wrap .xg-form-field textarea:focus { background:#fff; }
.xg-contact-form-wrap .xg-form-fieldset { background:linear-gradient(180deg,#fff,#f9fbfe); }
.xg-contact-form-wrap .xg-business-contact { margin-top:1.7rem; border-radius:.9rem; }

/* BOOKING --------------------------------------------------------------- */
.xg-contact-hero--booking {
	background:
		radial-gradient(circle at 82% 18%, rgb(17 93 246 / 28%), transparent 22rem),
		radial-gradient(circle at 72% 86%, rgb(244 122 60 / 14%), transparent 20rem),
		linear-gradient(128deg,#0b2746,#10385e 52%,#0b6972);
}
.xg-book-visual {
	position: relative;
	display: grid;
	padding: 1.4rem;
	border: 1px solid rgb(255 255 255 / 18%);
	border-radius: 1.5rem;
	background: rgb(255 255 255 / 8%);
	box-shadow: 0 28px 65px rgb(0 0 0 / 20%);
	gap: .8rem;
}
.xg-book-visual__badge {
	position: absolute;
	top: -1rem;
	right: 1.25rem;
	display:grid;
	width:4.6rem;
	height:4.6rem;
	place-items:center;
	border-radius:50%;
	color:#2d1408;
	background:var(--xg-coral);
	font-size:.82rem;
	font-weight:900;
	box-shadow:0 12px 30px rgb(244 122 60 / 28%);
}
.xg-book-visual__line { display:grid; padding:1.05rem; border:1px solid rgb(255 255 255 / 13%); border-radius:.9rem; background:rgb(255 255 255 / 7%); grid-template-columns:2.5rem 1fr; align-items:center; }
.xg-book-visual__line span { color:#8fe3e5; font-weight:850; }
.xg-book-visual__line strong { color:#fff; }
.xg-book-layout-section { background:linear-gradient(180deg,#fff,#f4f8fc); }
.xg-book-layout { display:grid; grid-template-columns:minmax(19rem,.7fr) minmax(0,1.3fr); gap:clamp(2.5rem,6vw,5.5rem); align-items:start; }
.xg-book-guide { position:sticky; top:8rem; }
.xg-book-guide h2 { margin:.2em 0 1.4rem; font-size:clamp(2rem,1.55rem + 1.25vw,3rem); line-height:1.05; letter-spacing:-.045em; }
.xg-book-guide__card { display:grid; gap:.25rem; margin-bottom:.8rem; padding:1rem 1.1rem; border:1px solid var(--xg-line); border-left:4px solid var(--xg-local-accent); border-radius:.9rem; background:linear-gradient(90deg,var(--xg-local-soft),#fff); }
.xg-book-guide__card strong { color:var(--xg-navy); }
.xg-book-guide__card span { color:var(--xg-muted); font-size:.9rem; line-height:1.5; }
.xg-book-guide .xg-hub-text-link { display:inline-block; margin-top:.8rem; }
.xg-booking-wrap .xg-booking__frame { border-radius:1rem; overflow:hidden; }

/* SERVICES — richer system, same stored service records ----------------- */
.xg-services-hero {
	background: transparent;
}
.xg-services-hero:before {
	background:
		radial-gradient(circle at 80% 15%, rgb(35 199 217 / 26%), transparent 24rem),
		radial-gradient(circle at 86% 82%, rgb(132 212 0 / 14%), transparent 21rem),
		linear-gradient(128deg,#0a2747 2%,#0d3c64 52%,#0a7078 100%);
}
.xg-services-map {
	box-shadow: 0 28px 70px rgb(0 15 30 / 26%);
}
.xg-service-pressure-band {
	position: relative;
	z-index: 2;
	background:#fff;
	box-shadow:0 12px 30px rgb(15 42 74 / 5%);
}
.xg-service-pressure-grid > a { position:relative; overflow:hidden; }
.xg-service-pressure-grid > a::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--xg-blue); content:""; }
.xg-service-pressure-grid > a:nth-child(2)::before { background:var(--xg-teal); }
.xg-service-pressure-grid > a:nth-child(3)::before { background:var(--xg-coral); }
.xg-services-catalog { background:linear-gradient(180deg,#f6f9fd,#eef4fa); }
.xg-service-grid--enterprise { gap:1.25rem; }
.xg-service-grid--enterprise .xg-service-card {
	position:relative;
	overflow:hidden;
	border:1px solid var(--xg-line);
	border-top:4px solid var(--xg-blue);
	border-radius:1.25rem;
	background:#fff;
	box-shadow:var(--xg-shadow-soft);
	transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.xg-service-grid--enterprise .xg-service-card:nth-child(4n+2) { border-top-color:var(--xg-teal); }
.xg-service-grid--enterprise .xg-service-card:nth-child(4n+3) { border-top-color:#70ad00; }
.xg-service-grid--enterprise .xg-service-card:nth-child(4n+4) { border-top-color:var(--xg-coral); }
.xg-service-grid--enterprise .xg-service-card:hover,
.xg-service-grid--enterprise .xg-service-card:focus-visible { transform:translateY(-5px); box-shadow:var(--xg-shadow-lift); }
.xg-service-grid--enterprise .xg-service-card__fallback { min-height:9rem; }
.xg-service-grid--enterprise .xg-service-card__body { padding:1.35rem 1.35rem 1.5rem; }
.xg-service-grid--enterprise .xg-service-card__title { font-size:1.25rem; line-height:1.15; letter-spacing:-.025em; }
.xg-service-grid--enterprise .xg-service-card__link { color:var(--xg-deep-blue); font-weight:820; }

/* INSIGHTS — keep architecture, strengthen visual hierarchy ------------- */
.xg-hub-hero--insights:before {
	background:
		radial-gradient(circle at 80% 14%, rgb(35 199 217 / 33%), transparent 24rem),
		radial-gradient(circle at 86% 84%, rgb(109 91 208 / 12%), transparent 20rem),
		linear-gradient(128deg,#0a2747 2%,#0d3b62 52%,#08747b 100%);
}
.xg-hub-route-grid { gap:1.2rem; }
.xg-hub-route { border-top:4px solid var(--xg-blue); }
.xg-hub-route:nth-child(2) { border-top-color:var(--xg-cyan); }
.xg-hub-route:nth-child(3) { border-top-color:var(--xg-teal); }
.xg-hub-route:nth-child(4) { border-top-color:#70ad00; }
.xg-hub-route--primary { border-top-color:var(--xg-coral); }
.xg-hub-section--analysis { background:linear-gradient(180deg,#f5f2ff,#faf8ff); }
.xg-analysis-feature,
.xg-analysis-side { box-shadow:var(--xg-shadow-soft); }

/* Enterprise CTA shared. */
.xg-enterprise-cta {
	padding: clamp(4rem, 7vw, 6rem) 0;
	background: linear-gradient(135deg, #fff5ef, #fff 45%, #f4f9ff);
}
.xg-enterprise-cta__inner {
	display: flex;
	padding: clamp(1.7rem, 3vw, 2.5rem);
	border: 1px solid rgb(244 122 60 / 35%);
	border-radius: 1.35rem;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	background:#fff;
	box-shadow:var(--xg-shadow-soft);
}
.xg-enterprise-cta__inner h2 { max-width:24ch; margin:.18em 0 0; font-size:clamp(2rem,1.55rem + 1.4vw,3.2rem); line-height:1.04; letter-spacing:-.045em; }
.xg-enterprise-cta__inner .xg-eyebrow { color:var(--xg-coral-hover); }

/* Footer wording / visual finish. */
.xg-site-footer { position:relative; overflow:hidden; }
.xg-site-footer::before { position:absolute; top:0; right:0; left:0; height:3px; background:linear-gradient(90deg,var(--xg-blue),var(--xg-cyan),var(--xg-teal),var(--xg-lime),var(--xg-coral)); content:""; }
.xg-footer-nav a:hover,
.xg-footer-nav a:focus-visible,
.xg-footer-legal a:hover,
.xg-footer-legal a:focus-visible { color:#9ae6e8; }

/* Responsive. */
@media (max-width: 980px) {
	.xg-enterprise-hero__grid,
	.xg-contact-hero__grid,
	.xg-audience-decisions__grid,
	.xg-about-story__grid,
	.xg-contact-form-layout,
	.xg-book-layout { grid-template-columns: 1fr; }
	.xg-enterprise-hero__grid,
	.xg-contact-hero__grid { min-height: 0; }
	.xg-audience-orbit,
	.xg-about-compass { width:min(25rem,80vw); }
	.xg-audience-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.xg-about-principles__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
	.xg-about-principle:nth-child(2) { border-right:0; }
	.xg-about-principle:nth-child(-n+2) { border-bottom:1px solid var(--xg-line); }
	.xg-about-story__rail,
	.xg-contact-assurance,
	.xg-book-guide { position:relative; top:auto; }
	.xg-contact-pathways__grid { grid-template-columns:1fr; margin-top:-1.8rem; }
}

@media (max-width: 700px) {
	.xg-enterprise-hero__grid,
	.xg-contact-hero__grid { padding:4rem 0; gap:2.5rem; }
	.xg-enterprise-hero h1,
	.xg-contact-hero h1 { font-size:clamp(2.65rem,12vw,4.4rem); }
	.xg-audience-grid { grid-template-columns:1fr; }
	.xg-audience-card { min-height:22rem; }
	.xg-about-principles__grid { grid-template-columns:1fr; }
	.xg-about-principle { border-right:0; border-bottom:1px solid var(--xg-line); }
	.xg-about-principle:last-child { border-bottom:0; }
	.xg-enterprise-cta__inner { align-items:flex-start; flex-direction:column; }
	.xg-enterprise-cta__inner .xg-hub-actions { width:100%; }
	.xg-enterprise-cta__inner .xg-hub-button { width:100%; }
}

@supports not (color: color-mix(in srgb, white, black)) {
	.xg-audience-card::after { border-color: rgb(17 93 246 / 14%); box-shadow:0 0 0 2.5rem rgb(17 93 246 / 4%); }
}

/* Services engagement model. */
.xg-service-engagement { padding:clamp(4.5rem,7vw,7rem) 0; background:#fff; }
.xg-service-engagement__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); border:1px solid var(--xg-line); border-radius:1.25rem; overflow:hidden; box-shadow:var(--xg-shadow-soft); }
.xg-service-engagement__step { position:relative; min-height:12rem; padding:1.35rem; border-right:1px solid var(--xg-line); background:linear-gradient(180deg,var(--xg-local-soft),#fff); }
.xg-service-engagement__step:last-child { border-right:0; }
.xg-service-engagement__step::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--xg-local-accent); content:""; }
.xg-service-engagement__step span,.xg-service-engagement__step strong,.xg-service-engagement__step small { display:block; }
.xg-service-engagement__step span { color:var(--xg-local-accent); font-size:.72rem; font-weight:850; }
.xg-service-engagement__step strong { margin-top:1rem; color:var(--xg-navy); font-size:1.15rem; }
.xg-service-engagement__step small { margin-top:.45rem; color:var(--xg-muted); line-height:1.55; }

/* Insights spectrum ribbon. */
.xg-insight-spectrum { position:relative; z-index:3; background:#fff; border-bottom:1px solid var(--xg-line); }
.xg-insight-spectrum__grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
.xg-insight-spectrum__item { position:relative; min-height:8.5rem; padding:1.25rem 1.2rem; border-right:1px solid var(--xg-line); background:linear-gradient(180deg,var(--xg-local-soft),#fff); }
.xg-insight-spectrum__item:last-child { border-right:0; }
.xg-insight-spectrum__item::before { position:absolute; top:0; right:0; left:0; height:3px; background:var(--xg-local-accent); content:""; }
.xg-insight-spectrum__item span,.xg-insight-spectrum__item strong,.xg-insight-spectrum__item small { display:block; }
.xg-insight-spectrum__item span { color:var(--xg-local-accent); font-size:.7rem; font-weight:850; }
.xg-insight-spectrum__item strong { margin-top:.65rem; color:var(--xg-navy); }
.xg-insight-spectrum__item small { margin-top:.2rem; color:var(--xg-muted); line-height:1.4; }

@media (max-width:980px) {
	.xg-service-engagement__grid,.xg-insight-spectrum__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.xg-service-engagement__step:nth-child(2),.xg-insight-spectrum__item:nth-child(2) { border-right:0; }
	.xg-service-engagement__step:nth-child(-n+2),.xg-insight-spectrum__item:nth-child(-n+2) { border-bottom:1px solid var(--xg-line); }
}
@media (max-width:600px) {
	.xg-service-engagement__grid,.xg-insight-spectrum__grid { grid-template-columns:1fr; }
	.xg-service-engagement__step,.xg-insight-spectrum__item { border-right:0; border-bottom:1px solid var(--xg-line); }
	.xg-service-engagement__step:last-child,.xg-insight-spectrum__item:last-child { border-bottom:0; }
}
