.xg-b1a-home {
	overflow: visible;
}

.xg-home .xg-shell {
	width: min(76rem, calc(100% - 3rem));
}

.xg-b1a-home .site-content > .ast-container {
	display: block;
	width: 100%;
	max-width: none;
	padding: 0;
}

.xg-b1a-home .content-area {
	width: 100%;
	margin: 0;
}

.xg-home .xg-section {
	padding-block: clamp(4.75rem, 8vw, 8.5rem);
}

.xg-home .xg-section-heading {
	max-width: 54rem;
	margin-bottom: clamp(2rem, 4vw, 3.5rem);
}

.xg-home .xg-section-heading > p {
	max-width: 44rem;
	font-size: 1.08em;
}

.xg-home-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(circle at 80% 12%, rgb(17 93 246 / 9%), transparent 27rem),
		linear-gradient(125deg, var(--xg-white), var(--xg-sky) 56%, var(--xg-aqua));
}

.xg-home-hero::after {
	position: absolute;
	right: -10rem;
	bottom: -10rem;
	width: 26rem;
	height: 26rem;
	border: 4rem solid rgb(132 212 0 / 8%);
	border-radius: 50%;
	content: "";
}

.xg-home-hero__grid {
	position: relative;
	z-index: 1;
	display: grid;
	min-height: 42rem;
	padding-block: clamp(4.5rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.02fr) minmax(25rem, 0.98fr);
	gap: clamp(3rem, 6vw, 6.5rem);
	align-items: center;
}

.xg-home-hero__content h1 {
	max-width: 52rem;
	margin: 0 0 1.5rem;
	color: var(--xg-navy);
	font-size: clamp(2.75rem, 2rem + 3.2vw, 5.85rem);
	font-weight: 700;
	line-height: 0.96;
	letter-spacing: -0.055em;
}

.xg-home-hero__content .xg-lead {
	max-width: 45rem;
	margin: 0 0 2rem;
	font-size: clamp(1.1rem, 1rem + 0.45vw, 1.38rem);
	line-height: 1.68;
}

.xg-home-hero__content .xg-eyebrow {
	color: var(--xg-deep-blue);
	font-size: clamp(0.78rem, 0.76rem + 0.08vw, 0.86rem);
	font-weight: 850;
	letter-spacing: 0.13em;
	line-height: 1.68;
}

.xg-home-hero__note {
	display: flex;
	margin: 2rem 0 0.88rem;
	flex-wrap: wrap;
	gap: 0.8rem;
	align-items: center;
	color: var(--xg-muted);
	font-size: 0.88rem;
}

.xg-home-hero__note::before {
	width: 2.75rem;
	height: 1px;
	background: var(--xg-teal);
	content: "";
}

.xg-home-hero__note .xg-text-link {
	white-space: nowrap;
}

.xg-home-hero__note .xg-text-link::after {
	content: "→";
}

.xg-evidence-visual {
	position: relative;
	min-height: 31rem;
	margin: 1em 2.5rem;
	padding: 1.25rem;
	border: 1px solid rgb(15 42 74 / 12%);
	border-radius: 2rem;
	background: rgb(255 255 255 / 78%);
	box-shadow: var(--xg-shadow);
	isolation: isolate;
}

.xg-evidence-visual figcaption {
	position: absolute;
	z-index: 4;
	top: 1.3rem;
	left: 1.5rem;
	color: var(--xg-deep-blue);
	font-family: "SFMono-Regular", Consolas, monospace;
	font-size: 0.73rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}

.xg-pathway-svg {
	position: absolute;
	z-index: 1;
	inset: 3.2rem 1.3rem 1.2rem;
	width: calc(100% - 2.6rem);
	height: calc(100% - 4.4rem);
	overflow: visible;
}

.xg-pathway-line {
	fill: none;
	stroke: var(--xg-blue);
	stroke-dasharray: 8 8;
	stroke-linecap: round;
	stroke-width: 2;
	opacity: 0.55;
}

.xg-pathway-line--teal {
	stroke: var(--xg-teal);
}

.xg-pathway-arrow {
	fill: var(--xg-coral);
}

.xg-evidence-node {
	position: absolute;
	z-index: 3;
	display: flex;
	width: min(12rem, calc(50% - 2rem));
	min-height: 7.5rem;
	padding: 1rem;
	flex-direction: column;
	justify-content: space-between;
	border: 1px solid rgb(15 42 74 / 13%);
	border-radius: 1rem;
	color: var(--xg-navy);
	background: var(--xg-white);
	box-shadow: 0 10px 24px rgb(15 42 74 / 8%);
}

.xg-evidence-node .xg-icon {
	width: 1.55rem;
	height: 1.55rem;
	color: var(--xg-deep-blue);
}

.xg-evidence-node span {
	color: var(--xg-muted);
	font-size: 0.68rem;
	font-weight: 750;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.xg-evidence-node strong {
	color: var(--xg-navy);
	font-size: 0.86rem;
	line-height: 1.25;
}

.xg-evidence-node--evidence {
	top: 18%;
	left: 1.25rem;
	min-height: 8.3677rem;
	background: var(--xg-sky);
}

.xg-evidence-node--interpretation {
	top: 10%;
	right: 1.25rem;
	min-height: 9.5176rem;
	background: #f6f2fc;
}

.xg-evidence-node--control {
	top: 52%;
	right: 1.25rem;
	min-height: 8.3677rem;
	background: var(--xg-aqua);
}

.xg-evidence-node--execution {
	right: calc(50% + 0.75rem);
	bottom: 1.25rem;
	min-height: 9.5176rem;
	background: #f3fbe5;
}

.xg-authority-ribbon {
	display: grid;
	grid-template-columns: 1.05fr repeat(3, 1fr);
	border-block: 1px solid var(--xg-line);
	background: var(--xg-white);
}

.xg-authority-ribbon > * {
	min-height: 7rem;
	padding: 1.35rem;
	border-right: 1px solid var(--xg-line);
}

.xg-authority-ribbon > :last-child {
	border-right: 0;
}

.xg-authority-ribbon strong {
	display: block;
	color: var(--xg-navy);
	line-height: 1.25;
}

.xg-authority-ribbon span {
	color: var(--xg-muted);
	font-size: 0.86rem;
}

.xg-authority-ribbon__title {
	display: flex;
	align-items: center;
	color: var(--xg-deep-blue);
	font-weight: 820;
}

.xg-service-composition {
	display: grid;
	grid-template-columns: minmax(19rem, 0.78fr) minmax(0, 1.22fr);
	gap: clamp(2rem, 5vw, 5rem);
}

.xg-service-feature {
	position: sticky;
	top: 1rem;
	min-height: 31rem;
	padding: 2.2rem;
	overflow: hidden;
	border-radius: var(--xg-radius-lg);
	color: var(--xg-white);
	background: linear-gradient(150deg, var(--xg-navy), #17466f);
}

.xg-service-feature::after {
	position: absolute;
	right: -5rem;
	bottom: -6rem;
	width: 17rem;
	height: 17rem;
	border: 2.5rem solid rgb(244 122 60 / 18%);
	border-radius: 50%;
	content: "";
}

.xg-service-feature > .xg-icon {
	width: 3rem;
	height: 3rem;
	color: var(--xg-coral);
}

.xg-service-feature h3 {
	max-width: 18rem;
	margin: 4rem 0 1rem;
	color: var(--xg-white);
	font-size: var(--xg-h2);
	line-height: 1.02;
}

.xg-service-feature p {
	color: #dce8f2;
}

.xg-service-feature a {
	position: relative;
	z-index: 1;
	color: var(--xg-white);
}

.xg-service-list {
	display: grid;
}

.xg-service-row {
	display: grid;
	padding: 1.6rem 0.2rem;
	grid-template-columns: 3.25rem minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: start;
	border-bottom: 1px solid var(--xg-line);
	transition: padding-left 200ms ease, background-color 200ms ease;
}

.xg-service-row:hover,
.xg-service-row:focus-within {
	padding-left: 0.7rem;
	background: #f7f7f4;
}

.xg-service-row__icon {
	display: grid;
	width: 3rem;
	height: 3rem;
	place-items: center;
	border-radius: 0.85rem;
	color: var(--xg-deep-blue);
	background: var(--xg-sky);
}

.xg-service-row:nth-child(2) .xg-service-row__icon {
	color: #08747c;
	background: var(--xg-aqua);
}

.xg-service-row:nth-child(3) .xg-service-row__icon {
	color: #456b00;
	background: #f3fbe5;
}

.xg-service-row:nth-child(4) .xg-service-row__icon {
	color: #a23d0d;
	background: var(--xg-peach);
}

.xg-service-row h3 {
	margin: 0 0 0.3rem;
	color: var(--xg-navy);
	font-size: var(--xg-h3);
}

.xg-service-row p {
	max-width: 35rem;
	margin: 0;
	color: var(--xg-muted);
}

.xg-service-row > a {
	padding-top: 0.6rem;
	white-space: nowrap;
}

.xg-section--authority {
	padding-block: clamp(3rem, 5vw, 5rem) !important;
	border-block: 1px solid var(--xg-line);
	background: #f7f7f4;
}

.xg-authority {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: center;
}

.xg-authority__mark {
	display: grid;
	width: 8rem;
	height: 8rem;
	place-items: center;
	align-content: center;
	border-radius: 50%;
	color: var(--xg-white);
	background: var(--xg-navy);
}

.xg-authority__mark span {
	font-family: Georgia, serif;
	font-size: 2.35rem;
	font-weight: 700;
	line-height: 1;
}

.xg-authority__mark small {
	margin-top: 0.45rem;
	color: #dbe8f3;
	font-size: 0.68rem;
	font-weight: 760;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.xg-authority h2 {
	margin: 0 0 0.65rem;
	font-size: var(--xg-h2);
	line-height: 1.05;
}

.xg-authority__content > :last-child {
	max-width: 43rem;
	margin: 0;
	color: var(--xg-muted);
}

.xg-authority__link {
	white-space: nowrap;
}

.xg-section--insights {
	background: var(--xg-canvas);
}

.xg-publications {
	display: grid;
	grid-template-columns: minmax(17rem, 0.82fr) minmax(0, 1.18fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.xg-publications__heading {
	margin-bottom: 0 !important;
}

.xg-publication-mosaic {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr 0.85fr;
	gap: 1rem;
}

.xg-story {
	position: relative;
	min-height: 12.5rem;
	padding: 1.5rem;
	overflow: hidden;
	border: 1px solid var(--xg-line);
	border-radius: var(--xg-radius);
	background: var(--xg-white);
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.xg-story:hover,
.xg-story:focus-within {
	border-color: rgb(17 93 246 / 42%);
	box-shadow: 0 14px 30px rgb(15 42 74 / 10%);
	transform: translateY(-3px);
}

.xg-story--feature {
	min-height: 29rem;
	grid-row: 1 / 3;
	background: var(--xg-sky);
}

.xg-story--feature img {
	width: 100%;
	margin-bottom: 1.25rem;
	border-radius: 0.75rem;
}

.xg-story--record {
	background: var(--xg-aqua);
}

.xg-story--cmc {
	background: var(--xg-peach);
}

.xg-story .xg-icon {
	width: 1.55rem;
	height: 1.55rem;
	margin-bottom: 0.7rem;
	color: var(--xg-deep-blue);
}

.xg-story__type {
	color: var(--xg-deep-blue);
	font-size: 0.72rem;
	font-weight: 850;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.xg-story h3 {
	margin: 0.65rem 0;
	color: var(--xg-navy);
	font-size: clamp(1.1rem, 1rem + 0.45vw, 1.5rem);
	line-height: 1.2;
}

.xg-story p {
	color: var(--xg-muted);
	font-size: 0.92rem;
}

.xg-story__cover-link::after {
	position: absolute;
	inset: 0;
	content: "";
}

.xg-relationship {
	display: grid;
	grid-template-columns: 1fr auto 1fr auto 1fr;
	gap: 1rem;
	align-items: center;
}

.xg-relationship__node {
	min-height: 14rem;
	padding: 1.5rem;
	border: 1px solid var(--xg-line);
	border-radius: var(--xg-radius);
	background: var(--xg-white);
}

.xg-relationship__node:nth-child(3) {
	background: #f6f2fc;
}

.xg-relationship__node:nth-child(5) {
	background: #f3fbe5;
}

.xg-relationship__node .xg-icon {
	width: 2.5rem;
	height: 2.5rem;
	margin-bottom: 2rem;
	color: var(--xg-deep-blue);
}

.xg-relationship__node h3 {
	color: var(--xg-navy);
}

.xg-relationship__arrow {
	color: var(--xg-coral-hover);
	font: 900 1.5rem/1 "SFMono-Regular", Consolas, monospace;
}

.xg-relationship__note {
	display: flex;
	margin: 2rem 0 0;
	gap: 0.8rem;
	align-items: center;
	color: var(--xg-muted);
	font-size: 0.88rem;
}

.xg-relationship__note::before {
	width: 2.75rem;
	height: 1px;
	background: var(--xg-teal);
	content: "";
}

.xg-section--engagement {
	background: var(--xg-aqua);
}

.xg-engagement-line {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.2rem;
}

.xg-engagement-line::before {
	position: absolute;
	top: 1.45rem;
	right: 8%;
	left: 8%;
	height: 2px;
	background: linear-gradient(90deg, var(--xg-blue), var(--xg-teal), var(--xg-lime));
	content: "";
}

.xg-engagement-step {
	position: relative;
	padding-top: 4.3rem;
}

.xg-engagement-step::before {
	position: absolute;
	z-index: 1;
	top: 0.75rem;
	left: 0;
	width: 1.5rem;
	height: 1.5rem;
	border: 0.35rem solid var(--xg-white);
	border-radius: 50%;
	background: var(--xg-blue);
	box-shadow: 0 0 0 2px var(--xg-blue);
	content: "";
}

.xg-engagement-step:nth-child(2)::before {
	background: var(--xg-teal);
	box-shadow: 0 0 0 2px var(--xg-teal);
}

.xg-engagement-step:nth-child(3)::before {
	background: var(--xg-lime);
	box-shadow: 0 0 0 2px #5d9500;
}

.xg-engagement-step:nth-child(4)::before {
	background: var(--xg-coral);
	box-shadow: 0 0 0 2px var(--xg-coral-hover);
}

.xg-engagement-step span {
	color: var(--xg-muted);
	font: 800 0.75rem/1 "SFMono-Regular", Consolas, monospace;
}

.xg-engagement-step h3 {
	margin: 0.55rem 0;
	color: var(--xg-navy);
}

.xg-engagement-step p {
	color: var(--xg-muted);
}

html.xg-motion-ready [data-xg-reveal] {
	opacity: 0;
	transform: translateY(1.35rem);
}

html.xg-motion-ready [data-xg-reveal].xg-is-visible {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 550ms ease, transform 550ms ease;
}

html.xg-motion-ready [data-xg-pathway] .xg-pathway-line {
	stroke-dasharray: 480;
	stroke-dashoffset: 480;
}

html.xg-motion-ready [data-xg-pathway].xg-pathway-ready .xg-pathway-line {
	stroke-dashoffset: 0;
	transition: stroke-dashoffset 1.4s 250ms ease-out;
}

html.xg-motion-ready [data-xg-pathway] .xg-evidence-node {
	opacity: 0;
	transform: translateY(0.75rem);
}

html.xg-motion-ready [data-xg-pathway].xg-pathway-ready .xg-evidence-node {
	opacity: 1;
	transform: translateY(0);
	transition: opacity 550ms ease, transform 550ms ease;
}

html.xg-motion-ready [data-xg-pathway].xg-pathway-ready .xg-evidence-node--interpretation {
	transition-delay: 450ms;
}

html.xg-motion-ready [data-xg-pathway].xg-pathway-ready .xg-evidence-node--control {
	transition-delay: 700ms;
}

html.xg-motion-ready [data-xg-pathway].xg-pathway-ready .xg-evidence-node--execution {
	transition-delay: 950ms;
}

@media (max-width: 70rem) {
	.xg-home .xg-shell {
		width: min(76rem, calc(100% - 2rem));
	}

	.xg-home-hero__grid {
		grid-template-columns: 1fr 0.9fr;
		gap: 2.5rem;
	}

	.xg-authority-ribbon {
		grid-template-columns: 1fr 1fr;
	}

	.xg-authority-ribbon > * {
		border-bottom: 1px solid var(--xg-line);
	}

	.xg-service-composition {
		grid-template-columns: 0.72fr 1.28fr;
	}

	.xg-publication-mosaic {
		grid-template-columns: 1fr 1fr;
	}

	.xg-story--feature {
		grid-column: 1 / -1;
		grid-row: auto;
	}
}

@media (max-width: 54rem) {
	.xg-home-hero__grid,
	.xg-service-composition,
	.xg-publications {
		grid-template-columns: 1fr;
	}

	.xg-home-hero__grid {
		min-height: auto;
	}

	.xg-evidence-visual {
		display: grid;
		min-height: auto;
		padding: 4.25rem 1rem 1rem;
		gap: 0.75rem;
	}

	.xg-pathway-svg {
		display: none;
	}

	.xg-evidence-node {
		position: relative;
		inset: auto;
		width: 100%;
		height: auto;
		min-height: auto;
	}

	html.xg-motion-ready [data-xg-pathway] .xg-evidence-node {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.xg-service-feature {
		position: relative;
		min-height: auto;
	}

	.xg-authority {
		grid-template-columns: 1fr;
	}

	.xg-authority__mark {
		width: 6.5rem;
		height: 6.5rem;
	}

	.xg-publications {
		align-items: start;
	}

	.xg-relationship {
		grid-template-columns: 1fr;
	}

	.xg-relationship__node {
		min-height: auto;
	}

	.xg-relationship__arrow {
		justify-self: center;
		transform: rotate(90deg);
	}

	.xg-engagement-line {
		grid-template-columns: 1fr 1fr;
	}

	.xg-engagement-line::before {
		display: none;
	}
}

@media (min-width: 48.0625rem) and (max-width: 54rem) {
	.xg-evidence-visual {
		padding-inline: 1.25rem;
	}
}

@media (max-width: 36rem) {
	.xg-home .xg-shell {
		width: min(76rem, calc(100% - 1.25rem));
	}

	.xg-home-hero__grid {
		padding-block: 3.5rem;
	}

	.xg-home-hero__content h1 {
		overflow-wrap: anywhere;
	}

	.xg-home-hero__note::before {
		width: 1.5rem;
	}

	.xg-authority-ribbon {
		grid-template-columns: 1fr;
	}

	.xg-authority-ribbon > * {
		min-height: auto;
		border-right: 0;
	}

	.xg-service-row {
		grid-template-columns: 3rem minmax(0, 1fr);
	}

	.xg-service-row > a {
		padding-top: 0;
		grid-column: 2;
		white-space: normal;
	}

	.xg-publication-mosaic,
	.xg-engagement-line {
		grid-template-columns: 1fr;
	}

	.xg-story--feature {
		grid-column: auto;
	}

	.xg-relationship__note {
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	html.xg-motion-ready [data-xg-reveal],
	html.xg-motion-ready [data-xg-pathway] .xg-evidence-node {
		opacity: 1;
		transform: none;
	}

	html.xg-motion-ready [data-xg-pathway] .xg-pathway-line {
		stroke-dashoffset: 0;
	}
}
