/* M&A workstream: four Figma-authored pages built from source-backed parts. */

/* Use the existing desktop carousel breakpoint to enable its one-time story. */
@media (min-width: 1024px) {
	.ma-sequence--cards {
		--ma-story-enabled: 1;
	}
}

.ma-wrap {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
	margin-inline: auto;
}

.ma-section {
	padding-block: var(--sgp-space-144);
	color: var(--sgp-color-ink);
}

/* Brand-portal entrance motion: headings establish the section first, copy
 * follows, then visual groups arrive in document order. The .js guard works
 * with header.php's failure timeout, while the script pairs
 * IntersectionObserver with a scroll sweep for skipped content. */
[data-ma-reveal-item],
.ma-site-cta .blocks-section > .wrap > .box {
	opacity: 1;
	transform: translateY(0);
	transition:
		opacity calc(var(--sgp-dur-medium) * 3) var(--sgp-ease),
		transform calc(var(--sgp-dur-medium) * 3) var(--sgp-ease);
}

[data-ma-reveal-item] {
	transition-delay: var(--ma-reveal-delay, 0);
}

.js [data-ma-reveal]:not(.is-revealed) [data-ma-reveal-item],
.js .ma-site-cta:not(.is-revealed) .blocks-section > .wrap > .box {
	opacity: 0;
	transform: translateY(var(--sgp-space-16));
}

.ma-eyebrow {
	margin: 0;
	font: var(--sgp-weight-semibold) var(--sgp-text-14) var(--sgp-font);
	letter-spacing: var(--sgp-tracking-caps);
	text-transform: uppercase;
}

.ma-heading {
	display: grid;
	gap: var(--sgp-space-16);
	max-width: var(--ma-heading-measure);
	margin-bottom: var(--sgp-space-64);
}

.ma-heading h2,
.ma-split h2 {
	margin: 0;
	font: var(--sgp-weight-regular) var(--sgp-text-45) var(--sgp-font);
	letter-spacing: var(--sgp-tracking-display);
	text-wrap: pretty;
}

.ma-split .ma-heading-highlight {
	color: var(--sgp-color-ask);
	font-weight: var(--sgp-weight-semibold);
}

.ma-heading__intro,
.ma-split__body > p,
.ma-faq__intro .ma-heading__intro {
	margin: 0;
	font: var(--sgp-weight-regular) var(--sgp-text-20) var(--sgp-font);
	text-wrap: pretty;
}

.ma-hero :is(h1, p),
.ma-section :is(h2, h3, p, li, summary),
.ma-site-cta :is(h2, h6, p) {
	text-wrap: pretty;
}

.ma-hero h1,
.ma-section :is(h2, h3),
.ma-site-cta :is(h2, h6) {
	text-wrap: pretty;
}

.ma-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--sgp-space-24);
	margin-top: var(--sgp-space-32);
}

/* Keep the shared expert CTA on the same page gutter contract as every other
 * boxed M&A section instead of the legacy generic-section gutter. */
.ma-site-cta .blocks-section > .wrap {
	width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
	max-width: none;
	margin-inline: auto;
	padding-block: var(--sgp-space-144);
}

.ma-site-cta .blocks-section {
	padding-inline: 0;
}

/* The legacy CTA widths were authored for a single wide canvas and can wrap at
 * common laptop widths. Use flexible columns so tablet and desktop always
 * retain the intended side-by-side composition. */
.ma-site-cta .blocks-section > .wrap > .box {
	align-items: center;
	flex-wrap: nowrap;
	padding: var(--sgp-space-48);
}

.ma-site-cta .blocks-section > .wrap > .box > .box {
	min-width: 0;
	width: auto;
	max-width: none;
}

.ma-site-cta .blocks-section > .wrap > .box > .box:first-child {
	flex: 0 1 33.15%;
}

.ma-site-cta .blocks-section > .wrap > .box > .box:last-child {
	flex: 1 1 0;
}

/* Hero */

.ma-hero {
	color: var(--sgp-color-on-color);
	background-color: var(--sgp-color-ink);
}

.ma-hero--landing {
	min-height: var(--ma-hero-landing);
	background-image: url("../img/Strategic-Growth-Partners_BG4-.jpg");
	background-position: center;
	background-size: cover;
}

.ma-hero--detail {
	min-height: var(--size-500);
}

.ma-hero__inner {
	min-height: inherit;
	display: grid;
	align-items: center;
}

.ma-hero__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr);
	align-items: center;
	gap: var(--sgp-space-48);
}

.ma-hero--landing .ma-hero__panel {
	padding: var(--sgp-space-48);
	border-radius: var(--sgp-radius-section);
}

.ma-hero--detail .ma-hero__panel {
	grid-template-columns: minmax(0, 1fr);
}

.ma-hero__copy {
	display: grid;
	gap: var(--sgp-space-24);
}

.ma-hero--detail .ma-hero__copy {
	gap: var(--space-20);
}

.ma-hero--detail .ma-actions {
	margin-top: var(--size-75);
}

.ma-hero h1 {
	margin: 0;
	font: var(--sgp-weight-bold) var(--sgp-text-80) var(--sgp-font);
	letter-spacing: var(--sgp-tracking-display);
}

.ma-hero__subtitle {
	max-width: var(--measure-672);
	margin: 0;
	font: var(--sgp-weight-regular) var(--sgp-text-20) var(--sgp-font);
}

.ma-hero__art {
	display: grid;
	place-items: center;
}

.ma-hero__image {
	display: block;
	width: min(100%, var(--ma-art-max));
	height: auto;
}

/* Card groups */

.ma-card-section--light,
.ma-sequence--open,
.ma-sequence--cards,
.ma-closed-steps {
	background: var(--sgp-color-work-surface);
}

.ma-card-section--white,
.ma-split,
.ma-faq,
.ma-impact-section {
	background: var(--sgp-color-work-surface);
}

.ma-services {
	color: var(--sgp-color-on-color);
	background: var(--sgp-color-surface-dark);
}

.ma-card-section--dark + .ma-services {
	padding-top: 0;
}

.ma-card-section--dark {
	background: var(--sgp-color-ink);
	color: var(--sgp-color-on-color);
}

.ma-card-section--compact {
	padding-block: var(--sgp-space-96);
}

.ma-card-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sgp-space-24);
}

.ma-card-grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ma-card {
	display: grid;
	align-content: start;
	gap: var(--sgp-space-16);
	min-height: 100%;
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-object);
	background: var(--sgp-color-surface);
}

.ma-card-section--dark .ma-card {
	background: var(--sgp-color-interactive);
}

.ma-card-section--system .ma-heading {
	margin-bottom: var(--sgp-space-48);
}

.ma-card-section--system {
	background: var(--sgp-color-work-surface);
}

.ma-card-section--system .ma-card {
	gap: var(--sgp-space-24);
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-selector);
	background: var(--sgp-color-work-surface);
}

.ma-card-section--system .ma-card .ma-eyebrow {
	font: var(--sgp-weight-semibold) var(--sgp-text-16) var(--sgp-font);
}

.ma-card-section--system .ma-card h3 {
	font: var(--sgp-weight-medium) var(--sgp-text-22) var(--sgp-font);
}

.ma-card-section--system .ma-card > p:last-child {
	padding-top: var(--sgp-space-24);
	border-top: var(--border-1) solid var(--sgp-color-ink);
}

.ma-card__icon {
	width: var(--icon-50);
	height: var(--icon-50);
	margin-bottom: var(--sgp-space-32);
}

.ma-card__illustration,
.ma-card__illustration svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ma-card__icon--material .sgp-icon {
	font-size: var(--sgp-target-min);
}

/* Deal Execution benefits use an open editorial layout instead of another
 * row of containers. The icons provide the grouping at a glance. */
.ma-card-section--open-benefits .ma-card-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--sgp-space-48);
}

.ma-card-section--open-benefits .ma-card {
	gap: var(--sgp-space-16);
	padding: 0;
	background: transparent;
}

.ma-card-section--open-benefits .ma-card__icon {
	margin-bottom: var(--sgp-space-16);
	color: var(--sgp-color-interactive);
}

/* Integration & Governance uses the Brand Portal split-selector component.
 * This page layer only owns its content typography and icon sizing. */

.ma-system__intro .ma-heading {
	max-width: none;
	margin-bottom: var(--sgp-space-32);
}

.ma-system__tab {
	border-radius: var(--sgp-radius-selector);
	font: var(--sgp-weight-semibold) var(--sgp-text-20) var(--sgp-font);
}

.ma-system__tab-icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: var(--sgp-target-min);
	height: var(--sgp-target-min);
	color: var(--sgp-color-interactive);
}

.ma-system__tab-icon .icon,
.ma-system__tab-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

.ma-system__panel-icon {
	width: var(--sgp-space-64);
	height: var(--sgp-space-64);
	color: var(--sgp-color-interactive);
}

.ma-system__panel-icon .icon,
.ma-system__panel-icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* The icons render as Material Symbols glyphs, which size by font-size: fill
 * the same boxes the SVG versions filled. */
.ma-impact__icon .sgp-icon,
.ma-system__tab-icon .sgp-icon {
	font-size: var(--sgp-target-min);
}

.ma-system__panel-icon .sgp-icon {
	font-size: var(--sgp-space-64);
}

.ma-system__panel h3,
.ma-system__panel p {
	margin: 0;
}

.ma-system__panel h3 {
	font: var(--sgp-weight-semibold) var(--sgp-text-28) var(--sgp-font);
}

.ma-system__panel p {
	font: var(--sgp-weight-regular) var(--sgp-text-20) var(--sgp-font);
}

/* Acquisition value constellation */

.ma-card-section--acquisition-value {
	background: var(--sgp-color-work-surface);
}

.ma-constellation {
	position: relative;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-template-rows: repeat(3, minmax(0, 1fr));
	gap: var(--sgp-space-24) var(--sgp-space-48);
	min-height: var(--size-600);
}

.ma-constellation__lines {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.ma-constellation__lines path {
	fill: none;
	stroke: var(--sgp-color-interactive);
	stroke-dasharray: 1;
	stroke-dashoffset: 0;
	stroke-width: var(--border-2);
	vector-effect: non-scaling-stroke;
	opacity: .32;
	transition: stroke-dashoffset calc(var(--sgp-dur-medium) * 5) var(--sgp-ease);
}

.js [data-ma-reveal]:not(.is-revealed) .ma-constellation__lines path {
	stroke-dashoffset: 1;
}

.ma-constellation__thesis,
.ma-constellation__benefit {
	position: relative;
	z-index: 1;
}

.ma-constellation__thesis {
	grid-column: 2;
	grid-row: 2;
	display: grid;
	align-content: center;
	gap: var(--sgp-space-16);
	min-height: var(--size-250);
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-full);
	color: var(--sgp-color-on-color);
	text-align: center;
	background: var(--sgp-color-surface-dark);
}

.ma-constellation__thesis > p:last-child,
.ma-constellation__benefit > p {
	margin: 0;
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

.ma-constellation__benefit {
	display: grid;
	align-content: center;
	gap: var(--sgp-space-12);
	max-width: var(--size-350);
}

.ma-constellation__benefit--1 {
	grid-column: 1;
	grid-row: 1;
}

.ma-constellation__benefit--2 {
	grid-column: 3;
	grid-row: 1;
	justify-self: end;
}

.ma-constellation__benefit--3 {
	grid-column: 1;
	grid-row: 3;
}

.ma-constellation__benefit--4 {
	grid-column: 3;
	grid-row: 3;
	justify-self: end;
}

.ma-constellation__node {
	display: grid;
	place-items: center;
	width: var(--sgp-control-height);
	height: var(--sgp-control-height);
	border-radius: var(--sgp-radius-full);
	color: var(--sgp-color-on-color);
	background: var(--sgp-color-interactive);
}

.ma-constellation__node .sgp-icon {
	font-size: var(--sgp-text-24);
}

.ma-constellation__benefit h3 {
	margin: 0;
	font: var(--sgp-weight-semibold) var(--sgp-text-24) var(--sgp-font);
}

/* Selective-outreach dossier */

.ma-dossier {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	border-radius: var(--sgp-radius-section);
	background: var(--sgp-color-surface);
}

.ma-dossier__mandate,
.ma-dossier__proof {
	display: grid;
	align-content: center;
	gap: var(--sgp-space-16);
	padding: var(--sgp-space-48);
}

.ma-dossier__mandate {
	min-height: var(--size-400);
	color: var(--sgp-color-on-color);
	background: var(--sgp-color-surface-dark);
}

.ma-dossier__proofs {
	display: grid;
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.ma-dossier__proof + .ma-dossier__proof {
	position: relative;
}

.ma-dossier__proof + .ma-dossier__proof::before {
	position: absolute;
	top: 0;
	right: var(--sgp-space-48);
	left: var(--sgp-space-48);
	height: var(--border-1);
	background: var(--sgp-color-divider);
	content: "";
}

.ma-dossier h3,
.ma-dossier p {
	margin: 0;
}

.ma-dossier__mandate h3 {
	font: var(--sgp-weight-semibold) var(--sgp-text-36) var(--sgp-font);
}

.ma-dossier__proof h3 {
	font: var(--sgp-weight-semibold) var(--sgp-text-24) var(--sgp-font);
}

.ma-dossier__mandate > p:last-child,
.ma-dossier__proof > p:last-child {
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

.ma-dossier__mandate > p:last-child {
	color: var(--sgp-color-on-dark-secondary);
}

.ma-card h3,
.ma-service-card h3,
.ma-step h3,
.ma-impact__item h3,
.ma-closed-steps h3 {
	margin: 0;
	font: var(--sgp-weight-semibold) var(--sgp-text-28) var(--sgp-font);
}

.ma-card > p:last-child,
.ma-step > p:last-child,
.ma-impact__item > p:last-child,
.ma-closed-steps li > p,
.ma-faq__item > p {
	margin: 0;
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

/* Landing service cards */

.ma-services__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sgp-space-24);
}

.ma-service-card {
	display: grid;
	grid-template-rows: auto 1fr auto;
	gap: var(--sgp-space-32);
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-object);
	color: var(--sgp-color-on-color);
	background: var(--color-slate);
}

.ma-service-card__lead {
	margin: var(--sgp-space-16) 0 0;
	font: var(--sgp-weight-regular) var(--sgp-text-20) var(--sgp-font);
}

.ma-service-card ul {
	display: grid;
	gap: var(--sgp-space-16);
	margin: 0;
	padding: var(--sgp-space-32) 0;
	border-top: var(--border-1) solid var(--color-white-33);
	list-style: none;
}

.ma-service-card > .sgp-button {
	justify-self: start;
}

.ma-service-card li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: var(--sgp-space-12);
	align-items: start;
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

.ma-service-card li .sgp-icon {
	color: var(--sgp-color-on-color);
}

/* Open sequences and lifecycle */

.ma-sequence--lifecycle {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	padding-block: var(--sgp-space-144);
	color: var(--sgp-color-on-color);
	background-color: var(--sgp-color-interactive);
}

.ma-sequence--lifecycle::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: url("../img/Strategic-Growth-Partners_BG-1400x400-1.jpg");
	background-position: center;
	background-size: cover;
	content: "";
	transform: scaleX(-1);
}

.ma-sequence--lifecycle .ma-heading {
	max-width: none;
	margin-bottom: var(--sgp-space-48);
}

.ma-sequence__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sgp-space-24);
}

.ma-sequence__grid--4 {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.ma-sequence__grid--6 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ma-sequence--open .ma-sequence__grid {
	position: relative;
	gap: var(--sgp-space-80);
}

.ma-sequence--open .ma-sequence__grid::before {
	position: absolute;
	top: calc(var(--space-20) / 2);
	left: 0;
	right: 0;
	z-index: 0;
	height: var(--border-2);
	background: var(--sgp-color-divider);
	content: "";
	transform: scaleX(1);
	transform-origin: left center;
	transition: transform calc(var(--sgp-dur-medium) * 7) var(--sgp-ease) calc(var(--sgp-dur-medium) + var(--sgp-dur-short));
}

.js .ma-sequence--open [data-ma-reveal]:not(.is-revealed) .ma-sequence__grid::before {
	transform: scaleX(0);
}

.ma-sequence--open .ma-step {
	position: relative;
	z-index: 1;
}

.ma-sequence--open .ma-step__number {
	position: relative;
	isolation: isolate;
	width: var(--space-20);
	height: var(--space-20);
	border-radius: 50%;
	color: transparent;
	font-size: 0;
	line-height: 0;
	background: var(--sgp-brand-light-gray);
	opacity: 1;
	transform: scale(1);
	transition:
		opacity calc(var(--sgp-dur-medium) * 2) var(--sgp-ease) var(--ma-path-delay, 0),
		transform calc(var(--sgp-dur-medium) * 2) var(--sgp-ease) var(--ma-path-delay, 0);
}

.js .ma-sequence--open [data-ma-reveal]:not(.is-revealed) .ma-step__number {
	opacity: 0;
	transform: scale(0);
}

.ma-sequence--open .ma-step__number::before {
	position: absolute;
	inset: calc(-1 * var(--sgp-space-8));
	z-index: -1;
	border-radius: 50%;
	background: var(--sgp-brand-light-gray);
	content: "";
	filter: blur(var(--blur-10));
	opacity: .32;
	transition: opacity calc(var(--sgp-dur-medium) * 2) var(--sgp-ease) var(--ma-path-delay, 0);
}

.js .ma-sequence--open [data-ma-reveal]:not(.is-revealed) .ma-step__number::before {
	opacity: 0;
}

.ma-sequence--open .ma-step__number::after {
	position: absolute;
	inset: var(--sgp-space-4);
	border-radius: 50%;
	background: var(--sgp-color-interactive);
	content: "";
}

.ma-step {
	display: grid;
	align-content: start;
	gap: var(--sgp-space-16);
}

.ma-step__content {
	display: grid;
	align-content: start;
	gap: var(--sgp-space-16);
}

.ma-sequence--cards .ma-step {
	flex: 0 0 min(var(--size-600), calc(100vw - (2 * var(--sgp-space-48))));
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-object);
	background: var(--sgp-color-surface);
	box-shadow: var(--sgp-elevation-transient);
	scroll-snap-align: start;
	/* Rail motion already interpolates color each frame; a second CSS tween
	 * trails that motion and makes the blend stutter. */
	transition: none;
}

/* CPOT's continuous rail tone: keep ink legible as the surface fades. */
.ma-sequence--cards .ma-step {
	--ma-card-tone: 0;
	--ma-card-rest: calc(1 - var(--ma-card-tone));
	--ma-card-ink: clamp(0, (var(--ma-card-rest) - 0.5) * 8 + 0.5, 1);
	background: color-mix(in srgb, var(--color-navy), var(--sgp-color-surface) calc(var(--ma-card-rest) * 100%));
	color: color-mix(in srgb, var(--sgp-color-on-color), var(--sgp-color-ink) calc(var(--ma-card-ink) * 100%));
}

.ma-sequence--cards .ma-step.is-active {
	--ma-card-tone: 1;
}

.ma-sequence--cards .ma-step__number {
	color: color-mix(in srgb, var(--sgp-color-on-color), var(--sgp-color-interactive) calc(var(--ma-card-ink) * 100%));
}

.ma-sequence--cards .ma-sequence__grid {
	--ma-sequence-edge: max(var(--gutter), calc((100vw - var(--content-max)) / 2));
	display: flex;
	align-items: stretch;
	gap: var(--sgp-space-24);
	width: 100vw;
	margin-inline: calc(50% - 50vw);
	padding: var(--sgp-space-8) var(--ma-sequence-edge) var(--sgp-space-32);
	overflow-x: auto;
	scroll-padding-inline: var(--ma-sequence-edge);
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

.ma-sequence--cards .ma-sequence__grid::-webkit-scrollbar {
	display: none;
}

.ma-sequence__controls {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--sgp-space-24);
	margin-top: var(--sgp-space-24);
}

.ma-sequence__status {
	display: flex;
	align-items: center;
	color: var(--sgp-color-ink-secondary);
	font: var(--sgp-weight-medium) var(--sgp-text-16) var(--sgp-font);
	font-variant-numeric: tabular-nums;
}

.ma-sequence__progress {
	display: flex;
	align-items: center;
	gap: var(--sgp-space-8);
}

.ma-sequence__progress span {
	width: var(--sgp-space-48);
	height: var(--border-2);
	background: var(--sgp-brand-light-gray);
	transition: background-color var(--sgp-dur-medium) var(--sgp-ease);
}

.ma-sequence__progress span.is-active {
	background: var(--sgp-color-interactive);
}

.ma-sequence__nav {
	display: flex;
	gap: var(--sgp-space-12);
}

.ma-sequence__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--size-56);
	height: var(--size-56);
	padding: 0;
	border: 0;
	border-radius: var(--sgp-radius-full);
	background: var(--sgp-brand-light-gray);
	color: var(--sgp-color-ink);
	cursor: pointer;
	transition: background-color var(--sgp-dur-short) var(--sgp-ease), color var(--sgp-dur-short) var(--sgp-ease);
}

.ma-sequence__button:hover:not(:disabled),
.ma-sequence__button:focus-visible {
	background: var(--sgp-color-interactive);
	color: var(--sgp-color-on-color);
}

.ma-sequence__button:focus-visible {
	outline: var(--sgp-focus-ring-width) solid var(--sgp-focus-ring-color);
	outline-offset: var(--sgp-focus-ring-offset);
}

.ma-sequence__button:disabled {
	cursor: default;
	opacity: var(--sgp-disabled-opacity);
}

.ma-sequence__runway {
	display: none;
}

.ma-sequence--cards.is-scroll-story .ma-sequence__pin {
	position: sticky;
	top: var(--ma-story-top, 0);
	z-index: 1;
}

.ma-sequence--cards.is-scroll-story .ma-sequence__runway {
	display: block;
	height: var(--ma-story-travel, 0);
}

.ma-sequence--cards.is-scroll-story .ma-sequence__grid {
	overflow-x: hidden;
	scroll-behavior: auto;
	scroll-snap-type: none;
}

.ma-sequence--cards.is-scroll-story-complete .ma-sequence__grid {
	scroll-snap-type: none;
}

.ma-sequence--lifecycle .ma-step {
	min-height: 100%;
	padding: var(--sgp-space-24);
	border: var(--border-1) solid var(--color-white-33);
	border-radius: var(--sgp-radius-object);
	background: var(--color-navy-21);
}

.ma-step__number {
	margin: 0;
	color: var(--sgp-color-ink);
	font: var(--sgp-weight-semibold) var(--sgp-text-20) var(--sgp-font);
}

.ma-sequence--lifecycle .ma-step__number {
	color: var(--sgp-color-on-color);
}

/* Impact panel */

.ma-impact {
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-section);
	color: var(--sgp-color-on-color);
	background: var(--color-navy-raised);
}

.ma-impact .ma-heading {
	gap: var(--sgp-space-16);
	max-width: none;
	margin-bottom: var(--sgp-space-48);
}

.ma-impact .ma-heading h2 {
	color: var(--sgp-color-on-color);
	font: var(--sgp-weight-semibold) var(--sgp-text-28) var(--sgp-font);
}

.ma-impact .ma-heading__intro {
	color: var(--sgp-color-on-dark-secondary);
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

.ma-impact__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--sgp-space-24);
}

.ma-impact__item {
	display: grid;
	align-content: start;
	gap: var(--sgp-space-16);
	padding: var(--sgp-space-32);
	border-radius: var(--sgp-radius-object);
	background: var(--color-white-11);
}

.ma-impact__icon {
	width: var(--sgp-target-min);
	height: var(--sgp-target-min);
	margin-bottom: var(--sgp-space-8);
	color: var(--sgp-color-on-color);
}

.ma-impact__icon .icon,
.ma-impact__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}

/* Enterprise architecture: authority moves from owners to the board and then
 * widens into the operating organization. */

.ma-architecture {
	display: grid;
	justify-items: center;
}

.ma-architecture__layer {
	display: grid;
	grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
	align-items: center;
	gap: var(--sgp-space-48);
	width: 100%;
	padding: var(--sgp-space-32) var(--sgp-space-48);
	border: var(--border-1) solid var(--color-white-33);
	border-radius: var(--sgp-radius-object);
	background: var(--color-white-11);
}

.ma-architecture__layer:nth-of-type(1) {
	width: 72%;
}

.ma-architecture__layer:nth-of-type(2) {
	width: 86%;
}

.ma-architecture__identity {
	display: flex;
	align-items: center;
	gap: var(--sgp-space-24);
}

.ma-architecture__icon {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: var(--sgp-control-height);
	height: var(--sgp-control-height);
	border-radius: var(--sgp-radius-full);
	color: var(--sgp-color-on-color);
	background: var(--sgp-color-interactive);
}

.ma-architecture__icon .sgp-icon {
	font-size: var(--sgp-text-28);
}

.ma-architecture__layer h3,
.ma-architecture__layer > p {
	margin: 0;
}

.ma-architecture__layer h3 {
	font: var(--sgp-weight-semibold) var(--sgp-text-28) var(--sgp-font);
}

.ma-architecture__layer > p {
	color: var(--sgp-color-on-dark-secondary);
	font: var(--sgp-weight-regular) var(--sgp-text-16) var(--sgp-font);
}

.ma-architecture__connector {
	position: relative;
	display: grid;
	place-items: center;
	width: var(--sgp-control-height);
	height: var(--sgp-control-height);
	color: var(--sgp-color-interactive);
}

.ma-architecture__connector .sgp-icon {
	display: none;
}

.ma-architecture__connector::before {
	width: var(--border-2);
	height: var(--sgp-space-32);
	background: var(--sgp-color-interactive);
	content: "";
}

.ma-architecture__connector::after {
	position: absolute;
	bottom: var(--sgp-space-12);
	width: var(--sgp-space-12);
	height: var(--sgp-space-12);
	border-right: var(--border-2) solid var(--sgp-color-interactive);
	border-bottom: var(--border-2) solid var(--sgp-color-interactive);
	content: "";
	transform: rotate(45deg);
}

/* Orb-backed proof panel: the Deal Execution proof section borrows the full-
 * bleed lifecycle composition while retaining its three-card content. */
.ma-impact-section--orb {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	color: var(--sgp-color-on-color);
	background-color: var(--sgp-color-interactive);
}

.ma-impact-section--orb::before {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: url("../img/Strategic-Growth-Partners_BG-1400x400-1.jpg");
	background-position: center;
	background-size: cover;
	content: "";
	transform: scaleX(-1);
}

.ma-impact-section--orb .ma-impact {
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.ma-impact-section--orb .ma-impact .ma-heading h2 {
	font: var(--sgp-weight-regular) var(--sgp-text-45) var(--sgp-font);
}

.ma-impact-section--orb .ma-impact .ma-heading__intro {
	color: var(--sgp-color-on-color);
	font: var(--sgp-weight-regular) var(--sgp-text-20) var(--sgp-font);
}

.ma-impact-section--orb .ma-impact__item {
	border: var(--border-1) solid var(--color-white-33);
	background: var(--color-navy-21);
	backdrop-filter: blur(var(--blur-10));
}

/* Copy split */

.ma-split--muted {
	background: var(--sgp-color-work-surface);
}

.ma-split__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sgp-space-96);
}

.ma-split__body {
	display: grid;
	align-content: start;
	justify-items: start;
	gap: var(--sgp-space-24);
}

/* Closed sequence */

.ma-closed-steps__panel {
	padding: var(--sgp-closed-padding);
	border-radius: var(--sgp-radius-section);
	background: var(--sgp-color-surface);
}

.ma-closed-steps__list {
	display: grid;
	gap: var(--sgp-space-24);
	margin: 0;
	padding: 0;
	list-style: none;
}

.ma-closed-steps .ma-heading {
	margin-bottom: var(--sgp-space-48);
}

.ma-closed-steps li {
	display: grid;
	grid-template-columns: minmax(0, .6fr) minmax(0, 1fr);
	gap: var(--sgp-space-24);
	align-items: center;
	padding-top: var(--sgp-space-24);
	border-top: var(--border-1) solid var(--sgp-color-divider);
}

.ma-closed-steps li:first-child {
	padding-top: 0;
	border-top: 0;
}

.ma-closed-steps li:nth-child(1) { --ma-step-accent: var(--sgp-brand-pink); }
.ma-closed-steps li:nth-child(2) { --ma-step-accent: var(--sgp-brand-cyan); }
.ma-closed-steps li:nth-child(3) { --ma-step-accent: var(--sgp-brand-purple); }
.ma-closed-steps li:nth-child(4) { --ma-step-accent: var(--sgp-brand-orange); }

.ma-closed-step__title {
	display: flex;
	align-items: center;
	gap: var(--sgp-space-16);
}

.ma-closed-step__title .icon {
	flex: 0 0 auto;
	color: var(--ma-step-accent);
	font-size: var(--icon-45);
}

/* Seller control sequence: the orbit advances on a measured timer, drawing
 * one colored quarter and focusing the corresponding process step at a time. */
.ma-closed-steps--orbit .ma-closed-steps__panel {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	align-items: center;
	gap: var(--sgp-space-48) var(--sgp-space-64);
	padding: 0;
	border-radius: 0;
	background: transparent;
}

.ma-closed-steps--orbit .ma-heading {
	grid-column: 1 / -1;
	margin-bottom: 0;
}

.ma-control-orbit {
	position: relative;
	width: min(100%, var(--size-350));
	aspect-ratio: 1;
	justify-self: start;
}

.ma-control-orbit svg {
	display: block;
	width: 100%;
	height: 100%;
	transform: rotate(-90deg);
}

.ma-control-orbit circle {
	fill: none;
	stroke-width: var(--border-2);
}

.ma-control-orbit__track {
	stroke: var(--sgp-color-divider);
	stroke-dasharray: .02 .035;
}

.ma-control-orbit__segment {
	stroke: var(--ma-node-color);
	stroke-dasharray: 0 1;
	stroke-dashoffset: 0;
	stroke-linecap: round;
	transition:
		stroke-dasharray calc(var(--sgp-dur-medium) * 2) var(--sgp-ease);
}

.ma-control-orbit__segment:nth-of-type(2) { --ma-node-color: var(--sgp-brand-pink); }
.ma-control-orbit__segment:nth-of-type(3) { --ma-node-color: var(--sgp-brand-cyan); }
.ma-control-orbit__segment:nth-of-type(4) { --ma-node-color: var(--sgp-brand-purple); }
.ma-control-orbit__segment:nth-of-type(5) { --ma-node-color: var(--sgp-brand-orange); }

.ma-control-orbit__segment.is-drawn {
	stroke-dasharray: .25 .75;
}

.ma-control-orbit__node {
	--ma-node-color: var(--sgp-color-interactive);
	position: absolute;
	isolation: isolate;
	width: var(--space-20);
	height: var(--space-20);
	border-radius: 50%;
	background: var(--sgp-brand-light-gray);
	transform: translate(-50%, -50%);
	transition: box-shadow var(--sgp-dur-medium) var(--sgp-ease), transform var(--sgp-dur-medium) var(--sgp-ease);
}

.ma-control-orbit__node::after {
	position: absolute;
	inset: var(--sgp-space-4);
	border-radius: 50%;
	background: var(--ma-node-color);
	content: "";
}

.ma-control-orbit__node:nth-of-type(1) { top: 12%; left: 50%; }
.ma-control-orbit__node:nth-of-type(2) { top: 50%; left: 88%; }
.ma-control-orbit__node:nth-of-type(3) { top: 88%; left: 50%; }
.ma-control-orbit__node:nth-of-type(4) { top: 50%; left: 12%; }

.ma-control-orbit__node:nth-of-type(1) { --ma-node-color: var(--sgp-brand-pink); }
.ma-control-orbit__node:nth-of-type(2) { --ma-node-color: var(--sgp-brand-cyan); }
.ma-control-orbit__node:nth-of-type(3) { --ma-node-color: var(--sgp-brand-purple); }
.ma-control-orbit__node:nth-of-type(4) { --ma-node-color: var(--sgp-brand-orange); }

.ma-control-orbit__node.is-active {
	box-shadow: 0 0 var(--sgp-space-16) 0 var(--ma-node-color);
	transform: translate(-50%, -50%) scale(1.08);
}

.ma-closed-steps--orbit .ma-closed-steps__list {
	gap: var(--sgp-space-8);
}

.ma-closed-steps--orbit .ma-closed-steps__list li {
	grid-template-columns: minmax(0, 1fr);
	gap: var(--sgp-space-8);
	padding: var(--sgp-space-16);
	border: 0;
	/* Match the selected-tab geometry from the shared Brand Portal component. */
	border-radius: var(--sgp-radius-selector);
	transition: background-color var(--sgp-dur-medium) var(--sgp-ease), box-shadow var(--sgp-dur-medium) var(--sgp-ease);
}

.ma-closed-steps--orbit .ma-closed-steps__list li.is-active {
	background: var(--sgp-color-surface);
	box-shadow: inset 0 0 0 var(--border-2) var(--ma-step-accent);
}

/* FAQ */

.ma-faq__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--sgp-space-48);
}

.ma-faq__intro {
	padding-right: var(--sgp-space-48);
}

.ma-faq__intro .ma-heading {
	max-width: none;
}

.ma-faq__items {
	display: grid;
	align-content: start;
	gap: var(--sgp-space-24);
}

.ma-faq__item {
	--ma-faq-motion: calc(var(--sgp-dur-medium) + var(--sgp-dur-short));
	interpolate-size: allow-keywords;
	border-radius: var(--sgp-radius-selector);
	background: var(--sgp-color-surface);
}

.ma-faq__item::details-content {
	block-size: 0;
	overflow: clip;
	opacity: 0;
	transition:
		block-size var(--ma-faq-motion) var(--sgp-ease),
		content-visibility var(--ma-faq-motion) allow-discrete,
		opacity var(--sgp-dur-medium) var(--sgp-ease);
}

.ma-faq__item[open]::details-content {
	block-size: auto;
	opacity: 1;
}

.ma-faq__item summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--sgp-space-24);
	min-height: var(--sgp-row-height);
	padding: var(--sgp-space-24) var(--sgp-space-32);
	font: var(--sgp-weight-medium) var(--sgp-text-20) var(--sgp-font);
	cursor: pointer;
	list-style: none;
	transition: min-height var(--ma-faq-motion) var(--sgp-ease);
}

.ma-faq__item summary::-webkit-details-marker {
	display: none;
}

.ma-faq__item summary:focus-visible {
	outline: var(--sgp-focus-ring-width) solid var(--sgp-focus-ring-color);
	outline-offset: var(--sgp-focus-ring-offset);
	border-radius: inherit;
}

.ma-faq__item[open] summary {
	min-height: calc(var(--sgp-row-height) - var(--sgp-space-8));
}

.ma-faq__toggle {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: var(--sgp-space-12);
	height: var(--sgp-space-12);
}

.ma-faq__toggle::before,
.ma-faq__toggle::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	height: var(--border-2);
	background: currentColor;
	content: "";
	transform: translate(-50%, -50%);
}

.ma-faq__toggle::after {
	transform: translate(-50%, -50%) rotate(90deg);
	transition: opacity var(--sgp-dur-medium) var(--sgp-ease);
}

.ma-faq__item[open] .ma-faq__toggle::after {
	opacity: 0;
}

.ma-faq__item > p {
	padding: 0 var(--sgp-space-32) var(--sgp-space-24);
}

/* Keep the expert CTA in its side-by-side composition through tablet. Flexible
 * columns replace the fixed desktop percentages before they can wrap. */
@media (max-width: 1439px) {
	.ma-heading {
		max-width: none;
	}

	.ma-card-grid,
	.ma-impact__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-card-grid--4,
	.ma-sequence__grid--4,
	.ma-sequence__grid--6 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ma-split__grid {
		gap: var(--sgp-space-48);
	}

	.ma-faq__intro {
		padding-right: 0;
	}

	.ma-site-cta .blocks-section > .wrap > .box {
		align-items: center;
		flex-direction: row;
		flex-wrap: nowrap;
		gap: var(--sgp-space-48);
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box {
		min-width: 0;
		width: auto;
		max-width: none;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child {
		flex: 0 1 40%;
		display: grid;
		grid-template-areas:
			"portrait identity identity"
			"contact contact social";
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--sgp-space-24);
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:last-child {
		flex: 1 1 0;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child > .b-image {
		grid-area: portrait;
		justify-self: start;
		width: auto;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child > .b-iconbox {
		grid-area: identity;
		width: auto;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child > .b-button {
		grid-area: contact;
		justify-self: start;
		width: auto;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child > .b-social {
		grid-area: social;
		justify-self: end;
		width: auto;
	}
}

/* The landing hero needs to leave its desktop composition before the type and
 * artwork begin competing for the same horizontal space. */
@media (max-width: 1199px) {
	.ma-heading,
	.ma-hero__subtitle {
		max-width: none;
	}

	.ma-hero--landing {
		min-height: auto;
	}

	.ma-hero--landing .ma-hero__inner {
		padding-block: var(--sgp-space-64);
	}

	.ma-hero--landing .ma-hero__panel {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-hero--landing .ma-hero__art {
		grid-row: 1;
	}

	.ma-actions,
	.ma-actions .sgp-button,
	.ma-site-cta .sgp-button {
		width: auto;
		max-width: 100%;
	}

	.ma-card-section--open-benefits .ma-card-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

}

@media (max-width: 1024px) {
	.ma-wrap {
		width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
	}

	.ma-site-cta .blocks-section > .wrap {
		width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
	}

	.ma-site-cta .blocks-section > .wrap > .box {
		gap: var(--sgp-space-32);
		padding: var(--sgp-space-32);
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child {
		flex-basis: 48%;
		gap: var(--sgp-space-16);
		padding: var(--sgp-space-24);
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child > .b-image img {
		width: var(--size-75);
	}

	.ma-card-grid,
	.ma-card-grid--4,
	.ma-services__grid,
	.ma-sequence__grid,
	.ma-sequence__grid--4,
	.ma-sequence__grid--6,
	.ma-impact__grid,
	.ma-expert {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-impact {
		padding: var(--sgp-space-32);
	}

	.ma-sequence--open .ma-sequence__grid,
	.ma-split__grid {
		gap: var(--sgp-space-48);
	}

	.ma-sequence--open .ma-sequence__grid {
		padding-left: var(--sgp-space-32);
	}

	.ma-sequence--open .ma-sequence__grid::before {
		top: 0;
		bottom: 0;
		left: calc(var(--space-20) / 2);
		right: auto;
		width: var(--border-2);
		height: auto;
		transform: scaleY(1);
		transform-origin: center top;
	}

	.js .ma-sequence--open [data-ma-reveal]:not(.is-revealed) .ma-sequence__grid::before {
		transform: scaleY(0);
	}

	.ma-sequence--open .ma-step__number {
		position: absolute;
		top: 0;
		left: calc(-1 * var(--sgp-space-32));
	}

	.ma-closed-steps li {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-constellation {
		grid-template-columns: minmax(0, 1fr);
		grid-template-rows: auto;
		gap: var(--sgp-space-32);
		min-height: 0;
		padding-left: var(--sgp-space-48);
	}

	.ma-constellation::before {
		position: absolute;
		top: 0;
		bottom: 0;
		left: calc(var(--sgp-control-height) / 2);
		width: var(--border-2);
		background: var(--sgp-color-outline-variant);
		content: "";
	}

	.ma-constellation__lines {
		display: none;
	}

	.ma-constellation__thesis,
	.ma-constellation__benefit,
	.ma-constellation__benefit--1,
	.ma-constellation__benefit--2,
	.ma-constellation__benefit--3,
	.ma-constellation__benefit--4 {
		grid-column: 1;
		grid-row: auto;
		justify-self: stretch;
		max-width: none;
	}

	.ma-constellation__thesis {
		min-height: 0;
		border-radius: var(--sgp-radius-object);
		text-align: left;
	}

	.ma-constellation__node {
		position: absolute;
		top: 0;
		left: calc(-1 * var(--sgp-space-48));
	}

	.ma-constellation__benefit {
		min-height: var(--size-150);
		padding: var(--sgp-space-24) 0 var(--sgp-space-24) var(--sgp-space-32);
	}

	.ma-architecture__layer,
	.ma-architecture__layer:nth-of-type(1),
	.ma-architecture__layer:nth-of-type(2) {
		width: 100%;
	}

	.ma-faq__intro {
		padding-right: 0;
	}
}

@media (max-width: 767px) {
	.ma-card-section--open-benefits .ma-card-grid,
	.ma-closed-steps--orbit .ma-closed-steps__panel {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-dossier {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-dossier__mandate {
		min-height: 0;
	}

	.ma-control-orbit {
		width: min(72vw, var(--size-300));
		justify-self: center;
	}

	.ma-sequence--cards .ma-step {
		flex-basis: calc(100vw - (2 * var(--sgp-space-32)));
	}

	.ma-sequence--cards .ma-sequence__grid {
		--ma-sequence-edge: var(--gutter);
	}

	.ma-sequence__controls {
		grid-template-columns: auto 1fr;
		gap: var(--sgp-space-16);
	}

	.ma-sequence__progress {
		justify-content: flex-end;
	}

	.ma-sequence__progress span {
		width: var(--sgp-space-24);
	}

	.ma-sequence__nav {
		grid-column: 1 / -1;
		justify-content: flex-end;
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-ma-reveal-item],
	.ma-site-cta .blocks-section > .wrap > .box,
	.ma-constellation__lines path,
	.ma-sequence--open .ma-sequence__grid::before,
	.ma-sequence--open .ma-step__number,
	.ma-sequence--open .ma-step__number::before {
		transition-delay: 0;
		transition-duration: 0;
	}
}

@media (max-width: 767px) {
	.ma-wrap {
		width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
	}

	.ma-site-cta .blocks-section > .wrap {
		width: min(calc(100% - (2 * var(--gutter))), var(--content-max));
		padding-block: var(--sgp-space-96);
	}

	.ma-site-cta .blocks-section > .wrap > .box {
		align-items: stretch;
		flex-direction: column-reverse;
		flex-wrap: wrap;
		gap: var(--sgp-space-24);
		padding: var(--sgp-space-24);
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box {
		flex: none;
		width: 100%;
	}

	.ma-section {
		padding-block: var(--sgp-space-96);
	}

	.ma-heading {
		max-width: none;
		margin-bottom: var(--sgp-space-48);
	}

	.ma-heading h2,
	.ma-split h2 {
		font: var(--sgp-weight-regular) var(--sgp-text-36) var(--sgp-font);
	}

	.ma-hero--detail {
		min-height: var(--size-500);
	}

	.ma-hero__inner {
		padding-block: var(--sgp-space-64);
	}

	.ma-hero--detail .ma-hero__inner {
		padding-block: var(--size-100);
	}

	.ma-hero__panel,
	.ma-hero--detail .ma-hero__panel {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-hero--landing .ma-hero__panel {
		padding: var(--sgp-space-24);
	}

	.ma-hero h1 {
		font: var(--sgp-weight-bold) var(--sgp-text-45) var(--sgp-font);
	}

	.ma-hero__art {
		grid-row: 1;
	}

	.ma-site-cta .blocks-section > .wrap > .box > .box:first-child {
		grid-template-areas:
			"portrait portrait"
			"identity identity"
			"contact social";
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.ma-sequence--lifecycle {
		padding-block: var(--sgp-space-96);
	}

	.ma-impact {
		padding: var(--sgp-space-32);
	}

	.ma-closed-steps__panel {
		padding: var(--sgp-space-32);
	}

	.ma-impact__item {
		padding: var(--sgp-space-32);
	}

	.ma-impact__item h3 {
		font: var(--sgp-weight-semibold) var(--sgp-text-22) var(--sgp-font);
	}

	.ma-dossier__mandate,
	.ma-dossier__proof {
		padding: var(--sgp-space-32);
	}

	.ma-dossier__mandate h3 {
		font: var(--sgp-weight-semibold) var(--sgp-text-28) var(--sgp-font);
	}

	.ma-architecture__layer {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--sgp-space-16);
		padding: var(--sgp-space-24);
	}

	.ma-architecture__layer h3 {
		font: var(--sgp-weight-semibold) var(--sgp-text-22) var(--sgp-font);
	}

	.ma-split__grid,
	.ma-faq__grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ma-closed-steps li > p {
		grid-column: auto;
	}

}

/* Large tablets have enough room for true three-item groups. Keep these
 * sections in one row from the large-tablet breakpoint upward and reserve
 * stacking for smaller tablet and mobile widths. */
@media (min-width: 1024px) {
	.ma-card-grid--3,
	.ma-impact__grid--3,
	.ma-sequence__grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ma-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) and (max-width: 1439px) {
	.ma-sequence__grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) and (max-width: 1199px) {
	.ma-impact__item {
		min-width: 0;
		padding: var(--sgp-space-32);
	}

	.ma-impact__item h3 {
		font: var(--sgp-weight-semibold) var(--sgp-text-22) var(--sgp-font);
	}
}

/* M&A contact dialog only. The shared site dialog remains untouched on every
 * other route; this scope exists solely on the four M&A pages. */
.sgp-ma-page #dialog-contact {
	width: min(var(--dialog-width), calc(100vw - (2 * var(--sgp-space-24))));
	max-height: calc(100dvh - (2 * var(--sgp-space-24)));
	overscroll-behavior: contain;
}

.sgp-ma-page #dialog-contact .form {
	align-items: start;
}

.sgp-ma-page #dialog-contact .form__check {
	display: grid;
	grid-template-columns: var(--sgp-space-16) minmax(0, 1fr);
	align-items: start;
	gap: var(--sgp-space-12);
}

.sgp-ma-page #dialog-contact .form__check input[type="checkbox"] {
	width: var(--sgp-space-16);
	height: var(--sgp-space-16);
	margin: var(--space-2) 0 0;
	padding: 0;
	accent-color: var(--sgp-color-royal);
}

.sgp-ma-page #dialog-contact .form__check label {
	line-height: 1.35;
}

.sgp-ma-page #dialog-contact .form > .sgp-button {
	justify-self: start;
}

@media (max-width: 767px) {
	.sgp-ma-page #dialog-contact {
		width: calc(100vw - (2 * var(--sgp-space-16)));
		max-height: calc(100dvh - (2 * var(--sgp-space-16)));
		padding: var(--sgp-space-32) var(--sgp-space-24) var(--sgp-space-24);
	}

	.sgp-ma-page #dialog-contact .form {
		grid-template-columns: minmax(0, 1fr);
	}

	.sgp-ma-page #dialog-contact .form__field {
		grid-column: 1 / -1;
	}
}
