.btn {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	justify-content: center;
	gap: var(--btn-gap);
	padding: var(--btn-pad-y) var(--btn-pad-x);
	border: var(--border-width) solid transparent;
	border-radius: var(--btn-radius);
	font-family: var(--font-heading);
	font-size: var(--btn-font-size);
	font-weight: var(--weight-semibold);
	line-height: var(--btn-line-height);
	letter-spacing: var(--tracking-label);
	text-align: center;
	text-decoration: none;
	text-transform: uppercase;
	white-space: var(--btn-white-space);
	cursor: pointer;
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.btn:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.btn--primary {
	border-color: var(--color-accent);
	background-color: transparent;
	color: var(--color-on-primary);
}

.btn--primary:hover {
	border-color: var(--color-accent-hover);
	background-color: var(--color-accent);
	color: var(--color-on-accent);
}

.btn--primary:hover .icon--arrow {
	filter: brightness(0);
}

.btn--secondary {
	border-color: var(--color-border);
	background-color: var(--color-bg-secondary);
	color: var(--color-text);
}

.btn--secondary:hover {
	border-color: var(--color-accent);
	color: var(--color-accent-hover);
}

.btn--ghost {
	padding-inline: 0;
	color: var(--color-accent);
}

.btn--ghost:hover {
	color: var(--color-accent-hover);
}

.btn[disabled],
.btn:disabled {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}

.icon {
	flex: 0 0 auto;
}

.eyebrow {
	display: flex;
	align-items: center;
	gap: var(--eyebrow-gap-mobile);
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin-bottom: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-text);
}

.eyebrow::before {
	width: var(--eyebrow-line-mobile);
	height: var(--border-width);
	flex: 0 0 auto;
	align-self: center;
	background: linear-gradient(to right, transparent, var(--color-line-accent));
	content: "";
}

.accent {
	color: var(--color-accent);
}

.breadcrumbs,
.about-hero__breadcrumbs,
.contact-hero__breadcrumbs,
.services-hero__breadcrumbs,
.blog-hero__breadcrumbs {
	font-size: var(--text-xs);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.breadcrumbs {
	margin: 0;
}

.breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.hero,
.home-hero,
.about-hero,
.contact-hero,
.services-hero,
.blog-hero,
.legal-hero,
.not-found {
	margin-top: var(--page-hero-margin-top);
}

@media (min-width: 640px) {
	.hero,
	.home-hero,
	.about-hero,
	.contact-hero,
	.services-hero,
	.blog-hero,
	.legal-hero,
	.not-found {
		margin-top: var(--page-hero-margin-top-md);
	}
}

.hero {
	position: relative;
	display: grid;
	min-height: min(48rem, calc(100svh - var(--header-measured-height)));
	align-items: start;
	overflow: hidden;
	isolation: isolate;
	background-color: var(--color-bg);
}

.hero::before {
	position: absolute;
	inset: 0;
	z-index: var(--z-base);
	content: "";
}

.hero--compact {
	min-height: min(34rem, calc(100svh - var(--header-measured-height)));
}

.hero__media {
	position: absolute;
	inset: 0;
	z-index: var(--z-below);
}

.hero > .container {
	position: relative;
	z-index: var(--z-raised);
}

.hero__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero__content {
	display: flex;
	max-width: var(--content-width-hero);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
	padding-block: var(--section-py);
}

.hero__title {
	font-size: var(--hero-title-size);
	text-wrap: balance;
}

.hero__intro {
	max-width: 65ch;
	font-size: var(--text-lg);
}

.about-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.about-hero__background,
.about-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.about-hero__background {
	max-width: none;
	object-fit: cover;
	object-position: right center;
	opacity: var(--page-hero-image-opacity);
}

.about-hero__shade,
.contact-hero__shade,
.services-hero__shade,
.hero::before {
	/* Copy spans the image below desktop, so the shade stays dark across the full width. */
	background:
		linear-gradient(
			to right,
			var(--color-bg) 0%,
			var(--color-black-85) 28%,
			var(--color-black-80) 100%
		),
		linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent var(--page-hero-shade-vertical-stop),
			transparent calc(100% - var(--page-hero-shade-vertical-stop)),
			var(--color-bg) 100%
		);
}

.about-hero__inner {
	position: relative;
	display: flex;
	min-height: 32rem;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--space-12);
	padding-top: var(--space-8);
	padding-bottom: var(--section-py);
}

.about-hero__breadcrumbs {
	margin: 0;
	font-weight: var(--weight-light);
}

.about-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-hero-crumb-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.about-hero__crumb {
	margin: 0;
}

.about-hero__breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.about-hero__breadcrumbs :where(a):hover {
	color: var(--color-accent);
}

.about-hero__breadcrumbs :where(a):visited {
	color: var(--color-text);
}

.about-hero__crumb[aria-current="page"] {
	color: var(--color-accent);
}

.about-hero__content {
	display: flex;
	width: 100%;
	max-width: var(--about-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.about-hero .eyebrow {
	line-height: normal;
}

.about-hero__title {
	max-width: 100%;
	font-size: var(--hero-title-size);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.about-hero__intro {
	width: 100%;
	max-width: none;
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.about-hero .circle-link {
	gap: var(--home-hero-button-gap-mobile);
}

.about-hero .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.contact-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.contact-hero__background,
.contact-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.contact-hero__background {
	max-width: none;
	object-fit: cover;
	object-position: right center;
	opacity: var(--page-hero-image-opacity);
}

.contact-hero__inner {
	position: relative;
	display: flex;
	min-height: 32rem;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--space-12);
	padding-top: var(--space-8);
	padding-bottom: var(--section-py);
}

.contact-hero__breadcrumbs {
	margin: 0;
	font-weight: var(--weight-light);
}

.contact-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-hero-crumb-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-hero__crumb {
	margin: 0;
}

.contact-hero__breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.contact-hero__breadcrumbs :where(a):hover {
	color: var(--color-accent);
}

.contact-hero__breadcrumbs :where(a):visited {
	color: var(--color-text);
}

.contact-hero__crumb[aria-current="page"] {
	color: var(--color-accent);
}

.contact-hero__content {
	display: flex;
	width: 100%;
	max-width: var(--contact-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.contact-hero .eyebrow {
	line-height: normal;
}

.contact-hero__title {
	max-width: 100%;
	font-size: var(--hero-title-size);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
}

.contact-hero__intro {
	width: 100%;
	max-width: none;
	margin-bottom: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.kosmos-standard {
	padding-top: var(--kosmos-standard-py-top);
	padding-bottom: var(--kosmos-standard-py-bottom);
}

.kosmos-standard__inner {
	display: flex;
	flex-direction: column;
	gap: var(--kosmos-standard-stack-gap);
}

.kosmos-standard__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--kosmos-standard-intro-gap);
}

.kosmos-standard .eyebrow {
	line-height: normal;
}

.kosmos-standard .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.kosmos-standard__title {
	font-size: var(--heading-2);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.kosmos-standard__lead {
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.kosmos-standard__grid {
	display: flex;
	flex-direction: column;
	gap: var(--home-services-mobile-card-gap);
}

.kosmos-standard__row {
	display: grid;
	gap: var(--home-services-mobile-card-gap);
}

.kosmos-standard-card {
	display: flex;
	height: 100%;
	flex-direction: column;
	gap: var(--kosmos-standard-card-inner-gap);
	padding: var(--space-6);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-modal-radius);
	background-color: var(--color-card-bg);
}

.kosmos-standard-card__icon {
	display: block;
	align-self: flex-start;
	flex-shrink: 0;
	line-height: 0;
}

.kosmos-standard-card__icon :where(svg) {
	display: block;
	width: auto;
	height: var(--kosmos-standard-icon-height);
	max-width: none;
}

.kosmos-standard-card__index {
	display: flex;
	align-items: center;
	gap: var(--kosmos-standard-card-inner-gap);
}

.kosmos-standard-card__number {
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-text);
}

.kosmos-standard-card__line {
	width: var(--kosmos-standard-line-width);
	height: calc(var(--border-width) * 2);
	flex: 0 0 auto;
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.kosmos-standard-card__summary {
	display: flex;
	flex-direction: column;
	gap: var(--kosmos-standard-copy-gap);
}

.kosmos-standard-card__title {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
	color: var(--color-text);
}

.kosmos-standard-card__copy {
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.about-why__inner {
	display: flex;
	flex-direction: column;
	gap: var(--about-why-stack-gap);
	padding-block: var(--about-why-py);
}

.about-why__intro {
	display: flex;
	flex-direction: column;
	gap: var(--about-why-stack-gap);
}

.about-why .eyebrow {
	line-height: normal;
}

.about-why .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.about-why__title {
	font-size: var(--heading-2);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.about-why__copy {
	display: flex;
	flex-direction: column;
	gap: var(--about-why-stack-gap);
}

.about-why__lead {
	margin-bottom: 0;
	padding-left: var(--about-why-accent-pad);
	border-left: var(--border-width) solid var(--color-accent);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-on-primary);
}

.about-why__body {
	display: flex;
	flex-direction: column;
	gap: var(--about-why-stack-gap);
}

.about-why__body :where(p) {
	margin-bottom: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-on-primary);
}

.about-reach {
	color: var(--color-on-primary);
}

.about-reach__inner {
	display: flex;
	flex-direction: column;
	gap: var(--about-reach-layout-gap);
	padding-block: var(--about-reach-py);
}

.about-reach__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--about-reach-stack-gap);
}

.about-reach .eyebrow {
	line-height: normal;
	color: var(--color-text);
}

.about-reach .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.about-reach__title {
	margin: 0;
	font-size: var(--about-reach-title-size);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--about-reach-title-tracking);
	text-transform: uppercase;
	text-wrap: balance;
}

.about-reach__title .accent {
	display: block;
}

.about-reach__copy {
	margin: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.about-reach__media {
	margin: 0;
	width: 100%;
}

.about-reach__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 647 / 618;
	object-fit: cover;
}

.about-approach {
	position: relative;
	overflow: hidden;
	color: var(--color-on-primary);
}

.about-approach__background {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	pointer-events: none;
}

.about-approach__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		var(--color-bg) 0%,
		transparent var(--page-hero-shade-vertical-stop),
		transparent calc(100% - var(--page-hero-shade-vertical-stop)),
		var(--color-bg) 100%
	);
	pointer-events: none;
}

.about-approach__inner {
	position: relative;
	z-index: var(--z-base);
	display: flex;
	flex-direction: column;
	gap: var(--about-approach-stack-gap);
	padding-block: var(--about-approach-py);
}

.about-approach__header {
	display: flex;
	flex-direction: column;
	gap: var(--about-approach-header-gap);
}

.about-approach .eyebrow {
	line-height: normal;
	color: var(--color-text);
}

.about-approach .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.about-approach__title {
	margin: 0;
	font-size: var(--heading-2);
	line-height: var(--leading-figma-heading);
	text-transform: uppercase;
	text-wrap: balance;
}

.about-approach__body {
	--about-approach-panels-min-height: auto;
}

.about-approach__items {
	display: flex;
	flex-direction: column;
	border-top: var(--border-width) solid var(--color-border);
}

.about-approach__item {
	border-bottom: var(--border-width) solid var(--color-border);
}

.about-approach__tab {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	width: 100%;
	padding: var(--about-approach-mobile-tab-py) var(--container-px);
	font: inherit;
	text-align: left;
	color: inherit;
	background: transparent;
	border: 0;
	border-left: 2px solid var(--color-border);
	cursor: pointer;
	transition:
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.about-approach__tab-meta {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--about-approach-tab-inner-gap);
	min-width: 0;
}

.about-approach__tab-chevron {
	flex: 0 0 auto;
	width: var(--about-approach-chevron-size);
	aspect-ratio: 6.875 / 3.75;
	background-color: var(--color-accent);
	mask-image: url("../images/nav-chevron.svg");
	mask-mode: alpha;
	mask-repeat: no-repeat;
	mask-position: center;
	mask-size: 100% 100%;
	transition: transform var(--transition-fast);
}

.about-approach__item.is-active .about-approach__tab-chevron {
	transform: rotate(180deg);
}

.about-approach__tab:is(:hover, :focus-visible) {
	border-left-color: var(--color-accent);
}

.about-approach__tab.is-active,
.about-approach__tab[aria-selected="true"] {
	border-left-color: var(--color-accent);
}

.about-approach__tab:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.about-approach__tab-number {
	font-family: var(--font-heading);
	font-size: var(--about-approach-tab-number-size);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--about-approach-tab-number-tracking);
	color: var(--color-accent);
}

.about-approach__tab-label {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
	color: var(--color-text);
}

.about-approach__panel {
	display: none;
	flex-direction: column;
	gap: var(--about-approach-mobile-panel-gap);
	padding: 0 var(--container-px) var(--about-approach-mobile-panel-pb);
}

.about-approach__panel.is-active {
	display: flex;
}

.about-approach__panel[hidden] {
	display: none !important;
}

.about-approach__panel-eyebrow {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-text);
}

.about-approach__panel-title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--heading-3);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--color-on-primary);
}

.about-approach__panel-body {
	display: flex;
	flex-direction: column;
	gap: var(--about-approach-header-gap);
}

.about-approach__panel-body :where(p) {
	margin: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-on-primary);
}

@media (max-width: 1023px) {
	.about-approach__inner {
		gap: var(--about-approach-header-gap);
		padding-block: var(--section-py);
	}

	.about-approach__background {
		inset: auto;
		top: 0;
		left: var(--about-approach-mobile-bg-left);
		width: var(--about-approach-mobile-bg-width);
		height: var(--about-approach-mobile-bg-height);
		object-fit: cover;
		object-position: top right;
	}

	.about-approach__shade {
		background:
			linear-gradient(
				to bottom,
				transparent 0%,
				var(--color-bg) 100%
			),
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 14%,
				var(--color-bg) 100%
			);
		background-size:
			100% var(--about-approach-mobile-bg-height),
			100% 100%;
		background-repeat: no-repeat;
		background-position: top, top;
	}

	.about-approach__items {
		border-top: 0;
	}

	.about-approach__item {
		border-bottom: 0;
	}

	.about-approach__tab {
		border-left: 0;
		border-bottom: 2px solid var(--color-border);
		padding-block: var(--about-approach-mobile-tab-py);
		transition:
			border-color var(--transition-fast),
			color var(--transition-fast);
	}

	.about-approach__tab:is(:hover, :focus-visible) {
		border-bottom-color: var(--color-accent);
	}

	.about-approach__tab.is-active,
	.about-approach__tab[aria-selected="true"] {
		border-bottom-color: var(--color-accent);
	}

	.about-approach__panel,
	.about-approach__panel.is-active {
		display: grid;
		grid-template-rows: 0fr;
		gap: 0;
		padding: 0 var(--container-px);
		overflow: hidden;
		transition: grid-template-rows var(--transition-base);
	}

	.about-approach__panel.is-active {
		grid-template-rows: 1fr;
	}

	.about-approach__panel[hidden] {
		display: grid !important;
	}

	.about-approach__panel-inner {
		display: flex;
		flex-direction: column;
		min-height: 0;
		overflow: hidden;
		padding-top: 0;
		padding-bottom: 0;
		transition:
			padding-top var(--transition-base),
			padding-bottom var(--transition-base);
	}

	.about-approach__panel.is-active .about-approach__panel-inner {
		padding-top: var(--about-approach-mobile-panel-pt);
		padding-bottom: var(--about-approach-mobile-panel-pb);
	}

	.about-approach__panel-eyebrow {
		margin-bottom: var(--about-approach-mobile-panel-eyebrow-title-gap);
	}

	.about-approach__panel-title {
		margin-bottom: var(--about-approach-mobile-panel-gap);
	}

	.about-approach__tab-meta {
		flex-direction: row;
		align-items: center;
		gap: var(--about-approach-mobile-tab-meta-gap);
		flex: 1;
		min-width: 0;
	}

	.about-approach__tab-number {
		flex: 0 0 auto;
		font-size: var(--about-approach-mobile-tab-number-size);
		letter-spacing: var(--tracking-wide);
	}

	.about-approach__tab-label {
		flex: 1 1 auto;
		min-width: 0;
		font-size: var(--text-sm);
	}

	.about-approach__panel-eyebrow {
		font-size: var(--about-approach-mobile-panel-eyebrow-size);
		letter-spacing: var(--tracking-label);
	}
}

@media (min-width: 640px) and (max-width: 1023px) {
	.about-approach__tab {
		padding-inline: var(--container-px-md);
	}

	.about-approach__panel {
		padding-inline: var(--container-px-md);
	}
}

.about-founder {
	padding-block: var(--about-founder-py);
}

.about-founder__inner {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-content-gap);
}

.about-founder__content {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-content-gap);
}

.about-founder__intro {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-content-gap);
}

.about-founder .eyebrow {
	line-height: normal;
}

.about-founder .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.about-founder__title {
	font-size: var(--heading-2);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.about-founder__meta {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-meta-gap);
}

.about-founder__name {
	margin-bottom: 0;
	font-family: var(--font-heading);
	font-size: var(--about-founder-name-size);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-text);
}

.about-founder__role {
	margin-bottom: 0;
	font-family: var(--font-heading);
	font-size: var(--about-founder-name-size);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.about-founder__credentials {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-founder-meta-gap);
	margin-bottom: 0;
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-text);
}

.about-founder .about-founder__credentials.card__meta {
	color: var(--color-text);
}

.about-founder__credential-dot {
	flex: 0 0 auto;
}

.about-founder__media {
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--contact-modal-radius);
}

.about-founder__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-founder__prose {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-content-gap);
}

.about-founder__prose :where(p) {
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.about-founder__prose :where(a) {
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: var(--space-1);
}

.about-founder__prose :where(a):hover {
	color: var(--color-accent-hover);
}

.about-founder__prose-expandable {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.about-founder__prose-body {
	display: flex;
	flex-direction: column;
	gap: var(--about-founder-content-gap);
	width: 100%;
}

.about-founder__more-toggle {
	position: relative;
	z-index: var(--z-raised);
	min-height: 2.75rem;
	padding: var(--space-1) var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	color: var(--color-accent);
	text-decoration: underline;
	text-underline-offset: var(--space-1);
	background: transparent;
	border: 0;
	cursor: pointer;
	transition: color var(--transition-fast);
}

.about-founder__more-toggle:hover {
	color: var(--color-accent-hover);
}

.about-founder__more-toggle:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

@media (max-width: 1023px) {
	.about-founder__prose-expandable {
		position: relative;
	}

	.about-founder__prose-expandable:not(.is-expanded) .about-founder__prose-body {
		max-height: var(--about-founder-prose-collapsed-max);
		overflow: hidden;
		-webkit-mask-image: linear-gradient(
			to bottom,
			#000 0%,
			#000 35%,
			rgb(0 0 0 / 0.45) 72%,
			transparent 100%
		);
		mask-image: linear-gradient(
			to bottom,
			#000 0%,
			#000 35%,
			rgb(0 0 0 / 0.45) 72%,
			transparent 100%
		);
	}

	.about-founder__prose-expandable:not(.is-expanded)::after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 1.75rem;
		height: var(--about-founder-prose-fade-height);
		background: linear-gradient(to bottom, rgb(255 255 255 / 0), var(--color-bg));
		pointer-events: none;
	}

	.about-founder__prose-expandable:not(.is-expanded) .about-founder__more-toggle {
		margin-top: calc(-1 * var(--space-6));
	}

	.about-founder__prose-expandable.is-expanded .about-founder__more-toggle {
		align-self: flex-start;
		margin-top: var(--space-2);
		padding-inline: 0;
	}

	.about-founder {
		padding-top: 0;
	}

	.about-founder__content {
		display: contents;
	}

	.about-founder__intro {
		order: 1;
	}

	.about-founder__meta {
		order: 2;
	}

	.about-founder__media {
		order: 3;
		width: 100%;
		aspect-ratio: 1;
		height: auto;
	}

	.about-founder__prose-expandable {
		order: 4;
	}

	.about-founder__role {
		font-size: var(--about-founder-role-size-mobile);
	}
}

@media (max-width: 639px) {
	.kosmos-standard-card,
	.kosmos-standard-card.is-visible {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr);
		column-gap: var(--kosmos-standard-card-inner-gap);
		row-gap: var(--kosmos-standard-copy-gap);
		padding: var(--kosmos-standard-card-pad-mobile);
	}

	.kosmos-standard-card__icon {
		grid-column: 1;
		grid-row: 1;
	}

	.kosmos-standard-card__summary {
		grid-column: 2;
		grid-row: 1;
		gap: var(--kosmos-standard-mobile-head-gap);
		min-width: 0;
	}

	.kosmos-standard-card__copy {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.kosmos-standard-card__index {
		gap: var(--kosmos-standard-copy-gap);
	}

	.kosmos-standard-card__number {
		font-size: var(--text-xs);
		letter-spacing: var(--tracking-label);
	}

	.kosmos-standard-card__line {
		width: var(--kosmos-standard-mobile-line-width);
	}

	.kosmos-standard-card__title {
		font-family: var(--font-heading);
		font-weight: var(--weight-medium);
		line-height: var(--leading-heading);
		letter-spacing: var(--tracking-heading);
		color: var(--color-on-primary);
	}
}

@media (min-width: 640px) {
	.breadcrumbs {
		font-size: var(--text-sm);
	}

	.about-hero__breadcrumbs,
	.contact-hero__breadcrumbs,
	.services-hero__breadcrumbs,
	.blog-hero__breadcrumbs {
		font-size: var(--text-base);
	}

	.hero {
		align-items: center;
	}

	.about-hero__inner,
	.contact-hero__inner {
		justify-content: center;
		gap: var(--stack-xl);
		padding-top: var(--hero-top-padding-desktop);
		padding-bottom: var(--section-py-md);
	}

	.kosmos-standard__grid,
	.kosmos-standard__row {
		gap: var(--kosmos-standard-card-gap);
	}

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

	.kosmos-standard-card {
		display: flex;
		flex-direction: column;
		padding: var(--space-10);
	}

	.kosmos-standard-card__summary {
		display: contents;
	}
}

@media (min-width: 1024px) {
	.about-hero__shade,
	.contact-hero__shade,
	.services-hero__shade,
	.hero::before {
		background:
			linear-gradient(
				to right,
				var(--color-bg) 0%,
				var(--color-black-85) var(--page-hero-shade-mid-stop),
				transparent var(--page-hero-shade-clear-stop)
			),
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent var(--page-hero-shade-vertical-stop),
				transparent calc(100% - var(--page-hero-shade-vertical-stop)),
				var(--color-bg) 100%
			);
	}

	.about-hero__background,
	.contact-hero__background {
		object-position: center;
	}

	.about-hero__inner {
		min-height: var(--about-hero-height);
		gap: var(--about-hero-stack-gap);
		padding-bottom: var(--section-py-lg);
	}

	.contact-hero__inner {
		min-height: var(--contact-hero-height);
		gap: var(--contact-hero-stack-gap);
		padding-bottom: var(--section-py-lg);
	}

	.about-hero__inner.container,
	.contact-hero__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.about-hero__content {
		gap: var(--eyebrow-gap-desktop);
	}

	.contact-hero__content {
		gap: var(--contact-hero-content-gap);
	}

	.contact-hero .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.contact-hero .eyebrow::before {
		width: var(--eyebrow-line-desktop);
	}

	.about-hero .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.about-hero .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.about-hero .circle-link__label {
		width: var(--home-hero-label-width);
	}

	.kosmos-standard__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.kosmos-standard .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.kosmos-standard .eyebrow::before {
		width: var(--kosmos-standard-eyebrow-line);
	}

	.kosmos-standard__title {
		font-size: var(--kosmos-standard-title-size);
		letter-spacing: var(--kosmos-standard-title-tracking);
	}

	.contact-intro .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.contact-intro .eyebrow::before {
		width: var(--contact-intro-eyebrow-line);
	}

	.contact-intro__title {
		font-size: var(--kosmos-standard-title-size);
	}

	.contact-outreach .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.contact-outreach .eyebrow::before {
		width: var(--contact-intro-eyebrow-line);
	}

	.contact-outreach__title {
		font-size: var(--kosmos-standard-title-size);
	}

	.contact-outreach__form-panel {
		padding: var(--contact-outreach-form-pad);
	}

	.contact-outreach__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		align-items: start;
	}

	.contact-outreach__organizations {
		padding-block: var(--contact-outreach-column-gap);
		padding-right: var(--contact-outreach-column-gap);
		border-right: var(--border-width) solid var(--color-border);
	}

	.contact-outreach__professionals {
		padding-block: var(--contact-outreach-column-gap);
	}

	.contact-outreach__form .contact-modal__methods .wpcf7-radio {
		gap: var(--contact-outreach-form-field-gap) var(--contact-outreach-form-radio-gap);
	}

	.contact-outreach__form .contact-modal__actions {
		align-items: flex-end;
	}

	.contact-outreach__professionals .btn {
		padding-inline: var(--btn-pad-x);
		font-size: var(--btn-font-size);
	}

	.contact-outreach__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.kosmos-standard__row--primary {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.kosmos-standard__row--secondary {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.kosmos-standard-card {
		padding: var(--kosmos-standard-card-pad);
	}

	.about-founder__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.about-founder__inner {
		display: grid;
		grid-template-columns: minmax(0, var(--about-founder-image-size)) minmax(0, 1fr);
		column-gap: var(--about-founder-gap);
		align-items: start;
	}

	.about-founder__media {
		grid-column: 1;
		grid-row: 1;
		width: 100%;
		max-width: var(--about-founder-image-size);
		aspect-ratio: 1;
		height: auto;
	}

	.about-founder__content {
		grid-column: 2;
		grid-row: 1;
	}

	.about-founder__intro,
	.about-founder__meta,
	.about-founder__prose,
	.about-founder__media {
		order: unset;
	}

	.about-founder__prose-expandable.is-expanded,
	.about-founder__prose-expandable.is-expanded .about-founder__prose-body {
		max-height: none;
	}

	.about-founder__prose-expandable.is-expanded .about-founder__prose-body {
		-webkit-mask-image: none;
		mask-image: none;
	}

	.about-founder__prose-expandable::after {
		display: none;
	}

	.about-founder__more-toggle {
		display: none;
	}

	.about-founder .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.about-founder .eyebrow::before {
		width: var(--about-founder-eyebrow-line);
	}

	.about-founder__title {
		font-size: var(--about-founder-title-size);
		letter-spacing: var(--about-founder-title-tracking);
	}

	@media (max-width: 1439px) {
		.about-founder__inner {
			grid-template-columns: minmax(0, var(--about-founder-image-size-mid)) minmax(0, 1fr);
			column-gap: var(--about-founder-gap-mid);
			row-gap: var(--about-founder-gap-mid);
			align-items: start;
		}

		.about-founder__content {
			display: contents;
		}

		.about-founder__media {
			grid-column: 1;
			grid-row: 1 / 4;
			width: 100%;
			max-width: var(--about-founder-image-size-mid);
		}

		.about-founder__intro {
			grid-column: 2;
			grid-row: 1;
		}

		.about-founder__meta {
			grid-column: 2;
			grid-row: 2;
			margin-top: calc(var(--about-founder-intro-meta-gap-mid) - var(--about-founder-gap-mid));
		}

		.about-founder__prose,
		.about-founder__prose-expandable,
		.about-founder__prose-body {
			display: contents;
		}

		.about-founder__prose > p:first-child {
			grid-column: 2;
			grid-row: 3;
		}

		.about-founder__prose > p:not(:first-child) {
			grid-column: 1 / -1;
		}
	}

	.about-why__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.about-why .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.about-why .eyebrow::before {
		width: var(--about-why-eyebrow-line);
	}

	.about-why__title {
		font-size: var(--about-why-title-size);
		letter-spacing: var(--about-why-title-tracking);
	}

	.about-reach__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.about-reach__inner {
		display: grid;
		grid-template-columns: minmax(0, var(--about-reach-media-col)) minmax(0, var(--about-reach-content-col));
		align-items: center;
		gap: var(--about-reach-desktop-layout-gap);
		padding-block: var(--about-reach-py-desktop);
	}

	.about-reach__content {
		grid-column: 2;
		grid-row: 1;
		align-items: stretch;
		width: 100%;
		min-width: 0;
	}

	.about-reach .eyebrow {
		width: 100%;
		gap: var(--eyebrow-gap-desktop);
		letter-spacing: var(--tracking-label);
	}

	.about-reach .eyebrow::before {
		width: var(--about-reach-eyebrow-line);
	}

	.about-reach__title {
		width: 100%;
		max-width: none;
		font-size: var(--text-4xl);
	}

	.about-reach__cta {
		align-self: flex-start;
	}

	.about-reach__media {
		display: flex;
		align-items: center;
		justify-content: center;
		grid-column: 1;
		grid-row: 1;
		min-width: 0;
		min-height: var(--about-reach-image-min-height);
	}

	.about-reach__image {
		width: 100%;
		height: 100%;
		max-height: var(--about-reach-image-min-height);
		aspect-ratio: auto;
		object-fit: contain;
	}

	.about-approach__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.about-approach .eyebrow {
		gap: var(--eyebrow-gap-desktop);
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
	}

	.about-approach .eyebrow::before {
		width: var(--about-approach-eyebrow-line);
	}

	.about-approach__title {
		font-size: var(--about-approach-section-title-size);
		letter-spacing: var(--about-approach-section-title-tracking);
	}

	.about-approach__items {
		display: grid;
		grid-template-columns: minmax(0, var(--about-approach-tab-col)) minmax(0, 1fr);
		grid-template-rows: repeat(3, auto);
		align-items: start;
		column-gap: var(--about-approach-body-gap);
		border-top: 0;
	}

	.about-approach__items::before {
		content: "";
		grid-column: 1;
		grid-row: 1 / -1;
		justify-self: end;
		align-self: stretch;
		width: var(--border-width);
		background-color: var(--color-border);
		pointer-events: none;
	}

	.about-approach__item {
		display: contents;
		border-bottom: 0;
	}

	.about-approach__item:nth-child(1) .about-approach__tab {
		grid-column: 1;
		grid-row: 1;
	}

	.about-approach__item:nth-child(2) .about-approach__tab {
		grid-column: 1;
		grid-row: 2;
	}

	.about-approach__item:nth-child(3) .about-approach__tab {
		grid-column: 1;
		grid-row: 3;
	}

	.about-approach__tab {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		gap: var(--about-approach-tab-inner-gap);
		padding: var(--about-approach-tab-pad-block) var(--about-approach-tab-pad-inline);
		border-right: 0;
	}

	.about-approach__tab-meta {
		gap: var(--about-approach-tab-inner-gap);
	}

	.about-approach__tab-chevron {
		display: none;
	}

	.about-approach__panel {
		grid-column: 2;
		grid-row: 1 / -1;
		align-self: start;
		max-width: var(--about-approach-content-max);
		min-height: var(--about-approach-panels-min-height, auto);
		padding: 0;
	}

	.about-approach__panel-inner {
		display: flex;
		flex-direction: column;
		gap: var(--about-approach-header-gap);
		width: 100%;
	}

	.about-approach__panel-title {
		font-size: var(--about-approach-panel-title-size);
		letter-spacing: var(--about-approach-panel-title-tracking);
	}
}

.section-heading {
	display: grid;
	gap: var(--stack-md);
	margin-bottom: var(--stack-xl);
}

.section-heading--split {
	align-items: end;
}

.section-heading__title {
	text-wrap: balance;
}

.section-heading__copy {
	max-width: 65ch;
}

.card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 19rem), 1fr));
	gap: var(--space-6);
}

.card {
	position: relative;
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: var(--stack-sm);
	padding: var(--space-6);
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-md);
	background:
		radial-gradient(circle at 100% 0%, var(--color-atmosphere-12), transparent 50%),
		var(--color-bg-secondary);
	transition:
		border-color var(--transition-base),
		transform var(--transition-base);
}

.card__image {
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	border-radius: var(--border-radius-sm);
	object-fit: cover;
}

.card:hover {
	border-color: var(--color-accent);
	transform: translateY(calc(-1 * var(--space-1)));
}

.card__icon {
	display: grid;
	width: var(--space-16);
	height: var(--space-16);
	place-items: center;
	margin-bottom: var(--space-4);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-icon-bg);
	color: var(--color-accent);
}

.card__title {
	font-size: var(--text-xl);
}

.card__title :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
}

.card__meta {
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-accent);
}

.card__link {
	margin-top: auto;
}

.split {
	display: grid;
	gap: var(--stack-xl);
	align-items: center;
}

.split__media {
	position: relative;
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
}

.split__image {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.split__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.feature-list {
	display: grid;
	gap: var(--space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.feature-list__item {
	display: flex;
	gap: var(--space-4);
	align-items: flex-start;
	margin: 0;
	padding-block: var(--space-4);
	border-bottom: var(--border-width) solid var(--color-border);
}

.feature-list__marker {
	display: grid;
	width: var(--space-10);
	height: var(--space-10);
	flex: 0 0 auto;
	place-items: center;
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-full);
	color: var(--color-accent);
}

.stats {
	display: grid;
	gap: var(--space-6);
}

.stats__item {
	padding: var(--space-6);
	border-left: var(--border-width) solid var(--color-accent);
}

.stats__value {
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--heading-3);
	letter-spacing: var(--tracking-heading);
	color: var(--color-accent);
}

.cta {
	position: relative;
	overflow: hidden;
	text-align: center;
	background:
		radial-gradient(ellipse at 50% 120%, var(--color-atmosphere-50), transparent 50%),
		var(--color-bg);
}

.cta__inner {
	display: flex;
	max-width: var(--max-width-narrow);
	flex-direction: column;
	align-items: center;
	gap: var(--stack-md);
	margin-inline: auto;
}

.cta__title {
	text-wrap: balance;
}

.review-slider {
	overflow: hidden;
}

.review-slider__track {
	display: grid;
	grid-auto-columns: 100%;
	grid-auto-flow: column;
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.review-slider__track::-webkit-scrollbar {
	display: none;
}

.review-slider__slide {
	padding: var(--space-6);
	scroll-snap-align: start;
}

.review-slider__quote {
	margin: 0;
	font-size: var(--text-xl);
}

.review-slider__author {
	display: block;
	margin-top: var(--space-6);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-style: normal;
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-accent);
}

.review-slider__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-2);
	margin-top: var(--space-2);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
}

.review-slider__dot {
	width: var(--kosmos-system-dot-size);
	height: var(--kosmos-system-dot-size);
	border-radius: var(--border-radius-full);
	background-color: var(--color-accent);
}

.review-slider__controls {
	display: flex;
	justify-content: center;
	gap: var(--space-4);
	margin-top: var(--space-6);
}

.review-slider__button {
	display: grid;
	width: var(--space-12);
	height: var(--space-12);
	place-items: center;
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-full);
	background: transparent;
	color: var(--color-accent);
	cursor: pointer;
}

.faq {
	display: grid;
	gap: var(--space-2);
}

.faq__item {
	border-bottom: var(--border-width) solid var(--color-border);
}

.faq__question {
	display: flex;
	min-height: var(--target-size);
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding-block: var(--space-4);
	font-family: var(--font-heading);
	font-size: var(--text-base);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	cursor: pointer;
}

.faq__question :where(h3) {
	margin: 0;
	font: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: inherit;
}

.faq__answer {
	padding-bottom: var(--space-6);
}

.contact-details.section {
	padding-top: 0;
	padding-bottom: var(--contact-details-padding-bottom-mobile);
}

.contact-intro.section {
	padding-top: var(--contact-intro-padding-block);
	padding-bottom: var(--contact-intro-padding-block);
}

.contact-intro__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--contact-intro-stack-gap);
	max-width: 100%;
}

.contact-intro .eyebrow {
	line-height: normal;
	color: var(--color-text);
}

.contact-intro .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.contact-intro__title {
	margin: 0;
	font-size: var(--heading-2);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--kosmos-standard-title-tracking);
	text-transform: uppercase;
	text-wrap: balance;
}

.contact-intro__copy {
	margin: 0;
	max-width: none;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.contact-outreach.section {
	padding-top: var(--contact-outreach-padding-block);
	padding-bottom: var(--contact-outreach-padding-block);
}

.contact-outreach {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.contact-outreach__background,
.contact-outreach__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.contact-outreach__background {
	max-width: none;
	object-fit: cover;
	opacity: var(--contact-outreach-bg-opacity);
}

.contact-outreach__shade {
	background: linear-gradient(
		to bottom,
		var(--color-bg) 0%,
		transparent var(--page-hero-shade-vertical-stop),
		transparent calc(100% - var(--page-hero-shade-vertical-stop)),
		var(--color-bg) 100%
	);
}

.contact-outreach__inner {
	position: relative;
	z-index: var(--z-raised);
	min-width: 0;
	max-width: 100%;
	overflow-x: clip;
}

.contact-outreach__grid {
	display: grid;
	min-width: 0;
	gap: var(--contact-outreach-column-gap);
}

.contact-outreach__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--contact-intro-stack-gap);
}

.contact-outreach .eyebrow {
	line-height: normal;
	color: var(--color-text);
}

.contact-outreach .eyebrow::before {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.contact-outreach__title {
	margin: 0;
	max-width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
	font-size: var(--heading-2);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--kosmos-standard-title-tracking);
	text-transform: uppercase;
	text-wrap: balance;
}

.contact-outreach__copy {
	margin: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.contact-outreach__copy--stack {
	display: flex;
	flex-direction: column;
	gap: var(--stack-sm);
}

.contact-outreach__organizations {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: var(--contact-intro-stack-gap);
}

.contact-outreach__form-panel {
	display: flex;
	width: 100%;
	min-width: 0;
	flex-direction: column;
	align-items: stretch;
	gap: var(--contact-outreach-form-stack-gap);
	padding-block: var(--contact-outreach-form-pad-y-mobile);
	padding-inline: var(--contact-outreach-form-pad-x-mobile);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-modal-radius);
	background-color: var(--color-bg-secondary);
}

.contact-outreach__form {
	width: 100%;
	min-width: 0;
	max-width: 100%;
}

.contact-outreach__form :where(input:not([type="radio"], [type="submit"]), textarea) {
	min-width: 0;
	max-width: 100%;
}

.contact-outreach .btn {
	max-width: 100%;
	white-space: normal;
}

@media (max-width: 639px) {
	.contact-outreach__professionals .btn {
		padding-inline: var(--space-3);
		font-size: var(--text-xs);
	}
}

.contact-outreach__form .contact-modal__form-element {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--contact-outreach-form-stack-gap);
}

.contact-outreach__fields {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: var(--contact-outreach-form-row-gap);
}

.contact-outreach__form .contact-modal__grid,
.contact-outreach__field-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--contact-outreach-form-field-gap);
}

.contact-outreach__form .contact-modal__field,
.contact-outreach__form .contact-modal__group {
	gap: var(--contact-outreach-form-field-gap);
}

.contact-outreach__form .contact-modal__label,
.contact-outreach__form .contact-modal__group :where(legend) {
	font-weight: var(--weight-medium);
	letter-spacing: var(--contact-outreach-form-label-tracking);
}

.contact-outreach__form .contact-modal__group.contact-modal__methods {
	padding-inline: var(--contact-outreach-form-methods-inset);
}

.contact-outreach__form .contact-modal__methods .wpcf7-radio {
	width: 100%;
	flex-wrap: wrap;
	gap: var(--contact-outreach-form-field-gap) var(--space-4);
}

.contact-outreach__form .contact-modal__methods .wpcf7-list-item :where(label) {
	min-height: auto;
	gap: var(--contact-outreach-form-field-gap);
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	text-transform: none;
}

.contact-outreach__form :where(input:not([type="radio"], [type="submit"]), textarea) {
	min-height: var(--contact-modal-control-height);
	background-color: transparent;
}

.contact-outreach__form :where(textarea) {
	block-size: var(--contact-outreach-form-textarea-min);
	min-block-size: var(--contact-outreach-form-textarea-min);
	max-block-size: var(--contact-outreach-form-textarea-min);
	padding-top: var(--space-3);
	padding-bottom: var(--space-2);
	resize: vertical;
}

.contact-outreach__form :where(input[type="radio"]:checked) {
	background: radial-gradient(
		circle,
		var(--color-bg-secondary) 0 var(--space-1),
		var(--color-accent) var(--space-1)
	);
}

.contact-outreach__form .contact-modal__actions {
	width: 100%;
	flex-direction: column;
	align-items: stretch;
	gap: var(--contact-outreach-form-row-gap);
}

.contact-outreach__form .contact-modal__submit.btn--primary {
	letter-spacing: var(--tracking-wide);
}

.contact-outreach__form .wpcf7-form :where(p) {
	margin: 0;
}

.contact-outreach__form .wpcf7-response-output {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
}

.contact-outreach__optional {
	font-size: var(--contact-outreach-form-optional-size);
	font-weight: var(--weight-medium);
	letter-spacing: var(--contact-outreach-form-label-tracking);
	text-transform: uppercase;
}

.contact-outreach__professionals {
	display: flex;
	min-width: 0;
	max-width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--contact-intro-stack-gap);
}

.contact-outreach__fallback {
	margin: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	color: var(--color-text-muted);
}

.contact-details__grid {
	display: grid;
	gap: var(--contact-details-grid-gap-mobile);
}

.contact-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: var(--contact-card-gap-mobile);
	padding-block: var(--contact-card-pad-y-mobile);
	padding-inline: var(--contact-card-pad-x-mobile);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-modal-radius);
	background-color: var(--color-card-bg);
	cursor: pointer;
	transition:
		transform var(--transition-base),
		box-shadow var(--transition-base);
}

@media (hover: hover) {
	.contact-card:is(:hover, :focus-within) {
		box-shadow: var(--shadow-md);
		transform: translateY(calc(-1 * var(--space-1)));
	}
}

.contact-card__icon {
	display: block;
	flex: 0 0 var(--contact-card-icon-width-mobile);
	width: var(--contact-card-icon-width-mobile);
	height: auto;
}

.contact-card__body {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--contact-card-copy-gap-mobile);
}

.contact-card__label {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.contact-card__value {
	display: inline-flex;
	align-items: center;
	overflow-wrap: anywhere;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	color: var(--color-on-primary);
	text-decoration: none;
	cursor: pointer;
}

.contact-card__value::after {
	position: absolute;
	inset: 0;
	content: "";
}

.contact-card__value:hover {
	color: var(--color-accent);
}

.contact-card__value--caps {
	text-transform: uppercase;
}

.contact-form {
	padding: var(--space-6);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-bg-secondary);
}

.archive-tools {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	justify-content: flex-end;
	margin-bottom: var(--stack-lg);
}

.archive-tools :where(input) {
	width: min(100%, var(--content-width-md));
	min-height: var(--target-size);
	padding: var(--space-3) var(--space-4);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-md);
	background-color: var(--color-primary);
	font-size: var(--text-base);
	color: var(--color-text);
}

.contact-form :where(label) {
	display: block;
	margin-bottom: var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
}

.contact-form :where(input, select, textarea) {
	width: 100%;
	min-height: var(--target-size);
	padding: var(--space-3) var(--space-4);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-md);
	background-color: var(--color-primary);
	font-size: var(--text-base);
	color: var(--color-text);
}

.contact-form :where(textarea) {
	min-height: var(--textarea-min-height);
	resize: vertical;
}

.contact-form .wpcf7-response-output {
	margin: var(--space-4) 0 0;
	padding: 0;
	border: 0;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	line-height: var(--leading-body);
	color: var(--color-error);
}

.contact-form form.sent .wpcf7-response-output {
	color: var(--color-success);
}

.contact-modal {
	width: min(calc(100% - var(--space-8)), var(--contact-modal-width));
	max-width: none;
	max-height: calc(100dvh - var(--space-8));
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	overflow: visible;
}

.contact-modal::backdrop {
	background-color: var(--color-overlay);
}

.contact-modal__panel {
	position: relative;
	max-height: calc(100dvh - var(--space-8));
	padding: var(--space-8) var(--space-6);
	overflow-y: auto;
	scrollbar-width: none;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-modal-radius);
	background-color: var(--color-primary);
}

.contact-modal__panel::-webkit-scrollbar {
	display: none;
}

.contact-modal__close {
	position: absolute;
	top: var(--space-3);
	right: var(--space-3);
	width: var(--target-size);
	height: var(--target-size);
	padding: 0;
	border: 0;
	background-color: transparent;
	color: var(--color-accent);
	cursor: pointer;
}

.contact-modal__close:hover {
	color: var(--color-accent-hover);
}

.contact-modal__close::before,
.contact-modal__close::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--space-5);
	border-top: calc(var(--border-width) * 2) solid currentColor;
	content: "";
}

.contact-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.contact-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.contact-modal__title {
	max-width: calc(100% - var(--space-12));
	margin-top: 0;
	margin-bottom: var(--contact-modal-gap);
	font-family: var(--font-heading);
	font-size: var(--text-3xl);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-on-primary);
}

.contact-modal__title :where(span) {
	color: var(--color-accent);
}

.contact-modal__form-element {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	gap: var(--contact-modal-gap);
}

.contact-modal__fields--stack {
	display: flex;
	flex-direction: column;
	gap: var(--contact-modal-control-gap);
}

.contact-modal__upload-zone {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--contact-modal-gap);
	border: var(--border-width) dashed var(--color-border);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-card-bg);
	text-align: center;
	cursor: pointer;
}

.contact-modal__upload-ui {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: var(--stack-sm);
	cursor: pointer;
}

.contact-modal__upload-zone.is-dragover {
	border-color: var(--color-accent);
}

.contact-modal__upload-icon {
	color: var(--color-accent);
	flex-shrink: 0;
}

.contact-modal__upload-lead {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--text-base);
	line-height: var(--leading-body);
	color: var(--color-text);
}

.contact-modal__upload-browse {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	margin: 0;
}

.contact-modal__upload-or {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	line-height: var(--leading-body);
	color: var(--color-text);
	opacity: 0.6;
}

.contact-modal__upload-trigger {
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	line-height: var(--leading-body);
	color: var(--color-accent);
	text-decoration: underline;
}

.contact-modal__upload-hint {
	margin: 0;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	line-height: var(--leading-body);
	color: var(--color-text);
	opacity: 0.4;
}

/* Wrap stays visible so the CF7 error tip shows; it sits below the drop zone UI. */
.contact-modal__upload .wpcf7-form-control-wrap {
	order: 1;
}

.contact-modal__upload-file {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-3);
	padding-left: var(--contact-modal-gap);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--contact-modal-radius);
}

.contact-modal__upload-file[hidden] {
	display: none;
}

.contact-modal__upload-file-name {
	min-width: 0;
	overflow: hidden;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	line-height: var(--leading-body);
	color: var(--color-text);
	text-overflow: ellipsis;
	white-space: nowrap;
}

.contact-modal__upload-remove {
	position: relative;
	flex-shrink: 0;
	width: var(--target-size);
	height: var(--target-size);
	padding: 0;
	border: 0;
	background-color: transparent;
	color: var(--color-accent);
	cursor: pointer;
}

.contact-modal__upload-remove:hover {
	color: var(--color-accent-hover);
}

.contact-modal__upload-remove::before,
.contact-modal__upload-remove::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--space-4);
	border-top: calc(var(--border-width) * 2) solid currentColor;
	content: "";
}

.contact-modal__upload-remove::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.contact-modal__upload-remove::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.contact-modal__upload-input,
.contact-modal__upload input[type="file"] {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
	font-size: var(--text-base);
}

.contact-modal--professional-interest {
	width: min(calc(100% - var(--space-8)), var(--contact-modal-width-professional-interest));
}

.contact-modal--professional-interest .contact-modal__panel {
	max-height: calc(100dvh - var(--space-8));
	overflow-y: auto;
	scrollbar-width: none;
}

.contact-modal--professional-interest .contact-modal__panel::-webkit-scrollbar {
	display: none;
}

.contact-modal__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
	gap: var(--contact-modal-control-gap);
}

.contact-modal__field,
.contact-modal__group {
	display: grid;
	min-width: 0;
	gap: var(--space-2);
	margin: 0;
	padding: 0;
	border: 0;
}

.contact-modal__group.contact-modal__methods {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-inline-size: 0;
}

.contact-modal__group.contact-modal__methods :where(legend) {
	margin-block-end: var(--contact-modal-methods-gap);
}

.contact-modal__group.contact-modal__support {
	gap: 0;
}

.contact-modal__group.contact-modal__support :where(legend) {
	margin-block-end: var(--space-2);
}

.contact-modal__label,
.contact-modal__group :where(legend) {
	padding: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-text);
}

.contact-modal__required {
	color: var(--color-accent);
}

.contact-modal__form .wpcf7-form-control-wrap {
	position: relative;
	display: block;
}

.contact-modal__form :where(input:not([type="radio"], [type="submit"]), textarea) {
	width: 100%;
	min-width: 0;
	max-width: 100%;
	min-height: var(--contact-modal-control-height);
	padding: var(--space-2) var(--contact-modal-gap);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--contact-modal-radius);
	background-color: transparent;
	font-family: var(--font-sans);
	font-size: var(--text-base);
	color: var(--color-text);
}

.contact-modal__form :where(textarea) {
	block-size: var(--contact-modal-textarea-height);
	min-block-size: var(--contact-modal-textarea-height);
	max-block-size: var(--contact-modal-textarea-height);
	padding-top: var(--space-3);
	padding-bottom: var(--space-2);
	resize: vertical;
}

.contact-modal__form :where(input, textarea)::placeholder {
	opacity: 1;
	color: var(--color-text-muted);
}

.contact-modal__form :where(input:not([type="radio"], [type="submit"], [type="file"]), textarea):focus-visible,
.contact-form :where(input, select, textarea):focus-visible {
	border-color: var(--color-accent);
	outline: none;
}

.wpcf7 :where(input:not([type="radio"], [type="submit"], [type="file"]), textarea, select).wpcf7-not-valid {
	border-color: var(--color-error);
}

.wpcf7 .wpcf7-radio.wpcf7-not-valid :where(input[type="radio"]) {
	border-color: var(--color-error);
}

.contact-modal__support .wpcf7-radio.wpcf7-not-valid .wpcf7-list-item :where(label) {
	border-color: var(--color-error);
}

.contact-modal__upload:has(.wpcf7-not-valid) .contact-modal__upload-zone {
	border-color: var(--color-error);
}

.wpcf7 .wpcf7-not-valid-tip {
	display: none;
}

.contact-modal__form :where(input[type="radio"]:focus-visible) {
	border-color: var(--color-accent);
	outline: none;
}

.contact-modal__support .wpcf7-radio {
	display: grid;
	gap: var(--space-2);
}

.contact-modal__form .wpcf7-list-item {
	margin: 0;
}

.contact-modal__support .wpcf7-list-item :where(label) {
	display: flex;
	min-height: var(--contact-modal-control-height);
	align-items: center;
	gap: var(--space-3);
	padding: var(--space-2) var(--space-4);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--contact-modal-radius);
	cursor: pointer;
}

.contact-modal__methods .wpcf7-radio {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-6);
}

.contact-modal__methods .wpcf7-list-item :where(label) {
	display: flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--space-3);
	cursor: pointer;
}

.contact-modal__form :where(input[type="radio"]) {
	display: grid;
	width: var(--space-5);
	height: var(--space-5);
	flex: 0 0 auto;
	border: calc(var(--border-width) * 2) solid var(--color-text-muted);
	border-radius: var(--border-radius-full);
	background-color: transparent;
	cursor: pointer;
}

.contact-modal__form :where(input[type="radio"]:checked) {
	border-color: var(--color-accent);
	background: radial-gradient(
		circle,
		var(--color-primary) 0 var(--space-1),
		var(--color-accent) var(--space-1)
	);
}

.contact-modal__actions {
	display: flex;
	min-width: 0;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--space-4);
}

.contact-modal__submit {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--btn-gap);
	margin: 0;
	margin-left: auto;
}

.contact-modal__submit-text,
.contact-modal__submit .icon--arrow {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.contact-modal__submit .wpcf7-submit {
	position: absolute;
	inset: 0;
	z-index: 1;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: inherit;
	background: transparent;
	font: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	text-transform: inherit;
	color: transparent;
	cursor: pointer;
	appearance: none;
}

.contact-modal__submit:focus-within {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.contact-modal__submit .wpcf7-submit:focus-visible {
	outline: none;
}

.contact-modal__submit .wpcf7-spinner {
	position: absolute;
	top: 50%;
	right: calc(var(--space-6) + var(--space-8));
	z-index: 2;
	margin: 0;
	transform: translateY(-50%);
}

form.submitting .contact-modal__submit .icon--arrow {
	opacity: 0;
}

.contact-modal__form form.wpcf7-form .wpcf7-response-output {
	width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background-color: transparent;
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-body);
	color: var(--color-error);
}

.contact-modal__form form.wpcf7-form:is(.invalid, .failed, .aborted, .spam, .unaccepted, .sent) .wpcf7-response-output {
	border: 0;
}

.contact-modal__form form.wpcf7-form.sent .wpcf7-response-output {
	color: var(--color-success);
}

.contact-modal__fallback {
	display: grid;
	gap: var(--space-6);
	justify-items: start;
}

html:has(.contact-modal[open]) {
	overflow: hidden;
}

.service-map {
	position: relative;
	min-height: var(--map-min-height);
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
	background:
		radial-gradient(ellipse at 40% 50%, var(--color-atmosphere-30), transparent 50%),
		linear-gradient(135deg, var(--color-bg-secondary), var(--color-bg));
}

.service-map__grid {
	position: absolute;
	inset: 0;
	opacity: 0.25;
	background-image:
		linear-gradient(var(--color-border) var(--border-width), transparent var(--border-width)),
		linear-gradient(90deg, var(--color-border) var(--border-width), transparent var(--border-width));
	background-size: var(--space-16) var(--space-16);
}

.service-map__pin {
	position: absolute;
	top: var(--map-y, 50%);
	left: var(--map-x, 50%);
	display: grid;
	width: var(--space-12);
	height: var(--space-12);
	place-items: center;
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-full);
	background-color: var(--color-primary);
	color: var(--color-accent);
	transform: translate(-50%, -50%);
}

.service-map__pin::after {
	position: absolute;
	width: var(--space-2);
	height: var(--space-2);
	border-radius: var(--border-radius-full);
	background-color: var(--color-accent);
	content: "";
}

.service-map__label {
	position: absolute;
	top: calc(100% + var(--space-2));
	left: 50%;
	width: max-content;
	max-width: var(--content-width-sm);
	padding: var(--space-1) var(--space-2);
	border-radius: var(--border-radius-sm);
	background-color: var(--color-bg);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-text);
	transform: translateX(-50%);
}

.article-layout {
	display: grid;
	gap: var(--stack-xl);
}

.article-sidebar {
	align-self: start;
}

.article-sidebar__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.article-sidebar__link {
	display: block;
	min-height: var(--target-size);
	padding-block: var(--space-2);
	font-size: var(--text-sm);
	color: var(--color-text-muted);
	text-decoration: none;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-2);
}

.pagination .page-numbers {
	display: grid;
	min-width: var(--target-size);
	min-height: var(--target-size);
	place-items: center;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-full);
	text-decoration: none;
}

.pagination .page-numbers.current {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.cookie-consent {
	position: fixed;
	right: var(--cookie-banner-inset);
	bottom: max(var(--cookie-banner-inset), env(safe-area-inset-bottom));
	left: var(--cookie-banner-inset);
	z-index: var(--z-modal);
	display: none;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--cookie-banner-gap);
	padding: var(--cookie-banner-padding);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--cookie-banner-radius);
	background-color: var(--color-bg);
}

.cookie-consent.is-visible {
	display: flex;
}

.cookie-consent__icon {
	display: none;
	width: var(--cookie-banner-icon-size);
	height: var(--cookie-banner-icon-size);
	flex: 0 0 auto;
}

.cookie-consent__copy {
	display: flex;
	flex-direction: column;
	gap: var(--cookie-banner-gap);
	min-width: 0;
}

.cookie-consent__title {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-on-primary);
}

.cookie-consent__text {
	margin: 0;
	font-size: var(--text-xs);
	font-weight: var(--weight-light);
	line-height: var(--cookie-banner-body-leading);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.cookie-consent__tail {
	white-space: nowrap;
}

.cookie-consent__more {
	font-weight: var(--weight-light);
}

.cookie-consent__actions {
	display: flex;
	gap: var(--cookie-banner-gap);
	width: 100%;
}

.cookie-consent__button {
	display: inline-flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: var(--target-size);
	padding: var(--cookie-banner-button-pad-y) var(--cookie-banner-button-pad-x);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--cookie-banner-button-radius);
	background-color: transparent;
	color: var(--color-on-primary);
	font-family: var(--font-heading);
	font-size: var(--cookie-banner-button-size);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.cookie-consent__button:hover {
	border-color: var(--color-accent);
}

.cookie-consent__button--accept {
	border-color: var(--color-accent);
}

.cookie-consent__button--accept:hover {
	background-color: var(--color-accent);
	color: var(--color-on-accent);
}

.cookie-consent.is-visible ~ .contact-dock {
	bottom: calc(var(--cookie-banner-height, 0px) + max(var(--cookie-banner-inset), env(safe-area-inset-bottom)) + var(--space-4));
}

.cookie-consent.is-visible ~ .back-to-top {
	bottom: calc(var(--cookie-banner-height, 0px) + max(var(--cookie-banner-inset), env(safe-area-inset-bottom)) + var(--space-4) + var(--contact-dock-button) + var(--contact-dock-gap));
}

.contact-dock {
	position: fixed;
	right: max(var(--space-4), env(safe-area-inset-right));
	bottom: max(var(--space-4), env(safe-area-inset-bottom));
	z-index: var(--z-dropdown);
	width: var(--contact-dock-button);
	height: var(--contact-dock-button);
	transition: width var(--transition-base);
}

.contact-dock.is-open {
	z-index: var(--z-overlay);
}

.contact-dock__backdrop {
	position: fixed;
	inset: 0;
	background-color: var(--color-black-70);
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		opacity var(--transition-base),
		visibility var(--transition-base);
}

.contact-dock.is-open .contact-dock__backdrop {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

html[data-menu-open] .contact-dock {
	visibility: hidden;
	pointer-events: none;
}

.contact-dock__list {
	position: absolute;
	z-index: var(--z-raised);
	right: 0;
	bottom: calc(100% + var(--contact-dock-gap));
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--contact-dock-item-gap);
	width: max-content;
	min-width: var(--contact-dock-card-min);
	max-height: calc(100svh - var(--header-height) - var(--contact-dock-button) - var(--space-8));
	margin: 0;
	padding: 0;
	overflow: hidden;
	visibility: hidden;
	list-style: none;
	pointer-events: none;
	scrollbar-width: none;
}

.contact-dock__list::-webkit-scrollbar {
	display: none;
}

.contact-dock.is-open .contact-dock__list {
	overflow-y: auto;
	visibility: visible;
	pointer-events: auto;
}

.contact-dock__item {
	margin: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(var(--space-2));
	transition:
		opacity var(--transition-base),
		transform var(--transition-base),
		visibility var(--transition-base);
}

.contact-dock__item:nth-last-child(1) { transition-delay: 280ms; }
.contact-dock__item:nth-last-child(2) { transition-delay: 210ms; }
.contact-dock__item:nth-last-child(3) { transition-delay: 140ms; }
.contact-dock__item:nth-last-child(4) { transition-delay: 70ms; }
.contact-dock__item:nth-last-child(5) { transition-delay: 0ms; }

.contact-dock.is-open .contact-dock__item {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.contact-dock.is-open .contact-dock__item:nth-last-child(1) { transition-delay: 0ms; }
.contact-dock.is-open .contact-dock__item:nth-last-child(2) { transition-delay: 70ms; }
.contact-dock.is-open .contact-dock__item:nth-last-child(3) { transition-delay: 140ms; }
.contact-dock.is-open .contact-dock__item:nth-last-child(4) { transition-delay: 210ms; }
.contact-dock.is-open .contact-dock__item:nth-last-child(5) { transition-delay: 280ms; }

.contact-dock__action {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	width: 100%;
	min-height: 3.25rem;
	padding: var(--contact-dock-pad-y) var(--contact-dock-pad-x);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-dock-card-radius);
	background-color: var(--color-primary);
	color: inherit;
	font: inherit;
	text-align: left;
	text-decoration: none;
	cursor: pointer;
	transition: box-shadow var(--transition-fast);
}

@media (hover: hover) {
	.contact-dock__action:hover {
		box-shadow: inset 0 0 0 var(--border-width) var(--color-accent);
	}
}

.contact-dock__icon {
	display: block;
	flex: 0 0 var(--contact-dock-icon);
	width: var(--contact-dock-icon);
	height: auto;
	color: var(--color-accent);
}

.contact-dock__copy {
	display: flex;
	flex-direction: column;
	gap: var(--contact-dock-copy-gap);
	min-width: 0;
}

.contact-dock__label {
	font-family: var(--font-heading);
	font-size: var(--contact-dock-title-size);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-on-primary);
}

.contact-dock__detail {
	font-size: var(--contact-dock-detail-size);
	font-weight: var(--weight-regular);
	line-height: normal;
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.contact-dock__toggle {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: 100%;
	height: 100%;
	padding: 0;
	overflow: hidden;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-dock-radius);
	background-color: var(--color-primary);
	color: var(--color-accent);
	cursor: pointer;
}

.contact-dock__prompt {
	flex: 1 1 0;
	min-width: 0;
	padding-left: var(--space-6);
	overflow: hidden;
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: 1;
	letter-spacing: var(--tracking-heading);
	white-space: nowrap;
	color: var(--color-on-primary);
	opacity: 0;
	transition: opacity var(--transition-base);
}

.contact-dock__glyphs {
	position: relative;
	flex: 0 0 var(--contact-dock-button);
	width: var(--contact-dock-button);
	height: 100%;
}

.contact-dock__glyph {
	position: absolute;
	inset: 0;
	display: grid;
	place-items: center;
	pointer-events: none;
	transition:
		opacity var(--transition-base),
		transform var(--transition-base);
}

.contact-dock__glyph--close {
	opacity: 0;
	transform: rotate(-80deg) scale(0.55);
}

.contact-dock.is-open .contact-dock__glyph--chat {
	opacity: 0;
	transform: rotate(80deg) scale(0.55);
}

.contact-dock.is-open .contact-dock__glyph--close {
	opacity: 1;
	transform: none;
}

.contact-dock__glyph--chat svg {
	width: var(--contact-dock-glyph);
	height: auto;
}

.contact-dock__glyph--close svg {
	width: 100%;
	height: 100%;
	transform: scale(1.2);
}

.contact-dock.is-open ~ .back-to-top {
	visibility: hidden;
	opacity: 0;
	pointer-events: none;
}

@media (min-width: 1024px) {
	.contact-dock {
		right: max(var(--space-8), env(safe-area-inset-right));
		bottom: max(var(--space-8), env(safe-area-inset-bottom));
	}
}

@media (min-width: 1024px) and (hover: hover) {
	.contact-dock:not(.is-open):not(.is-suppress-prompt):hover {
		width: var(--contact-dock-expanded);
	}

	.contact-dock:not(.is-open):not(.is-suppress-prompt):hover .contact-dock__prompt {
		opacity: 1;
	}
}

.cookie-settings {
	min-height: var(--target-size);
	border: 0;
	background: transparent;
	color: var(--color-accent);
	text-decoration: underline;
	cursor: pointer;
}

.back-to-top {
	position: fixed;
	right: max(var(--space-4), env(safe-area-inset-right));
	bottom: calc(max(var(--space-4), env(safe-area-inset-bottom)) + var(--contact-dock-button) + var(--contact-dock-gap));
	z-index: var(--z-raised);
	display: grid;
	width: var(--target-size);
	height: var(--target-size);
	place-items: center;
	visibility: hidden;
	opacity: 0;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-full);
	background-color: var(--color-black-70);
	color: var(--color-text-muted);
	cursor: pointer;
	transform: translateY(var(--space-2));
	transition:
		opacity var(--transition-base),
		transform var(--transition-base),
		visibility var(--transition-base),
		color var(--transition-fast),
		border-color var(--transition-fast);
}

.back-to-top svg {
	width: var(--space-4);
	height: var(--space-4);
}

.back-to-top.is-visible {
	visibility: visible;
	opacity: 0.72;
	transform: none;
}

@media (hover: hover) {
	.back-to-top.is-visible:hover {
		opacity: 1;
		border-color: var(--color-border-strong);
		color: var(--color-text);
	}
}

.back-to-top.is-visible:focus-visible {
	opacity: 1;
	border-color: var(--color-border-strong);
	color: var(--color-text);
}

.not-found {
	position: relative;
	display: flex;
	align-items: center;
	min-height: var(--not-found-min-height);
	padding-top: var(--not-found-padding-top);
	padding-bottom: var(--not-found-padding-bottom);
	padding-inline: var(--not-found-padding-inline);
	overflow: hidden;
	isolation: isolate;
	background-color: var(--color-bg);
}

.not-found__media {
	position: absolute;
	inset: 0;
	z-index: var(--z-below);
	pointer-events: none;
}

.not-found__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--not-found-image-position);
}

.not-found__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		var(--color-bg),
		transparent 20%,
		transparent 80%,
		var(--color-bg)
	);
}

.not-found__content {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: 100%;
	padding-left: var(--not-found-content-indent);
	gap: var(--not-found-stack-gap);
}

.not-found__code {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--not-found-code-size);
	font-weight: var(--weight-extralight);
	line-height: 1;
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-text);
}

.not-found__title {
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-accent);
}

.not-found__message {
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.not-found .circle-link {
	gap: var(--home-hero-button-gap-mobile);
	margin-top: calc(var(--not-found-button-gap) - var(--not-found-stack-gap));
}

.not-found .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

@media (min-width: 1024px) {
	.not-found {
	align-items: flex-start;
	}

	.not-found .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.not-found .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}
}

@media (min-width: 640px) {
	.contact-modal__panel {
		padding: var(--contact-modal-padding);
	}

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

	.section-heading--split {
		grid-template-columns: 1.4fr 1fr;
	}

	.stats,
	.contact-details__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--contact-details-grid-gap);
	}

	.contact-details.section {
		padding-bottom: var(--contact-details-padding-bottom);
	}

	.cookie-consent {
		right: var(--container-px-md);
		bottom: max(var(--space-8), env(safe-area-inset-bottom));
		left: var(--container-px-md);
	}

	.back-to-top {
		display: none;
	}
}

@media (min-width: 1024px) {
	.cookie-consent {
		right: var(--container-px-md);
		left: auto;
		width: max-content;
		max-width: calc(100% - (2 * var(--container-px-md)));
		flex-direction: row;
		align-items: center;
		gap: var(--cookie-banner-column-gap);
	}

	.cookie-consent__icon {
		display: block;
	}

	.cookie-consent__copy {
		flex: 1 1 var(--cookie-banner-copy-width);
		max-width: var(--cookie-banner-copy-width);
	}

	.cookie-consent__title,
	.cookie-consent__text {
		font-size: var(--text-base);
	}

	.cookie-consent__text {
		line-height: var(--leading-figma-body);
	}

	.cookie-consent__actions {
		width: auto;
		flex: 0 0 auto;
	}

	.cookie-consent__button {
		flex: 0 0 auto;
		padding-block: var(--cookie-banner-button-pad-y-desktop);
		font-size: var(--text-xs);
	}

	.contact-card {
		gap: var(--contact-card-gap);
		padding-block: var(--contact-card-pad-y);
		padding-inline: var(--contact-card-pad-x);
	}

	.contact-card__icon {
		flex-basis: var(--contact-card-icon-width);
		width: var(--contact-card-icon-width);
	}

	.contact-card__body {
		gap: var(--contact-card-copy-gap);
	}

	.contact-card__label {
		font-size: var(--text-sm);
	}

	.contact-card__value {
		font-size: var(--text-base);
	}

	.hero__content {
		padding-top: calc(var(--section-py-lg) + var(--hero-top-padding-desktop));
		padding-bottom: var(--section-py-lg);
	}

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

	.split--reverse .split__media {
		order: 2;
	}

	.article-layout {
		grid-template-columns: minmax(var(--content-width-sidebar), 0.35fr) minmax(0, 1fr);
	}

	.article-sidebar {
		position: sticky;
		top: calc(var(--header-measured-height) + var(--space-6));
	}
}

/* Homepage. First-paint copies of these hero rules live in critical.css. */
.home-hero,
.execution-model,
.home-next-step,
.kosmos-system,
.home-steps {
	position: relative;
	overflow: hidden;
}

@media (max-width: 639px) {
	body.home .site-main {
		display: flex;
		flex-direction: column;
		gap: var(--home-mobile-section-spacing);
	}

	body.home .site-main > section,
	body.home .site-main > .section {
		padding-block: 0;
	}
}

.home-hero {
	min-height: var(--home-hero-height-mobile);
}

.home-hero > picture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.home-hero__background,
.home-next-step__background,
.kosmos-system__background,
.home-steps__background,
.execution-model__background {
	position: absolute;
	display: block;
	max-width: none;
}

.home-hero__background,
.home-next-step__background,
.kosmos-system__background,
.home-steps__background {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.execution-model__background {
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.execution-model__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

.execution-model__media :where(img) {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
}

.home-next-step__media,
.kosmos-system__media,
.home-steps__media {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}

@media (max-width: 639px) {
	.home-next-step__media .home-next-step__background {
		inset: auto;
		top: 0;
		left: var(--home-next-step-mobile-bg-left);
		width: var(--home-next-step-mobile-bg-width);
		height: 100%;
		object-fit: fill;
	}

	.kosmos-system__media .kosmos-system__background {
		inset: auto;
		top: var(--home-kosmos-system-mobile-bg-top);
		left: var(--home-kosmos-system-mobile-bg-left);
		width: var(--home-kosmos-system-mobile-bg-width);
		height: var(--home-kosmos-system-mobile-bg-height);
		object-fit: fill;
	}

	.home-steps__media .home-steps__background {
		inset: auto;
		top: var(--home-steps-mobile-bg-top);
		left: var(--home-steps-mobile-bg-left);
		width: var(--home-steps-mobile-bg-width);
		height: var(--home-steps-mobile-bg-height);
		object-fit: fill;
	}
}

.home-hero__shade,
.execution-model__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		var(--color-bg),
		transparent 20%,
		transparent 80%,
		var(--color-bg)
	);
}

.home-next-step__shade,
.kosmos-system__shade,
.home-steps__shade {
	position: absolute;
	inset: 0;
}

.home-next-step__shade {
	background: linear-gradient(
		to bottom,
		var(--color-bg),
		transparent 12%
	);
}

@media (max-width: 639px) {
	.home-next-step__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg),
				transparent 12%
			),
			linear-gradient(
				to top,
				var(--color-bg),
				transparent 20%
			);
	}
}

.kosmos-system__shade {
	background: linear-gradient(
		to bottom,
		var(--color-bg),
		transparent 8%
	);
}

@media (max-width: 639px) {
	.kosmos-system__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 12%
		);
	}
}

.home-steps__shade {
	background:
		linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 12%
		),
		linear-gradient(
			to top,
			var(--color-bg),
			transparent 20%
	);
}

.home-hero__shade {
	background:
		linear-gradient(
			to right,
			var(--color-bg) 0%,
			var(--color-black-85) 45%,
			transparent 100%
		),
		linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent 12%
		),
		linear-gradient(
			to top,
			var(--color-bg) 0%,
			transparent 35%
		);
}

.execution-model__shade {
	background:
		linear-gradient(
		to bottom,
		var(--color-bg),
			transparent 12%
		),
		linear-gradient(
			to top,
			var(--color-bg),
			transparent 20%
	);
}

.home-hero__inner {
	position: relative;
	display: flex;
	min-height: var(--home-hero-height-mobile);
	align-items: flex-start;
	padding-top: 0;
	padding-inline: var(--home-gutter-mobile);
}

@media (min-width: 640px) {
	.home-hero__inner {
		padding-top: var(--home-hero-content-offset-mobile);
	}
}

.home-hero__content {
	display: flex;
	width: 100%;
	min-height: var(--home-hero-content-height-mobile);
	max-width: var(--home-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-hero-gap);
	padding-bottom: var(--home-hero-content-bottom-mobile);
}

.home-hero__heading {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-hero-heading-gap-mobile);
}

.home-hero .eyebrow {
	width: 100%;
	max-width: none;
	line-height: normal;
}

.home-hero__title {
	font-size: var(--hero-title-size);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.home-hero__intro {
	width: 100%;
	max-width: none;
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.home-hero .circle-link,
.reach-hero .circle-link {
	gap: var(--home-hero-button-gap-mobile);
}

.home-hero .circle-link__visual,
.reach-hero .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.home-hero .circle-link__label,
.reach-hero .circle-link__label {
	width: var(--home-hero-label-width);
}

.circle-link {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--space-4);
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-label);
	text-align: left;
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-on-primary);
	cursor: pointer;
}

.circle-link__visual {
	position: relative;
	width: var(--space-12);
	height: var(--space-12);
	flex: 0 0 auto;
	overflow: visible;
}

.circle-link__icon {
	display: block;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.circle-link__ring {
	fill: none;
	stroke: var(--color-accent);
	stroke-width: 1px;
	vector-effect: non-scaling-stroke;
}

.circle-link__arrow {
	fill: var(--color-text);
}

.circle-link__visual::after {
	position: absolute;
	top: 0;
	left: 0;
	width: var(--header-cta-orbit-size);
	height: var(--header-cta-orbit-size);
	margin: 0;
	border-radius: var(--border-radius-full);
	background-color: var(--color-on-primary);
	offset-path: inset(calc(var(--border-width) / 2) round 50%);
	offset-position: 0 0;
	offset-anchor: center;
	offset-distance: 0%;
	pointer-events: none;
	content: "";
	animation: header-cta-orbit var(--header-cta-orbit-duration) linear infinite;
}

.circle-link:is(:hover, :focus-visible) .circle-link__arrow,
.case-card:is(:hover, :focus-within) .circle-link__arrow {
	fill: var(--color-accent-hover);
}

.circle-link:is(:hover, :focus-visible) .circle-link__visual::after,
.case-card:is(:hover, :focus-within) .circle-link__visual::after {
	content: none;
}

.circle-link:is(:hover, :focus-visible) {
	color: var(--color-accent-hover);
}

.execution-gap > .container {
	display: flex;
	flex-direction: column;
	gap: var(--execution-gap-mobile-stack-gap);
}

.execution-gap__intro {
	display: flex;
	flex-direction: column;
	gap: var(--execution-gap-mobile-intro-gap);
	margin-bottom: 0;
}

.execution-gap__heading {
	display: flex;
	flex-direction: column;
	gap: var(--execution-gap-mobile-heading-gap);
}

.execution-gap__heading .eyebrow {
	gap: var(--execution-gap-mobile-eyebrow-gap);
}

.execution-gap__heading :where(h2) {
	font-size: var(--execution-gap-mobile-title-size);
	line-height: normal;
}

.execution-gap__copy {
	display: flex;
	flex-direction: column;
	gap: var(--execution-gap-mobile-copy-gap);
	padding-left: 0;
	border-left: 0;
}

.execution-gap__copy :where(p) {
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.execution-gap__copy :where(p:first-child) {
	padding-left: var(--execution-gap-mobile-copy-indent);
	border-left: var(--border-width) solid var(--color-accent);
}

.execution-gap__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.execution-gap__item {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	min-height: var(--execution-gap-mobile-icon-size);
	margin: 0;
	padding-block: 0;
}

.execution-gap__item:not(:last-child) {
	padding-bottom: var(--execution-gap-mobile-list-gap);
	margin-bottom: var(--execution-gap-mobile-list-gap);
	border-bottom: var(--border-width) solid var(--color-border);
}

.execution-gap__item :where(p) {
	flex: 1 1 auto;
	min-width: 0;
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.execution-gap__icon {
	display: grid;
	flex: 0 0 auto;
	padding: var(--execution-gap-mobile-icon-padding);
	place-items: center;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--execution-gap-mobile-icon-radius);
	background-color: var(--color-primary);
}

.execution-gap__icon :where(img) {
	width: var(--execution-gap-mobile-icon-art);
	height: var(--execution-gap-mobile-icon-art);
}

.execution-gap__statement {
	margin-top: 0;
	padding-block: var(--space-3);
	border-top: var(--border-width) solid var(--color-border);
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-statement);
	text-transform: uppercase;
	color: var(--color-accent);
}

.execution-model__inner {
	position: relative;
	display: grid;
	gap: var(--execution-model-mobile-stack-gap);
	padding-inline: var(--home-gutter-mobile);
}

.execution-model__copy {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--execution-model-mobile-stack-gap);
}

.execution-model__heading {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--execution-model-mobile-heading-gap);
}

.execution-model__copy .eyebrow {
	gap: var(--execution-model-mobile-eyebrow-gap);
}

.execution-model__copy :where(h2) {
	font-size: var(--execution-model-mobile-title-size);
	line-height: normal;
}

.execution-model__copy > :where(p) {
	width: 100%;
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.execution-model__diagram {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.execution-model__node {
	display: flex;
	width: var(--home-orbit-sm);
	height: var(--home-orbit-sm);
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--execution-model-mobile-node-stack-gap);
	padding: var(--execution-model-mobile-node-padding);
	border: calc(var(--border-width) * 2) solid var(--color-border-strong);
	border-radius: var(--border-radius-full);
	text-align: center;
}

.execution-model__node--kosmos {
	width: var(--home-orbit-md);
	height: var(--home-orbit-md);
	border-color: var(--color-accent);
	background: linear-gradient(to bottom, var(--color-deep-space-20), var(--color-icon-bg-20));
}

.execution-model__node--kosmos :where(h3) {
	font-size: var(--execution-model-mobile-kosmos-title-size);
	color: var(--color-accent);
}

.execution-model__node-copy {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--execution-model-mobile-node-copy-gap);
}

.execution-model__node-copy :where(h3) {
	font-size: var(--execution-model-mobile-node-title-size);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-label);
}

.execution-model__node-copy :where(p) {
	font-size: var(--execution-model-mobile-node-body-size);
	line-height: normal;
	letter-spacing: var(--tracking-body);
}

.execution-model__icon {
	width: var(--execution-model-mobile-icon-size);
	height: var(--execution-model-mobile-icon-size);
	object-fit: contain;
}

.execution-model__node:first-child .execution-model__icon {
	width: var(--execution-model-mobile-icon-size);
}

.execution-model__connector {
	width: var(--border-width);
	height: var(--execution-model-mobile-connector-height);
}

.execution-model__connector--organization {
	background: linear-gradient(to bottom, var(--color-on-primary), var(--color-line-accent));
}

.execution-model__connector--technical {
	background: linear-gradient(to bottom, var(--color-line-accent), var(--color-on-primary));
}

.execution-model__statement {
	width: 100%;
	max-width: none;
	font-family: var(--font-heading);
	font-size: var(--execution-model-mobile-statement-size);
	font-weight: var(--weight-medium);
	line-height: var(--execution-model-mobile-statement-leading);
	letter-spacing: var(--tracking-statement);
	text-align: center;
	text-transform: uppercase;
	color: var(--color-on-primary);
}

.execution-model__statement-name {
	color: var(--color-accent);
}

.execution-model__statement .accent {
	color: var(--color-accent);
}

.home-section-heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-lg);
	margin-bottom: var(--stack-xl);
}

.home-section-heading > :first-child {
	display: grid;
	gap: var(--stack-sm);
}

.home-services__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-services-mobile-stack-gap);
	margin-bottom: var(--home-services-mobile-stack-gap);
}

.home-services__heading-group {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-services-mobile-heading-gap);
}

.home-services__heading-group .eyebrow {
	gap: var(--home-services-mobile-eyebrow-gap);
}

.home-services__heading-group :where(h2) {
	font-size: var(--home-services-mobile-title-size);
	line-height: normal;
}

.home-services__grid {
	display: grid;
	gap: var(--home-services-mobile-card-gap);
}

.home-service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-services-mobile-card-inner-gap);
	padding: var(--home-services-mobile-card-padding);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--home-services-mobile-card-radius);
	background-color: var(--color-card-bg);
	cursor: pointer;
	transition:
		transform var(--transition-slow),
		box-shadow var(--transition-slow),
		border-color var(--transition-base);
}

/* The scroll-in rule only transitions opacity, which makes the lift snap. */
.js .home-service-card[data-animate] {
	transition:
		opacity var(--transition-slow),
		transform var(--transition-slow),
		box-shadow var(--transition-slow),
		border-color var(--transition-base);
}

@media (hover: hover) {
	.home-service-card:hover,
	.js .home-service-card[data-animate].is-visible:is(:hover, :focus-within) {
		border-color: var(--color-accent);
		box-shadow: var(--shadow-md);
		transform: translateY(calc(-1 * var(--space-1)));
	}

	.home-service-card:hover .home-service-card__title,
	.js .home-service-card[data-animate].is-visible:is(:hover, :focus-within) .home-service-card__title {
		color: var(--color-accent);
	}
}

.home-service-card__header {
	display: flex;
	width: 100%;
	align-items: center;
	gap: var(--home-services-mobile-header-gap);
}

.home-service-card__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-services-mobile-meta-gap);
}

.home-service-card__icon {
	width: var(--home-services-mobile-icon-size);
	height: var(--home-services-mobile-icon-size);
	flex: 0 0 auto;
	object-fit: contain;
	object-position: left center;
}

.home-service-card__number {
	display: flex;
	align-items: center;
	gap: var(--home-services-mobile-number-gap);
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
}

.home-service-card__number::after {
	width: var(--space-5);
	height: calc(var(--border-width) * 2);
	background-color: var(--color-accent);
	content: "";
}

.home-service-card__title {
	margin: 0;
	font-size: var(--home-services-mobile-card-title-size);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-statement);
	text-transform: uppercase;
	transition: color var(--transition-fast);
}

.home-service-card__summary {
	display: flex;
	flex-direction: column;
	gap: var(--home-services-mobile-body-leading);
	margin: 0;
	font-size: var(--home-services-mobile-body-size);
	line-height: var(--home-services-mobile-body-leading);
	letter-spacing: var(--tracking-body);
}

.home-service-card__summary :where(p) {
	margin: 0;
}

.home-service-card__link {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--home-services-mobile-link-gap);
	margin-top: auto;
	padding-block: var(--home-services-mobile-heading-gap);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-accent);
	cursor: pointer;
}

.home-service-card__link::after {
	position: absolute;
	inset: 0;
	content: "";
}

.home-service-card__link:is(:hover, :focus-visible) {
	color: var(--color-accent-hover);
}

.home-service-card__mark {
	display: inline-flex;
}

.home-service-card__mark--arrow {
	display: none;
}

.home-audience__link {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--btn-gap);
	margin-top: auto;
	font-family: var(--font-heading);
	font-size: var(--btn-font-size);
	font-weight: var(--weight-semibold);
	line-height: var(--btn-line-height);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
	white-space: var(--btn-white-space);
}

.home-audience__link:is(:hover, :focus-visible) {
	color: var(--color-accent-hover);
}

.home-next-step {
	min-height: 0;
}

.home-next-step__inner {
	position: relative;
	display: flex;
	min-height: 0;
	align-items: flex-start;
	padding-block: var(--home-mobile-section-py);
	padding-inline: var(--home-gutter-mobile);
}

.home-next-step__content {
	display: flex;
	width: 100%;
	max-width: none;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-mobile-stack-gap);
}

.home-next-step__heading {
	display: flex;
	width: 100%;
	max-width: none;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-mobile-heading-gap);
}

.home-next-step .eyebrow {
	gap: var(--home-mobile-eyebrow-gap);
}

.home-next-step :where(h2) {
	font-size: var(--home-mobile-title-size);
	line-height: normal;
	text-transform: uppercase;
}

.home-next-step .circle-link,
.cta--circle .circle-link {
	gap: var(--home-mobile-heading-gap);
	font-size: var(--text-sm);
	line-height: var(--leading-figma-button);
}

.home-next-step .circle-link__visual,
.cta--circle .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.home-next-step__content > :where(p) {
	width: 100%;
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
}

.home-audiences {
	padding-block: var(--home-mobile-section-py);
}

.home-audiences__inner {
	display: grid;
	gap: var(--home-audiences-mobile-layout-gap);
	padding-inline: var(--home-gutter-mobile);
}

.home-audiences__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
}

.home-audiences__intro .eyebrow {
	line-height: normal;
}

.home-audiences__title :where(span) {
	display: block;
}

.home-audiences__title {
	margin-top: var(--home-mobile-heading-gap);
	margin-bottom: var(--home-mobile-stack-gap);
	font-size: var(--home-mobile-title-size);
	line-height: normal;
	text-transform: uppercase;
}

.home-audiences__intro > :where(p:not(.eyebrow)) {
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
}

.home-audiences__list {
	display: grid;
	gap: var(--home-audiences-mobile-card-gap);
}

.home-audience {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-audiences-mobile-card-gap);
	padding: var(--home-audiences-mobile-card-padding);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--home-audiences-mobile-card-radius);
}

.home-audience__title {
	font-family: var(--font-sans);
	font-size: var(--home-audiences-mobile-item-title-size);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
}

.home-audience > :where(p) {
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
}

.kosmos-system {
	padding-block: var(--home-mobile-section-py);
	text-align: center;
}

.kosmos-system :where(p) {
	margin-bottom: 0;
}

.kosmos-system__background {
	opacity: var(--kosmos-system-background-opacity);
}

.kosmos-system__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--home-mobile-section-gap);
	padding-inline: var(--home-gutter-mobile);
}

.kosmos-system__intro {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: center;
	gap: var(--home-mobile-stack-gap);
}

.kosmos-system__intro .eyebrow {
	justify-content: center;
	width: 100%;
	gap: var(--home-mobile-eyebrow-gap);
	line-height: normal;
}

.kosmos-system__intro :where(h2) {
	width: 100%;
	max-width: none;
	font-size: var(--home-mobile-title-size);
	font-weight: var(--weight-regular);
	line-height: normal;
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.kosmos-system__intro > :where(p:not(.eyebrow)) {
	width: 100%;
	max-width: none;
	line-height: var(--leading-figma-body);
	text-align: center;
}

.kosmos-system__intro .btn :where(img) {
	width: var(--space-6);
	height: auto;
}

.kosmos-system__diagram {
	position: relative;
	display: flex;
	width: 100%;
	max-width: none;
	flex-direction: column;
	gap: var(--home-mobile-stack-gap);
}

.kosmos-system__brand-copy {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
	text-align: left;
}

.kosmos-system__flow {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.kosmos-system__diagram-desktop {
	display: block;
	width: 100%;
}

.kosmos-system__pillar-copy {
	display: contents;
}

.kosmos-system__brand-text {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.kosmos-system__name {
	font-family: var(--font-heading);
	font-size: var(--home-kosmos-system-mobile-name-size);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.kosmos-system__brand-values {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-light);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.kosmos-system__brand-values :where(img) {
	width: var(--kosmos-system-dot-size);
	height: var(--kosmos-system-dot-size);
}

.kosmos-system__structure {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: stretch;
	gap: var(--home-mobile-stack-gap);
}

@media (max-width: 639px) {
	body.home .kosmos-system {
		padding-block: 0;
	}

	body.home .kosmos-system__inner {
		align-items: stretch;
		gap: var(--home-mobile-section-spacing);
	}

	.kosmos-system__intro {
		gap: var(--home-mobile-stack-gap);
	}

	.kosmos-system__diagram {
		position: relative;
		display: block;
		width: 100%;
	}

	.kosmos-system__diagram-desktop {
		display: none;
	}

	.kosmos-system__flow {
		display: flex;
		flex-direction: column;
		gap: var(--home-mobile-stack-gap);
		width: 100%;
	}

	.kosmos-system__flow-item {
		display: grid;
		align-items: start;
		grid-template-columns: var(--kosmos-system-mobile-timeline-width) minmax(0, 1fr);
		column-gap: var(--kosmos-system-mobile-diagram-column-gap);
	}

	.kosmos-system__flow-marker {
		position: relative;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		width: 100%;
	}

	.kosmos-system__flow-icon {
		display: block;
		width: var(--kosmos-system-mobile-timeline-width);
		height: auto;
		max-height: var(--kosmos-system-mobile-timeline-width);
		object-fit: contain;
	}

	.kosmos-system__flow-body {
		display: flex;
		flex-direction: column;
		gap: var(--kosmos-system-mobile-pillar-stack-gap);
		min-width: 0;
		text-align: left;
	}

	.kosmos-system__flow-body :where(h3) {
		font-size: var(--text-base);
		font-weight: var(--weight-semibold);
		letter-spacing: var(--tracking-heading);
		text-transform: uppercase;
	}

	.kosmos-system__flow-body :where(p) {
		font-size: var(--text-sm);
		line-height: var(--leading-figma-body);
		color: var(--color-text);
	}

	.kosmos-system__flow-body .kosmos-system__name {
		width: 100%;
		font-size: var(--text-base);
		font-weight: var(--weight-semibold);
		letter-spacing: var(--tracking-heading);
	}

	.kosmos-system__flow-body .kosmos-system__brand-values {
		justify-content: flex-start;
		font-size: var(--text-sm);
		font-weight: var(--weight-light);
		color: var(--color-text);
	}

	.kosmos-system__promise {
		gap: var(--home-mobile-stack-gap);
	}

	.kosmos-system__promise-heading {
		gap: var(--home-mobile-stack-gap);
	}

	.kosmos-system__promise-heading :where(h3) {
		font-size: var(--text-lg);
		line-height: var(--leading-figma-button);
	}

	.kosmos-system__done-block {
		gap: var(--kosmos-system-mobile-pillar-stack-gap);
		width: 100%;
	}

	.kosmos-system__done {
		gap: var(--home-mobile-stack-gap);
		font-size: var(--text-base);
		color: var(--color-accent);
	}

	.kosmos-system__slash {
		font-size: var(--text-lg);
		font-weight: var(--weight-extralight);
	}

	.kosmos-system__caption {
		width: 100%;
		text-align: center;
	}
}

.kosmos-system__network {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--kosmos-system-network-gap);
}

@media (max-width: 639px) {
	.kosmos-system__network {
		display: none;
	}
}

.kosmos-system__logo {
	width: var(--home-steps-mobile-marker-size);
	height: var(--home-steps-mobile-marker-size);
}

.kosmos-system__connector {
	display: none;
}

.kosmos-system__pillars {
	display: flex;
	width: 100%;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--home-mobile-stack-gap);
}

.kosmos-system__pillar {
	display: grid;
	grid-template-columns: var(--home-steps-mobile-marker-size) minmax(0, 1fr);
	column-gap: var(--home-mobile-stack-gap);
	row-gap: var(--space-2);
	align-items: start;
	text-align: left;
}

.kosmos-system__pillar :where(img) {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: var(--home-steps-mobile-marker-size);
	height: auto;
	max-height: var(--home-steps-mobile-marker-size);
	justify-self: center;
	object-fit: contain;
}

.kosmos-system__pillar-copy {
	grid-column: 2;
	grid-row: 1 / span 2;
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.kosmos-system__pillar :where(h3) {
	font-size: var(--home-kosmos-system-mobile-pillar-title-size);
	font-weight: var(--weight-semibold);
	line-height: normal;
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.kosmos-system__pillar :where(p) {
	font-size: var(--home-kosmos-system-mobile-pillar-body-size);
	line-height: var(--home-kosmos-system-mobile-pillar-body-leading);
}

.kosmos-system__promise {
	display: flex;
	width: 100%;
	max-width: var(--kosmos-system-promise-width);
	flex-direction: column;
	align-items: center;
	gap: var(--kosmos-system-promise-gap);
}

.kosmos-system__promise-heading {
	display: flex;
	width: 100%;
	align-items: center;
	justify-content: center;
	gap: var(--kosmos-system-intro-gap);
}

.kosmos-system__promise-line {
	flex: 0 1 var(--kosmos-system-line-width);
	width: var(--kosmos-system-line-width);
	height: var(--border-width);
}

.kosmos-system__promise-line--left {
	background: linear-gradient(to right, transparent, var(--color-accent));
}

.kosmos-system__promise-line--right {
	background: linear-gradient(to right, var(--color-accent), transparent);
}

@media (max-width: 639px) {
	.kosmos-system__promise-line {
		flex: 0 0 var(--eyebrow-line-mobile);
		width: var(--eyebrow-line-mobile);
	}

	.kosmos-system__promise-line--left {
		background: linear-gradient(to right, transparent, var(--color-line-accent));
	}

	.kosmos-system__promise-line--right {
		background: linear-gradient(to right, var(--color-line-accent), transparent);
	}
}

.kosmos-system__promise-heading :where(h3) {
	flex: 1 1 auto;
	font-size: var(--home-kosmos-system-mobile-promise-title-size);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-heading);
	color: var(--color-accent);
	text-transform: uppercase;
}

.kosmos-system__promise > :where(p) {
	line-height: var(--leading-figma-body);
}

.kosmos-system__done-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0;
}

.kosmos-system__done {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--home-mobile-stack-gap);
	font-family: var(--font-heading);
	font-size: var(--home-kosmos-system-mobile-done-size);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.kosmos-system__slash {
	font-size: var(--kosmos-system-slash-size);
	font-weight: var(--weight-extralight);
	line-height: 1;
}

.kosmos-system__caption {
	font-size: var(--kosmos-system-caption-size);
	font-style: italic;
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.home-reviews {
	overflow: hidden;
	padding-block: var(--home-mobile-section-py);
}

.home-reviews > .container {
	display: grid;
	gap: var(--home-mobile-section-gap);
	padding-inline: var(--home-gutter-mobile);
}

.home-reviews__header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-mobile-stack-gap);
	margin-bottom: 0;
}

.home-reviews__heading-group {
	display: flex;
	width: 100%;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-mobile-heading-gap);
}

.home-reviews__heading-group .eyebrow {
	gap: var(--home-mobile-eyebrow-gap);
	line-height: normal;
}

.home-reviews__heading-group :where(h2) {
	font-size: var(--home-mobile-title-size);
	font-weight: var(--weight-regular);
	line-height: normal;
	text-transform: uppercase;
}

.home-reviews__slider {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 0;
	align-items: stretch;
}

.home-reviews__track {
	display: grid;
	grid-auto-columns: min(85%, 20rem);
	grid-auto-flow: column;
	gap: var(--home-reviews-mobile-track-gap);
	overflow-x: auto;
	scroll-behavior: smooth;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.home-reviews__track::-webkit-scrollbar {
	display: none;
}

.home-review {
	display: flex;
	min-height: 100%;
	flex-direction: column;
	gap: var(--home-reviews-mobile-card-gap);
	margin: 0;
	padding: var(--home-reviews-mobile-card-padding);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--home-reviews-mobile-card-radius);
	background-color: var(--color-card-bg);
	scroll-snap-align: start;
}

.home-review__quote-icon {
	display: block;
	width: var(--home-reviews-quote-width);
	height: auto;
	color: var(--color-accent);
}

.home-review :where(blockquote) {
	margin: 0;
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.home-review :where(figcaption) {
	display: flex;
	flex-direction: column;
	gap: var(--home-reviews-meta-gap);
	margin-top: auto;
	padding-top: var(--home-reviews-card-gap);
	border-top: var(--border-width) solid var(--color-accent);
	font-size: var(--text-base);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
}

.home-review__author {
	font-weight: var(--weight-medium);
	text-transform: uppercase;
}

.home-review__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--home-reviews-meta-gap);
}

.home-review__meta :where(img) {
	width: var(--kosmos-system-dot-size);
	height: var(--kosmos-system-dot-size);
}

.home-reviews__button {
	display: none;
	width: var(--target-size);
	height: var(--target-size);
	place-items: center;
	padding: 0;
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-full);
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
	transition:
		background-color var(--transition-fast),
		border-color var(--transition-fast),
		color var(--transition-fast);
}

.home-reviews__button .icon--arrow {
	width: var(--space-5);
	height: auto;
}

.home-reviews__button--previous .icon--arrow {
	transform: rotate(180deg);
}

.home-reviews__button:hover {
	border-color: var(--color-accent-hover);
	background-color: var(--color-accent);
	color: var(--color-on-accent);
}

.home-reviews__button:focus-visible {
	outline: calc(var(--border-width) * 2) solid var(--color-accent);
	outline-offset: var(--space-1);
}

.home-reviews__button:disabled {
	opacity: 0.4;
	cursor: not-allowed;
}

.home-steps__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--home-mobile-section-gap);
	padding-block: var(--home-mobile-section-py);
	padding-inline: var(--home-gutter-mobile);
}

.home-steps__heading {
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-mobile-stack-gap);
	margin-bottom: 0;
}

.home-steps__heading > .home-steps__heading-copy {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--home-mobile-heading-gap);
}

.home-steps__heading .eyebrow {
	gap: var(--home-mobile-eyebrow-gap);
	line-height: normal;
}

.home-steps__heading .eyebrow::before {
	width: var(--home-gutter-mobile);
}

.home-steps__heading :where(h2) {
	font-size: var(--home-mobile-title-size);
	font-weight: var(--weight-regular);
	line-height: normal;
	text-transform: uppercase;
}

.home-steps__heading :where(h2 .accent) {
	color: inherit;
}

.home-steps__heading-copy > :where(p:not(.eyebrow)) {
	line-height: var(--leading-figma-button);
}

.home-steps__list {
	display: grid;
	gap: var(--home-steps-mobile-list-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.home-step {
	position: relative;
	display: grid;
	align-items: start;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	grid-template-areas:
		"step-rail step-title"
		"step-rail step-body";
	row-gap: var(--home-steps-mobile-step-stack-gap);
	column-gap: var(--home-mobile-stack-gap);
	margin: 0;
	padding-bottom: 0;
}

.home-step__rail {
	grid-area: step-rail;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--home-steps-mobile-number-marker-gap);
}

.home-step:not(:first-child) {
	padding-top: var(--home-steps-mobile-step-leading-gap);
}

.home-step:not(:last-child)::after {
	content: none;
}

.home-step__number {
	flex-shrink: 0;
	width: 100%;
	font-family: var(--font-heading);
	font-size: var(--home-steps-mobile-number-size);
	font-weight: var(--weight-semibold);
	line-height: 1;
	letter-spacing: var(--tracking-heading);
	text-align: center;
}

.home-step__marker {
	position: relative;
	z-index: var(--z-raised);
	display: block;
	flex-shrink: 0;
	width: var(--home-steps-mobile-marker-size);
	height: var(--home-steps-mobile-marker-size);
	isolation: isolate;
}

.home-step__marker-ring {
	width: 100%;
	height: 100%;
}

.home-step__marker-dot {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--home-steps-mobile-marker-dot-size);
	height: var(--home-steps-mobile-marker-dot-size);
	transform: translate(-50%, -50%);
}

.home-step__marker::after {
	position: absolute;
	top: 50%;
	left: 50%;
	width: var(--home-steps-mobile-marker-dot-size);
	height: var(--home-steps-mobile-marker-dot-size);
	border-radius: var(--border-radius-full);
	background-color: var(--color-accent);
	transform: translate(-50%, -50%);
	content: "";
}

.home-step__connector {
	display: none;
	background: linear-gradient(to right, var(--color-line-accent), var(--color-on-primary));
}

.home-step__connector--end {
	background: linear-gradient(to right, var(--color-line-accent), transparent);
}

.js .home-steps__list[data-timeline] .home-step__marker::after {
	opacity: 0;
	transform: translate(-50%, -50%) scale(0);
}

.js .home-steps__list[data-timeline] .home-step__connector {
	transform: scaleX(0);
	transform-origin: left center;
}

.js .home-steps__list[data-timeline] .home-step:not(:last-child)::after {
	transform: scaleY(0);
	transform-origin: top center;
}

.js .home-steps__list[data-timeline].is-visible .home-step__marker::after {
	animation: home-steps-dot-fill var(--home-steps-timeline-duration) ease-out forwards;
}

.js .home-steps__list[data-timeline].is-visible .home-step__connector {
	animation: home-steps-line-fill var(--home-steps-timeline-duration) ease-out forwards;
}

.js .home-steps__list[data-timeline].is-visible .home-step:not(:last-child)::after {
	animation: home-steps-line-grow var(--home-steps-timeline-duration) ease-out forwards;
}

.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(2) .home-step__marker::after {
	animation-delay: var(--home-steps-timeline-stagger);
}

.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(3) .home-step__marker::after {
	animation-delay: calc(var(--home-steps-timeline-stagger) * 2);
}

.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(1) .home-step__connector,
.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(1)::after {
	animation-delay: calc(var(--home-steps-timeline-stagger) / 2);
}

.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(2) .home-step__connector,
.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(2)::after {
	animation-delay: calc(var(--home-steps-timeline-stagger) + (var(--home-steps-timeline-stagger) / 2));
}

.js .home-steps__list[data-timeline].is-visible .home-step:nth-child(3) .home-step__connector {
	animation-delay: calc((var(--home-steps-timeline-stagger) * 2) + (var(--home-steps-timeline-stagger) / 2));
}

@keyframes home-steps-dot-fill {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(0);
	}

	70% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.12);
	}

	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1);
	}
}

@keyframes home-steps-line-fill {
	to {
		transform: scaleX(1);
	}
}

@keyframes home-steps-line-grow {
	to {
		transform: scaleY(1);
	}
}

@media (prefers-reduced-motion: reduce) {
	.js .home-steps__list[data-timeline] .home-step__marker::after {
		animation: none;
		opacity: 1;
		transform: translate(-50%, -50%);
	}

	.js .home-steps__list[data-timeline] .home-step__connector {
		animation: none;
		transform: scaleX(1);
	}

	.js .home-steps__list[data-timeline] .home-step:not(:last-child)::after {
		animation: none;
		transform: scaleY(1);
	}
}

.home-step :where(h3) {
	grid-area: step-title;
	align-self: start;
	margin: 0;
	padding: 0;
	font-family: var(--font-heading);
	font-size: var(--home-steps-mobile-step-title-size);
	font-weight: var(--weight-semibold);
	line-height: 1;
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.home-step :where(h3.h5) {
	font-size: var(--home-steps-mobile-step-title-size);
	font-weight: var(--weight-semibold);
	line-height: 1;
}

.home-step :where(p) {
	grid-area: step-body;
	align-self: start;
	margin: 0;
	font-size: var(--home-steps-mobile-step-body-size);
	line-height: var(--home-steps-mobile-step-body-leading);
}

.home-contact {
	padding: 0;
}

.home-contact__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--home-mobile-stack-gap);
	padding-block: var(--home-mobile-section-py);
	padding-inline: var(--home-gutter-mobile);
	border-top: 0;
	text-align: center;
}

.home-contact__heading {
	display: flex;
	width: 100%;
	max-width: none;
	flex-direction: column;
	align-items: center;
	gap: var(--home-mobile-heading-gap);
}

.home-contact__heading .eyebrow {
	gap: var(--home-mobile-eyebrow-gap);
	width: auto;
	max-width: 100%;
	justify-content: center;
	line-height: normal;
}

.home-contact__heading :where(h2) {
	width: 100%;
	font-size: var(--home-mobile-title-size);
	font-weight: var(--weight-regular);
	line-height: normal;
	text-transform: uppercase;
}

.home-contact__heading :where(h2 span) {
	display: block;
}

.home-contact__inner > :where(p) {
	width: 100%;
	margin-bottom: 0;
	line-height: var(--leading-figma-button);
}

.home-contact .circle-link {
	gap: var(--home-mobile-heading-gap);
	line-height: var(--leading-figma-button);
}

.home-contact .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.home-contact .circle-link__label {
	width: auto;
	text-align: left;
}

@media (min-width: 640px) {
	.home-services__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.home-service-card:last-child {
		grid-column: 1 / -1;
	}

	.kosmos-system {
		padding-top: var(--kosmos-system-padding-top);
		padding-bottom: var(--kosmos-system-padding-bottom);
	}

	.kosmos-system__inner {
		gap: var(--kosmos-system-gap);
	}

	.kosmos-system__diagram {
		display: grid;
		width: 100%;
		max-width: var(--kosmos-system-diagram-width);
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__diagram::before {
		content: none;
	}

	.kosmos-system__brand-copy {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-left: 0;
		text-align: center;
	}

	.kosmos-system__flow {
		display: none;
	}

	.kosmos-system__diagram-desktop {
		display: block;
		width: 100%;
	}

	.kosmos-system__brand-text {
		align-items: center;
	}

	.kosmos-system__name {
		font-size: var(--kosmos-system-brand-name-size);
		font-weight: var(--weight-medium);
	}

	.kosmos-system__brand-values {
		justify-content: center;
	}

	.kosmos-system__structure {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__network {
		display: flex;
		width: 100%;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-network-gap);
	}

	.kosmos-system__logo {
		position: relative;
		z-index: var(--z-raised);
		width: var(--kosmos-system-logo-size);
		height: var(--kosmos-system-logo-size);
		margin-bottom: 0;
	}

	.kosmos-system__connector {
		display: block;
		width: min(100%, var(--kosmos-system-connector-width));
		height: auto;
	}

	.kosmos-system__pillars {
		display: grid;
		width: 100%;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: clamp(var(--space-6), 6.25vw, var(--kosmos-system-pillar-gap));
	}

	.kosmos-system__pillar {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-pillar-inner-gap);
		text-align: center;
	}

	.kosmos-system__pillar :where(img) {
		width: auto;
		height: var(--kosmos-system-pillar-icon-height);
		max-width: 100%;
		object-fit: contain;
	}

	.kosmos-system__pillar :where(h3) {
		font-size: var(--kosmos-system-pillar-title-size);
		font-weight: var(--weight-medium);
	}

	.kosmos-system__pillar :where(p) {
		font-size: var(--text-base);
		line-height: var(--leading-figma-body);
	}

	.home-next-step__media .home-next-step__background,
	.kosmos-system__media .kosmos-system__background {
		inset: 0;
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center bottom;
	}

	.home-hero__background {
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 72% 58%;
	}

	.home-hero__shade {
		background:
			linear-gradient(
				to right,
				var(--color-bg) 0%,
				var(--color-black-85) 45%,
				transparent 100%
			),
			linear-gradient(
				to bottom,
				var(--color-bg),
				transparent 20%,
				transparent 80%,
				var(--color-bg)
			);
	}

	.execution-model__media :where(img) {
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.home-next-step__shade,
	.kosmos-system__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 20%,
			transparent 80%,
			var(--color-bg)
		);
	}

	.execution-model__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 50%,
			var(--color-bg)
		);
	}

	.home-next-step .circle-link {
		gap: var(--home-cta-button-gap);
	}

	.home-next-step .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.home-steps__media .home-steps__background {
		inset: 0;
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 78% center;
	}

	.home-steps__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg),
				transparent 20%,
				transparent 80%,
				var(--color-bg)
			),
			linear-gradient(to left, var(--color-bg), transparent);
	}

	.home-reviews__track {
		grid-auto-columns: min(70%, var(--content-width-lg));
	}
}

@media (min-width: 1024px) {
	.eyebrow {
		gap: var(--eyebrow-gap-desktop);
		width: auto;
		font-size: var(--text-base);
		letter-spacing: var(--tracking-wide);
		white-space: nowrap;
	}

	.eyebrow::before {
		width: var(--eyebrow-line-desktop);
	}

	.home-hero,
	.home-hero__inner {
		min-height: var(--home-hero-height);
	}

	.home-hero__background {
		inset: 0;
		left: auto;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center;
	}

	.home-hero__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 20%,
			transparent 80%,
			var(--color-bg)
		);
	}

	.home-hero__inner {
		align-items: flex-start;
		padding-top: var(--hero-top-padding-desktop);
	}

	.home-hero__content {
		min-height: 0;
		padding-top: var(--space-6);
		padding-bottom: 0;
	}

	.home-hero__heading {
		display: contents;
	}

	.home-hero .circle-link,
	.reach-hero .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.home-hero .circle-link__visual,
	.reach-hero .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.home-next-step .circle-link,
	.home-contact .circle-link,
	.cta--circle .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.home-next-step .circle-link__visual,
	.home-contact .circle-link__visual,
	.cta--circle .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.home-next-step .circle-link__label,
	.home-contact .circle-link__label,
	.cta--circle .circle-link__label {
		width: var(--home-hero-label-width);
		text-align: left;
	}

	.execution-gap {
		padding-top: var(--section-py-lg);
		padding-bottom: var(--execution-gap-icon-size);
	}

	.execution-gap > .container {
		display: grid;
		gap: var(--execution-gap-block-gap);
	}

	.execution-gap__intro {
		display: grid;
		grid-template-columns: 1.2fr 1fr;
		gap: var(--execution-gap-column-gap);
		margin-bottom: 0;
		align-items: center;
	}

	.execution-gap__heading {
		gap: var(--execution-gap-heading-gap);
		padding-right: var(--execution-gap-heading-gap);
		border-right: var(--border-width) solid var(--color-border);
	}

	.execution-gap__heading .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.execution-gap__heading :where(h2) {
		font-size: var(--execution-gap-title-size);
	}

	.execution-gap__heading .eyebrow::before {
		width: calc(var(--eyebrow-line-desktop) + var(--execution-gap-heading-gap));
	}

	.execution-gap__heading .eyebrow,
	.execution-gap__heading :where(h2) {
		line-height: normal;
	}

	.execution-gap__copy {
		display: block;
		gap: 0;
		padding-left: 0;
		border-left: 0;
	}

	.execution-gap__copy :where(p:first-child) {
		padding-left: 0;
		border-left: 0;
	}

	.execution-gap__copy :where(p) {
		margin-bottom: var(--leading-figma-button);
		line-height: var(--leading-figma-button);
		letter-spacing: inherit;
	}

	.execution-gap__copy :where(p:last-child) {
		margin-bottom: 0;
	}

	.execution-gap__list {
		display: grid;
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--execution-gap-heading-gap);
		min-height: var(--execution-gap-list-height);
	}

	.execution-gap__item {
		min-height: 0;
		padding-block: 0;
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
		line-height: var(--leading-figma-button);
	}

	.execution-gap__item:not(:last-child) {
		margin-bottom: 0;
		padding-bottom: 0;
		border-bottom: 0;
		padding-right: var(--execution-gap-heading-gap);
		border-right: var(--border-width) solid var(--color-border);
	}

	.execution-gap__item :where(p) {
		line-height: inherit;
		letter-spacing: inherit;
	}

	.execution-gap__icon {
		width: var(--execution-gap-icon-size);
		height: var(--execution-gap-icon-size);
		padding: 0;
		border-radius: var(--execution-gap-icon-radius);
	}

	.execution-gap__icon :where(img) {
		width: auto;
		height: auto;
		max-width: var(--execution-gap-icon-art);
		max-height: var(--execution-gap-icon-art);
	}

	.execution-gap__statement {
		margin-top: 0;
		padding-top: calc(var(--space-3) + var(--execution-gap-heading-gap));
		padding-bottom: var(--space-3);
		font-size: var(--execution-gap-statement-size);
		line-height: var(--execution-gap-statement-leading);
		letter-spacing: var(--tracking-heading);
	}

	.execution-model__inner {
		align-items: center;
		gap: var(--execution-model-block-gap);
	}

	.execution-model__copy {
		gap: var(--execution-model-copy-gap);
	}

	.execution-model__heading {
		display: contents;
	}

	.execution-model__copy .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.execution-model__copy .eyebrow::before {
		width: calc(var(--eyebrow-line-desktop) + var(--execution-model-copy-gap));
	}

	.execution-model__copy .eyebrow,
	.execution-model__copy :where(h2) {
		line-height: normal;
	}

	.execution-model__copy :where(h2) {
		font-size: var(--execution-model-title-size);
	}

	.execution-model__copy > :where(p:last-child) {
		line-height: var(--leading-figma-button);
		letter-spacing: inherit;
	}

	.execution-model__node {
		width: var(--home-orbit-sm);
		height: var(--home-orbit-sm);
		gap: var(--execution-model-node-gap);
		padding: var(--execution-model-node-padding);
	}

	.execution-model__node--kosmos {
		width: var(--home-orbit-md);
		height: var(--home-orbit-md);
		gap: var(--execution-model-copy-gap);
	}

	.execution-model__node--kosmos :where(h3) {
		font-size: var(--execution-model-kosmos-title-size);
	}

	.execution-model__node-copy {
		gap: var(--execution-model-node-gap);
	}

	.execution-model__node-copy :where(h3) {
		font-size: var(--text-lg);
		letter-spacing: var(--tracking-heading);
	}

	.execution-model__node-copy :where(p) {
		font-size: var(--text-base);
		line-height: var(--leading-figma-button);
		letter-spacing: inherit;
	}

	.execution-model__icon {
		width: var(--execution-model-icon-size);
		height: var(--execution-model-icon-size);
	}

	.execution-model__node:first-child .execution-model__icon {
		width: var(--execution-model-organization-icon-width);
	}

	.execution-model__diagram {
		display: flex;
		width: fit-content;
		max-width: 100%;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: center;
		gap: 0;
		margin-inline: auto;
	}

	.execution-model__connector {
		flex: 0 0 auto;
		align-self: center;
		width: var(--execution-model-connector);
		height: var(--border-width);
	}

	.execution-model__statement {
		max-width: var(--execution-model-statement-width);
		font-size: var(--execution-model-statement-size);
		line-height: var(--execution-model-statement-leading);
	}

	.execution-model__connector--organization {
		background: linear-gradient(to right, var(--color-on-primary), var(--color-line-accent));
	}

	.execution-model__connector--technical {
		background: linear-gradient(to right, var(--color-line-accent), var(--color-on-primary));
	}

	.execution-model__statement {
		grid-column: 1 / -1;
		text-align: left;
	}

	.home-section-heading {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
	}

	.home-section-heading > :first-child {
		max-width: 70%;
	}

	.home-services__header {
		flex-flow: row nowrap;
		align-items: flex-end;
		justify-content: space-between;
		margin-bottom: var(--stack-xl);
	}

	.home-services__heading-group {
		min-width: 0;
		max-width: 70%;
		flex: 1 1 auto;
	}

	.home-services__heading-group :where(h2) {
		font-size: var(--heading-2);
	}

	.home-services__heading-group .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.home-services__cta {
		flex-shrink: 0;
	}

	.home-services__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-6);
	}

	body.home .home-services.section {
		padding-bottom: var(--section-py-md);
	}

	.home-service-card {
		gap: var(--stack-sm);
		padding: var(--space-8);
		border: var(--border-width) solid var(--color-border);
		border-radius: var(--border-radius-md);
	}

	.home-service-card__header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--stack-sm);
	}

	.home-service-card__intro {
		gap: var(--space-4);
	}

	.home-service-card__icon {
		width: var(--space-12);
		height: var(--space-12);
	}

	.home-service-card__number {
		gap: var(--space-4);
	}

	.home-service-card__number::after {
		width: var(--space-12);
	}

	.home-service-card__title {
		font-size: var(--text-xl);
		letter-spacing: var(--tracking-heading);
	}

	.home-service-card__summary {
		font-size: var(--text-base);
		line-height: var(--leading-figma-button);
	}

	.home-service-card__link {
		gap: var(--space-2);
		padding-block: 0;
		color: var(--color-accent);
	}

	.home-service-card__mark--chevron {
		display: none;
	}

	.home-service-card__mark--arrow {
		display: inline-flex;
	}

	.home-service-card:last-child {
		grid-column: auto;
	}

	.home-next-step__media .home-next-step__background {
		inset: 0;
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
	}

	.home-next-step__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 20%,
			transparent 80%,
			var(--color-bg)
		);
	}

	.home-next-step {
		padding-block: var(--section-py-lg);
	}

	.home-next-step__inner {
		padding-block: 0;
	}

	.home-next-step__content {
		gap: var(--home-cta-gap);
		max-width: var(--home-cta-content-width);
		margin-left: 0;
	}

	.home-next-step__heading {
		gap: var(--home-cta-heading-gap);
		max-width: var(--home-cta-heading-width);
	}

	.home-next-step .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.home-next-step .eyebrow {
		line-height: normal;
	}

	.home-next-step .eyebrow::before {
		width: calc(var(--eyebrow-line-desktop) + var(--home-cta-heading-gap));
	}

	.home-next-step :where(h2) {
		font-size: var(--home-cta-title-size);
		line-height: normal;
	}

	.home-audiences__inner {
		grid-template-columns: minmax(0, 0.45fr) minmax(0, 1fr);
		align-items: center;
		gap: var(--stack-lg);
	}

	.home-audiences__intro {
		align-self: stretch;
		justify-content: flex-start;
		padding-right: var(--stack-lg);
		border-right: var(--border-width) solid var(--color-border);
	}

	.home-audiences {
		padding-block: var(--home-audiences-padding-block);
	}

	.home-audiences__inner {
		gap: var(--home-audiences-layout-gap);
	}

	.home-audiences__intro {
		gap: var(--home-audiences-heading-gap);
	}

	.home-audiences__intro .eyebrow::before {
		width: var(--kosmos-system-line-width);
	}

	.home-audiences__title {
		margin-top: 0;
		margin-bottom: 0;
		font-size: var(--home-audiences-title-size);
		line-height: var(--leading-figma-title);
	}

	.home-audiences__list {
		gap: var(--home-audiences-item-gap);
	}

	.home-audience {
		gap: var(--home-audiences-item-gap);
		padding: 0;
		border: 0;
		border-radius: 0;
	}

	.home-audience {
		display: grid;
		grid-template-columns: minmax(var(--content-width-sm), 0.4fr) minmax(0, 1fr);
		align-items: center;
		gap: var(--space-4) var(--space-6);
		padding: 0;
		border: 0;
		border-radius: 0;
	}

	.home-audience + .home-audience {
		padding-top: var(--home-audiences-item-gap);
		border-top: var(--border-width) solid var(--color-border);
	}

	.home-audience__title {
		width: 100%;
	}

	.home-audience__link {
		width: var(--home-audiences-link-width);
		grid-column: 2;
		justify-content: flex-start;
		gap: var(--home-audiences-link-gap);
		margin-top: 0;
		letter-spacing: var(--tracking-wide);
		color: var(--color-accent);
	}

	.home-contact__inner {
		gap: var(--home-contact-gap);
		padding-top: var(--home-contact-padding-top);
		padding-bottom: var(--section-gap);
		border-top: var(--border-width) solid var(--color-border);
	}

	.home-contact__heading {
		max-width: var(--home-contact-heading-width);
		gap: var(--home-contact-heading-gap);
	}

	.home-contact__heading .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.home-contact__heading .eyebrow::before {
		width: calc(var(--eyebrow-line-desktop) + var(--home-contact-heading-gap));
	}

	.home-contact__heading :where(h2) {
		font-size: var(--home-contact-title-size);
		line-height: var(--leading-figma-title);
	}

	.kosmos-system {
		padding-top: var(--kosmos-system-padding-top);
		padding-bottom: var(--kosmos-system-padding-bottom);
	}

	.kosmos-system__media .kosmos-system__background {
		inset: 0;
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
	}

	.kosmos-system__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg),
			transparent 20%,
			transparent 80%,
			var(--color-bg)
		);
	}

	.kosmos-system__inner {
		gap: var(--kosmos-system-gap);
	}

	.kosmos-system__intro {
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__intro .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.kosmos-system__intro :where(h2) {
		max-width: var(--kosmos-system-title-width);
		font-size: var(--kosmos-system-title-size);
	}

	.kosmos-system__intro > :where(p:not(.eyebrow)) {
		max-width: var(--kosmos-system-copy-width);
	}

	.kosmos-system__intro .btn {
		flex-shrink: 0;
	}

	.kosmos-system__diagram {
		display: grid;
		max-width: var(--kosmos-system-diagram-width);
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__diagram::before {
		content: none;
	}

	.kosmos-system__brand-copy {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding-left: 0;
		text-align: center;
	}

	.kosmos-system__brand-mark {
		display: none;
	}

	.kosmos-system__name {
		font-size: var(--kosmos-system-brand-name-size);
		font-weight: var(--weight-medium);
	}

	.kosmos-system__brand-values {
		justify-content: center;
		font-size: inherit;
	}

	.kosmos-system__structure {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__network {
		display: flex;
		width: 100%;
		flex: none;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-network-gap);
	}

	.kosmos-system__logo {
		width: var(--kosmos-system-logo-size);
		height: var(--kosmos-system-logo-size);
		margin-bottom: 0;
	}

	.kosmos-system__pillars {
		display: grid;
		gap: var(--space-6);
	}

	.kosmos-system__pillar {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--kosmos-system-pillar-inner-gap);
		text-align: center;
	}

	.kosmos-system__pillar :where(img) {
		grid-column: auto;
		grid-row: auto;
		width: auto;
		height: var(--kosmos-system-pillar-icon-height);
		max-height: none;
	}

	.kosmos-system__pillar :where(h3) {
		font-size: var(--kosmos-system-pillar-title-size);
		font-weight: var(--weight-medium);
	}

	.kosmos-system__pillar :where(p) {
		font-size: var(--text-base);
		line-height: var(--leading-figma-body);
	}

	.kosmos-system__promise-heading :where(h3) {
		flex: 0 1 auto;
		font-size: var(--kosmos-system-promise-title-size);
		font-weight: var(--weight-medium);
	}

	.kosmos-system__done {
		gap: var(--kosmos-system-intro-gap);
		font-size: var(--kosmos-system-done-size);
		color: inherit;
	}

	.home-reviews {
		padding-block: var(--section-py);
	}

	.home-reviews > .container {
		gap: var(--home-reviews-section-gap);
	}

	.home-reviews__header {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: var(--home-reviews-heading-gap);
	}

	.home-reviews__heading-group {
		max-width: var(--home-reviews-heading-width);
		gap: var(--home-reviews-heading-gap);
	}

	.home-reviews__heading-group .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.home-reviews__heading-group :where(h2) {
		font-size: var(--home-reviews-title-size);
	}

	.home-reviews__cta {
		flex-shrink: 0;
	}

	.home-reviews__slider {
		grid-template-columns: var(--target-size) minmax(0, 1fr) var(--target-size);
		gap: var(--space-3);
		align-items: center;
	}

	.home-reviews__button {
		display: grid;
	}

	.home-review {
		gap: var(--home-reviews-card-gap);
		padding: var(--space-6);
		border-radius: var(--home-reviews-card-radius);
	}

	.home-review :where(blockquote) {
		font-size: var(--text-base);
	}

	.home-steps__media .home-steps__background {
		inset: 0;
		top: auto;
		left: auto;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.home-steps__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg),
				transparent 20%,
				transparent 80%,
				var(--color-bg)
			),
			linear-gradient(to left, var(--color-bg), transparent);
	}

	.home-steps__inner {
		gap: var(--home-steps-main-gap);
		padding-block: 0;
	}

	.home-steps__heading {
		flex-direction: row;
		align-items: flex-end;
		justify-content: space-between;
		gap: var(--home-steps-heading-gap);
	}

	.home-steps__heading > .home-steps__heading-copy {
		gap: var(--home-steps-heading-gap);
	}

	.home-steps__heading .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.home-steps__heading .eyebrow::before {
		width: var(--kosmos-system-line-width);
	}

	.home-steps__heading :where(h2) {
		font-size: var(--home-steps-title-size);
	}

	.home-steps__heading :where(h2 .accent) {
		color: var(--color-accent);
	}

	.home-steps__heading .btn {
		flex-shrink: 0;
	}

	.home-steps__list {
		gap: var(--space-6);
	}

	.home-step {
		grid-template-areas: none;
		grid-template-columns: var(--home-steps-marker-size) minmax(0, 1fr);
		gap: var(--home-steps-marker-gap) var(--space-5);
		padding-top: 0;
		padding-bottom: var(--space-8);
	}

	.home-step__rail {
		display: contents;
	}

	.home-step__number {
		grid-area: auto;
		min-width: 0;
		font-size: var(--home-steps-number-size);
		line-height: var(--leading-figma-button);
		text-align: center;
	}

	.home-step__marker {
		grid-area: auto;
		grid-column: 1;
	}

	.home-step :where(h3) {
		grid-area: auto;
		grid-column: 2;
	}

	.home-step :where(p) {
		grid-area: auto;
		grid-column: 2;
	}

	.home-step:not(:last-child)::after {
		position: absolute;
		top: calc(var(--leading-figma-button) + var(--home-steps-marker-gap) + var(--home-steps-marker-size));
		bottom: 0;
		left: calc((var(--home-steps-marker-size) - var(--border-width)) / 2);
		width: var(--border-width);
		background-color: var(--color-border-strong);
		content: "";
	}

	.home-step__marker {
		width: var(--home-steps-marker-size);
		height: var(--home-steps-marker-size);
	}

	.home-step__marker-ring {
		width: var(--home-steps-marker-size);
		height: var(--home-steps-marker-size);
	}

	.home-step__marker-dot,
	.home-step__marker::after {
		width: var(--home-steps-marker-dot-size);
		height: var(--home-steps-marker-dot-size);
	}

	.home-step :where(h3) {
		align-self: end;
		font-size: var(--home-steps-step-title-size);
		font-weight: var(--weight-medium);
	}

	.home-step :where(p) {
		font-size: var(--text-base);
		line-height: var(--leading-figma-button);
	}

	.kosmos-system__connector {
		display: block;
		width: min(80vw, var(--kosmos-system-connector-width));
		height: auto;
	}

	.kosmos-system__pillars {
		gap: clamp(var(--space-8), 6.25vw, var(--kosmos-system-pillar-gap));
	}

	.home-reviews__track {
		grid-auto-columns: calc((100% - var(--home-reviews-slider-gap)) / 2);
		grid-auto-flow: column;
		gap: var(--home-reviews-slider-gap);
		overflow-x: auto;
	}

	.home-reviews {
		padding-top: var(--home-reviews-padding-block);
		padding-bottom: var(--home-reviews-padding-block);
	}

	.home-reviews__heading-group :where(h2) {
		font-size: var(--home-reviews-title-size);
	}

	.home-reviews__heading-group {
		max-width: var(--home-reviews-heading-width);
	}

	.home-reviews__slider {
		gap: var(--home-reviews-slider-gap);
	}

	.home-review {
		padding: var(--space-10);
	}

	.home-steps__inner {
		gap: var(--home-steps-main-gap);
	}

	.home-steps__heading :where(h2) {
		font-size: var(--home-steps-title-size);
	}

	.home-steps__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-8);
	}

	.home-step {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		padding-top: 0;
		padding-bottom: 0;
	}

	.home-step:not(:first-child) {
		padding-top: 0;
	}

	.home-step:not(:last-child)::after {
		content: none;
	}

	.home-step__number {
		width: var(--home-steps-marker-size);
		text-align: center;
	}

	.home-step__marker {
		margin-top: var(--home-steps-marker-gap);
	}

	.home-step__connector {
		position: absolute;
		top: calc(
			var(--leading-figma-button) +
			var(--home-steps-marker-gap) +
			((var(--home-steps-marker-size) - var(--border-width)) / 2)
		);
		left: var(--home-steps-marker-size);
		display: block;
		width: calc(100% + var(--space-8) - var(--home-steps-marker-size));
		height: var(--border-width);
		max-width: none;
	}

	.home-step :where(h3) {
		width: 100%;
		align-self: flex-start;
		margin-top: var(--home-steps-marker-copy-gap);
	}

	.home-step :where(p) {
		width: 100%;
		margin-top: var(--home-steps-copy-gap);
		margin-bottom: 0;
	}
}

@media (min-width: 1440px) {
	.contact-outreach__form .contact-modal__grid,
	.contact-outreach__field-row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
	}

	.home-service-card__icon {
		width: var(--space-24);
		height: var(--space-24);
	}

	.home-service-card {
		padding: var(--space-16);
	}

	.home-reviews__track {
		grid-auto-columns: calc((100% - (var(--home-reviews-slider-gap) * 2)) / 3);
	}

	.home-review {
		padding: var(--space-12);
	}

	.home-audiences__inner {
		grid-template-columns: minmax(var(--content-width-lg), 0.45fr) minmax(0, 1fr);
		gap: var(--space-12);
	}

	.home-audiences__intro {
		padding-right: var(--space-12);
	}

	.home-audience {
		grid-template-columns: minmax(var(--content-width-sm), 0.35fr) minmax(0, 1fr) var(--home-audiences-link-width);
		gap: var(--space-8);
	}

	.home-audience__link {
		grid-column: 3;
	}

	.kosmos-system__brand-copy {
		align-items: flex-start;
		text-align: left;
	}

	.kosmos-system__brand-text {
		align-items: flex-start;
	}

	.kosmos-system__brand-values {
		justify-content: flex-start;
	}
}

@media (min-width: 1024px) and (max-width: 1699px) {
	.execution-gap__list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0;
		min-height: 0;
	}

	.execution-gap__item {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-3);
		padding-left: var(--execution-gap-heading-gap);
	}

	.execution-gap__item:first-child {
		padding-left: 0;
	}

	.execution-gap__item:not(:last-child) {
		padding-right: var(--execution-gap-heading-gap);
	}

	.execution-model__diagram {
		max-width: min(var(--execution-model-diagram-max-mid), 100%);
		gap: 0;
	}

	.execution-model__node {
		width: var(--execution-model-orbit-mid);
		height: var(--execution-model-orbit-mid);
		padding: var(--execution-model-node-padding-mid);
		gap: var(--execution-model-node-stack-gap-mid);
	}

	.execution-model__node--kosmos {
		width: var(--execution-model-orbit-kosmos-mid);
		height: var(--execution-model-orbit-kosmos-mid);
		gap: var(--execution-model-node-stack-gap-mid);
	}

	.execution-model__node--kosmos :where(h3) {
		font-size: var(--execution-model-kosmos-title-size-mid);
	}

	.execution-model__node-copy {
		min-width: 0;
		max-width: 100%;
		gap: var(--execution-model-node-stack-gap-mid);
	}

	.execution-model__node-copy :where(h3) {
		font-size: var(--execution-model-node-title-size-mid);
		line-height: 1.15;
		letter-spacing: var(--tracking-label);
		text-wrap: balance;
	}

	.execution-model__node-copy :where(p) {
		font-size: var(--execution-model-node-body-size-mid);
		line-height: 1.25;
	}

	.execution-model__icon {
		width: var(--execution-model-icon-size-mid);
		height: var(--execution-model-icon-size-mid);
		flex-shrink: 0;
	}

	.execution-model__node:first-child .execution-model__icon {
		width: var(--execution-model-organization-icon-width-mid);
		height: var(--execution-model-icon-size-mid);
	}

	.execution-model__connector {
		width: var(--execution-model-connector-mid);
		flex-shrink: 0;
	}

	.kosmos-system__diagram {
		width: 100%;
		max-width: 100%;
	}

	.kosmos-system__connector {
		width: min(100%, var(--kosmos-system-connector-width));
	}

	.home-reviews__header {
		flex-wrap: nowrap;
	}

	.home-reviews__heading-group {
		min-width: 0;
		flex: 1 1 auto;
	}

	.home-services__cta,
	.kosmos-system__intro .btn,
	.home-reviews__cta,
	.home-steps__heading .btn {
		flex-shrink: 0;
	}

	.home-steps__heading {
		flex-wrap: nowrap;
	}

	.home-steps__heading > .home-steps__heading-copy {
		min-width: 0;
		flex: 1 1 auto;
	}

	.home-steps__list {
		gap: clamp(var(--space-6), 3vw, var(--space-8));
	}

	.home-step__connector {
		width: calc(100% + clamp(var(--space-4), 2vw, var(--space-8)) - var(--home-steps-marker-size));
	}
}

@media (min-width: 1024px) and (max-width: 1439px) {
	.home-audiences__inner {
		grid-template-columns: minmax(var(--home-audiences-intro-min-mid), var(--home-audiences-intro-ratio-mid)) minmax(0, 1fr);
		gap: var(--space-8);
	}

	.home-audiences__intro {
		min-width: 0;
		max-width: 100%;
		padding-right: var(--space-8);
		overflow: visible;
	}

	.home-audiences__title {
		max-width: 100%;
		font-size: var(--home-audiences-title-size-mid);
		line-height: normal;
		overflow: visible;
	}

	.home-audiences__title :where(span) {
		overflow-wrap: break-word;
	}

	.home-audience {
		grid-template-columns: minmax(0, 0.42fr) minmax(0, 1fr);
	}

	.home-audience__link {
		grid-column: 2;
		margin-top: var(--space-2);
	}
}

@media (min-width: 1400px) {
	.kosmos-system__brand-copy {
		position: absolute;
		top: 0;
		left: calc(50% + (var(--kosmos-system-logo-size) / 2) + var(--space-4));
		width: var(--kosmos-system-brand-width);
		min-height: var(--kosmos-system-logo-size);
		align-items: flex-start;
		justify-content: center;
		text-align: left;
	}

	.kosmos-system__brand-text {
		align-items: flex-start;
	}

	.kosmos-system__brand-values {
		justify-content: flex-start;
	}
}

@media (min-width: 1700px) {
	.kosmos-system__diagram {
		height: var(--kosmos-system-diagram-height);
	}

	.kosmos-system__brand-copy {
		position: absolute;
		top: 0;
		left: var(--kosmos-system-brand-left);
		width: var(--kosmos-system-brand-width);
		min-height: var(--kosmos-system-logo-size);
		align-items: flex-start;
		justify-content: center;
		text-align: left;
	}

	.kosmos-system__brand-values {
		justify-content: flex-start;
	}

	.kosmos-system__structure {
		gap: var(--kosmos-system-intro-gap);
	}

	.kosmos-system__connector {
		width: var(--kosmos-system-connector-width);
		height: var(--kosmos-system-connector-height);
	}

	.kosmos-system__pillars {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--kosmos-system-pillar-gap);
	}

	.kosmos-system__pillar {
		min-height: var(--kosmos-system-pillar-height);
	}

	.home-reviews > .container {
		max-width: var(--max-width-superwide);
	}

	.home-review {
		padding: var(--home-reviews-card-padding);
	}

	.home-audiences__inner {
		grid-template-columns: var(--home-audiences-left-width) minmax(0, 1fr);
		gap: var(--home-audiences-layout-gap);
	}

	.home-audiences__intro {
		padding-right: var(--home-audiences-left-padding);
	}

	.home-audience {
		grid-template-columns: var(--home-audiences-item-title-width) minmax(0, 1fr) var(--home-audiences-link-width);
		gap: var(--home-audiences-row-gap);
	}

	.home-audience__title {
		width: var(--home-audiences-item-title-width);
	}

	.home-steps {
		padding-block: var(--home-steps-padding);
		padding-inline: 0;
	}

	.home-steps__inner {
		max-width: var(--max-width-superwide);
	}

	.home-steps__list {
		width: var(--home-steps-list-width);
		grid-template-columns: repeat(3, var(--home-steps-item-width));
		gap: var(--home-steps-item-gap);
	}

	.home-step__connector {
		width: var(--home-steps-line-width);
	}
}

@media (min-width: 1700px) {
	.contact-outreach__grid {
		grid-template-columns: minmax(0, var(--contact-outreach-organizations-max)) minmax(0, 1fr);
	}

	.execution-gap__intro {
		grid-template-columns: minmax(0, 1fr) var(--execution-gap-copy-width);
	}

	.home-services__grid {
		gap: var(--space-12);
	}

	.execution-model {
		padding-block: var(--execution-model-gutter-fluid);
	}

	.execution-model__inner {
		max-width: var(--max-width-superwide);
		grid-template-columns: minmax(0, var(--execution-model-copy-fluid)) minmax(0, 1fr);
		column-gap: var(--execution-model-column-gap-fluid);
		row-gap: var(--execution-model-block-gap);
	}

	.execution-model__node {
		width: var(--execution-model-node-fluid);
		height: var(--execution-model-node-fluid);
	}

	.execution-model__node--kosmos {
		width: var(--execution-model-kosmos-fluid);
		height: var(--execution-model-kosmos-fluid);
	}

	.execution-model__diagram {
		width: max-content;
		justify-self: start;
	}

	.execution-model__connector {
		width: var(--execution-model-connector-fluid);
		flex: 0 0 auto;
	}

	.home-next-step {
		padding-block: var(--home-cta-padding-block);
	}

	.home-next-step__inner {
		max-width: var(--max-width-superwide);
		padding-inline: var(--home-cta-gutter-fluid);
	}
}

@media (min-width: 1024px) and (max-width: 1699px) {
	body.home .home-next-step__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-gutter-desktop-fluid);
	}
}

@media (min-width: 1024px) {
	body.home :is(
		.home-hero__inner,
		.execution-gap > .container,
		.execution-model__inner,
		.home-services > .container,
		.home-audiences__inner,
		.kosmos-system__inner,
		.home-reviews > .container,
		.home-contact__inner
	).container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.home-steps__inner.container,
	.home-contact__inner.container,
	.home-audiences__inner.container,
	.services-hero__inner.container,
	.reach-hub .home-services > .container,
	.reach-section > .container,
	.faq-band__inner.container,
	.blog-hero__inner.container,
	.post-article > .container,
	.post-end > .container,
	.blog-index > .container,
	.services-index > .container,
	.service-feature__inner.container,
	.technology-domains__inner.container,
	.audience-copy > .container,
	.audience-initiatives > .container,
	.audience-services > .container,
	.audience-others > .container,
	.service-page .container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}
}

.services-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.services-hero__background,
.services-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.services-hero__background {
	max-width: none;
	object-fit: cover;
	object-position: right center;
	opacity: var(--page-hero-image-opacity);
}

.services-hero__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	min-height: 32rem;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--space-12);
	padding-top: var(--space-8);
	padding-bottom: var(--section-py);
}

.services-hero__breadcrumbs {
	margin: 0;
	font-weight: var(--weight-light);
}

.services-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-hero-crumb-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.services-hero__crumb {
	margin: 0;
}

.services-hero__breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.services-hero__breadcrumbs :where(a):hover {
	color: var(--color-accent);
}

.services-hero__breadcrumbs :where(a):visited {
	color: var(--color-text);
}

.services-hero__crumb[aria-current="page"] {
	color: var(--color-accent);
}

.services-hero__content {
	display: flex;
	width: 100%;
	max-width: var(--services-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.services-hero .eyebrow {
	line-height: normal;
}

.services-hero__title {
	max-width: 100%;
	font-size: var(--hero-title-size);
	line-height: var(--leading-figma-heading);
	text-wrap: balance;
}

.services-hero__intro {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100%;
}

.services-hero__intro :where(p) {
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.services-index {
	padding-block: var(--section-py);
}

.service-feature {
	position: relative;
	display: flex;
	align-items: center;
	overflow: hidden;
	padding-block: var(--section-py);
	background-color: var(--color-bg);
}

.service-feature__background,
.service-feature__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.service-feature__background {
	max-width: none;
	object-fit: cover;
	object-position: right center;
}

.service-feature--reverse .service-feature__background {
	object-position: left center;
}

.service-feature__shade,
.service-feature--reverse .service-feature__shade {
	background-color: var(--color-black-80);
}

:where(body.post-type-archive-service) .site-main > * + * {
	margin-top: var(--space-8);
}

body.page-template-page-who-we-serve-php .site-main > * + * {
	margin-top: var(--section-gap);
}

:where(body.post-type-archive-service, body.city-page, body.page-template-page-who-we-serve-php) .service-feature__shade,
:where(body.post-type-archive-service, body.city-page, body.page-template-page-who-we-serve-php) .service-feature--reverse .service-feature__shade {
	background-color: transparent;
	background-image: linear-gradient(
		to bottom,
		var(--color-bg) 0%,
		var(--color-black-70) 7%,
		var(--color-black-70) 93%,
		var(--color-bg) 100%
	);
}

.service-feature__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	width: 100%;
	align-items: center;
}

.service-feature__copy {
	display: flex;
	width: 100%;
	max-width: var(--services-feature-copy-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--services-feature-gap);
}

.service-feature .eyebrow {
	line-height: normal;
}

.service-feature__title {
	font-size: var(--heading-2);
	line-height: normal;
	text-wrap: balance;
}

.service-feature__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}

.service-feature__body :where(p),
.service-feature__tagline {
	margin-bottom: 0;
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.service-feature__tagline {
	width: 100%;
	padding-top: var(--services-feature-gap);
	border-top: var(--border-width) solid var(--color-border);
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.service-feature .circle-link,
.audience-other .circle-link {
	gap: var(--home-hero-button-gap-mobile);
}

.service-feature .circle-link__visual,
.audience-other .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.technology-domains {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.technology-domains__background,
.technology-domains__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.technology-domains__background {
	max-width: none;
	object-fit: cover;
	object-position: var(--services-domain-mobile-bg-position);
}

.technology-domains__shade {
	background-image: linear-gradient(
		to bottom,
		var(--color-bg) 0%,
		var(--color-black-70) 7%,
		var(--color-black-70) 93%,
		var(--color-bg) 100%
	);
}

.technology-domains__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--services-domain-gap);
	padding-top: var(--section-py-md);
	padding-bottom: var(--section-py);
}

.technology-domains__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--services-feature-gap);
}

.technology-domains .eyebrow {
	line-height: normal;
}

.technology-domains__title {
	width: 100%;
	font-size: var(--heading-2);
	line-height: normal;
	text-wrap: wrap;
}

.technology-domains__list {
	display: flex;
	flex-direction: column;
	gap: var(--services-domain-row-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.technology-domain {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin: 0;
}

.technology-domain__marker {
	position: relative;
	display: grid;
	width: var(--services-domain-marker-mobile);
	height: var(--services-domain-marker-mobile);
	flex: 0 0 auto;
	place-items: center;
	border: var(--border-width) dashed var(--color-accent);
	border-radius: var(--border-radius-full);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: 1;
	letter-spacing: var(--tracking-body);
	color: var(--color-accent);
}

.technology-domain__marker::before {
	position: absolute;
	inset: var(--space-1);
	border: var(--border-width) solid var(--color-accent);
	border-radius: inherit;
	content: "";
}

.technology-domain__rule {
	display: none;
	width: var(--space-8);
	height: var(--border-width);
	flex: 0 0 auto;
	background-color: var(--color-accent);
}

.technology-domain__copy {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-1);
}

.technology-domain__title {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.technology-domain__copy :where(p) {
	margin-bottom: 0;
	font-size: var(--text-sm);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

@media (min-width: 640px) {
	:where(body.post-type-archive-service) .site-main > * + * {
		margin-top: 0;
	}

	body.page-template-page-who-we-serve-php .site-main > * + * {
		margin-top: var(--section-gap);
	}

	:where(body.post-type-archive-service, body.city-page, body.page-template-page-who-we-serve-php) .service-feature__shade,
	:where(body.post-type-archive-service, body.city-page, body.page-template-page-who-we-serve-php) .service-feature--reverse .service-feature__shade {
		background-color: var(--color-black-80);
		background-image: none;
	}

	.services-hero__inner {
		justify-content: center;
		gap: var(--stack-xl);
		padding-top: var(--hero-top-padding-desktop);
		padding-bottom: var(--section-py-md);
	}

	.services-index,
	.technology-domains__inner {
		padding-block: var(--section-py-md);
	}

	.service-feature {
		padding-block: var(--section-py-md);
	}

	.technology-domain {
		gap: var(--services-domain-gap);
	}

	.technology-domain__marker {
		width: var(--services-domain-marker);
		height: var(--services-domain-marker);
		font-size: var(--text-lg);
	}

	.technology-domain__title {
		font-size: var(--text-base);
	}

	.technology-domain__copy :where(p) {
		font-size: var(--text-base);
	}

	.technology-domain__rule {
		display: block;
	}

	.technology-domains__background {
		inset: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: left center;
	}

	.technology-domains__shade {
		background-color: var(--color-black-70);
		background-image: linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent 16%,
			transparent 84%,
			var(--color-bg) 100%
		);
	}
}

@media (min-width: 1024px) {
	.services-hero__background {
		object-position: center;
	}

	.services-hero__inner {
		min-height: var(--services-hero-height);
		gap: var(--services-hero-stack-gap);
		padding-bottom: var(--section-py-lg);
	}

	.services-hero__content {
		gap: var(--services-hero-content-gap);
	}

	.services-hero .eyebrow,
	.service-feature .eyebrow,
	.technology-domains .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.service-feature .eyebrow::before,
	.technology-domains .eyebrow::before {
		width: var(--services-eyebrow-line);
	}

	.services-index {
		padding-block: var(--services-index-pad);
	}

	.service-feature {
		min-height: var(--services-feature-min-height);
		padding-block: var(--services-feature-pad);
	}

	.service-feature__copy {
		max-width: var(--services-mid-copy-width);
	}

	.service-feature__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 18%,
				transparent 82%,
				var(--color-bg) 100%
			),
			linear-gradient(
				to right,
				var(--color-bg) 0%,
				var(--color-black-85) 46%,
				transparent 78%
			);
	}

	.service-feature--reverse .service-feature__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 18%,
				transparent 82%,
				var(--color-bg) 100%
			),
			linear-gradient(
				to left,
				var(--color-bg) 0%,
				var(--color-black-85) 46%,
				transparent 78%
			);
	}

	.service-feature--reverse .service-feature__copy {
		margin-left: auto;
	}

	.service-feature__title,
	.technology-domains__title {
		font-size: var(--services-feature-title-size);
		letter-spacing: var(--services-feature-title-tracking);
	}

	.service-feature__tagline {
		font-size: var(--services-feature-tagline-size);
	}

	.service-feature .circle-link,
	.audience-other .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.service-feature .circle-link__visual,
	.audience-other .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.service-feature .circle-link__label {
		width: var(--home-hero-label-width);
	}

	.technology-domains__inner {
		align-items: flex-end;
		padding-block: var(--services-domain-pad-block);
	}

	.technology-domains__shade {
		background:
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 20%,
				transparent 80%,
				var(--color-bg) 100%
			),
			linear-gradient(
				to right,
				transparent 0%,
				transparent 34%,
				var(--color-bg) 62%,
				var(--color-bg) 100%
			);
	}

	.technology-domains__intro,
	.technology-domains__list {
		width: min(100%, var(--services-mid-copy-width));
	}

	.technology-domain__rule {
		width: var(--services-domain-rule);
	}
}

@media (min-width: 1440px) {
	.service-feature--reverse .service-feature__background {
		right: auto;
		width: 64%;
		object-fit: contain;
		object-position: left center;
	}

	.service-feature--reverse.service-feature--cover .service-feature__background {
		right: 0;
		width: 100%;
		object-fit: cover;
		object-position: left center;
	}

	.service-feature__copy {
		max-width: var(--services-feature-copy-width);
	}

	.technology-domains__intro,
	.technology-domains__list {
		width: min(100%, var(--services-domain-copy-width));
	}
}

.delivery-hero .services-hero__background {
	object-position: 78% center;
}

.delivery-model,
.delivery-fit {
	padding-block: var(--home-audiences-padding-block);
}

.delivery-model__inner,
.delivery-model__layers {
	display: flex;
	flex-direction: column;
}

.delivery-model__inner {
	gap: var(--home-audiences-layout-gap);
}

.delivery-model__intro,
.delivery-fit__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--home-audiences-heading-gap);
}

.delivery-model__intro :where(h2),
.delivery-fit__inner :where(h2),
.delivery-principle__inner :where(h2) {
	font-size: var(--home-mobile-title-size);
	line-height: normal;
}

.delivery-model__intro > :where(p:not(.eyebrow)),
.delivery-fit__inner > :where(p:not(.eyebrow)),
.delivery-principle__inner > :where(p:not(.eyebrow)),
.delivery-layer > :where(p) {
	margin: 0;
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.delivery-fit .circle-link,
.delivery-principle .circle-link {
	gap: var(--home-hero-button-gap-mobile);
}

.delivery-fit .circle-link__visual,
.delivery-principle .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.delivery-model__layers {
	gap: 0;
}

.delivery-model__connector {
	display: flex;
	align-self: center;
	align-items: center;
	justify-content: center;
	width: var(--home-audiences-heading-gap);
	height: var(--home-audiences-heading-gap);
}

.delivery-model__connector :where(img) {
	width: var(--home-audiences-heading-gap);
	height: auto;
	transform: rotate(90deg);
}

.delivery-layer {
	position: relative;
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-6);
	padding: var(--space-6);
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--home-reviews-card-radius);
	background-color: var(--color-card-bg);
}

.delivery-layer__texture {
	position: absolute;
	top: 0;
	height: 100%;
	max-width: none;
	object-fit: cover;
	opacity: var(--delivery-layer-texture-opacity);
	pointer-events: none;
}

.delivery-layer--leadership .delivery-layer__texture {
	left: -9.47%;
	width: 125.56%;
}

.delivery-layer--assurance .delivery-layer__texture {
	left: -0.04%;
	width: 111.67%;
}

.delivery-layer--system .delivery-layer__texture {
	left: 0;
	width: 100%;
}

.delivery-layer__title,
.delivery-layer > :where(p) {
	position: relative;
	z-index: var(--z-raised);
}

.delivery-layer__title {
	max-width: var(--delivery-layer-title-width);
	font-family: var(--font-sans);
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-on-primary);
}

.delivery-model__statement {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.delivery-principles {
	overflow: hidden;
	padding-top: var(--section-py);
	padding-bottom: var(--section-py-md);
}

.delivery-principles__background,
.delivery-principles__shade,
.delivery-principle__background,
.delivery-principle__shade {
	position: absolute;
	pointer-events: none;
}

.delivery-principles__background,
.delivery-principles__shade {
	inset: 0;
	width: 100%;
	height: 100%;
}

.delivery-principles__background {
	top: 20.88%;
	height: 93.53%;
	max-width: none;
	object-fit: cover;
	opacity: 0.5;
}

.delivery-principles__shade {
	background: linear-gradient(
		to bottom,
		var(--color-bg) 0%,
		transparent 20%,
		transparent 80%,
		var(--color-bg) 100%
	);
}

.delivery-principles .home-audiences__inner {
	position: relative;
	z-index: var(--z-raised);
}

.delivery-principles .home-audiences__title :where(span) {
	display: inline;
}

.delivery-principles .home-audience {
	grid-template-columns: minmax(0, var(--home-audiences-item-title-width)) minmax(0, 1fr);
}

.delivery-principles .home-audience__heading {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-2);
}

.delivery-principles .home-audience__lede {
	margin: 0;
	font-size: var(--home-audiences-item-title-size);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
	color: var(--color-accent);
}

.delivery-principle {
	overflow: hidden;
	padding: 0;
}

.delivery-principle__background {
	top: auto;
	right: 0;
	bottom: 0;
	left: 0;
	width: 100%;
	height: auto;
	max-width: none;
	object-fit: contain;
	object-position: center bottom;
}

.delivery-principle__shade {
	inset: 0;
	background:
		linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent 42%
		),
		linear-gradient(
			to bottom,
			transparent 93%,
			var(--color-bg) 100%
		);
}

.delivery-principle__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--home-audiences-heading-gap);
	padding-top: var(--home-mobile-section-py);
	padding-bottom: var(--section-py-md);
	text-align: center;
}

.delivery-principle .eyebrow {
	justify-content: center;
	max-width: var(--delivery-principle-width);
}

.delivery-principle__inner :where(h2),
.delivery-principle__inner > :where(p:not(.eyebrow)) {
	max-width: var(--delivery-principle-width);
}

.delivery-hero .services-hero__content {
	max-width: var(--delivery-hero-content-width);
}

@media (min-width: 640px) {
	.delivery-principle__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent 42%
		);
	}

	.delivery-principle__inner {
		padding-bottom: var(--home-mobile-section-py);
	}
}

@media (min-width: 1024px) {
	.delivery-hero .services-hero__shade {
		background:
			linear-gradient(to right, var(--color-bg), transparent),
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 20%,
				transparent 80%,
				var(--color-bg) 100%
			);
	}

	.delivery-hero .services-hero__background {
		object-position: center;
	}

	.delivery-hero .eyebrow::before {
		width: var(--eyebrow-line-desktop);
	}

	.delivery-model .eyebrow::before,
	.delivery-fit .eyebrow::before,
	.delivery-principle .eyebrow::before {
		width: var(--services-eyebrow-line);
	}

	.delivery-model .eyebrow,
	.delivery-fit .eyebrow,
	.delivery-principle .eyebrow,
	.delivery-hero .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.delivery-model__intro :where(h2),
	.delivery-fit__inner :where(h2),
	.delivery-principle__inner :where(h2) {
		font-size: var(--home-audiences-title-size);
	}

	.delivery-principle__inner {
		padding-top: var(--home-contact-padding-top);
		padding-bottom: var(--section-gap);
	}

	.delivery-model__layers {
		flex-direction: row;
		align-items: stretch;
	}

	.delivery-model__connector {
		width: auto;
		height: auto;
	}

	.delivery-model__connector :where(img) {
		transform: none;
	}

	.delivery-layer {
		flex: 1 1 0;
		gap: var(--home-audiences-heading-gap);
		padding: var(--home-audiences-padding-block);
	}

	.delivery-layer__title,
	.delivery-model__statement {
		font-size: var(--services-feature-tagline-size);
	}

	.delivery-principles {
		padding-top: var(--home-audiences-padding-block);
		padding-bottom: var(--delivery-principles-padding-bottom);
	}

	.delivery-principles .home-audiences__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.delivery-fit .circle-link,
	.delivery-principle .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		font-size: var(--text-sm);
		line-height: var(--leading-figma-button);
		letter-spacing: var(--tracking-wide);
	}

	.delivery-fit .circle-link__visual,
	.delivery-principle .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.delivery-fit .circle-link__label,
	.delivery-principle .circle-link__label {
		width: var(--home-hero-label-width);
	}
}

@media (max-width: 1200px) {
	.delivery-layer {
		padding-top: var(--space-6);
		padding-inline: var(--space-6);
	}

	.delivery-layer__title {
		font-size: var(--text-lg);
	}

	.eyebrow.eyebrow {
		gap: var(--eyebrow-gap-mid);
		font-size: var(--text-sm);
	}

	.eyebrow.eyebrow::before {
		flex-basis: var(--eyebrow-line-mid);
		width: var(--eyebrow-line-mid);
	}
}

.legal-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.legal-hero__background,
.legal-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.legal-hero__background {
	max-width: none;
	object-fit: cover;
	object-position: right center;
}

.legal-hero__shade {
	background:
		linear-gradient(
			to right,
			var(--color-bg) 0%,
			var(--color-black-85) 28%,
			var(--color-black-80) 100%
		),
		linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent var(--page-hero-shade-vertical-stop),
			transparent calc(100% - var(--page-hero-shade-vertical-stop)),
			var(--color-bg) 100%
		);
}

.legal-hero__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	min-height: 0;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--space-12);
	padding-top: var(--space-8);
	padding-bottom: var(--space-8);
}

.legal-hero__breadcrumbs {
	margin: 0;
	font-size: var(--text-xs);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.legal-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-hero-crumb-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal-hero__crumb {
	margin: 0;
}

.legal-hero__breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.legal-hero__breadcrumbs :where(a):hover {
	color: var(--color-accent);
}

.legal-hero__breadcrumbs :where(a):visited {
	color: var(--color-text);
}

.legal-hero__crumb[aria-current="page"] {
	color: var(--color-accent);
}

.legal-hero__content {
	display: flex;
	width: 100%;
	max-width: var(--contact-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.legal-hero .eyebrow {
	line-height: normal;
}

.legal-hero__title {
	max-width: 100%;
	font-size: var(--hero-title-size);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
}

.legal-hero__updated,
.legal-hero__intro {
	width: 100%;
	margin: 0;
}

.legal-hero__updated {
	font-family: var(--font-heading);
	font-size: var(--text-base);
	line-height: normal;
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--color-accent);
}

.legal-hero__intro {
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.legal {
	padding-bottom: var(--section-py);
}

.legal__layout {
	display: grid;
	gap: var(--legal-column-gap);
}

.legal__content {
	min-width: 0;
	max-width: none;
	overflow-wrap: break-word;
}

.legal__content :where(h2) {
	margin-top: var(--legal-section-gap);
	margin-bottom: var(--legal-heading-gap);
	font-size: var(--heading-2);
	scroll-margin-top: calc(var(--header-measured-height) + var(--space-6));
}

.legal__content :where(h3, h4) {
	margin-top: var(--space-8);
	margin-bottom: var(--space-4);
	scroll-margin-top: calc(var(--header-measured-height) + var(--space-6));
}

.legal__content > :first-child {
	margin-top: 0;
}

.legal__content :where(p, li) {
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.legal__content :where(figure) {
	max-width: 100%;
	margin: 0 0 var(--legal-heading-gap);
}

.legal__content :where(.wp-block-table) {
	overflow-x: auto;
}

.legal__content :where(table) {
	margin: 0 0 var(--legal-heading-gap);
}

.legal__content :where(figure table) {
	margin: 0;
}

.legal-toc__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.legal-toc__item {
	margin: 0;
}

.legal-toc__link {
	display: flex;
	align-items: center;
	gap: var(--legal-toc-gap);
	width: 100%;
	min-height: var(--target-size);
	padding: var(--legal-toc-pad-y) 0 var(--legal-toc-pad-y) var(--legal-toc-pad-x);
	border-left: calc(var(--border-width) * 2) solid var(--color-text);
	color: var(--color-text);
	text-decoration: none;
}

.legal-toc__link:visited {
	color: var(--color-text);
}

.legal-toc__link:hover {
	color: var(--color-accent);
}

.legal-toc__link[aria-current="true"],
.legal-toc__link[aria-current="true"]:visited {
	border-left-color: var(--color-accent);
	color: var(--color-accent);
}

.legal-toc__link:focus-visible {
	outline-offset: calc(var(--space-1) * -1);
}

.legal-toc__index {
	flex: 0 0 auto;
	width: 2.75rem;
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	font-variant-numeric: tabular-nums;
	line-height: normal;
	letter-spacing: var(--tracking-wide);
}

.legal-toc__label {
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
}

.legal__sidebar:empty {
	display: none;
}

.toc-jump-home {
	padding-bottom: var(--stack-lg);
}

.blog-hero + .toc-jump-home .toc-jump {
	max-width: var(--blog-hero-content-width);
}

.case-study-hero + .toc-jump-home .toc-jump {
	max-width: none;
}

.legal-hero + .toc-jump-home .toc-jump {
	max-width: var(--contact-hero-content-width);
}

.toc-jump {
	width: 100%;
	border: var(--border-width) solid var(--color-border-strong);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-bg);
}

.toc-jump__bar,
.toc-jump__float {
	display: flex;
	align-items: center;
	gap: var(--space-3);
	min-height: var(--target-size);
	border: 0;
	background: transparent;
	color: var(--color-text);
	font-family: var(--font-sans);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
}

.toc-jump__bar {
	justify-content: space-between;
	width: 100%;
	padding: var(--space-3) var(--space-4);
	border-radius: inherit;
}

.toc-jump__lead,
.toc-jump__meta {
	display: inline-flex;
	align-items: center;
	gap: var(--space-3);
	min-width: 0;
}

.toc-jump__count,
.toc-jump__meta .toc-jump__chevron {
	color: var(--color-accent);
}

.toc-jump__icon,
.toc-jump__chevron {
	flex: 0 0 auto;
}

.toc-jump__bar .toc-jump__chevron,
.toc-jump__float .toc-jump__chevron {
	transition: transform var(--transition-fast);
}

.toc-jump.is-open:not(.is-fixed) .toc-jump__bar .toc-jump__chevron {
	transform: rotate(180deg);
}

.toc-jump.is-fixed .toc-jump__float .toc-jump__chevron {
	transform: rotate(180deg);
}

.toc-jump__bar:focus-visible,
.toc-jump__float:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.toc-jump .legal-toc {
	display: none;
	margin: 0;
	border-top: var(--border-width) solid var(--color-border);
}

.toc-jump.is-open:not(.is-fixed) .legal-toc,
.toc-jump.is-fixed .legal-toc {
	display: block;
}

.toc-jump.is-fixed .legal-toc {
	position: fixed;
	right: var(--space-4);
	bottom: calc(var(--target-size) + var(--space-8) + env(safe-area-inset-bottom));
	left: var(--space-4);
	z-index: var(--z-dropdown);
	max-height: min(24rem, 60svh);
	overflow: auto;
	border: var(--border-width) solid var(--color-border-strong);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-bg);
	scrollbar-width: none;
}

.toc-jump.is-fixed .legal-toc::-webkit-scrollbar {
	display: none;
}

.toc-jump .legal-toc__link {
	gap: var(--space-4);
	padding: var(--space-3) var(--space-4);
	border-bottom: var(--border-width) solid var(--color-border);
	border-left-color: transparent;
	background-color: transparent;
}

.toc-jump .legal-toc__item:last-child .legal-toc__link {
	border-bottom: 0;
}

.toc-jump .legal-toc__link[aria-current="true"],
.toc-jump .legal-toc__link[aria-current="true"]:visited {
	border-left-color: var(--color-accent);
	background-color: var(--color-bg-secondary);
}

.toc-jump .legal-toc__index {
	width: var(--space-10);
	font-size: var(--text-sm);
	letter-spacing: var(--tracking-body);
}

.toc-jump__float {
	position: fixed;
	bottom: max(var(--space-4), env(safe-area-inset-bottom));
	left: 50%;
	z-index: var(--z-dropdown);
	padding: var(--space-2) var(--space-5);
	border: var(--border-width) solid var(--color-border-strong);
	border-radius: var(--border-radius-full);
	background-color: var(--color-bg);
	transform: translateX(-50%);
}

.toc-jump:not(.is-away) .toc-jump__float {
	display: none;
}

@media (min-width: 640px) {
	.legal-hero + .legal {
		margin-top: 0;
	}

	.legal-hero__breadcrumbs {
		font-size: var(--text-base);
	}

	.legal-hero__inner {
		justify-content: center;
		gap: var(--stack-xl);
		padding-top: var(--hero-top-padding-desktop);
		padding-bottom: var(--space-8);
	}

	.legal {
		padding-bottom: var(--section-py-md);
	}
}

@media (min-width: 1024px) {
	.legal-hero__shade {
		background:
			linear-gradient(to right, var(--color-bg) 0%, transparent 100%),
			linear-gradient(
				to bottom,
				var(--color-bg) 0%,
				transparent 20%,
				transparent 80%,
				var(--color-bg) 100%
			);
	}

	.legal-hero__inner {
		min-height: var(--legal-hero-min-height);
		gap: var(--contact-hero-stack-gap);
		padding-bottom: var(--section-py-lg);
	}

	.legal-hero__content {
		gap: var(--contact-hero-content-gap);
	}

	.legal-hero .eyebrow {
		gap: var(--eyebrow-gap-desktop);
	}

	.legal-hero .eyebrow::before {
		width: var(--eyebrow-line-desktop);
	}

	.legal-hero__updated {
		letter-spacing: var(--tracking-wide);
	}

	.legal {
		padding-bottom: var(--section-py-lg);
	}

	.legal__layout:has(.legal__sidebar) {
		grid-template-columns: minmax(16rem, var(--legal-toc-width)) minmax(0, 1fr);
		align-items: stretch;
	}

	.legal__sidebar {
		display: block;
		border-right: var(--border-width) solid var(--color-border);
		padding-right: var(--legal-toc-rule);
	}

	.legal__sidebar .toc-jump {
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	.toc-jump-home {
		display: none;
	}

	.toc-jump__bar,
	.toc-jump__float {
		display: none;
	}

	.legal__sidebar .legal-toc {
		display: block;
		border-top: 0;
	}

	.legal__sidebar .legal-toc__link {
		gap: var(--legal-toc-gap);
		padding: var(--legal-toc-pad-y) 0 var(--legal-toc-pad-y) var(--legal-toc-pad-x);
		border-bottom: 0;
		border-left-color: var(--color-text);
		background-color: transparent;
	}

	.legal__sidebar .legal-toc__link[aria-current="true"],
	.legal__sidebar .legal-toc__link[aria-current="true"]:visited {
		border-left-color: var(--color-accent);
		background-color: transparent;
	}

	.legal__sidebar .legal-toc__index {
		width: 2.75rem;
		font-size: var(--text-xl);
		letter-spacing: var(--tracking-wide);
	}

	.legal-toc {
		position: sticky;
		top: calc(var(--header-measured-height) + var(--space-6));
		max-height: calc(100svh - var(--header-measured-height) - var(--space-12));
		overflow: auto;
		scrollbar-width: none;
	}

	.legal-toc::-webkit-scrollbar {
		display: none;
	}
}

.blog-hero {
	position: relative;
	overflow: hidden;
	background-color: var(--color-bg);
}

.blog-hero__background,
.blog-hero__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.blog-hero__background {
	max-width: none;
	object-fit: cover;
	object-position: center right;
}

.blog-hero__shade {
	background:
		linear-gradient(to right, var(--color-bg) 0%, var(--color-black-80) 48%, transparent 78%),
		linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
}

.blog-hero__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	min-height: var(--blog-hero-min-height);
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-start;
	gap: var(--space-12);
	padding-top: var(--space-8);
	padding-bottom: var(--section-py);
}

.blog-hero__breadcrumbs {
	margin: 0;
	font-weight: var(--weight-light);
}

.blog-hero__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--about-hero-crumb-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.blog-hero__crumb {
	margin: 0;
}

.blog-hero__breadcrumbs :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.blog-hero__breadcrumbs :where(a):hover {
	color: var(--color-accent);
}

.blog-hero__breadcrumbs :where(a):visited {
	color: var(--color-text);
}

.blog-hero__crumb[aria-current="page"] {
	color: var(--color-accent);
}

.blog-hero__content {
	display: flex;
	width: 100%;
	max-width: var(--blog-hero-content-width);
	flex-direction: column;
	align-items: flex-start;
	gap: var(--stack-md);
}

.blog-hero .eyebrow {
	line-height: normal;
}

.blog-hero__title {
	max-width: 100%;
	font-size: var(--hero-title-size);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
}

.post-hero .blog-hero__title {
	font-size: var(--heading-1);
}

.blog-hero__intro {
	width: 100%;
	max-width: none;
	margin-bottom: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.blog-index {
	padding-bottom: var(--section-py);
}

.blog-index > .container {
	display: flex;
	flex-direction: column;
	gap: var(--blog-stack-gap);
}

.blog-grid[hidden],
.case-list[hidden],
.blog-card[hidden],
.case-card[hidden] {
	display: none;
}

.blog-filters {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: var(--space-4);
}

.blog-filters__categories {
	max-width: 100%;
	margin-block: calc(var(--space-1) * -1);
	padding-block: var(--space-1);
	overflow-x: auto;
	scrollbar-width: none;
}

.blog-filters__categories::-webkit-scrollbar {
	display: none;
}

.blog-filters__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	width: max-content;
	gap: var(--blog-filter-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.blog-filters__list :where(li) {
	margin: 0;
}

.blog-filters__pill,
.blog-filters__pill:visited,
.blog-filters__pill:hover {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: var(--target-size);
	padding: var(--space-2) var(--space-4);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--blog-filter-radius);
	font-family: var(--font-sans);
	font-size: var(--text-sm);
	font-weight: var(--weight-light);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-body);
	text-decoration: none;
	white-space: nowrap;
	color: var(--color-text);
}

.blog-filters__pill:hover,
.blog-filters__pill[aria-current="page"] {
	border-color: var(--color-accent);
}

.blog-filters__pill[aria-current="page"] {
	background-color: var(--color-accent-10);
}

.blog-filters__search {
	display: flex;
	align-items: center;
	gap: var(--blog-filter-pad-x);
	width: 100%;
	margin-left: 0;
	padding: var(--blog-filter-pad-y) var(--blog-filter-pad-x);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--blog-filter-radius);
}

.blog-filters__search:focus-within {
	border-color: var(--color-accent);
}

.blog-filters__submit {
	position: relative;
	display: grid;
	flex: 0 0 var(--blog-search-icon);
	place-items: center;
	width: var(--blog-search-icon);
	height: var(--blog-search-icon);
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.blog-filters__submit::before {
	position: absolute;
	inset: calc((var(--blog-search-icon) - var(--target-size)) / 2);
	content: "";
}

.blog-filters__submit:focus-visible {
	outline: none;
}

.blog-filters__input {
	width: 100%;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.blog-filters__input::placeholder {
	color: var(--color-text);
	opacity: 1;
}

.blog-filters__input::-webkit-search-decoration,
.blog-filters__input::-webkit-search-cancel-button {
	appearance: none;
}

.blog-filters__input:focus-visible {
	outline: none;
}

@media (min-width: 640px) {
	.blog-filters {
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-6) var(--blog-filter-gap);
	}

	.blog-filters__categories {
		margin-block: 0;
		padding-block: 0;
		overflow: visible;
	}

	.blog-filters__list {
		flex-wrap: wrap;
		width: auto;
	}

	.blog-filters__pill,
	.blog-filters__pill:visited,
	.blog-filters__pill:hover {
		min-height: 0;
		padding: var(--blog-filter-pad-y) var(--blog-filter-pad-x);
		font-size: var(--text-base);
		line-height: var(--leading-figma-body);
	}

	.blog-filters__search {
		width: min(100%, var(--blog-search-width));
		margin-left: auto;
	}
}

@media (min-width: 1024px) {
	.blog-filters__search {
		padding-right: var(--blog-search-pad-end);
	}
}

.blog-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--home-services-mobile-card-gap);
}

.blog-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: var(--blog-grid-gap);
}

.blog-card__media {
	position: relative;
	display: block;
	overflow: hidden;
	height: var(--blog-card-image-height);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--blog-card-radius);
	background-color: var(--color-bg-secondary);
}

.blog-card__media::after {
	position: absolute;
	inset: 0;
	background-color: var(--color-black-35);
	content: "";
	pointer-events: none;
}

.blog-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-card__body {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: var(--space-4);
}

.blog-card__kicker {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-accent);
}

.blog-card__title {
	font-size: var(--heading-5);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
	text-wrap: balance;
}

.blog-card__title :where(a),
.blog-card__title :where(a):visited {
	color: inherit;
	text-decoration: none;
}

.blog-card__title :where(a):hover {
	color: var(--color-accent);
}

.blog-card__excerpt {
	margin: 0;
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.blog-grid .blog-card {
	height: 100%;
	container-type: inline-size;
}

.blog-grid .blog-card__body {
	flex: 1;
}

.blog-grid .blog-card__rule {
	margin-top: auto;
}

.blog-grid .blog-card__title {
	min-height: calc(var(--leading-heading) * 2em);
}

@media (min-width: 640px) {
	.blog-grid .blog-card__excerpt {
		height: calc(var(--leading-figma-body) * 10em);
		overflow: hidden;
	}

	@container (min-width: 24rem) {
		.blog-grid .blog-card__excerpt {
			height: calc(var(--leading-figma-body) * 8em);
		}
	}

	@container (min-width: 32rem) {
		.blog-grid .blog-card__excerpt {
			height: calc(var(--leading-figma-body) * 6em);
		}
	}

	@container (min-width: 36rem) {
		.blog-grid .blog-card__excerpt {
			height: calc(var(--leading-figma-body) * 5em);
		}
	}
}

.blog-card__rule {
	border-top: var(--border-width) solid var(--color-border);
}

.blog-card__meta,
.post-hero__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-5);
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.blog-card__dot {
	flex: 0 0 var(--blog-meta-dot);
	width: var(--blog-meta-dot);
	height: var(--blog-meta-dot);
	border-radius: var(--border-radius-full);
	background-color: var(--color-text);
}

.blog-card__link,
.blog-card__link:visited {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: var(--space-3);
	min-height: var(--target-size);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-accent);
}

.blog-card__link:hover {
	color: var(--color-accent-hover);
}

.blog-card__media:focus-visible,
.blog-card__title :where(a):focus-visible,
.blog-card__link:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.blog-card--featured .blog-card__media {
	height: var(--blog-feature-image-height);
	border-radius: var(--blog-feature-radius);
}

.blog-card--featured .blog-card__title {
	font-size: var(--heading-3);
}

.blog-pagination {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--blog-grid-gap);
	padding-block: var(--blog-grid-gap);
	border-top: var(--border-width) solid var(--color-border);
}

.blog-pagination__nav {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-3);
}

.blog-pagination__pages {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
}

.blog-pagination__page {
	display: grid;
	width: var(--target-size);
	height: var(--target-size);
	place-items: center;
	border: calc(var(--border-width) * 1.5) solid var(--color-border);
	border-radius: var(--border-radius-full);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-body);
	text-decoration: none;
	color: var(--color-text);
}

.blog-pagination__page:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
}

.blog-pagination__page[aria-current="page"] {
	border-color: var(--color-accent);
	background-color: var(--color-accent-10);
	font-weight: var(--weight-semibold);
	color: var(--color-accent);
}

.blog-pagination__page:focus-visible,
.blog-pagination__control:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.blog-pagination__ellipsis {
	padding-inline: var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-light);
	letter-spacing: var(--tracking-body);
	color: var(--color-border);
}

.blog-pagination__control,
.blog-pagination__control:visited {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: var(--space-4);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-accent);
}

.blog-pagination__control:hover {
	color: var(--color-accent-hover);
}

.blog-pagination__label {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.blog-pagination__icon {
	display: block;
	flex-shrink: 0;
}

.blog-pagination__icon-ring {
	fill: none;
	stroke: var(--color-accent);
	stroke-width: 1.5;
}

.blog-pagination__icon-arrow {
	fill: var(--color-text);
	transition: fill var(--transition-fast);
}

.blog-pagination__control:hover:not(.blog-pagination__control--disabled) .blog-pagination__icon-arrow {
	fill: var(--color-accent);
}

.blog-pagination__control--disabled {
	color: var(--color-border-strong);
}

.blog-pagination__status {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

@media (min-width: 640px) {
	.blog-pagination__nav {
		flex-wrap: wrap;
		gap: var(--space-6);
	}

	.blog-pagination__page {
		width: var(--target-size);
		height: var(--target-size);
	}

	.blog-pagination__label {
		position: static;
		width: auto;
		height: auto;
		margin: 0;
		overflow: visible;
		clip: auto;
		white-space: normal;
	}

	.blog-pagination__icon {
		width: var(--target-size);
		height: var(--target-size);
	}
}

@media (min-width: 640px) {
	.blog-hero__inner {
		justify-content: center;
		gap: var(--stack-xl);
		padding-top: var(--hero-top-padding-desktop);
		padding-bottom: var(--section-py-md);
	}

	.blog-index {
		padding-bottom: var(--section-py-md);
	}

	.blog-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--blog-grid-gap);
	}
}

@media (min-width: 1024px) {
	.blog-hero__shade {
		background: linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
	}

	.blog-hero__inner {
		gap: var(--blog-hero-stack-gap);
		padding-bottom: var(--section-py-lg);
	}

	.blog-hero__content {
		gap: var(--blog-hero-content-gap);
	}

	.blog-index {
		padding-bottom: var(--section-py-lg);
	}

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

	.blog-card--featured {
		flex-direction: row;
		align-items: stretch;
	}

	.blog-card--featured .blog-card__media,
	.blog-card--featured .blog-card__body {
		flex: 1 1 0;
		min-width: 0;
	}

	.blog-card--featured .blog-card__media {
		height: auto;
		min-height: var(--blog-feature-image-height);
	}

	.blog-card--featured .blog-card__image {
		position: absolute;
		inset: 0;
	}

	.blog-card--featured .blog-card__body {
		gap: var(--space-5);
		padding: var(--blog-grid-gap);
	}

	.blog-card--featured .blog-card__rule {
		margin-bottom: auto;
	}
}

@media (min-width: 1700px) {
	.blog-index {
		padding-bottom: var(--section-py-xl);
	}
}

@media (min-width: 1024px) {
	.post-hero .blog-hero__shade {
		background:
			linear-gradient(to right, var(--color-bg) 0%, var(--color-black-80) 42%, transparent 72%),
			linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
	}
}

.case-study-hero .blog-hero__shade {
	background:
		linear-gradient(to bottom, var(--color-bg) 0%, transparent 18%, transparent 82%, var(--color-bg) 100%),
		linear-gradient(var(--color-black-80), var(--color-black-80));
}

.post-article {
	padding-bottom: var(--section-py);
}

.post-article__layout {
	display: grid;
	gap: var(--stack-xl);
}

.post-article__content.prose {
	order: 1;
	width: 100%;
	min-width: 0;
	max-width: none;
}

.post-article__content > .prose {
	max-width: none;
}

.post-article__content :where(h2, h3, h4, h5, h6) {
	scroll-margin-top: calc(var(--header-measured-height) + var(--space-6));
}

.post-article__content :where(figure) {
	width: fit-content;
	max-width: 100%;
}

.post-article__content :where(img) {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--blog-card-radius);
}

.post-article__content :where(blockquote) {
	display: grid;
	width: 100%;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-4);
	margin-inline: 0;
	padding: var(--space-6);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--contact-modal-radius);
	background-color: var(--color-card-bg);
	color: var(--color-on-primary);
	font-style: italic;
	font-weight: var(--weight-light);
	line-height: 1.5;
}

.post-article__content :where(blockquote)::before {
	width: var(--post-quote-mark-width);
	height: var(--post-quote-mark-height);
	background: url("../images/blog/quote.svg") left center / var(--post-quote-mark-width) var(--post-quote-mark-height) no-repeat;
	content: "";
}

.post-article__content :where(blockquote) > * {
	min-width: 0;
	margin-bottom: 0;
}

.post-sidebar {
	order: 2;
	min-width: 0;
}

.toc-jump__heading,
.post-sidebar__label {
	margin: 0 0 var(--space-6);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-accent);
}

.toc-jump__heading {
	display: none;
}

.toc-jump .legal-toc__index {
	width: auto;
	min-width: var(--space-10);
	white-space: nowrap;
}

.post-hero + .toc-jump-home .legal-toc__index,
.post-hero + .toc-jump-home .legal-toc__label {
	font-size: var(--text-xs);
}

.toc-jump .legal-toc__item--level-3 > .legal-toc__link {
	padding-left: var(--space-6);
}

.toc-jump .legal-toc__item--level-4 > .legal-toc__link {
	padding-left: var(--space-8);
}

.toc-jump .legal-toc__item--level-5 > .legal-toc__link {
	padding-left: var(--space-10);
}

.toc-jump .legal-toc__item--level-6 > .legal-toc__link {
	padding-left: var(--space-12);
}

.post-related__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-related__item {
	margin: 0;
	border-bottom: var(--border-width) solid var(--color-border);
}

.post-related__link,
.post-related__link:visited {
	display: flex;
	align-items: center;
	gap: var(--space-5);
	padding-block: var(--space-4);
	color: var(--color-text);
	text-decoration: none;
}

.post-related__link:hover .post-related__title {
	color: var(--color-accent);
}

.post-related__media {
	display: block;
	flex: 0 0 var(--space-20);
	width: var(--space-20);
	height: var(--space-16);
	overflow: hidden;
	border-radius: var(--border-radius-sm);
	background-color: var(--color-bg-secondary);
}

.post-related__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.post-related__body {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-2);
}

.post-related__title {
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
}

.post-related__meta {
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-accent);
}

.post-related__all,
.post-related__all:visited {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	align-self: flex-start;
	min-height: var(--target-size);
	margin-top: var(--space-8);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-body);
	text-decoration: none;
	color: var(--color-accent);
}

.post-related__all:hover {
	color: var(--color-accent-hover);
}

.post-related__link:focus-visible,
.post-related__all:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.post-end {
	padding-bottom: var(--section-py);
}

.post-share {
	display: grid;
	gap: var(--stack-lg);
}

.post-share__title {
	font-weight: var(--weight-regular);
	text-wrap: balance;
}

.post-share__intro {
	max-width: 36rem;
	margin-bottom: 0;
}

.post-share__rule {
	display: block;
	width: 100%;
	height: var(--border-width);
	background-color: var(--color-border);
}

.post-share__actions {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-6);
}

.post-share__label {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	color: var(--color-on-primary);
}

.post-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.post-share__list > li {
	margin: 0;
}

.post-share__button {
	display: grid;
	width: var(--target-size);
	height: var(--target-size);
	place-items: center;
	padding: 0;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--border-radius-sm);
	background-color: var(--color-bg-secondary);
	color: var(--color-accent);
	cursor: pointer;
}

.post-share__button img {
	width: var(--space-5);
	height: var(--space-5);
}

.post-share__button:hover {
	background-color: var(--color-slate);
}

.post-nav {
	display: grid;
	gap: var(--space-6);
	margin-top: var(--space-10);
}

.post-end .post-nav:first-child {
	margin-top: 0;
}

.post-nav__card,
.post-nav__card:visited {
	position: relative;
	display: flex;
	overflow: hidden;
	min-width: 0;
	flex-direction: row;
	align-items: stretch;
	gap: var(--space-4);
	padding: var(--space-4);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--blog-card-radius);
	background-color: var(--color-card-bg);
	color: var(--color-text);
	text-decoration: none;
}

.post-nav__card:hover .post-nav__kicker,
.post-nav__card:hover .post-nav__title,
.post-nav__card:hover .post-nav__action {
	color: var(--color-accent);
}

.post-nav__media {
	position: absolute;
	inset: 0;
	display: block;
	overflow: hidden;
	border: 0;
	border-radius: 0;
	pointer-events: none;
}

.post-nav__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.2;
}

.post-nav__body {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-2);
}

.post-nav__kicker {
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-regular);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.post-nav__title {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.post-nav__action {
	display: inline-flex;
	align-items: center;
	gap: var(--space-6);
	margin-top: var(--space-2);
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	line-height: var(--leading-figma-button);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.post-nav__icon {
	display: block;
	flex: 0 0 auto;
	width: var(--space-10);
	height: var(--space-10);
}

.post-nav__card--next .post-nav__icon {
	order: -1;
}

.post-nav__ring {
	stroke: var(--color-accent);
}

.post-nav__glyph {
	fill: currentColor;
}

.post-nav__card:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

@media (min-width: 640px) {
	.post-article {
		padding-bottom: var(--section-py-md);
	}

	.post-article__content :where(blockquote) {
		grid-template-columns: var(--post-quote-mark-width) minmax(0, 1fr);
		column-gap: var(--space-8);
		align-items: start;
		padding: var(--space-16);
	}

	.post-article__content :where(blockquote)::before {
		grid-row: 1 / -1;
	}

	.post-article__content :where(blockquote) > * {
		grid-column: 2;
	}

	.post-end {
		padding-bottom: var(--section-py-md);
	}
}

@media (min-width: 1024px) {
	.post-article {
		padding-bottom: var(--section-py-lg);
	}

	.post-article__layout {
		grid-template-columns: minmax(16rem, var(--post-sidebar-width)) minmax(0, 1fr);
		align-items: start;
		column-gap: var(--legal-column-gap);
	}

	.post-article__content,
	.post-sidebar {
		order: 0;
	}

	.post-sidebar {
		position: sticky;
		top: calc(var(--header-measured-height) + var(--space-6));
		align-self: start;
		max-height: calc(100svh - var(--header-measured-height) - var(--space-8));
		overflow: auto;
		padding-right: var(--space-8);
		border-right: var(--border-width) solid var(--color-border);
		scrollbar-width: none;
	}

	.post-sidebar::-webkit-scrollbar {
		display: none;
	}

	.post-sidebar .toc-jump {
		border: 0;
		border-radius: 0;
		background: transparent;
	}

	.post-sidebar .toc-jump__heading {
		display: block;
	}

	.post-sidebar .legal-toc {
		position: static;
		display: block;
		max-height: none;
		overflow: visible;
		border-top: 0;
	}

	.post-sidebar .legal-toc__link,
	.post-sidebar .legal-toc__link:visited {
		gap: var(--space-8);
		padding: var(--space-2) var(--space-6) var(--space-2) 0;
		border-bottom: 0;
		border-left: 0;
		background-color: transparent;
		color: var(--color-text);
		opacity: 0.5;
	}

	.post-sidebar .legal-toc__link:hover,
	.post-sidebar .legal-toc__link[aria-current="true"],
	.post-sidebar .legal-toc__link[aria-current="true"]:visited {
		border-left-color: transparent;
		background-color: transparent;
		color: var(--color-accent);
		opacity: 1;
	}

	.post-sidebar .legal-toc__index {
		width: auto;
		min-width: var(--space-8);
		font-size: var(--text-xs);
		letter-spacing: var(--tracking-label);
		white-space: nowrap;
	}

	.post-sidebar .legal-toc__label {
		font-family: var(--font-heading);
		font-size: var(--text-xs);
		font-weight: var(--weight-semibold);
		line-height: var(--leading-body);
		letter-spacing: var(--tracking-heading);
		text-transform: uppercase;
	}

	.post-sidebar .legal-toc__item--level-3 > .legal-toc__link {
		padding-left: var(--space-4);
	}

	.post-sidebar .legal-toc__item--level-4 > .legal-toc__link {
		padding-left: var(--space-6);
	}

	.post-sidebar .legal-toc__item--level-5 > .legal-toc__link {
		padding-left: var(--space-8);
	}

	.post-sidebar .legal-toc__item--level-6 > .legal-toc__link {
		padding-left: var(--space-10);
	}

	.post-related {
		margin-top: var(--space-12);
	}

	.post-end {
		padding-bottom: var(--section-py-lg);
	}

	.post-share,
	.post-nav {
		padding-inline: var(--section-py-lg);
	}

	.post-share {
		grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 1fr);
		align-items: center;
		column-gap: var(--space-10);
	}

	.post-share__rule {
		width: var(--border-width);
		height: 100%;
		min-height: var(--space-16);
	}

	.post-share__label {
		font-size: var(--text-xl);
	}

	.post-share__button {
		width: var(--post-share-size);
		height: var(--post-share-size);
	}

	.post-share__button img {
		width: var(--space-6);
		height: var(--space-6);
	}

	.post-share__actions {
		align-items: flex-end;
		text-align: right;
	}

	.post-nav__card,
	.post-nav__card:visited {
		position: static;
		overflow: visible;
		gap: var(--space-6);
		padding: var(--space-6);
		border: 0;
	}

	.post-nav__media {
		position: static;
		inset: auto;
		order: 0;
		flex: 0 0 var(--post-nav-thumb);
		width: var(--post-nav-thumb);
		align-self: stretch;
		min-height: 6rem;
		border: var(--border-width) solid var(--color-border);
		border-radius: var(--border-radius-md);
		pointer-events: auto;
	}

	.post-nav__image {
		opacity: 1;
	}

	.post-nav__body {
		position: static;
		z-index: auto;
	}

	.post-nav__card--next .post-nav__media {
		order: 2;
	}

	.post-nav__title {
		font-size: var(--text-lg);
	}

	.post-nav__action {
		font-size: var(--text-sm);
	}

	.post-nav__icon {
		width: var(--target-size);
		height: var(--target-size);
	}

	.post-nav__card--next .post-nav__icon {
		order: 0;
	}

	.post-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-10);
	}

	.post-nav__card--next {
		grid-column: 2;
	}

	.post-nav__card--previous .post-nav__body {
		align-items: flex-end;
		text-align: right;
	}
}

@media (min-width: 1200px) {
	.post-nav {
		padding-inline: 0;
	}
}

@media (min-width: 1700px) {
	.post-article,
	.post-end {
		padding-bottom: var(--section-py-xl);
	}
}

.case-study-hero .blog-hero__content {
	max-width: none;
}

.case-study-hero__summary {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: var(--space-4);
}

.case-study-hero__summary .blog-hero__intro {
	margin: 0;
}

.case-study-hero__facts {
	display: grid;
	width: 100%;
	gap: var(--stack-lg);
	margin: 0;
	padding: var(--stack-lg) 0;
	border-top: var(--border-width) solid var(--color-border);
	border-bottom: var(--border-width) solid var(--color-border);
}

.case-study-hero__detail {
	display: grid;
	min-width: 0;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	column-gap: var(--space-4);
	row-gap: var(--space-4);
}

.case-study-hero__detail + .case-study-hero__detail {
	padding-top: var(--stack-lg);
	border-top: var(--border-width) solid var(--color-border);
}

.case-study-hero__icon,
.case-facts__icon {
	display: block;
	flex: 0 0 auto;
}

.case-study-hero__icon {
	grid-row: 1 / span 2;
}

.case-facts__icon {
	border: 0;
	border-radius: 0;
}

.case-study-hero__label,
.case-study-hero__value {
	margin: 0;
}

.case-study-hero__label {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-text);
}

.case-study-hero__value {
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-light);
	line-height: var(--leading-heading);
	color: var(--color-on-primary);
}

.case-facts {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-4);
	margin-bottom: var(--stack-xl);
}

.case-facts__card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	padding: var(--space-4);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-card-bg);
}

.case-facts__copy {
	display: flex;
	min-width: 0;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--space-4);
}

.case-facts__label,
.case-facts__value {
	margin: 0;
}

.case-facts__label {
	font-family: var(--font-sans);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
	color: var(--color-accent);
}

.case-facts__value {
	font-weight: var(--weight-light);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
	color: var(--color-text);
}

.case-study .post-sidebar:not(:has([data-toc])) {
	display: none;
}

@media (min-width: 640px) {
	.case-facts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-8);
	}

	.case-facts__card {
		flex-direction: row;
		align-items: center;
		gap: var(--space-8);
		padding: var(--space-8);
	}
}

@media (min-width: 900px) {
	.case-study-hero__facts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding: 0;
		border-top: 0;
		border-bottom: 0;
	}

	.case-study-hero__detail {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-3);
	}

	.case-study-hero__icon {
		grid-row: auto;
		width: var(--space-8);
		height: var(--space-8);
	}

	.case-study-hero__label {
		font-size: var(--text-xs);
	}

	.case-study-hero__detail + .case-study-hero__detail {
		padding-top: 0;
		padding-left: var(--space-4);
		border-top: 0;
	}

	.case-study-hero__detail:not(:last-child) {
		padding-right: var(--space-4);
		border-right: var(--border-width) solid var(--color-border);
	}
}

@media (min-width: 1024px) {
	.case-study-hero__facts {
		grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr));
		gap: 0;
	}

	.case-study-hero__detail {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-4);
	}

	.case-study-hero__icon {
		grid-row: auto;
		width: auto;
		height: auto;
	}

	.case-study-hero__detail + .case-study-hero__detail {
		padding-top: 0;
		padding-left: var(--space-8);
		border-top: 0;
	}

	.case-study-hero__detail:not(:last-child) {
		padding-right: var(--space-8);
		border-right: var(--border-width) solid var(--color-border);
	}

	.case-study-hero__label {
		font-size: var(--text-base);
	}

	.case-study .post-article__layout:not(:has(.post-sidebar [data-toc])) {
		grid-template-columns: minmax(0, 1fr);
	}
}

.reach-map__intro,
.reach-copy__content,
.faq-band__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-8);
}

.reach-map__intro > :where(p),
.reach-copy__content > :where(p),
.faq-band__intro > :where(p),
.reach-copy__quote :where(p),
.reach-copy__body :where(p),
.faq-list__answer-copy :where(p) {
	margin: 0;
}

.reach-map__title,
.reach-copy__title,
.faq-band__title {
	font-weight: var(--weight-regular);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
}

.reach-copy__quote,
.reach-copy__body,
.faq-list__answer-copy {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}

.reach-copy.section {
	padding-block: 0;
}

.reach-copy__quote {
	padding-left: var(--space-8);
	border-left: var(--border-width) solid var(--color-accent);
}

.area-map {
	position: relative;
	overflow: hidden;
	margin-top: var(--space-8);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-bg);
}

.area-map__canvas {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 18rem;
	aspect-ratio: 16 / 10;
}

.area-map__empty {
	max-width: 36rem;
	margin: 0;
	padding: var(--space-6);
	text-align: center;
	color: var(--color-text-muted);
}

.area-map__pin {
	display: inline-flex;
	max-width: 16rem;
	flex-direction: column;
	align-items: center;
	gap: var(--space-2);
	color: var(--color-text);
	text-align: center;
	text-decoration: none;
}

.area-map__pin.is-on-map {
	position: absolute;
	z-index: var(--z-raised);
	transform: translate(-50%, -100%);
}

.area-map:not(.area-map--fallback) .area-map__pin:not(.is-on-map) {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.area-map--fallback .area-map__pins {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	padding: var(--space-6);
}

.area-map--fallback .area-map__pin {
	position: static;
	width: auto;
	height: auto;
	max-width: none;
	flex-direction: row;
	overflow: visible;
	clip: auto;
	transform: none;
	text-align: left;
}

.area-map--fallback .area-map__marker {
	order: -1;
}

.area-map__label {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding: var(--space-2) var(--space-3);
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-md);
	background-color: color-mix(in srgb, var(--color-bg) 88%, transparent);
}

.area-map__name {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	color: var(--color-accent);
}

.area-map__marker {
	width: var(--space-3);
	height: var(--space-3);
	flex: 0 0 auto;
	border-radius: var(--border-radius-full);
	background-color: var(--color-accent);
	box-shadow: 0 0 0 var(--space-1) color-mix(in srgb, var(--color-accent) 35%, transparent);
}

.area-map__pin:focus-visible,
.area-region__toggle:focus-visible,
.faq-list__summary:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.area-regions {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	margin-top: var(--space-8);
}

.area-region {
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
}

.area-region__header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-6);
	padding: var(--space-6);
}

.area-region__flag {
	flex: 0 0 auto;
}

.area-region__copy {
	display: flex;
	min-width: 12rem;
	flex: 1 1 16rem;
	flex-direction: column;
	gap: var(--space-2);
}

.area-region__name {
	margin: 0;
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
}

.area-region__summary {
	margin: 0;
}

.area-region__toggle {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--space-6);
	margin-left: auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--color-text);
	cursor: pointer;
}

.area-region__count {
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
}

.area-region__icon {
	display: grid;
	flex: 0 0 auto;
	width: var(--target-size);
	height: var(--target-size);
	place-items: center;
	color: var(--color-accent);
}

.area-region__chevron {
	transition: transform var(--transition-fast);
}

.area-region__toggle[aria-expanded="true"] .area-region__chevron {
	transform: rotate(180deg);
}

@media (max-width: 639px) {
	.area-region__toggle {
		flex: 1 1 100%;
		justify-content: space-between;
		margin-left: 0;
		padding-left: 0;
	}
}

.area-region__panel {
	padding: 0 var(--space-6) var(--space-6);
	border-top: var(--border-width) solid var(--color-border);
}

.area-region__cities {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-2) var(--space-4);
	margin: 0;
	padding-top: var(--space-4);
	list-style: none;
}

.area-region__city {
	margin: 0;
}

.area-region__city :where(a) {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	color: var(--color-text);
	text-decoration: none;
}

.area-region__city :where(a):hover {
	color: var(--color-accent);
}

.area-region__city :where(a):visited {
	color: var(--color-text);
	text-decoration: none;
}

@media (min-width: 640px) {
	.area-region__cities {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		gap: var(--space-2) var(--space-5);
	}

	.area-region__city {
		display: inline-flex;
		align-items: center;
		gap: var(--space-5);
	}

	.area-region__city:not(:last-child)::after {
		width: var(--space-1);
		height: var(--space-1);
		border-radius: var(--border-radius-full);
		background-color: var(--color-text);
		content: "";
	}
}

.area-region__empty {
	margin: 0;
	padding-top: var(--space-4);
}

.faq-band {
	overflow: hidden;
	padding-bottom: calc(var(--section-py) + var(--space-8));
}

html.is-faq-animating,
html.is-faq-animating * {
	overflow-anchor: none;
}

html.is-faq-animating {
	scroll-behavior: auto;
}

.faq-band > picture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.faq-band__background,
.faq-band__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.faq-band__background {
	bottom: auto;
	max-width: none;
	height: var(--faq-background-height, 100%);
	object-fit: cover;
	object-position: left center;
}

.faq-band__shade {
	background:
		linear-gradient(to bottom, var(--color-bg) 0%, transparent 18%, transparent 82%, var(--color-bg) 100%),
		color-mix(in srgb, var(--color-bg) 72%, transparent);
}

.faq-band__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	gap: var(--space-10);
}

.faq-list {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	width: 100%;
}

.faq-list__item {
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
	background-color: color-mix(in srgb, var(--color-bg) 55%, transparent);
}

.faq-list__summary {
	display: grid;
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"number chevron"
		"question question";
	min-height: var(--target-size);
	align-items: center;
	column-gap: var(--space-5);
	row-gap: var(--space-2);
	padding: var(--space-4) var(--space-6);
	list-style: none;
	cursor: pointer;
}

.faq-list__summary::-webkit-details-marker {
	display: none;
}

.faq-list__summary::marker {
	content: "";
}

.faq-list__number {
	grid-area: number;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-label);
	color: var(--color-accent);
}

.faq-list__divider {
	display: none;
	width: var(--border-width);
	height: var(--space-6);
	flex: 0 0 auto;
	background-color: var(--color-border);
}

.faq-list__question {
	grid-area: question;
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-regular);
	line-height: var(--leading-body);
	letter-spacing: var(--tracking-body);
	text-transform: uppercase;
	color: var(--color-text);
}

.faq-list__chevron {
	grid-area: chevron;
	color: var(--color-accent);
	transition: transform var(--transition-fast);
}

.faq-list__item[open] .faq-list__chevron {
	transform: rotate(180deg);
}

.js .faq-list__answer {
	display: grid;
	overflow: hidden;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--transition-base);
}

.js .faq-list__item[open]:not(.is-closing) .faq-list__answer {
	grid-template-rows: 1fr;
}

.faq-list__item.is-closing .faq-list__chevron {
	transform: none;
}

.faq-list__answer-inner {
	min-height: 0;
	overflow: hidden;
}

.faq-list__answer-panel {
	display: flex;
	gap: var(--space-5);
	padding: 0 var(--space-6) var(--space-5);
}

.faq-list__spacer {
	display: none;
}

.cta--circle {
	border-top: var(--border-width) solid var(--color-border);
	background: var(--color-bg);
}

.cta--circle .eyebrow {
	width: auto;
}

.cta--circle .cta__title {
	display: flex;
	flex-direction: column;
	font-weight: var(--weight-regular);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
}

.cta--inline .cta__title {
	display: block;
	text-wrap: balance;
}

.cta__copy {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: var(--space-4);
}

.cta__copy :where(p) {
	margin: 0;
}

@media (min-width: 1024px) {
	.cta--circle .cta__inner {
		max-width: var(--home-cta-content-width);
	}

	.cta--circle .cta__title {
		max-width: var(--home-cta-heading-width);
	}
}

@media (min-width: 640px) {
	.faq-band {
		padding-bottom: calc(var(--section-py-md) + var(--space-8));
	}

	.faq-list__summary {
		display: flex;
		gap: var(--space-5);
	}

	.faq-list__number {
		width: 1.75rem;
		flex: 0 0 auto;
		font-size: var(--text-lg);
	}

	.faq-list__divider {
		display: block;
	}

	.faq-list__question {
		flex: 1;
		font-size: var(--text-base);
	}

	.faq-list__chevron {
		flex: 0 0 auto;
	}

	.faq-list__spacer {
		display: block;
		width: calc(1.75rem + var(--space-5) + var(--border-width));
		flex: 0 0 auto;
	}
}

@media (min-width: 1024px) {
	.faq-band {
		padding-bottom: calc(var(--section-py-lg) + var(--space-8));
	}

	.area-map__canvas {
		min-height: 28rem;
		aspect-ratio: 2.2 / 1;
	}

	.area-region__header,
	.area-region__panel {
		padding-right: var(--space-8);
		padding-left: var(--space-8);
	}

	.faq-band__shade {
		background:
			linear-gradient(to left, var(--color-bg) 0%, transparent 65%),
			linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
	}

	.faq-band__inner {
		display: grid;
		grid-template-columns: minmax(16rem, 0.85fr) minmax(0, 1.15fr);
		align-items: start;
		gap: var(--space-24);
	}

	.city-page .reach-copy .eyebrow::before,
	.city-page .faq-band .eyebrow::before {
		width: var(--services-eyebrow-line);
	}

	.city-page .reach-copy__title {
		font-size: var(--services-feature-title-size);
		letter-spacing: var(--services-feature-title-tracking);
	}
}

.reach-copy__image {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 1;
	object-fit: cover;
	border-radius: var(--border-radius-lg);
}

.reach-copy.reach-copy--spaced {
	padding-block: var(--section-py);
}

@media (min-width: 640px) {
	.reach-copy.reach-copy--spaced {
		padding-block: var(--section-py-md);
	}
}

@media (min-width: 1024px) {
	.reach-copy.reach-copy--spaced {
		padding-block: var(--section-py-lg);
	}
}

@media (min-width: 1700px) {
	.faq-band {
		padding-bottom: calc(var(--section-py-xl) + var(--space-8));
	}

	.reach-copy.reach-copy--spaced {
		padding-block: var(--section-py-xl);
	}
}

.case-hero .blog-hero__shade {
	background:
		linear-gradient(to right, var(--color-bg) 0%, transparent 100%),
		linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
}

.case-hero .blog-hero__title {
	color: var(--color-on-primary);
}

.case-list {
	display: flex;
	flex-direction: column;
	gap: var(--blog-stack-gap);
}

.case-card {
	position: relative;
	overflow: hidden;
	border: var(--border-width) solid var(--color-border);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-bg);
	cursor: pointer;
	transition:
		transform var(--transition-slow),
		box-shadow var(--transition-slow),
		border-color var(--transition-base);
}

/* The scroll-in rule only transitions opacity, which makes the lift snap. */
.js .case-card[data-animate] {
	transition:
		opacity var(--transition-slow),
		transform var(--transition-slow),
		box-shadow var(--transition-slow),
		border-color var(--transition-base);
}

.case-card__media {
	position: relative;
	margin: 0;
	aspect-ratio: 2 / 1;
}

.case-card__shade {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 75%;
	background: linear-gradient(to bottom, transparent 0%, var(--color-bg) 100%);
}

.case-card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform-origin: center center;
	transition: transform var(--case-card-zoom);
}

@media (hover: hover) {
	.js .case-card[data-animate].is-visible:is(:hover, :focus-within),
	.case-card:is(:hover, :focus-within) {
		z-index: var(--z-raised);
		border-color: var(--color-accent);
		box-shadow: var(--shadow-lg);
		transform: translateY(calc(-1 * var(--space-2)));
	}

	.case-card:is(:hover, :focus-within) .case-card__image {
		transform: scale(1.04);
	}
}

@media (prefers-reduced-motion: reduce) {
	.js .case-card[data-animate].is-visible:is(:hover, :focus-within),
	.case-card:is(:hover, :focus-within) {
		transform: none;
	}

	.case-card:is(:hover, :focus-within) .case-card__image {
		transform: none;
	}
}

.case-card__body {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	gap: var(--stack-md);
	padding: var(--space-8) var(--space-6) var(--space-8);
}

.case-card__kicker {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: normal;
	letter-spacing: var(--tracking-wide);
	text-transform: uppercase;
	color: var(--color-accent);
}

.case-card__kicker::after {
	width: var(--space-16);
	height: calc(var(--border-width) * 1.5);
	flex: 0 0 auto;
	background: linear-gradient(to right, var(--color-accent), transparent);
	content: "";
}

.case-card__overview {
	display: flex;
	width: 100%;
	max-width: var(--case-card-copy-width);
	flex-direction: column;
	gap: var(--stack-md);
}

.case-card__title {
	font-size: var(--heading-3);
	font-weight: var(--weight-regular);
	letter-spacing: var(--tracking-heading);
	text-transform: uppercase;
	text-wrap: balance;
	color: var(--color-on-primary);
	transition: color var(--transition-fast);
}

.case-card__title :where(a),
.case-card__title :where(a):visited {
	color: inherit;
	text-decoration: none;
}

.case-card__title :where(a)::after {
	position: absolute;
	z-index: var(--z-raised);
	inset: 0;
	content: "";
}

.case-card:is(:hover, :focus-within) .case-card__title {
	color: var(--color-accent);
}

.case-card__excerpt {
	margin: 0;
	color: var(--color-on-primary);
	font-size: var(--text-base);
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.case-card__rule,
.case-card__meta {
	order: 2;
}

.case-card__rule {
	width: 100%;
	max-width: var(--case-card-meta-width);
	border-top: var(--border-width) solid var(--color-border);
}

.case-card__meta {
	display: grid;
	width: 100%;
	max-width: var(--case-card-meta-width);
	gap: var(--space-6);
	margin: 0;
}

.case-card__detail {
	display: grid;
	min-width: 0;
	grid-template-columns: auto 1fr;
	align-items: center;
	column-gap: var(--space-4);
	row-gap: var(--space-1);
}

.case-card__detail + .case-card__detail {
	border-top: var(--border-width) solid var(--color-border);
	padding-top: var(--space-6);
}

.case-card__icon {
	display: block;
	width: var(--space-10);
	height: auto;
	grid-row: 1 / span 2;
}

.case-card__label,
.case-card__value {
	margin: 0;
}

.case-card__label {
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-label);
	text-transform: uppercase;
	color: var(--color-text);
}

.case-card__value {
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	color: var(--color-on-primary);
}

.case-card__more {
	position: relative;
	z-index: var(--z-base);
	justify-content: space-between;
	width: 100%;
	align-self: stretch;
	min-height: var(--target-size);
	padding: var(--space-3) var(--space-5);
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-md);
	font-size: var(--text-xs);
	order: 1;
	pointer-events: none;
}

.case-card__more .circle-link__visual {
	display: none;
}

.case-card__arrow {
	display: flex;
	flex: 0 0 auto;
	color: currentColor;
}

.case-card__arrow .icon--arrow {
	width: var(--space-4);
	height: auto;
}

.case-card:is(:hover, :focus-within) .case-card__more {
	color: var(--color-accent-hover);
}

@media (hover: hover) and (pointer: fine) {
	.case-card:has(:focus-visible) {
		outline: 3px solid var(--color-accent);
		outline-offset: 2px;
	}
}

.case-card__title :where(a):focus-visible {
	outline: none;
}

@media (min-width: 1024px) {
	.case-hero .blog-hero__content {
		max-width: var(--case-hero-content-width);
	}

	.case-card__media,
	.case-card__shade {
		position: absolute;
		inset: 0;
		height: auto;
		aspect-ratio: auto;
	}

	.case-card__shade {
		background: linear-gradient(to right, var(--color-bg) 0%, rgb(0 0 0 / 0.72) 42%, transparent 78%);
	}

	.case-card {
		border-radius: var(--case-card-radius);
	}

	.case-card__image {
		object-position: right center;
		transform-origin: right center;
	}

	.case-card__title {
		font-size: var(--heading-2);
	}

	.case-card__label {
		font-size: var(--text-base);
	}

	.case-card__value {
		font-size: var(--heading-5);
	}

	.case-card__body {
		gap: var(--stack-lg);
		padding: var(--case-card-pad-top) var(--case-card-pad-x) var(--space-16);
	}

	.case-card__kicker {
		gap: var(--space-5);
		font-size: var(--text-lg);
	}

	.case-card__kicker::after {
		width: var(--case-kicker-rule);
	}

	.case-card__rule {
		order: 0;
	}

	.case-card__meta {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		order: 0;
		gap: var(--stack-lg);
	}

	.case-card__detail {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--space-4);
	}

	.case-card__icon {
		width: auto;
		grid-row: auto;
	}

	.case-card__detail + .case-card__detail {
		border-top: 0;
		padding-top: 0;
	}

	.case-card__more {
		justify-content: flex-start;
		width: auto;
		align-self: flex-end;
		order: 0;
		padding: 0;
		border: 0;
		gap: var(--space-8);
		font-size: var(--text-xs);
	}

	.case-card__more::before {
		position: absolute;
		z-index: var(--z-below);
		top: 50%;
		left: 50%;
		width: 130%;
		height: 160%;
		border-radius: var(--border-radius-full);
		background: radial-gradient(closest-side, rgb(0 0 0 / 0.72) 0%, rgb(0 0 0 / 0.4) 48%, transparent 78%);
		transform: translate(-50%, -50%);
		content: "";
		pointer-events: none;
	}

	.case-card__more .circle-link__visual {
		display: block;
	}

	.case-card__arrow {
		display: none;
	}

	.case-card__detail:not(:last-child) {
		border-right: var(--border-width) solid var(--color-border);
		padding-right: var(--space-8);
	}
}

.services-hero--audience .services-hero__inner {
	justify-content: flex-start;
}

.services-hero--audience .services-hero__content {
	max-width: var(--services-feature-copy-width);
}

.services-hero--audience .services-hero__breadcrumbs {
	width: 100%;
	min-width: 0;
}

.services-hero--audience .services-hero__crumbs {
	flex-wrap: nowrap;
	width: 100%;
	min-width: 0;
	max-width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scrollbar-width: none;
}

.services-hero--audience .services-hero__crumbs::-webkit-scrollbar {
	display: none;
}

.services-hero--audience .services-hero__crumb {
	flex: none;
	white-space: nowrap;
}

@media (min-width: 640px) {
	.services-hero--audience .services-hero__crumbs {
		flex-wrap: wrap;
		overflow-x: visible;
	}
}

.audience-copy,
.audience-initiatives,
.audience-services,
.audience-others {
	padding-bottom: var(--services-index-pad);
}

.audience-others {
	padding-top: var(--section-py);
}

.audience-services {
	padding-top: var(--section-py);
}

.audience-copy {
	padding-top: var(--section-py);
}

.audience-copy__inner,
.audience-services__intro,
.audience-others__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--services-feature-gap);
}

.audience-copy__title,
.audience-services__title,
.audience-others__title,
.audience-initiatives__title {
	text-wrap: balance;
}

.audience-initiatives__title {
	margin-bottom: var(--services-feature-gap);
	font-size: var(--heading-3);
}

.audience-copy__body {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: var(--space-6);
}

.audience-copy__body :where(p, ul, ol) {
	margin-bottom: 0;
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.audience-copy__body :where(ul, ol) {
	padding-left: var(--space-6);
}

.audience-copy__body :where(li) {
	margin-bottom: var(--space-2);
}

.audience-copy__body :where(li):last-child {
	margin-bottom: 0;
}

.audience-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--home-services-mobile-card-gap);
}

.audience-grid__item {
	min-width: 0;
}

.audience-initiative,
.audience-other {
	height: 100%;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--home-services-mobile-card-radius);
	background-color: var(--color-card-bg);
}

.audience-initiative {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-3);
	padding: var(--space-4);
}

.audience-initiative__icon {
	width: var(--services-domain-marker-mobile);
	height: var(--services-domain-marker-mobile);
	flex: 0 0 auto;
	object-fit: contain;
}

.audience-initiative__copy {
	display: flex;
	min-width: 0;
	flex-direction: column;
	gap: var(--space-2);
}

.audience-initiative__heading {
	font-size: var(--text-base);
	font-weight: var(--weight-semibold);
}

.audience-initiative__copy :where(p),
.audience-other > :where(p),
.audience-others__intro > :where(p),
.audience-services__item > :where(p) {
	margin-bottom: 0;
	line-height: var(--leading-figma-body);
	letter-spacing: var(--tracking-body);
}

.audience-services__panel {
	display: flex;
	flex-direction: column;
	gap: var(--services-feature-gap);
	padding: var(--space-6);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--home-services-mobile-card-radius);
	background-color: var(--color-card-bg);
}

.audience-services__list {
	display: grid;
	gap: var(--services-feature-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

.audience-services__item {
	display: flex;
	flex-direction: column;
	gap: var(--services-feature-gap);
	margin: 0;
	padding-bottom: var(--services-feature-gap);
	border-bottom: var(--border-width) solid var(--color-border);
}

.audience-services__heading {
	display: flex;
	align-items: center;
	gap: var(--home-services-mobile-number-gap);
}

.audience-services__heading .audience-services__number {
	flex: none;
}

.audience-services__heading .audience-services__name {
	min-width: 0;
}

.audience-services__item:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.audience-services__number {
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-xl);
	font-weight: var(--weight-medium);
	line-height: var(--leading-heading);
	letter-spacing: var(--tracking-wide);
	color: var(--color-accent);
}

.audience-services__name {
	font-size: var(--text-lg);
	font-weight: var(--weight-medium);
}

.audience-services__link {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--space-3);
	margin-top: auto;
	font-family: var(--font-heading);
	font-size: var(--text-xs);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
	color: var(--color-accent);
}

.audience-services__link:is(:hover, :focus-visible) {
	color: var(--color-accent-hover);
}

.audience-services__link:focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.audience-others__intro {
	margin-bottom: var(--services-domain-pad-block);
}

.audience-other {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-4);
	padding: var(--space-6);
	overflow: hidden;
}

.audience-other__title {
	font-size: var(--heading-5);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-body);
}

.audience-other__title :where(a) {
	color: inherit;
	text-decoration: none;
}

.audience-other__title :where(a):is(:hover, :focus-visible) {
	color: var(--color-accent);
}

.audience-other__title :where(a):focus-visible {
	outline: 3px solid var(--color-accent);
	outline-offset: 2px;
}

.audience-other > :where(p) {
	flex: 1 1 auto;
}

.audience-other__link {
	margin-top: auto;
}

@media (min-width: 640px) {
	.audience-copy {
		padding-top: 0;
	}

	.audience-initiative {
		flex-direction: row;
		align-items: center;
		gap: var(--services-feature-gap);
		padding: var(--services-feature-gap);
	}

	.audience-initiative__icon {
		width: var(--services-domain-marker);
		height: var(--services-domain-marker);
	}

	.audience-grid--thirds {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--services-feature-gap);
	}

	.audience-grid--thirds > .audience-grid__item:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.audience-other {
		gap: var(--services-feature-gap);
		padding: var(--space-8) var(--services-feature-gap);
	}
}

@media (min-width: 900px) {
	.audience-services__heading {
		display: contents;
	}

	.audience-services__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding-top: var(--services-feature-gap);
	}

	.audience-services__item {
		padding: 0 var(--space-3);
		border-right: var(--border-width) solid var(--color-border);
		border-bottom: 0;
	}

	.audience-services__item:first-child {
		padding-left: 0;
	}

	.audience-services__item:last-child {
		padding-right: 0;
		border-right: 0;
	}

	.audience-services__number,
	.audience-services__name,
	.audience-services__item > :where(p),
	.audience-services__link {
		font-size: var(--text-sm);
	}
}

@media (min-width: 1024px) {
	.services-hero--audience .services-hero__shade {
		background: linear-gradient(
			to bottom,
			var(--color-bg) 0%,
			transparent 20%,
			transparent 80%,
			var(--color-bg) 100%
		);
	}

	.services-hero--audience .services-hero__background {
		object-position: right center;
	}

	.audience-copy .eyebrow::before,
	.audience-services .eyebrow::before,
	.audience-others .eyebrow::before {
		width: var(--services-eyebrow-line);
	}

	.audience-copy__title,
	.audience-services__title,
	.audience-others__title {
		font-size: var(--services-feature-title-size);
		letter-spacing: var(--services-feature-title-tracking);
	}

	.audience-services__panel {
		padding: var(--services-index-pad);
	}

	.audience-services__list {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 0;
		padding-top: var(--services-feature-gap);
	}

	.audience-services__item {
		padding: 0 var(--services-index-pad);
		border-right: var(--border-width) solid var(--color-border);
		border-bottom: 0;
	}

	.audience-services__item:first-child {
		padding-left: 0;
	}

	.audience-services__item:last-child {
		padding-right: 0;
		border-right: 0;
	}

	.audience-services__number,
	.audience-services__name {
		font-size: var(--text-xl);
	}

	.audience-services__item > :where(p) {
		font-size: var(--text-base);
	}

	.audience-services__link {
		font-size: var(--text-sm);
	}

	.audience-grid--thirds {
		grid-template-columns: repeat(6, minmax(0, 1fr));
	}

	.audience-grid--thirds > .audience-grid__item,
	.audience-grid--thirds > .audience-grid__item:last-child:nth-child(odd) {
		grid-column: span 2;
	}

	.audience-grid--thirds > .audience-grid__item:last-child:nth-child(3n + 2),
	.audience-grid--thirds > .audience-grid__item:nth-last-child(2):nth-child(3n + 1) {
		grid-column: span 3;
	}
}

.service-page {
	display: flex;
	flex-direction: column;
}

.service-page > .audience-copy,
.service-page > .home-reviews,
.service-page > .faq-band.section {
	padding-block: 0;
}

.service-page .audience-copy__inner,
.service-page .service-cards > .container,
.service-page .service-timeline__inner,
.service-page .service-quote__inner,
.service-page .service-fit__inner,
.service-page .home-reviews > .container,
.service-page .service-accordion__inner,
.service-page .service-related__inner,
.service-page .faq-band__inner,
.service-page .home-next-step__inner,
.service-page .home-contact__inner {
	padding-block: var(--section-py);
}

.service-page .service-timeline__inner {
	padding-bottom: 0;
}

.service-page .home-contact__inner {
	border-top: var(--border-width) solid var(--color-border);
}

.service-page .home-reviews > .container,
.service-page .service-related__inner,
.service-page .faq-band__inner {
	padding-bottom: var(--section-py-md);
}

.home-contact--accent .home-contact__heading :where(h2 span) {
	display: inline;
}

.service-cards > .container,
.service-timeline__inner,
.service-timeline__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--services-feature-gap);
}
.service-quote__inner,
.service-fit__intro,
.service-related__inner,
.service-accordion__intro,
.service-band__inner,
.service-process__intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--services-feature-gap);
}

.service-fit__intro {
	padding-bottom: var(--section-gap);
}

.service-cards__list,
.service-timeline__steps,
.service-process__list,
.service-fit__list,
.service-related__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.service-cards__list {
	display: flex;
	flex-direction: column;
	gap: var(--home-services-mobile-card-gap);
	width: 100%;
}

.service-cards__item {
	width: 100%;
	margin: 0;
}

.service-cards__details {
	width: 100%;
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-card-bg);
}

.service-cards__summary {
	display: flex;
	min-height: var(--target-size);
	align-items: center;
	justify-content: space-between;
	gap: var(--space-4);
	padding: var(--space-4);
	list-style: none;
	cursor: pointer;
}

.service-cards__summary::-webkit-details-marker {
	display: none;
}

.service-cards__summary::marker {
	content: "";
}

.service-cards__chevron {
	flex: none;
	color: var(--color-accent);
	transition: transform var(--transition-fast);
}

.service-cards__details[open] .service-cards__chevron {
	transform: rotate(180deg);
}

.service-cards__details.is-closing .service-cards__chevron {
	transform: none;
}

.js .service-cards__answer {
	display: grid;
	overflow: hidden;
	grid-template-rows: 0fr;
	transition: grid-template-rows var(--transition-base);
}

.js .service-cards__details[open]:not(.is-closing) .service-cards__answer {
	grid-template-rows: 1fr;
}

.service-cards__answer-inner {
	min-height: 0;
	overflow: hidden;
	padding: 0 var(--space-4) var(--space-4);
}

.service-cards__name,
.service-process__copy :where(h3) {
	min-width: 0;
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-body);
	color: var(--color-accent);
}

.service-cards__item :where(p),
.service-process__copy :where(p),
.service-timeline__body :where(p),
.service-quote__body :where(p),
.service-band__body :where(p) {
	margin-bottom: 0;
}

.service-timeline__body,
.service-quote__body,
.service-band__body {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
}

.service-timeline {
	overflow-x: clip;
}

.service-timeline__steps {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--services-feature-gap);
	width: 100%;
	margin-top: var(--section-gap);
	margin-bottom: 0;
	padding-inline: var(--container-px);
	box-sizing: border-box;
}

.service-timeline__step {
	position: relative;
	display: grid;
	grid-template-columns: var(--space-16) minmax(0, 1fr);
	align-items: center;
	gap: var(--services-feature-gap);
	margin: 0;
}

.service-timeline__step:not(:last-child)::after {
	position: absolute;
	top: var(--space-16);
	bottom: calc(var(--services-feature-gap) * -1);
	left: calc(var(--space-16) / 2);
	width: var(--border-width);
	background-color: var(--color-accent);
	content: "";
}

.service-timeline__marker {
	display: grid;
	place-items: center;
	width: var(--space-16);
	height: var(--space-16);
	border: var(--border-width) solid var(--color-accent);
	border-radius: var(--border-radius-full);
	background-color: var(--color-bg);
}

.service-timeline__marker :where(svg, img) {
	width: var(--space-6);
	height: var(--space-6);
}

.service-timeline__label {
	font-size: var(--text-sm);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-wide);
}

.service-process,
.service-band {
	position: relative;
	overflow: hidden;
}

.service-process > picture {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

.service-process__background,
.service-process__shade,
.service-band__background,
.service-band__shade {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.service-process__background,
.service-band__background {
	object-fit: cover;
	object-position: center;
}

.service-process__background {
	object-position: center;
}

.service-process__shade,
.service-band__shade {
	background:
		linear-gradient(to right, var(--color-bg) 0%, var(--color-black-70) 55%, transparent 100%),
		linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
}

.service-process__shade {
	background: var(--color-black-50);
}

.service-process__inner,
.service-band__inner {
	position: relative;
	z-index: var(--z-raised);
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
	padding-block: var(--section-gap);
}

.service-process__intro,
.service-process__list,
.service-band__inner > :where(p, h2, div, a, button) {
	width: 100%;
	max-width: 67.5rem;
}

.service-process__intro,
.service-process__list {
	margin-left: auto;
}

.service-process__list {
	display: flex;
	flex-direction: column;
	gap: var(--services-feature-gap);
}

.service-process__item {
	display: flex;
	align-items: center;
	gap: var(--services-feature-gap);
	margin: 0;
}

.service-process__index {
	position: relative;
	display: grid;
	place-items: center;
	flex: 0 0 var(--services-domain-marker);
	width: var(--services-domain-marker);
	height: var(--services-domain-marker);
	margin: 0;
	border: var(--border-width) dashed var(--color-accent);
	border-radius: var(--border-radius-full);
	color: var(--color-accent);
	font-family: var(--font-sans);
	font-size: var(--text-lg);
	line-height: 1;
}

.service-process__index::before {
	position: absolute;
	inset: var(--space-1);
	border: var(--border-width) solid var(--color-accent);
	border-radius: inherit;
	content: "";
}

.service-process__rule {
	display: none;
	flex: 0 0 var(--space-16);
	height: var(--border-width);
	background-color: var(--color-accent);
}

.service-process__copy :where(h3) {
	font-weight: var(--weight-semibold);
}

.service-quote__lead {
	margin: 0;
	padding-left: var(--services-feature-gap);
	border-left: var(--border-width) solid var(--color-accent);
}

.service-quote__lead :where(p) {
	margin: 0;
}

.service-fit__list {
	display: flex;
	flex-direction: column;
	border-block: var(--border-width) solid var(--color-border);
}

.service-fit__item {
	display: grid;
	gap: var(--space-4);
	margin: 0;
	padding-block: var(--services-feature-gap);
	border-bottom: var(--border-width) solid var(--color-border);
}

.service-fit__item:last-child {
	border-bottom: 0;
}

.service-fit__name {
	max-width: var(--home-audiences-item-title-width);
	font-size: var(--text-lg);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-body);
}

.service-fit__link,
.service-related__link {
	display: inline-flex;
	min-height: var(--target-size);
	align-items: center;
	gap: var(--space-3);
	color: var(--color-accent);
	font-family: var(--font-heading);
	font-size: var(--text-sm);
	font-weight: var(--weight-semibold);
	letter-spacing: var(--tracking-label);
	text-decoration: none;
	text-transform: uppercase;
}

.service-fit__link:hover,
.service-related__link:hover {
	color: var(--color-accent-hover);
}

.service-band .circle-link,
.service-page .home-contact .circle-link {
	gap: var(--home-mobile-heading-gap);
	font-size: var(--text-sm);
	line-height: var(--leading-figma-button);
}

.service-band .circle-link__visual,
.service-page .home-contact .circle-link__visual {
	width: var(--home-hero-circle-mobile);
	height: var(--home-hero-circle-mobile);
}

.service-accordion__inner {
	display: flex;
	flex-direction: column;
	gap: var(--section-gap);
}

.service-related__list {
	display: grid;
	gap: var(--home-services-mobile-card-gap);
}

.service-related__item {
	position: relative;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-areas:
		"icon name"
		"index index"
		"copy copy"
		"link link";
	align-items: center;
	column-gap: var(--space-4);
	row-gap: var(--space-4);
	margin: 0;
	padding: var(--space-6);
	border: var(--border-width) solid var(--color-atmosphere-30);
	border-radius: var(--border-radius-lg);
	background-color: var(--color-card-bg);
	transition:
		border-color var(--transition-fast),
		box-shadow var(--transition-base),
		transform var(--transition-base);
}

.service-related__icon {
	display: block;
	grid-area: icon;
	height: var(--space-12);
}

.service-related__icon :where(svg) {
	display: block;
	width: auto;
	height: 100%;
}

.service-related__name {
	grid-area: name;
}

.service-related__index {
	grid-area: index;
}

.service-related__item > p:not(.service-related__index) {
	grid-area: copy;
}

.service-related__link {
	grid-area: link;
	justify-self: start;
}

.service-related__link::after {
	position: absolute;
	inset: 0;
	content: "";
}

.service-related__link:focus,
.service-related__link:focus-visible {
	outline: none;
}

@media (hover: hover) {
	.service-related__item:hover {
		border-color: var(--color-accent);
		box-shadow: var(--shadow-md);
		transform: translateY(calc(-1 * var(--space-1)));
	}

	.service-related__item:hover .service-related__name {
		color: var(--color-accent);
	}

	.service-related__item:has(.service-related__link:focus-visible) {
		outline: 3px solid var(--color-accent);
		outline-offset: 2px;
	}
}

.service-related__index {
	display: flex;
	align-items: center;
	gap: var(--services-feature-gap);
	margin: 0;
	font-family: var(--font-heading);
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-label);
}

.service-related__rule {
	width: var(--space-24);
	height: var(--border-width);
	background-color: var(--color-accent);
}

.service-related__name {
	font-size: var(--text-base);
	font-weight: var(--weight-medium);
	letter-spacing: var(--tracking-wide);
}

@media (min-width: 640px) {
	.service-cards__list {
		flex-direction: row;
		flex-wrap: wrap;
		gap: var(--services-feature-gap);
	}

	.service-cards__item {
		flex: 1 1 calc((100% - 2 * var(--services-feature-gap)) / 3);
		min-width: 0;
	}

	.service-cards__details {
		display: flex;
		height: 100%;
		flex-direction: column;
		gap: var(--services-feature-gap);
		padding: var(--services-feature-gap);
	}

	.service-cards__summary {
		min-height: 0;
		padding: 0;
		pointer-events: none;
	}

	.service-cards__name {
		pointer-events: auto;
	}

	.service-cards__chevron {
		display: none;
	}

	.service-cards__answer-inner {
		overflow: visible;
		padding: 0;
	}

	.js .service-cards__answer,
	.service-cards__details:not([open]) > .service-cards__answer {
		display: block;
		overflow: visible;
		grid-template-rows: none;
	}

	.service-timeline__steps {
		margin-bottom: var(--section-py);
		padding-inline: var(--container-px-md);
	}

	.service-related__item {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--services-feature-gap);
		padding: var(--section-gap);
	}

	.service-related__icon {
		height: var(--space-24);
	}

	.service-related__name {
		font-size: var(--text-xl);
	}

	.service-process__background {
		object-position: left center;
	}

	.service-process__shade {
		background: linear-gradient(to bottom, var(--color-bg) 0%, transparent 20%, transparent 80%, var(--color-bg) 100%);
	}

	.service-process__rule {
		display: block;
	}

	.service-process__list {
		gap: var(--space-4);
	}

	.service-related__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--services-feature-gap);
	}
}

@media (min-width: 1024px) {
	.service-page .audience-copy__inner,
	.service-page .service-cards > .container,
	.service-page .service-timeline__inner,
	.service-page .service-quote__inner,
	.service-page .service-fit__inner,
	.service-page .home-reviews > .container,
	.service-page .service-accordion__inner,
	.service-page .service-related__inner,
	.service-page .faq-band__inner {
		padding-block: var(--section-gap);
	}

	.service-page .service-timeline__inner {
		padding-top: var(--section-py-lg);
		padding-bottom: 0;
	}

	.service-page .home-next-step__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-block: 0;
		padding-inline: var(--home-gutter-desktop-fluid);
	}

	.service-page .home-contact__inner.container {
		width: 100%;
		max-width: none;
		margin-inline: 0;
		padding-inline: var(--home-section-padding-inline);
	}

	.service-page .home-contact__inner {
		padding-top: var(--home-contact-padding-top);
		padding-bottom: var(--section-gap);
	}

	.service-page .home-reviews > .container,
	.service-page .service-related__inner,
	.service-page .faq-band__inner {
		padding-bottom: var(--section-py-lg);
	}

	.service-cards__item {
		flex-basis: calc((100% - 3 * var(--services-feature-gap)) / 4);
	}

	.service-timeline__steps {
		flex-direction: row;
		align-items: flex-start;
		gap: 0;
		margin-bottom: var(--section-gap);
		padding-inline: var(--home-section-padding-inline);
	}

	.service-timeline__steps::before {
		position: absolute;
		top: calc(var(--space-24) / 2);
		right: 0;
		left: 0;
		height: var(--border-width);
		background-image: linear-gradient(
			to right,
			transparent 0%,
			var(--color-accent) 10%,
			var(--color-accent) 90%,
			transparent 100%
		);
		content: "";
	}

	.service-timeline__step {
		flex: 1;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--services-feature-gap);
		text-align: center;
	}

	.service-timeline__step::before,
	.service-timeline__step:not(:last-child)::after {
		display: none;
	}

	.service-timeline__marker {
		position: relative;
		z-index: var(--z-raised);
		width: var(--space-24);
		height: var(--space-24);
	}

	.service-timeline__marker :where(svg, img) {
		width: var(--space-10);
		height: var(--space-10);
	}

	.service-timeline__label {
		max-width: 11rem;
		font-size: var(--text-lg);
	}

	.service-fit__list {
		border-block: 0;
	}

	.service-fit__item:first-child {
		padding-top: 0;
	}

	.service-fit__item:last-child {
		padding-bottom: 0;
	}

	.service-fit__item {
		grid-template-columns: var(--home-audiences-item-title-width) minmax(0, 1fr) auto;
		align-items: center;
		gap: var(--space-12);
	}

	.service-band .circle-link {
		gap: var(--home-hero-button-gap-desktop);
		letter-spacing: var(--tracking-wide);
	}

	.service-band .circle-link__visual,
	.service-page .home-contact .circle-link__visual {
		width: var(--home-hero-circle);
		height: var(--home-hero-circle);
	}

	.service-band .circle-link__label {
		width: var(--home-hero-label-width);
	}
}

.service-band__inner {
	gap: var(--services-feature-gap);
}

@media (min-width: 1700px) {
	.service-page .home-next-step__inner.container {
		max-width: var(--max-width-superwide);
		margin-inline: auto;
		padding-inline: var(--home-cta-gutter-fluid);
	}
}

@media (min-width: 1440px) {
	.service-cards__item {
		flex-basis: calc((100% - 4 * var(--services-feature-gap)) / 5);
	}
}

/* Mobile rhythm is the gap between sections. Heroes keep their own padding. */
@media (max-width: 639px) {
	.site-main,
	.service-page {
		display: flex;
		flex-direction: column;
		gap: var(--home-mobile-section-spacing);
	}

	.site-main > :not([class*="hero"]):not(.not-found),
	.service-page > :not([class*="hero"]) {
		margin-block: 0;
		padding-block: 0;
	}

	.site-main > :not([class*="hero"]):not(.not-found) > :is(.container, [class$="__inner"]),
	.service-page > :not([class*="hero"]) > :is(.container, [class$="__inner"]) {
		padding-block: 0;
	}

	.site-main > .home-next-step > .home-next-step__inner.container.container--wide,
	.service-page > .home-next-step > .home-next-step__inner.container.container--wide {
		padding-block: var(--home-mobile-section-spacing);
	}
}

