/* ==========================================================================
   Layouts — reusable page sections (Phase 3)
   Section wrapper backgrounds: set via layout `background` arg → --layout-section-bg
   ========================================================================== */

.layout-section-header {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
}

.layout-section-header--center {
	align-items: center;
	text-align: center;
}

.layout-section-header--start {
	align-items: flex-start;
	text-align: left;
}

.layout-section-header-heading {
	margin: 0;
	max-width: 50rem;
}

.layout-section-header-body {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
}

/* Hero */
.layout-hero {
	position: relative;
	isolation: isolate;
	overflow: visible;
	background: var(--layout-section-bg);
	/* center vertically */
	display: flex;
    flex-direction: column;
    justify-content: center;
}

.layout-hero--banner {
	overflow: visible;
}

.layout-hero-inner {
	position: relative;
	z-index: 1;
}

.layout-hero-copy {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	max-width: 52.6875rem;
}

.layout-hero-headline {
	margin: 0;
}

.layout-hero-rule {
	display: block;
	width: min(100%, 47.375rem);
	height: 0;
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--contrast-medium);
}

.layout-hero-content {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-hero-subheadline,
.layout-hero-secondary {
	margin: 0;
	max-width: 36.4375rem;
	color: var(--wp--preset--color--contrast-strongest);
}

.layout-hero-bullets {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.layout-hero-cta .button-wrap {
	align-items: center;
	width: fit-content;
}

.button-note {
	justify-self: center;
}

.layout-hero-media {
	position: absolute;
	z-index: 0;
	pointer-events: none;
}

.layout-hero--split .layout-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to right,
		var(--wp--preset--color--base-lighter) 0%,
		transparent 75%
	);
	opacity: 0.16;
	pointer-events: none;
}

.layout-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/*
@media (min-width: 1025px) {
	.layout-hero-image {
		border-bottom-left-radius: 6%;
	}
}
*/

.layout-hero--split {
	min-height: 45rem;
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-hero--split .layout-hero-media {
	top: calc(-1 * var(--wp--preset--spacing--section-main));
	left: 50%;
	width: clamp(45rem, 50vw, 60rem);
	height: calc(100% + var(--wp--preset--spacing--section-main));
}

.layout-hero--split .layout-hero-image {
	border-end-start-radius: var(--wp--preset--spacing--8);
}

/* Banner hero — title over image (Start Here, blog feed, legal pages) */
.layout-hero--banner {
	--layout-hero-banner-image-height: 27.5rem;
	--layout-hero-banner-image-offset: -5rem;
	--layout-hero-banner-radius: 8rem;
	text-align: center;
}

.layout-hero--banner-size-standard {
	padding-block: var(--wp--preset--spacing--section-large) var(--wp--preset--spacing--section-main);
}

.layout-hero--banner-size-tall {
	--layout-hero-banner-image-height: 26rem;
	padding-block: var(--wp--preset--spacing--section-page-top) var(--wp--preset--spacing--section-main);
}

.layout-hero--banner-size-compact {
	--layout-hero-banner-section-height: 22.5rem;
	padding-block: var(--wp--preset--spacing--section-large) 0;
}

.layout-hero--banner .layout-hero-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: var(--wp--preset--spacing--5);
	width: 100%;
	max-width: none;
	margin-inline: 0;
}

.layout-hero-banner-head {
	width: 100%;
}

.layout-hero-banner-head-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	position: relative;
	isolation: isolate;
	min-height: var(--layout-hero-banner-image-height);
	margin-block-start: var(--layout-hero-banner-image-offset);
	padding-block-start: calc(var(--layout-hero-banner-image-offset) * -1);
	overflow: hidden;
	border-end-start-radius: var(--layout-hero-banner-radius);
	border-end-end-radius: var(--layout-hero-banner-radius);
	padding-block-end: var(--wp--preset--spacing--5);
}

.layout-hero--banner-size-compact .layout-hero-banner-head-inner {
	min-height: var(--layout-hero-banner-section-height);
}

.layout-hero--banner .layout-hero-banner-head .layout-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	max-width: 1920px;
    justify-self: center;
}

.layout-hero--banner .layout-hero-banner-head .layout-hero-image {
	border-end-start-radius: var(--layout-hero-banner-radius);
	border-end-end-radius: var(--layout-hero-banner-radius);
}

.layout-hero--banner-overlay-fade-light .layout-hero-banner-head .layout-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to bottom,
		transparent,
		var(--wp--preset--color--base-lighter)
	);
	opacity: 0.2;
	pointer-events: none;
}

.layout-hero-banner-head-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	position: relative;
	z-index: 1;
	padding-inline: var(--wp--preset--spacing--site-gutter);
}

.layout-hero--banner-title-end .layout-hero-banner-head-inner {
	justify-content: flex-end;
}

.layout-hero--banner-title-end .layout-hero-banner-head-content {
	padding-block-end: var(--wp--preset--spacing--5);
}

.layout-hero--banner .layout-hero-headline {
	margin: 0;
	max-width: 67.375rem;
	letter-spacing: -0.02em;
	text-align: center;
	text-wrap: balance;
}

.layout-hero--banner-text-light .layout-hero-headline {
	color: var(--wp--preset--color--base-lighter);
}

.layout-hero--banner-text-dark .layout-hero-headline {
	color: var(--wp--preset--color--contrast-strongest);
}

.layout-hero-banner-body-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	width: calc(100% - 2 * var(--wp--preset--spacing--site-gutter));
	max-width: min(55.25rem, var(--wp--style--global--wide-size));
	margin-inline: auto;
}

.layout-hero-banner-body-inner .powerlander-pill-dots {
	gap: 4px;
	span {
		height: 6px;
		width: 6px;
		opacity: 0.5;
	}
}

.layout-hero-banner-body-inner--grouped {
	gap: var(--wp--preset--spacing--7);
}

.layout-hero-banner-steps {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--5);
	width: 100%;
}

.layout-hero-banner-cta-group {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	width: 100%;
}

.layout-hero--banner .layout-hero-subheadline {
	max-width: 54.625rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-2);
	font-weight: 400;
	color: var(--wp--preset--color--contrast-strongest);
	text-align: center;
	text-wrap: balance;
}

.layout-hero-subheadline-accent {
	color: var(--wp--preset--color--accent-hover);
}

.layout-hero--banner .layout-hero-secondary {
	max-width: 46rem;
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 400;
	line-height: 1.5;
	color: var(--wp--preset--color--contrast-strongest);
	text-align: center;
}

.layout-hero--banner .layout-hero-cta .button-wrap {
	align-items: center;
}

/* Blog browse bar */
.layout-blog-browse-bar {
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-blog-browse-bar-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--6);
	padding-block: var(--wp--preset--spacing--7);
}

.layout-blog-browse-bar-label,
.layout-blog-browse-bar-count {
	flex-shrink: 0;
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	letter-spacing: 0.17em;
}

.layout-blog-browse-bar-nav {
	flex: 1 1 auto;
	min-width: 0;
}

.layout-blog-browse-bar-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--7);
	margin: 0;
	padding: 0;
	list-style: none;
}

.layout-blog-browse-bar-link {
	color: var(--wp--preset--color--contrast-medium);
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1.2;
	text-decoration: none;
	transition: color var(--gwp-transition-fast);
}

.layout-blog-browse-bar-link:hover,
.layout-blog-browse-bar-link:focus-visible,
.layout-blog-browse-bar-link.is-current {
	color: var(--wp--preset--color--contrast-strongest);
}

.layout-blog-browse-bar-link.is-current {
	font-weight: 400;
}

.layout-blog-browse-bar-link-count {
	font-size: var(--wp--preset--font-size--small);
}

.layout-blog-browse-bar-divider {
	color: var(--wp--preset--color--base-subtle);
	font-size: 1.125rem;
	font-weight: 300;
	line-height: 1;
	user-select: none;
}

.layout-blog-browse-bar-link--resources {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	color: var(--wp--preset--color--accent-hover);
}

.layout-blog-browse-bar-link--resources .icon-document {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	vertical-align: -0.15em;
}

.layout-blog-browse-bar-link--resources:hover,
.layout-blog-browse-bar-link--resources:focus-visible,
.layout-blog-browse-bar-link--resources.is-current {
	color: var(--wp--preset--color--accent-hover);
}

/* Pain points */
.layout-pain-points {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-pain-points-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-pain-points-list {
	display: flex;
	flex-direction: column;
}

.layout-pain-points-resolve {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	align-items: center;
	padding-block-start: var(--wp--preset--spacing--6);
	text-align: center;
}

.layout-pain-points-resolve-heading {
	margin: 0;
}

/* Qualification */
.layout-qualification {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-qualification-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-qualification-intro {
	display: flex;
	justify-content: start;
	align-items: center;
}

.layout-qualification-columns {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	align-items: stretch;
}

.layout-qualification-col {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	min-width: 0;
}

.layout-qualification-col-heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-2);
	color: var(--wp--preset--color--contrast-strongest);
	line-height: 1.15;
}

.layout-qualification-cards {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-qualification-col:last-child .layout-qualification-col-heading {
	color: var(--wp--preset--color--contrast-medium);
}

.qualification-card {
	display: flex;
	gap: var(--wp--preset--spacing--6);
	align-items: center;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--5);
	border: var(--wp--custom--border-width--small) solid var(--wp--custom--color--theme-border-fade, rgba(139, 141, 148, 0.32));
	border-radius: var(--wp--preset--border-radius--large);
	transition: border-color var(--gwp-transition-fast), background var(--gwp-transition-fast);
}

@media (max-width: 768px) {
	.layout-qualification-columns {
		gap: var(--wp--preset--spacing--9);
	}
	.qualification-card {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--4);
	}
	.qualification-card--for {
		gap: var(--wp--preset--spacing--3);
	}
	.qualification-card-icon {
		width: 32px !important;
	}
}

.qualification-card-icon {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 41px;
}

.qualification-icon-path {
	transition: fill-opacity var(--gwp-transition-fast), fill var(--gwp-transition-fast);
}

.qualification-icon-path--for {
	fill: #5E896F;
	fill-opacity: 0.64;
}

.qualification-card--for:hover .qualification-icon-path--for {
	fill-opacity: 1;
}

.qualification-icon-path--not {
	fill: #8B8D94;
}

.qualification-card--not:hover .qualification-icon-path--not {
	fill: var(--wp--preset--color--contrast-strongest);
}

.qualification-card-copy {
	flex: 1;
	min-width: 0;
}

.qualification-card-body {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.666;
	color: var(--wp--preset--color--contrast-medium);
	transition: color var(--gwp-transition-fast);
}

/* For You Card Variants */
.qualification-card--for {
	background: linear-gradient(170.19deg, rgba(94, 137, 111, 0.2) 0%, rgba(102, 102, 102, 0) 100%);
}

.qualification-card--for:hover {
	border-color: rgba(94, 137, 111, 0.64);
	background: linear-gradient(170.19deg, rgba(94, 137, 111, 0.32) 40%, rgba(245, 245, 246, 0.32) 100%);
}

.qualification-card--for:hover .qualification-card-body {
	color: var(--wp--preset--color--contrast-strongest);
}

/* Not For You Card Variants */
.qualification-card--not {
	background: var(--wp--preset--gradient--theme-card-gradient);
}

.qualification-card--not:hover {
	border-color: var(--wp--custom--color--theme-border, #8B8D94);
	background: var(--wp--preset--gradient--theme-card-gradient-hover);
}

.qualification-card--not:hover .qualification-card-body {
	color: var(--wp--preset--color--contrast-strongest);
}

/* Split intro */
.layout-split-intro {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-split-intro-inner {
	display: grid;
	gap: var(--wp--preset--spacing--section-small);
	align-items: center;
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-split-intro-copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	max-width: 33.5rem;
}

.layout-split-intro-media {
	margin: 0;
	overflow: hidden;
	border-radius: var(--wp--preset--border-radius--large);
}

.layout-split-intro-media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

.layout-split-intro--media-left .layout-split-intro-media {
	order: -1;
}

/* Client stories */
.layout-client-stories {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-client-stories-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--9);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-client-stories-grid {
	display: grid;
	gap: var(--wp--preset--spacing--5);
}

/* Services banner */
.layout-services-banner {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--layout-section-bg);
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-services-banner-overlay {
	position: absolute;
	inset: 0;
	z-index: 0;
	background-image: var(--layout-services-banner-image, none);
	background-size: cover;
	background-position: center;
}

.layout-services-banner-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--7);
	align-items: center;
	padding-block: var(--wp--preset--spacing--section-large);
	text-align: center;
}

.layout-services-banner-heading {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--7);
	align-items: center;
}

.layout-services-banner-prelude {
	margin: 0;
	max-width: 21.25rem;
	color: var(--wp--preset--color--base-lighter);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-6);
	text-align: center;
}

.layout-services-banner-divider {
	display: block;
	width: 0;
	height: 5.4375rem;
	border-left: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-lighter);
}

.layout-services-banner-word {
	margin: 0;
	color: var(--wp--preset--color--base-lighter);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--display);
	font-weight: 400;
	line-height: 0.86;
	letter-spacing: -0.04em;
}

.layout-services-banner-actions {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	align-items: center;
}

.layout-services-banner-lead {
	margin: 0;
	color: var(--wp--preset--color--base-background);
	max-width: 44rem;
	font-size: var(--wp--preset--font-size--body-small);
}

/* Start Here — feature grid & how-it-works inner gap */
.page-start-here .layout-feature-grid-inner,
.page-start-here .layout-steps-process-inner {
	gap: var(--wp--preset--spacing--9);
}

/* Start Here reassurance band — smaller display line than homepage "You." */
.layout-services-banner--start-here .layout-services-banner-word {
	font-size: var(--wp--preset--font-size--heading-1);
	letter-spacing: -0.02em;
}

/* Pull quotes row */
.layout-pull-quotes {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-pull-quotes-inner {
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-pull-quotes-inner .layout-section-header {
	margin-bottom: var(--wp--preset--spacing--8);
}

.layout-pull-quotes-disclaimer {
	margin: var(--wp--preset--spacing--8) 0 0;
	max-width: 37rem;
	margin-inline: auto;
	text-align: center;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
}

/* Team grid */
.layout-team-grid {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-team-grid-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-team-grid-cards {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	justify-items: center;
}

/* Steps process */
.layout-steps-process {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-steps-process--border-top,
.layout-feature-grid--border-top {
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-steps-process--border-bottom,
.layout-feature-grid--border-bottom {
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-steps-process-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-steps-process-list {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

/* Feature grid */
.layout-feature-grid {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-feature-grid-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-feature-grid-cards {
	display: grid;
	gap: var(--wp--preset--spacing--6);
}

/* Benefits grid */
.layout-benefits-grid {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
}

.layout-benefits-grid--border-top {
	border-top: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-benefits-grid--border-bottom {
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-benefits-grid-inner {
	display: grid;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-benefits-grid-intro {
	max-width: 38.125rem;
}

.layout-benefits-grid-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--wp--preset--spacing--2);
}

/* Content list */
.layout-content-list {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
}

#bar,
#open-roles {
	scroll-margin-top: var(--wp--preset--spacing--6);
}

.layout-content-list-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-content-list-rows {
	display: flex;
	flex-direction: column;
}

.layout-content-list-more {
	display: flex;
	justify-content: center;
	margin-top: var(--wp--preset--spacing--6);
}

.layout-load-more {
	gap: var(--wp--preset--spacing--3);
}

.layout-load-more[disabled],
.layout-load-more.is-loading {
	cursor: progress;
	opacity: 0.65;
}

.layout-load-more-arrow {
	display: inline-flex;
	line-height: 1;
}

/* Section intro */
.layout-section-intro {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-section-intro-inner {
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-section-intro--search .layout-section-intro-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-block-end: var(--wp--preset--spacing--section-large);
}

.layout-section-intro--search .layout-section-header {
	align-items: center;
}

.layout-section-intro--search .search-form {
	width: 100%;
	max-width: 28rem;
	margin-block-start: var(--wp--preset--spacing--5);
}

/* Client portals */
.layout-client-portals {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-client-portals-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--9);
	width: calc(100% - 2 * var(--wp--preset--spacing--site-gutter));
	max-width: 45.375rem;
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-client-portals-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
}

.layout-client-portals-grid .client-portal-card {
	max-width: none;
}

@media (min-width: 1025px) {
	.layout-hero--split .layout-hero-headline,
	.layout-hero--split .layout-hero-rule {
		position: relative;
		z-index: 1;
	}

	.layout-hero--split .layout-hero-copy {
		max-width: 52.6875rem;
	}

	/* Client login page */
	.page-id-15 .layout-hero--split .layout-hero-copy {
		max-width: 51rem;
	}

	.layout-hero--split .layout-hero-copy {
		max-width: 52.6875rem;
	}

	.layout-hero--split .layout-hero-content {
		max-width: 36.4375rem;
	}
}

@media (min-width: 768px) {
	.layout-split-intro-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.layout-services-banner-prelude {
		font-size: 1.5rem;
	}

	.layout-client-stories-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.layout-team-grid-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.layout-feature-grid--cols-2 .layout-feature-grid-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.layout-feature-grid--cols-3 .layout-feature-grid-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

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

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

	.layout-referral-example-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.layout-benefits-grid-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: start;
	}

	.layout-benefits-grid-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		column-gap: var(--wp--preset--spacing--6);
	}

	.layout-benefits-grid-list .benefit-row:nth-child(odd) {
		grid-column: 1;
	}

	.layout-benefits-grid-list .benefit-row:nth-child(even) {
		grid-column: 2;
	}
}

@media (max-width: 1024px) {
	.layout-hero--split {
		min-height: auto;
	}

	.layout-hero--split .layout-hero-media {
		position: relative;
		top: auto;
		left: 1.5rem;
		width: 100%;
		height: 420px;
		margin-block-end: var(--wp--preset--spacing--6);
		max-width: calc(100% - 3rem);
	}

	.layout-hero--split .layout-hero-image {
		aspect-ratio: 4 / 3;
		border-radius: var(--wp--preset--border-radius--large);
		object-position: center center;
	}

	.layout-split-intro-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--6);
	}

	.layout-split-intro-media {
		height: 420px;
		order: -1;
	}

	.layout-split-intro-media img {
		height: 100%;
		object-fit: cover;
	}

	.layout-split-intro--media-left .layout-split-intro-media {
		order: 0;
	}

	.layout-referral-example-inner {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--6);
	}

	.layout-referral-example-media {
		width: 100%;
		height: 420px;
		order: -1;
	}

	.layout-referral-example-media img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 62%;
	}

	.layout-services-banner-word {
		font-size: clamp(4rem, 5.714vw + 1.857rem, 7rem);
	}

	.layout-services-banner--start-here .layout-services-banner-word {
		font-size: var(--wp--preset--font-size--heading-1);
	}

	.cta-section-inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.cta-section-content,
	.cta-section-content:has(.cta-section-body) {
		max-width: none;
	}

	.cta-section-actions {
		width: 100%;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.layout-hero--banner {
		--layout-hero-banner-image-height: 21.5rem;
		--layout-hero-banner-image-offset: -4rem;
		--layout-hero-banner-radius: 6rem;
	}

	.layout-hero--banner-size-tall {
		--layout-hero-banner-image-height: 20.5rem;
	}

	.layout-hero--banner-size-compact {
		--layout-hero-banner-section-height: 19rem;
	}
}

@media (max-width: 767px) {
	.layout-client-stories-grid,
	.layout-team-grid-cards,
	.layout-feature-grid-cards,
	.layout-qualification-columns,
	.layout-client-portals-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.layout-hero--banner {
		--layout-hero-banner-image-height: 16rem;
		--layout-hero-banner-image-offset: -3rem;
		--layout-hero-banner-radius: 4rem;
	}

	.layout-hero--banner-size-compact {
		--layout-hero-banner-section-height: 16rem;
	}

	.layout-hero--banner .layout-hero-headline {
		font-size: clamp(2rem, 1.905vw + 1.286rem, 3rem);
	}
	.layout-hero--split .layout-hero-media {
		height: 220px;
	}

	.layout-split-intro-media {
		height: 220px;
	}

	.layout-referral-example-media {
		height: 220px;
	}
}

/* Tablet/mobile — section padding per design (space/8 block, 24px inline) */
@media (max-width: 1024px) {
	:root {
		--wp--preset--spacing--site-gutter: var(--wp--preset--spacing--5);
		--wp--preset--spacing--section-main: var(--wp--preset--spacing--8);
		--wp--preset--spacing--section-large: var(--wp--preset--spacing--8);
		--wp--preset--spacing--section-page-top: var(--wp--preset--spacing--8);
	}

	.layout-pain-points-inner,
	.layout-blog-browse-bar-inner,
	.layout-qualification-inner,
	.layout-split-intro-inner,
	.layout-referral-example-inner,
	.layout-client-stories-inner,
	.layout-feature-grid-inner,
	.layout-benefits-grid-inner,
	.layout-content-list-inner,
	.layout-steps-process-inner,
	.layout-team-grid-inner,
	.layout-section-intro-inner,
	.layout-pull-quotes-inner,
	.layout-services-banner-inner,
	.layout-client-portals-inner {
		width: 100%;
		max-width: 100%;
		padding-inline: var(--wp--preset--spacing--5);
		gap: var(--wp--preset--spacing--6);
	}

	.layout-team-grid-inner {
		gap: var(--wp--preset--spacing--6);
	}

	.page-start-here .layout-feature-grid-inner,
	.page-start-here .layout-steps-process-inner {
		gap: var(--wp--preset--spacing--9);
	}

	/* CTA uses section-small on desktop — override to space/8 on tablet/mobile */
	.cta-section-inner {
		width: 100%;
		max-width: 100%;
		padding-block: var(--wp--preset--spacing--7);
		padding-inline: var(--wp--preset--spacing--5);
	}
}

/* Services grid */
.layout-services-grid {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-services-grid-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--9);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-services-grid-cards {
	display: grid;
	gap: var(--wp--preset--spacing--6);
}

@media (min-width: 768px) {
	.layout-services-grid-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.layout-services-grid-cards .service-card {
		max-width: none;
	}
}

@media (min-width: 1025px) {
	.layout-services-grid-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Contact section */
.layout-contact {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
}

.layout-contact-inner {
	display: grid;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-contact-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-contact-form-unavailable {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--body-small);
}

/* Fluent Forms — contact section theme styling */
.layout-contact-form .fluentform {
	width: 100%;
}

.layout-contact-form .frm-fluent-form {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-contact-form .ff-el-group {
	margin: 0;
}

.layout-contact-form .ff-el-input--label label {
	margin: 0 0 var(--wp--preset--spacing--5);
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.layout-contact-form .ff-el-form-control {
	width: 100%;
	padding: 0;
	border: 0;
	border-bottom: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--contrast-subtle);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wp--preset--color--contrast-medium);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
	transition:
		color var(--gwp-transition-fast),
		border-color var(--gwp-transition-fast);
}

.layout-contact-form .ff-el-group:hover .ff-el-input--label label {
	color: var(--wp--preset--color--contrast-medium);
}

.layout-contact-form .ff-el-group:hover .ff-el-form-control {
	border-bottom-color: var(--wp--preset--color--contrast-medium);
}

.layout-contact-form .ff-el-group:focus-within .ff-el-input--label label,
.layout-contact-form .ff-el-group.ff_excluded:focus-within .ff-el-input--label label {
	color: var(--wp--preset--color--accent-hover);
}

.layout-contact-form .ff-el-form-control:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--contrast-strongest);
	box-shadow: none;
}

.layout-contact-form .ff-el-is-error .ff-el-form-control {
	border-bottom-color: var(--wp--preset--color--accent-hover);
}

.layout-contact-form .ff-el-is-error .ff-el-input--label label {
	color: var(--wp--preset--color--accent-hover);
}

.layout-contact-form .text-danger,
.layout-contact-form .error.text-danger {
	margin-block-start: var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--accent-hover);
	font-size: var(--wp--preset--font-size--small);
}

.layout-contact-form .ff_submit_btn_wrapper {
	margin: 0;
	padding: 0;
}

.layout-contact-form .ff-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: max-content;
	min-width: 200px;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6);
	border: 0;
	border-radius: var(--wp--preset--border-radius--round);
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--base-background);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--button);
	font-weight: 700;
	text-align: center;
	cursor: pointer;
	transition:
		background-color var(--gwp-transition-fast),
		color var(--gwp-transition-fast);
}

.layout-contact-form .ff-btn-submit:hover,
.layout-contact-form .ff-btn-submit:focus-visible {
	background: var(--wp--preset--color--contrast-strongest);
	color: var(--wp--preset--color--base-background);
}

.layout-contact-form .ff-message-success {
	margin-block-start: var(--wp--preset--spacing--4);
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--body-small);
}

@media (max-width: 1024px) {
	.layout-contact-form .ff-btn-submit {
		width: 100%;
		max-width: 100%;
		min-width: 0;
	}
}

.layout-contact-details {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	padding-block-start: var(--wp--preset--spacing--3);
}

.layout-contact-company {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast-medium);
}

.layout-contact-details .layout-contact-company {
	margin-bottom: 0;
}

.layout-contact-list {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.layout-contact-item {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--5);
	margin: 0;
	padding-block-end: var(--wp--preset--spacing--4);
}

.layout-contact-item:not(:last-child) {
	border-block-end: 0.5px solid var(--wp--preset--color--contrast-subtle);
}

.layout-contact-item--address {
	align-items: flex-start;
}

.layout-contact-item dt {
	flex-shrink: 0;
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast-medium);
	min-width: 70px;
}

.layout-contact-item--office dt {
	text-transform: none;
	letter-spacing: 0.075em;
}

.layout-contact-item dd {
	margin: 0;
	font-size: var(--wp--preset--font-size--button);
	font-weight: 300;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast-medium);
}

.layout-contact-item--email dd,
.layout-contact-item--address dd {
	font-size: var(--wp--preset--font-size--body-small);
}

.layout-contact-item a {
	color: inherit;
	text-decoration: none;
}

.layout-contact-item a:hover,
.layout-contact-item a:focus-visible {
	color: var(--wp--preset--color--accent-hover);
}

.layout-contact-map {
	position: relative;
	margin: 0;
	border-radius: var(--wp--preset--spacing--4);
	overflow: hidden;
	aspect-ratio: 504 / 378;
	min-height: 15rem;
	background: var(--wp--preset--color--base-subtle);
}

.layout-contact-map__frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	/* Nudge Google's default palette toward the muted mint/seafoam in the design. */
	filter: saturate(0.75) brightness(0.99) hue-rotate(8deg) contrast(0.97);
}

.layout-contact-details-col {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

@media (min-width: 1025px) {
	.layout-contact-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 31.5rem);
		align-items: start;
	}
}

/* Team video */
.layout-team-video {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
	border-block-start: 1px solid var(--wp--preset--color--base-subtle);
}

.layout-team-video-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	padding-block: var(--wp--preset--spacing--section-main);
	text-align: center;
}

.layout-team-video-heading {
	margin: 0;
	max-width: 41.125rem;
}

.layout-team-video-player {
	width: min(100%, 37.5rem);
	border-radius: var(--wp--preset--spacing--4);
	overflow: hidden;
}

.layout-team-video-trigger {
	position: relative;
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	border-radius: inherit;
	background: transparent;
	cursor: pointer;
}

.layout-team-video-trigger:is(:hover, :focus-visible) .layout-team-video-play-icon {
	transform: scale(1.05);
}

.layout-team-video-poster {
	display: block;
	width: 100%;
	height: auto;
}

.layout-team-video-play {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.layout-team-video-play-icon {
	display: block;
	width: min(24%, 6rem);
	height: auto;
	transition: transform var(--gwp-transition-fast);
}

html.team-video-modal-open {
	overflow: hidden;
}

.team-video-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--4);
}

.team-video-modal[hidden] {
	display: none;
}

.team-video-modal-backdrop {
	position: absolute;
	inset: 0;
	background: var(--gwp-color-overlay-72);
}

.team-video-modal-panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: min(100%, 50rem);
	max-height: calc(100vh - (var(--wp--preset--spacing--4) * 2));
	background: var(--wp--preset--color--base-background);
	border-radius: var(--wp--preset--spacing--4);
	overflow: hidden;
}

.team-video-modal-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
	flex-shrink: 0;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6);
	border-block-end: 1px solid var(--wp--preset--color--base-subtle);
}

.team-video-modal-title {
	margin: 0;
	min-width: 0;
	font-size: var(--wp--preset--font-size--medium);
}

.team-video-modal-close {
	flex-shrink: 0;
}

.team-video-modal-body {
	flex: 1 1 auto;
	min-height: 0;
}

.team-video-modal-frame {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 0;
}

/* Calendly band */
.layout-calendly-band {
	background: var(--layout-section-bg, var(--wp--preset--color--base-background));
	border-block-start: 1px solid var(--wp--preset--color--base-subtle);
}

.layout-calendly-band-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--7);
	padding-block: var(--wp--preset--spacing--7);
}

.layout-calendly-band-heading {
	margin: 0;
}

.layout-calendly-band-body {
	margin: 0;
}

.layout-calendly-band-embed {
	width: 100%;
	.button-wrap {
		justify-content: center;
	}
}

.layout-calendly-band-frame {
	display: block;
	width: 100%;
	min-height: 30rem;
	border: 0;
	border-radius: 0.85rem;
}

.layout-calendly-band-placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--6);
	min-height: 30rem;
	padding: var(--wp--preset--spacing--6);
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast-strongest) 10%, transparent);
	border-radius: 0.85rem;
	background: var(--wp--preset--color--base-lighter);
	text-align: center;
}

@media (min-width: 1025px) {
	.layout-calendly-band-inner {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: var(--wp--preset--spacing--section-small);
		padding-block: var(--wp--preset--spacing--section-small);
	}

	.layout-calendly-band-copy {
		max-width: 30rem;
	}

	.layout-calendly-band-embed {
		max-width: 40.5rem;
	}
}

@media (max-width: 767px) {
	.layout-blog-browse-bar-inner {
		flex-direction: column;
		align-items: stretch;
		text-align: center;
	}

	.layout-blog-browse-bar-label,
	.layout-blog-browse-bar-count {
		align-self: center;
	}

	.layout-blog-browse-bar-filters {
		gap: var(--wp--preset--spacing--5);
	}
}

@media (max-width: 1024px) {
	.layout-calendly-band-copy {
		text-align: center;
	}
}

/* Article single — hero */
.layout-article-hero {
	--layout-article-hero-offset: 5rem;
	--layout-article-hero-radius: 3rem;
	overflow: visible;
}

.layout-article-hero-head {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 45rem;
	overflow: hidden;
	border-end-start-radius: var(--layout-article-hero-radius);
	isolation: isolate;
}

.layout-article-hero-media {
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
}

.layout-article-hero-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.75);
	pointer-events: none;
}

.layout-article-hero-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.layout-article-hero-content {
	position: relative;
	z-index: 1;
	padding-block-end: var(--wp--preset--spacing--9);
}

.layout-article-hero-inner {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
}

.layout-article-hero-inner .section-chip:is(:hover, .is-hover) .section-chip-text {
	color: var(--wp--preset--color--contrast-subtle);
}

.layout-article-hero-headline {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(2.5rem, 5.56vw, 5rem);
	font-weight: 400;
	color: var(--wp--preset--color--base-background);
	letter-spacing: -0.02em;
	max-width: 58rem;
}

.layout-article-hero-rule {
	display: block;
	width: min(100%, 47.375rem);
	height: 0;
	border-top: 1px solid var(--wp--preset--color--contrast-subtle);
}

.layout-article-hero-info {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-wrap: wrap;
}

.layout-article-hero-info-text {
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 400;
	color: var(--wp--preset--color--base-subtle);
	line-height: 1.667;
}

.layout-article-hero-info-text--muted {
	color: var(--wp--preset--color--contrast-subtle);
}

.layout-article-hero-info-sep {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: rgba(193, 111, 88, 0.48);
	flex-shrink: 0;
}

@media (min-width: 1025px) {
	.layout-article-hero {
		margin-block-start: calc(-1 * var(--layout-article-hero-offset));
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.layout-article-hero {
		--layout-article-hero-offset: 4rem;
		--layout-article-hero-radius: 2.5rem;
	}

	.layout-article-hero-head {
		min-height: 25rem;
	}
}

@media (max-width: 767px) {
	.layout-article-hero {
		--layout-article-hero-offset: 3rem;
		--layout-article-hero-radius: 2rem;
	}

	.layout-article-hero-head {
		min-height: 23rem;
	}

	.layout-article-hero-headline {
		font-size: clamp(1.75rem, 6vw, 2.5rem);
	}
}

/* Article single */
.layout-article-single {
	background: var(--wp--preset--color--base-background);
}

.layout-article-single-inner {
	display: grid;
	gap: var(--wp--preset--spacing--section-small);
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-article-single-content {
	max-width: 100%;
	min-width: 0;
}

.layout-article-single-content :where(img, video, iframe, figure, .wp-block-image) {
	max-width: 100%;
	height: auto;
}

.layout-article-single-content > :where(:not(.alignfull)) {
	max-width: 100%;
}

.layout-article-single-content > :first-child {
	margin-block-start: 0;
}

/* Editorial body — step heading sizes down one level (h2 → heading-3, etc.) */
.single-post .layout-article-single-content.entry-content :where(h2) {
	font-size: var(--wp--preset--font-size--heading-3);
}

.single-post .layout-article-single-content.entry-content :where(h3) {
	font-size: var(--wp--preset--font-size--heading-4);
}

.single-post .layout-article-single-content.entry-content :where(h4) {
	font-size: var(--wp--preset--font-size--heading-5);
}

.single-post .layout-article-single-content.entry-content :where(h5, h6) {
	font-size: var(--wp--preset--font-size--heading-6);
}

.layout-article-single-sidebar {
	display: flex;
	flex-direction: column;
	min-width: 0;
	align-items: center;
	height: 100%;
}

.layout-article-sidebar-cta {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	width: 100%;
	max-width: 412px;
	padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--gradient--theme-card-gradient);
}

.layout-article-sidebar-cta-content {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.layout-article-sidebar-cta-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1.3;
	color: var(--wp--preset--color--contrast-medium);
}

.layout-article-sidebar-cta .button-wrap {
	justify-items: center;
}

.layout-article-lead-magnet img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--wp--preset--spacing--4);
}

.layout-article-post-footer {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--7);
	margin-block-start: var(--wp--preset--spacing--7);
}

.layout-article-post-footer-meta {
	display: flex;
	flex-direction: column;
}

.layout-article-post-footer-disclosure {
	margin: 0;
	padding-block: var(--wp--preset--spacing--7);
	border-block-start: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--base-subtle);
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--small);
	line-height: 1.5;
}

.layout-article-post-footer-disclosure p {
	margin: 0;
}

.layout-article-post-footer-disclosure p + p {
	margin-block-start: var(--wp--preset--spacing--4);
}

.layout-article-post-footer-disclosure a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.layout-article-post-footer-share {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
	padding-block: var(--wp--preset--spacing--5);
	border-block: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--base-subtle);
}

.layout-article-post-footer-share-label {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.171em;
	text-transform: uppercase;
}

.layout-article-post-footer-share-links {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.layout-article-post-footer-share-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 1.5rem;
	color: var(--wp--preset--color--accent-hover);
	text-decoration: none;
}

.layout-article-post-footer-share-link .icon {
	display: block;
	opacity: 0.48;
	transition: opacity var(--gwp-transition-medium);
}

.layout-article-post-footer-share-link .icon-email {
	width: auto;
	height: 1.25rem;
}

.layout-article-post-footer-share-link:is(:hover, :focus-visible) .icon {
	opacity: 1;
}

.layout-article-post-footer-nav {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: stretch;
	gap: var(--wp--preset--spacing--3);
}

.layout-article-post-footer-nav-col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	min-width: 0;
}

.layout-article-post-footer-nav-col--next {
	align-items: flex-end;
	text-align: end;
}

.layout-article-post-footer-nav-link {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	color: inherit;
	text-decoration: none;
}

.layout-article-post-footer-nav-link:is(:hover, :focus-visible) .layout-article-post-footer-nav-title {
	color: var(--wp--preset--color--accent-brand);
}

.layout-article-post-footer-nav-label {
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.171em;
}

.layout-article-post-footer-nav-title {
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	line-height: 1.667;
}

.layout-article-post-footer-nav-divider {
	align-self: stretch;
	width: var(--wp--custom--border-width--xsmall);
	background: var(--wp--preset--color--base-subtle);
}

.layout-article-post-footer-nav:not(:has(.layout-article-post-footer-nav-col--previous)) .layout-article-post-footer-nav-col--next {
	grid-column: 3;
}

@media (max-width: 640px) {
	.layout-article-post-footer-share {
		flex-direction: column;
		align-items: flex-start;
	}

	.layout-article-post-footer-nav {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--5);
	}

	.layout-article-post-footer-nav-divider {
		display: none;
	}

	.layout-article-post-footer-nav-col {
		width: 100%;
	}

	.layout-article-post-footer-nav-col--next {
		align-items: flex-end;
		text-align: end;
	}

	.layout-article-post-footer-nav:not(:has(.layout-article-post-footer-nav-col--previous)) .layout-article-post-footer-nav-col--next {
		grid-column: auto;
	}
}

@media (min-width: 1025px) {
	.layout-article-single-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 25.75rem);
		column-gap: var(--wp--preset--spacing--section-small);
		align-items: start;
	}

	.layout-article-single-sidebar {
		border-inline-start: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
		padding-inline-start: var(--wp--preset--spacing--section-small);
	}

	.layout-article-sidebar-cta {
		position: sticky;
		top: var(--wp--preset--spacing--6);
	}
}

/* Legal / simple page body */
.layout-page-body {
	background: var(--wp--preset--color--base-background);
}

.layout-page-body-inner {
	padding-block: var(--wp--preset--spacing--section-main);
	max-width: 46rem;
}

.layout-page-body-inner > :first-child {
	margin-block-start: 0;
}

/* Case study */
.layout-case-study-intro,
.layout-case-study-results {
	background: var(--wp--preset--color--base-background);
}

.layout-case-study-intro-inner,
.layout-case-study-results-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--9);
	padding-block: var(--wp--preset--spacing--section-main);
}

@media (max-width: 781px) {
	.layout-case-study-intro-inner,
	.layout-case-study-results-inner {
		gap: var(--wp--preset--spacing--8);
	}
}

.layout-case-study-intro-header,
.layout-case-study-results-header {
	max-width: 45.125rem;
}

.layout-case-study-intro-body,
.layout-case-study-results-body {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
	line-height: 1.44;
	text-align: center;
	max-width: 36rem;
}

.layout-case-study-intro-heading,
.layout-case-study-results-heading {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-3);
	font-weight: 400;
	line-height: 1.15;
	text-align: center;
	text-wrap: balance;
}

.layout-case-study-results-note {
	margin: 0;
	max-width: 34rem;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}

.layout-case-study-points {
	background: var(--wp--preset--color--base-lighter);
	border-block-start: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.layout-case-study-points-inner {
	display: flex;
	flex-direction: column;
}

.case-point-row {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	padding-block: var(--wp--preset--spacing--section-main);
	padding-inline-start: var(--wp--preset--spacing--6);
	border-block-end: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.case-point-row:last-child {
	border-block-end: 0;
}

.case-point-row-main {
	display: grid;
	grid-template-columns: minmax(10rem, 14rem) minmax(0, 1fr);
	gap: var(--wp--preset--spacing--section-small);
	align-items: center;
	padding-inline-start: var(--wp--preset--spacing--8);
}

.case-point-row-heading {
	position: relative;
}

.case-point-row-number {
	position: absolute;
	top: 0;
	inset-inline-start: -3.5rem;
	margin: 0;
	color: var(--gwp-color-contrast-medium-32);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(5rem, 12vw, 8.5rem);
	font-weight: 400;
	letter-spacing: -0.12em;
	line-height: 0.74;
	pointer-events: none;
	user-select: none;
}

.case-point-row-title {
	position: relative;
	z-index: 1;
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-5);
	font-weight: 400;
	line-height: 1.2;
	text-wrap: balance;
}

.case-point-row-body {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.case-point-row-body p {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
	line-height: 1.5;
}

@media (max-width: 781px) {
	.case-point-row {
		padding-inline-start: 0;
	}

	.case-point-row-main {
		grid-template-columns: 1fr;
		gap: var(--wp--preset--spacing--6);
		padding-inline-start: 0;
	}

	.case-point-row-number {
		position: static;
		margin-block-end: var(--wp--preset--spacing--3);
		font-size: clamp(3.5rem, 18vw, 5rem);
	}
}

/* Thank-you landing pages */
body.page-thank-you .site-main {
	min-height: 100svh;
}

.layout-thank-you {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100svh;
	padding: var(--wp--preset--spacing--section-main) var(--wp--preset--spacing--6);
	background: var(--wp--preset--color--theme-footer-bg);
}

.layout-thank-you-bg {
	position: absolute;
	inset: 0;
	background-image: var(--layout-thank-you-image);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.layout-thank-you-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		180deg,
		rgba(252, 252, 252, 0) 0%,
		rgba(252, 252, 252, 0.2) 100%
	);
}

.layout-thank-you-card {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--8);
	width: min(100%, 36rem);
	padding: var(--wp--preset--spacing--8);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--base-lighter);
	text-align: center;
}

.page-id-96 .layout-thank-you-card {
	width: min(100%, 40rem);
}

.layout-thank-you-heading {
	margin: 0;
	max-width: 35.625rem;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-2);
}

.layout-thank-you--start-here .layout-thank-you-heading {
	font-size: var(--wp--preset--font-size--heading-3);
}

.layout-thank-you-body {
	max-width: 34.375rem;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
}

.layout-thank-you-body p {
	margin: 0 0 var(--wp--preset--spacing--4);
}

.layout-thank-you-body p:last-child {
	margin-bottom: 0;
}

.layout-thank-you-body a {
	color: inherit;
}

.layout-thank-you-signature {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
}

.layout-thank-you-signoff {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--signature);
	font-size: var(--wp--preset--font-size--signature);
	letter-spacing: -0.02em;
}

.layout-thank-you-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
}

.layout-thank-you-umbrella {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--small);
}

/* Powerlander landing page */
.layout-powerlander {
	position: relative;
	padding-block: var(--wp--preset--spacing--section-main);
	background: var(--wp--preset--color--base-background);
	overflow: hidden;
}

.layout-powerlander-inner {
	position: relative;
	z-index: 1;
	display: grid;
	gap: var(--wp--preset--spacing--9);
	align-items: start;
}

.layout-powerlander-disclaimer {
	margin: var(--wp--preset--spacing--9) auto 0;
	max-width: 36rem;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0;
	text-align: center;
}

.layout-powerlander-copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-powerlander-header {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-powerlander-headline {
	margin: 0;
	max-width: 41.125rem;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-1);
	letter-spacing: -0.02em;
}

.layout-powerlander-subheadline {
	margin: 0;
	max-width: 41.125rem;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
}

.layout-powerlander-rule {
	display: block;
	width: 100%;
	height: 1px;
	background: var(--wp--preset--color--contrast-medium);
}

.layout-powerlander-benefits {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
}

.layout-powerlander-benefits-heading {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
}

.layout-powerlander-bullets {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (min-width: 768px) {
	.layout-powerlander-bullets {
		margin-right: -5rem !important;
	}
}

.layout-powerlander-form {
	justify-self: center;
	width: min(100%, 31.4375rem);
}

/* Referral landing */
.layout-hero--referral .layout-hero-headline {
	max-width: 70.6875rem;
}

.layout-section-intro--referral .layout-section-intro-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: 39.625rem;
	margin-inline: auto;
	text-align: center;
}

.layout-section-intro--referral .layout-section-header {
	width: 100%;
	gap: 0;
}

.layout-section-intro--referral .section-chip {
	margin-block-end: var(--wp--preset--spacing--6);
}

.layout-section-intro--referral .layout-section-header-heading {
	max-width: none;
	margin: 0 0 var(--wp--preset--spacing--4);
	font-size: var(--wp--preset--font-size--heading-3);
}

.layout-section-intro--referral .layout-section-header-body {
	margin: 0;
	font-weight: 300;
}

.layout-referral-example {
	background: var(--layout-section-bg, var(--wp--preset--color--base-lighter));
	border-block-start: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--base-subtle);
}

.layout-referral-example-inner {
	display: grid;
	gap: var(--wp--preset--spacing--section-small);
	align-items: center;
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-referral-example-copy {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	max-width: 39.625rem;
}

.layout-referral-example-copy .layout-section-header {
	gap: 0;
}

.layout-referral-example-blocks {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
}

.layout-referral-example-body {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
	line-height: 1.44;
}

.layout-referral-example-display {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-4);
	line-height: 1.3;
}

.layout-referral-example-media {
	margin: 0;
	border-radius: var(--wp--preset--border-radius--large);
	overflow: hidden;
}

.layout-referral-example-media img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
	object-position: 50% 62%;
}

.layout-referral-example-media--flip img {
	transform: scaleX(-1);
}

@media (max-width: 1024px) {
	.layout-referral-example-inner {
		gap: var(--wp--preset--spacing--6);
	}
}

@media (min-width: 1025px) {
	.layout-powerlander-inner {
		grid-template-columns: minmax(0, 1fr) minmax(18rem, 31.4375rem);
		gap: var(--wp--preset--spacing--9);
	}

	.layout-powerlander-form {
		justify-self: end;
	}
}

.cta-section--referral .cta-section-inner {
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: var(--wp--preset--spacing--6);
}

.cta-section--referral .cta-section-content,
.cta-section--referral .cta-section-content:has(.cta-section-body) {
	flex: 0 1 auto;
	align-items: center;
	width: 100%;
	max-width: 37.125rem;
}

.cta-section--referral .cta-section-body {
	font-weight: 300;
}

.cta-section--referral .cta-section-actions {
	display: flex;
	justify-content: center;
	width: 100%;
}
