/* ==========================================================================
   Component tokens (derived from theme.json presets)
   ========================================================================== */

:root {
	--gwp-duration-fast: 0.2s;
	--gwp-duration-medium: 0.25s;
	--gwp-duration-slow: 0.3s;
	--gwp-duration-slower: 0.35s;
	--gwp-duration-slowest: 0.45s;
	--gwp-duration-hero: 0.5s;
	--gwp-ease: ease;
	--gwp-ease-in: ease-in;
	--gwp-ease-in-out: ease-in-out;
	--gwp-transition-fast: var(--gwp-duration-fast) var(--gwp-ease);
	--gwp-transition-medium: var(--gwp-duration-medium) var(--gwp-ease);
	--gwp-transition-slow: var(--gwp-duration-slow) var(--gwp-ease);
	--gwp-transition-slower: var(--gwp-duration-slower) var(--gwp-ease);
	--gwp-transition-slowest: var(--gwp-duration-slowest) var(--gwp-ease-in);
	--gwp-transition-hero: var(--gwp-duration-hero) var(--gwp-ease);
	--gwp-shadow-elevation-1:
		0 1px 2px rgba(0, 0, 0, 0.08),
		0 1px 3px 1px rgba(0, 0, 0, 0.04);
	--gwp-shadow-elevation-2:
		0 1px 2px rgba(0, 0, 0, 0.16),
		0 1px 3px 1px rgba(0, 0, 0, 0.08);
	--gwp-shadow-powerlander:
		0 4px 3.5px -4px rgba(12, 12, 13, 0.04),
		0 16px 28px -4px rgba(12, 12, 13, 0.08);
	--gwp-powerlander-pill-dots-width: 1.7143125rem;
	--gwp-powerlander-pill-dots-height: 0.5356875rem;
	--gwp-color-base-subtle-24: color-mix(in srgb, var(--wp--preset--color--base-subtle) 24%, transparent);
	--gwp-color-base-subtle-40: color-mix(in srgb, var(--wp--preset--color--base-subtle) 40%, transparent);
	--gwp-color-base-subtle-80: color-mix(in srgb, var(--wp--preset--color--base-subtle) 80%, transparent);
	--gwp-color-contrast-subtle-64: color-mix(in srgb, var(--wp--preset--color--contrast-subtle) 64%, transparent);
	--gwp-color-contrast-medium-32: color-mix(in srgb, var(--wp--preset--color--contrast-medium) 32%, transparent);
	--gwp-color-contrast-strong-64: color-mix(in srgb, var(--wp--preset--color--contrast-strong) 64%, transparent);
	--gwp-color-accent-hover-32: color-mix(in srgb, var(--wp--preset--color--accent-hover) 32%, transparent);
	--gwp-color-accent-hover-48: color-mix(in srgb, var(--wp--preset--color--accent-hover) 48%, transparent);
	--gwp-color-overlay-40: rgba(0, 0, 0, 0.4);
	--gwp-color-overlay-72: rgba(0, 0, 0, 0.72);
	--gwp-color-footer-heading: #dedee1;
	--gwp-color-footer-border: #48494f;
	--gwp-color-footer-cta-fallback: #ebe9f3;
	--gwp-gradient-step-row-overlay: linear-gradient(
		90deg,
		rgba(0, 0, 0, 0.64) 0%,
		rgba(0, 0, 0, 0.35) 36%,
		rgba(0, 0, 0, 0) 100%
	);
	--gwp-gradient-footer-cta-overlay: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.16));
}

/* Shared dot indicator dimensions */
.nav-link-dots span,
.section-chip-dots span,
.stories-pill-dots span,
.service-card-label-dots span {
	width: var(--wp--preset--spacing--3);
	height: var(--wp--preset--spacing--3);
	border-radius: 50%;
}

/* Site logo */
.site-logo {
	display: block;
	flex-shrink: 0;
	line-height: 0;
}

.site-logo-link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.site-logo-image {
	display: block;
	width: 3.9375rem;
	height: auto;
}

.site-logo--footer .site-logo-image {
	width: 5rem;
}

/* Buttons */
.button-wrap {
	display: grid;
	gap: var(--wp--preset--spacing--3);
	justify-items: start;
	max-width: 100%;
}

.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--6);
	border: 0;
	border-radius: var(--wp--preset--border-radius--round);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--button);
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	transition: background-color var(--gwp-transition-fast), color var(--gwp-transition-fast), border-color var(--gwp-transition-fast);
	width: auto;
	max-width: 100%;
	min-width: min(200px, 100%);
	white-space: normal;
}

.button-label {
	min-width: 0;
}

@media (max-width: 1024px) {
	.button-wrap {
		justify-items: center;
	}

	.button:not(.button--nav) {
		min-width: min(220px, 100%);
	}

	/* Keep CTAs aligned with start-aligned section copy (split intro, contact, etc.). */
	.layout-section-header--start ~ * .button-wrap,
	.layout-section-header--start ~ .button-wrap {
		justify-items: start;
	}

	.button-wrap.button-wrap--center-mobile {
		justify-items: center;
	}
}

.button--with-icon {
	gap: var(--wp--preset--spacing--3);
	justify-content: flex-start;
	text-align: left;
}

.button:not(.button--with-icon):not(.button--nav) {
	justify-content: center;
	text-align: center;
}

.button-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.button-icon .icon-arrow-right {
	width: 1rem;
	height: 1rem;
}

.button--primary {
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--base-background);
}

.button--primary:is(:hover, :focus-visible),
.button.is-hover {
	background: var(--wp--preset--color--contrast-strongest);
	color: var(--wp--preset--color--base-background);
}

.button--secondary {
	background: var(--wp--preset--color--accent-brand);
	color: var(--wp--preset--color--base-background);
}

.button--secondary:is(:hover, :focus-visible),
.button--secondary.is-hover {
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--base-background);
}

.button--nav {
	width: fit-content;
	min-width: 0;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--5);
	background: var(--wp--preset--color--accent-brand);
	color: var(--wp--preset--color--base-background);
}

.button--nav:is(:hover, :focus-visible),
.button--nav.is-hover {
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--base-background);
}

.button-note {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	text-align: center;
}

.button-link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--accent-hover);
	font-size: var(--wp--preset--font-size--button);
	font-weight: 400;
	text-decoration: none;
}

.button-link:is(:hover, :focus-visible),
.button-link.is-hover {
	gap: var(--wp--preset--spacing--4);
}

.footer-link {
	color: var(--wp--preset--color--theme-footer-text);
	font-size: 0.9375rem;
	font-weight: 300;
	text-decoration: none;
}

.footer-link:is(:hover, :focus-visible),
.footer-link.is-hover {
	color: var(--wp--preset--color--base-background);
}

.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 4rem;
	height: 4rem;
	border: var(--wp--custom--border-width--main) solid var(--wp--preset--color--base-subtle);
	border-radius: var(--wp--preset--border-radius--round);
	background: var(--wp--preset--color--accent-brand);
	color: var(--wp--preset--color--base-background);
	cursor: pointer;
	transition: background-color var(--gwp-transition-fast), border-color var(--gwp-transition-fast), color var(--gwp-transition-fast);
}

.icon-button--primary:is(:hover, :focus-visible),
.icon-button--primary.is-hover {
	border-color: var(--wp--preset--color--contrast-strongest);
	background: var(--wp--preset--color--contrast-strongest);
}

.icon-button--secondary {
	border-color: var(--wp--preset--color--accent-brand);
	background: var(--wp--preset--color--accent-hover);
}

.icon-button--secondary:is(:hover, :focus-visible),
.icon-button--secondary.is-hover {
	border-color: var(--wp--preset--color--contrast-strong);
	background: var(--wp--preset--color--accent-brand);
}

.icon-button.icon-button--play {
	width: 5.5rem;
	height: 5.5rem;
	border-color: var(--wp--preset--color--accent-hover);
}

.icon-button.icon-button--play .icon-play {
	width: 3.5rem;
	height: 3.5rem;
}

.icon-button.icon-button--play:is(:hover, :focus-visible),
.icon-button.icon-button--play.is-hover {
	border-color: var(--wp--preset--color--accent-brand);
}

.close-button {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: var(--wp--custom--border-width--small) solid var(--wp--preset--color--accent-brand);
	border-radius: 50%;
	background: transparent;
	color: var(--wp--preset--color--accent-brand);
	cursor: pointer;
	transition: background-color var(--gwp-transition-fast), color var(--gwp-transition-fast), border-color var(--gwp-transition-fast);
}

.close-button:is(:hover, :focus-visible),
.close-button.is-hover {
	border-color: var(--wp--preset--color--accent-hover);
	background: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--base-lighter);
}

/* Navigation */
.site-header {
	position: relative;
	z-index: 99;
	margin-top: 1rem;
}
@media (max-width: 1024px) {
	.site-header {
		margin-top: 0;
		background: var(--wp--preset--color--base-lighter);
		border-bottom: 1px solid var(--wp--preset--color--theme-border-fade);
	}
}
.site-header-nav {
	width: 100%;
}

.site-header-pill {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--4) var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
	border: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
	border-radius: var(--wp--preset--border-radius--round);
	background: var(--wp--preset--color--base-lighter);
	overflow: visible;
	box-shadow: 0 1px 4px 0 rgba(0, 0, 0, 0.08), 0 1px 8px 1px rgba(0, 0, 0, 0.04);
}

.site-header-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	overflow: visible;
}

.nav-link {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	padding-inline-start: 0.875rem;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.02em;
	text-decoration: none;
}

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

.nav-link-dots {
	display: inline-flex;
	opacity: 0;
	transition: opacity var(--gwp-transition-fast);
}

.nav-link-dots span {
	background: var(--wp--preset--color--contrast-strong);
}

.nav-link--dots:hover .nav-link-dots,
.nav-link--dots:focus-visible .nav-link-dots,
.nav-link--dots.is-hover .nav-link-dots {
	opacity: 1;
}

.nav-dropdown {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.nav-dropdown-control {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
}

.nav-dropdown-control .nav-link {
	padding-inline-end: 0;
}

.nav-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	cursor: pointer;
}

.nav-dropdown-toggle .icon-arrow-down {
	transition: transform var(--gwp-transition-fast);
}

.nav-dropdown.is-open .nav-dropdown-toggle .icon-arrow-down,
.nav-dropdown.is-hover .nav-dropdown-toggle .icon-arrow-down {
	transform: rotate(180deg);
}

.nav-dropdown-panel {
	position: absolute;
	top: calc(100% - 2px);
	left: 0;
	z-index: 30;
	min-width: 7.8125rem;
	margin: 0;
	padding: calc(var(--wp--preset--spacing--3) + 2px) 0 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	list-style: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-0.25rem);
	transition:
		opacity var(--gwp-transition-fast),
		transform var(--gwp-transition-fast),
		visibility var(--gwp-transition-fast);
}

.nav-dropdown.is-open .nav-dropdown-panel,
.nav-dropdown.is-hover .nav-dropdown-panel {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

.nav-dropdown-panel > li {
	border-inline: var(--wp--custom--border-width--small) solid var(--wp--preset--color--theme-border-fade);
	background: var(--wp--preset--color--base-lighter);
}

.nav-dropdown-panel > li:first-child {
	border-block-start: var(--wp--custom--border-width--small) solid var(--wp--preset--color--theme-border-fade);
	border-start-start-radius: var(--wp--preset--border-radius--main);
	border-start-end-radius: var(--wp--preset--border-radius--main);
}

.nav-dropdown-panel > li:last-child {
	border-block-end: var(--wp--custom--border-width--small) solid var(--wp--preset--color--theme-border-fade);
	border-end-start-radius: var(--wp--preset--border-radius--main);
	border-end-end-radius: var(--wp--preset--border-radius--main);
	box-shadow: var(--gwp-shadow-elevation-1);
}

.nav-dropdown-panel > li + li {
	border-block-start: var(--wp--custom--border-width--small) solid var(--wp--preset--color--theme-border-fade);
}

.nav-sub-link {
	display: flex;
	align-items: center;
	width: 100%;
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5) var(--wp--preset--spacing--4) var(--wp--preset--spacing--4);
	white-space: nowrap;
}


.mobile-nav {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--3);
}

.mobile-nav-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--3);
	border: 0;
	border-radius: var(--wp--preset--border-radius--small);
	background: transparent;
	color: var(--wp--preset--color--contrast-strongest);
	cursor: pointer;
}

.mobile-nav-panel {
	padding: var(--wp--preset--spacing--5);
	background: var(--wp--preset--color--base-lighter);
	border-block: var(--wp--custom--border-width--small) solid var(--wp--preset--color--theme-border-fade);
}

.mobile-nav-panel-inner {
	display: grid;
	gap: var(--wp--preset--spacing--5);
}

.mobile-nav-menu {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-nav-menu a,
.mobile-nav-dropdown-link {
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.02em;
	text-decoration: none;
}

.mobile-nav-dropdown-control {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--3);
	width: 100%;
}

.mobile-nav-dropdown-link {
	flex: 1 1 auto;
}

.mobile-nav-dropdown-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-family: inherit;
	font-weight: inherit;
	cursor: pointer;
}

.mobile-nav-dropdown-toggle .icon-arrow-down {
	transition: transform var(--gwp-transition-fast);
}

.mobile-nav-dropdown.is-open .mobile-nav-dropdown-toggle .icon-arrow-down {
	transform: rotate(180deg);
}

.mobile-nav-menu .sub-menu,
.mobile-nav-submenu {
	display: grid;
	gap: var(--wp--preset--spacing--3);
	margin: var(--wp--preset--spacing--3) 0 0;
	padding: 0 0 0 var(--wp--preset--spacing--5);
	border: 0;
	list-style: none;
}

.mobile-nav-submenu[hidden] {
	display: none;
}

.mobile-nav-menu .sub-menu a {
	font-weight: 400;
}

.mobile-nav-panel.is-open,
.mobile-nav-panel:not([hidden]) {
	display: block;
}

.is-open-preview .mobile-nav-panel {
	display: block;
}

/* Labels */
.type-label {
	margin: 0;
	color: var(--wp--preset--color--contrast-strong);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.section-chip {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
}

.section-chip-dots {
	display: inline-flex;
	gap: var(--wp--preset--spacing--2);
	transition: gap var(--gwp-transition-medium);
}

.section-chip-dots span {
	background: var(--wp--preset--color--contrast-strong);
	opacity: 0.32;
	transition: opacity var(--gwp-transition-medium);
}

.section-chip-text {
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	transition: color var(--gwp-transition-medium);
}

.stories-pill {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
}

.stories-pill-dots {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--2);
}

.stories-pill-dots span {
	background: var(--wp--preset--color--base-lighter);
	opacity: 0.2;
	transition: opacity var(--gwp-transition-medium);
}

.stories-pill-text {
	color: var(--wp--preset--color--base-lighter);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.section-chip--dark .section-chip-text {
	color: var(--wp--preset--color--contrast-medium);
}

.powerlander-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--3) var(--wp--preset--spacing--6);
	border: var(--wp--custom--border-width--small) solid var(--gwp-color-accent-hover-48);
	border-radius: var(--wp--preset--border-radius--round);
	background: var(--wp--preset--color--base-lighter);
	box-shadow: var(--gwp-shadow-powerlander);
}

.powerlander-pill-text {
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.02em;
}

.powerlander-pill-steps {
	display: inline-flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--4);
}

.powerlander-pill-step {
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--nav);
	font-weight: 300;
	letter-spacing: 0.171em;
	text-transform: uppercase;
}

.powerlander-pill-dots {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: space-between;
	width: var(--gwp-powerlander-pill-dots-width);
	height: var(--gwp-powerlander-pill-dots-height);
}

.powerlander-pill-dots span {
	width: var(--wp--preset--spacing--3);
	height: var(--wp--preset--spacing--3);
	border-radius: 50%;
	background: var(--wp--preset--color--contrast-strong);
}

.powerlander-pill:is(:hover, .is-hover) {
	border-color: var(--wp--preset--color--accent-hover);
}

@media (max-width: 767px) {
	.powerlander-pill {
		padding-inline: var(--wp--preset--spacing--5);
	}

	.powerlander-pill-steps {
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--2) var(--wp--preset--spacing--3);
	}

	.powerlander-pill-step {
		font-size: var(--wp--preset--font-size--small);
		letter-spacing: 0.12em;
		white-space: nowrap;
	}

	.powerlander-pill-dots {
		width: 0.375rem;
		height: 0.375rem;
		justify-content: center;
	}

	.powerlander-pill-dots span {
		width: 0.375rem;
		height: 0.375rem;
	}

	.powerlander-pill-dots span:not(:first-child) {
		display: none;
	}
}

.section-chip:is(:hover, .is-hover) .section-chip-dots {
	gap: var(--wp--preset--spacing--3);
}

.section-chip:is(:hover, .is-hover) .section-chip-dots span {
	opacity: 1;
}

.section-chip:is(:hover, .is-hover) .section-chip-text {
	color: var(--wp--preset--color--contrast-medium);
}

.story-card:is(:hover, .is-hover) .stories-pill-dots span {
	opacity: 0.5;
}

.story-card:is(:hover, .is-hover) .story-card-divider {
	opacity: 0;
}

/* Dark-card service label (Service Name in design). */
.service-card-label {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	padding-inline-start: var(--wp--preset--spacing--2);
}

.service-card-label-dots {
	display: inline-flex;
	gap: var(--wp--preset--spacing--2);
}

.service-card-label-dots span {
	background: var(--wp--preset--color--accent-hover);
	opacity: 0.32;
	transition: opacity var(--gwp-transition-medium);
}

.service-card-label-text {
	color: var(--wp--preset--color--base-subtle);
	font-size: var(--wp--preset--font-size--nav);
	letter-spacing: 0.171em;
	text-transform: uppercase;
	transition: color var(--gwp-transition-medium);
}

.service-card:is(:hover, .is-hover) .service-card-label-dots span,
.client-portal-card:is(:hover, .is-hover) .service-card-label-dots span,
.service-card-label.is-hover .service-card-label-dots span {
	opacity: 1;
}

.service-card:is(:hover, .is-hover) .service-card-label-text,
.client-portal-card:is(:hover, .is-hover) .service-card-label-text,
.service-card-label.is-hover .service-card-label-text {
	color: var(--wp--preset--color--base-lighter);
}

/* Lists */
.pain-point-row {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--9);
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.pain-point-row-dots {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	width: max-content;
	max-width: 1rem;
	height: 1rem;
	overflow: hidden;
	transition: max-width var(--gwp-transition-slower)-in-out;
}

.pain-point-row-dots span {
	display: block;
	flex: 0 0 1rem;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: var(--wp--preset--color--contrast-strong);
	opacity: 0.32;
	transform: scale(1);
	transition: opacity var(--gwp-transition-slow), transform var(--gwp-transition-slow), background var(--gwp-transition-slow);
}

.pain-point-row-dots span:nth-child(n + 2) {
	opacity: 0;
	transform: translateX(-0.2rem) scale(0.85);
}

.pain-point-row-quote {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	transform: translateX(0);
	transition: color var(--gwp-transition-slowest), transform var(--gwp-transition-hero);
}

.pain-point-row:is(:hover, .is-hover) {
	padding-inline-start: var(--wp--preset--spacing--9);
}

.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots {
	max-width: 10rem;
}

.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span {
	background: var(--wp--preset--color--accent-hover);
	opacity: 1;
	transform: scale(1);
}

.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span:nth-child(2) {
	transition-delay: 0.05s;
}

.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span:nth-child(3) {
	transition-delay: 0.1s;
}

.pain-point-row:is(:hover, .is-hover) .pain-point-row-quote {
	color: var(--wp--preset--color--contrast-strongest);
	transform: translateX(0.25rem);
}

.benefit-row {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	min-height: 5rem;
	padding: var(--wp--preset--spacing--5) 0 var(--wp--preset--spacing--5) var(--wp--preset--spacing--4);
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
}

.benefit-row-number {
	flex-shrink: 0;
	margin: 0;
	color: var(--gwp-color-accent-hover-48);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.35;
}

.benefit-row-title {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.35;
}

.step-row {
	--step-row-shift: calc(var(--wp--preset--spacing--section-main) + var(--wp--preset--spacing--9));
	--step-row-dark-copy: var(--wp--preset--color--contrast-strongest);
	position: relative;
	isolation: isolate;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: var(--wp--preset--spacing--7);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--9);
	border-radius: var(--wp--preset--border-radius--large);
	overflow: hidden;
	background: var(--wp--preset--gradient--card-hvr-acc-sub);
	border: var(--wp--custom--border-width--xsmall) solid transparent;
	transition: padding-inline-start var(--gwp-transition-hero), background var(--gwp-transition-hero), border-color var(--gwp-transition-hero);
}

.step-row-bg {
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: var(--gwp-gradient-step-row-overlay), var(--step-row-bg-image, none);
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
	transition: opacity var(--gwp-transition-slow), transform var(--gwp-transition-slow);
}

.step-row-number {
	margin: 0;
	color: var(--gwp-color-base-subtle-24);
	font-family: var(--wp--preset--font-family--heading);
	font-size: 136px;
	font-style: normal;
	font-weight: 400;
	line-height: 100px;
	letter-spacing: -4.8px;
	transform: translateX(0);
	transition: color var(--gwp-transition-slow);
}

.step-row-copy {
	transform: translateX(0);
	transition: transform var(--gwp-transition-slow);
}

.step-row-title {
	margin: 0 0 var(--wp--preset--spacing--3);
	color: var(--wp--preset--color--base-lighter);
	transition: color var(--gwp-transition-slow);
}

.step-row-body {
	margin: 0;
	color: var(--wp--preset--color--base-lighter);
	transition: color var(--gwp-transition-slow);
}

.step-row-cta {
	margin-inline-start: auto;
	opacity: 0;
	transform: translateX(-1rem);
	visibility: hidden;
	pointer-events: none;
	transition: opacity var(--gwp-transition-slow), transform var(--gwp-transition-slow), visibility var(--gwp-transition-slow);
	min-width: 13rem;
}

.step-row:is(:hover, .is-hover) {
	padding-inline-start: var(--step-row-shift);
	background: var(--wp--preset--gradient--card-hvr-acc-sub);
	border-color: var(--wp--preset--color--base-subtle);
}

.step-row:is(:hover, .is-hover) .step-row-bg {
	opacity: 0;
	transform: translateX(-2.25rem);
}

.step-row:is(:hover, .is-hover) .step-row-number {
	color: var(--wp--preset--color--accent-hover);
}

.step-row:is(:hover, .is-hover) .step-row-copy {
	transform: translateX(0.5rem);
}

.step-row:hover .step-row-title,
.step-row:hover .step-row-body,
.step-row.is-hover .step-row-title,
.step-row.is-hover .step-row-body {
	color: var(--step-row-dark-copy);
}

.step-row:is(:hover, .is-hover) .step-row-cta {
	opacity: 1;
	transform: translateX(0);
	visibility: visible;
	pointer-events: auto;
}

.hero-bullet,
.powerlander-bullet {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	padding: var(--wp--preset--spacing--4) var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--large);
	transition: all ease-in-out 0.3s;
}

.hero-bullet {
	gap: var(--wp--preset--spacing--3);
	background: var(--wp--preset--gradient--bullet-acc-sub);
}

.hero-bullet-icon {
	flex-shrink: 0;
	display: block;
	width: 1.5625rem;
	height: 1.25rem;
	opacity: 0.32;
	transform: rotate(-45deg);
	transform-origin: center;
	transition: transform 0.45s ease, opacity var(--gwp-transition-medium);
}

.hero-bullet-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.powerlander-bullet-dots {
	display: inline-flex;
	flex: 0 0 auto;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	width: max-content;
	max-width: 0.5rem;
	height: 0.5rem;
	overflow: hidden;
	transition: all ease-in-out 0.3s;
}

.powerlander-bullet-dots span {
	flex: 0 0 auto;
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--wp--preset--color--accent-hover);
	opacity: 0.64;
	transition: opacity var(--gwp-transition-slower)-in-out;
}

.powerlander-bullet-dots span:nth-child(n + 2) {
	opacity: 0;
	transform: translateX(-0.5rem);
	transition: opacity var(--gwp-transition-slower)-in-out, transform var(--gwp-transition-slower)-in-out;
}

.hero-bullet-text {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
}

.powerlander-bullet-text {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 400;
}

.hero-bullet:is(:hover, .is-hover) {
	gap: var(--wp--preset--spacing--5);
	background: var(--wp--preset--gradient--bullet-acc-hvr);
}

.hero-bullet:is(:hover, .is-hover) .hero-bullet-icon {
	opacity: 1;
	transform: rotate(0deg);
}

.powerlander-bullet {
	padding-block: var(--wp--preset--spacing--4);
	background: var(--wp--preset--gradient--bullet-acc-sub);
}

.powerlander-bullet:is(:hover, .is-hover) {
	gap: var(--wp--preset--spacing--5);
	background: var(--wp--preset--gradient--bullet-acc-hvr);
}

.powerlander-bullet:is(:hover, .is-hover) .powerlander-bullet-dots {
	max-width: 3rem;
}

.powerlander-bullet:is(:hover, .is-hover) .powerlander-bullet-dots span {
	opacity: 1;
	transform: translateX(0);
}

@media (max-width: 1024px), (hover: none), (pointer: coarse) {

	.powerlander-bullet,
	.powerlander-bullet:is(:hover, .is-hover) {
		gap: var(--wp--preset--spacing--5);
		background: var(--wp--preset--gradient--bullet-acc-hvr);
		transition: none;
	}
}

.content-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) var(--wp--preset--spacing--8) 0;
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
	color: inherit;
	text-decoration: none;
	transition: background-color var(--gwp-transition-fast);
}

.content-row-title {
	margin: 0 0 var(--wp--preset--spacing--3);
}

.content-row-meta {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
}

.content-row-arrow {
	color: var(--wp--preset--color--accent-hover);
}

.content-row:is(:hover, .is-hover) {
	background: var(--wp--preset--color--base-background);
}

.document-row,
.career-row,
.article-row {
	--list-row-content-pad: var(--wp--preset--spacing--8);
	display: block;
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--6) var(--wp--preset--spacing--8) 0;
	border-bottom: var(--wp--custom--border-width--small) solid var(--wp--preset--color--base-subtle);
	color: inherit;
	text-decoration: none;
	transition: background-color var(--gwp-transition-fast);
}

.article-row {
	--article-row-category-width: 10rem;
	--article-row-date-width: 10rem;
	--list-row-content-pad: var(--wp--preset--spacing--9);
}

.document-row {
	--document-row-inset: var(--wp--preset--spacing--5);
	--document-row-title-shift: var(--wp--preset--spacing--6);
}

.document-row-content,
.career-row-content {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto auto;
	align-items: center;
	gap: var(--wp--preset--spacing--9);
	padding-inline-start: var(--list-row-content-pad);
}

.article-row-content {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: var(--wp--preset--spacing--9);
	padding-inline-start: var(--list-row-content-pad);
	transition: padding-inline-start var(--gwp-transition-slow);
}

.article-row-details {
	display: grid;
	grid-template-columns: var(--article-row-category-width) var(--article-row-date-width) auto;
	align-items: center;
	column-gap: var(--wp--preset--spacing--9);
	flex: 0 0 auto;
}

.document-row-content {
	grid-template-columns: minmax(0, 1fr) auto auto;
	padding-inline-start: var(--document-row-inset);
}

.career-row-content {
	transition: padding-inline-start var(--gwp-transition-slow);
}

.article-row-heading {
	position: relative;
	flex: 1 1 auto;
	min-width: 0;
	max-width: 28.125rem;
}

.document-row-heading,
.career-row-heading {
	position: relative;
	min-width: 0;
}

.document-row-heading {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
}

.career-row-heading {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--5);
	transition: padding-inline-start var(--gwp-transition-slow);
}

.document-row-number {
	flex-shrink: 0;
	margin: 0;
	color: var(--gwp-color-base-subtle-40);
	font-family: var(--wp--preset--font-family--heading);
	font-size: clamp(3.5rem, 5.238vw + 1.536rem, 6.25rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: -0.12em;
	pointer-events: none;
	transition: color var(--gwp-transition-slow);
}

.career-row-number {
	flex-shrink: 0;
	margin: 0;
	color: var(--gwp-color-base-subtle-80);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 400;
	line-height: 1.35;
	transition: color var(--gwp-transition-slow);
}

.article-row-title {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	transition: color var(--gwp-transition-slow);
}

.career-row-title,
.document-row-title {
	margin: 0;
}

.document-row-title {
	flex: 1;
	min-width: 0;
	transition: padding-inline-start var(--gwp-transition-slow);
}

.document-row-meta,
.career-row-meta {
	display: contents;
}

.document-row-category,
.career-row-location,
.article-row-category {
	margin: 0;
	color: var(--gwp-color-contrast-subtle-64);
	letter-spacing: 0.15em;
	text-align: end;
	text-transform: uppercase;
	transition: color var(--gwp-transition-slow);
}

.document-row-category,
.career-row-location {
	font-size: var(--wp--preset--font-size--small);
}

.article-row-category {
	font-size: var(--wp--preset--font-size--nav);
	width: 100%;
	min-width: 0;
	max-width: 120px;
}

.article-row-date {
	margin: 0;
	width: 100%;
	min-width: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
	text-align: center;
	transition: color var(--gwp-transition-slow);
}

.document-row-category {
	min-width: max-content;
	white-space: nowrap;
}

.career-row-posted {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--body);
	font-weight: 300;
	text-align: end;
	transition: color var(--gwp-transition-slow);
}

.document-row-cta,
.career-row-cta,
.article-row-cta {
	display: inline-flex;
	align-items: center;
	gap: var(--wp--preset--spacing--3);
	flex-shrink: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-size: var(--wp--preset--font-size--button);
	font-weight: 400;
	transition: color var(--gwp-transition-slow), gap var(--gwp-transition-slow);
}

.document-row-cta-arrow,
.career-row-cta-arrow,
.article-row-cta-arrow {
	font-family: Poppins, sans-serif;
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	line-height: 1;
}

.article-row:is(:hover, .is-hover) {
	--list-row-content-pad: 7rem;
	background: var(--wp--preset--color--base-background);
}

.article-row:is(:hover, .is-hover) .article-row-title {
	color: var(--wp--preset--color--contrast-strongest);
}

.article-row:is(:hover, .is-hover) .article-row-category {
	color: var(--wp--preset--color--contrast-subtle);
}

.article-row:is(:hover, .is-hover) .article-row-date {
	color: var(--wp--preset--color--contrast-medium);
}

.article-row:is(:hover, .is-hover) .article-row-cta {
	color: var(--wp--preset--color--accent-hover);
	gap: var(--wp--preset--spacing--4);
}

@media (min-width: 768px) and (max-width: 1024px) {
	.article-row {
		--article-row-category-width: 9rem;
		--article-row-date-width: 9rem;
	}

	.article-row-heading {
		flex: 1 1 55%;
		max-width: none;
	}

	.article-row-content {
		gap: var(--wp--preset--spacing--6);
	}

	.article-row-details {
		column-gap: var(--wp--preset--spacing--6);
	}
}

.document-row:is(:hover, .is-hover),
.career-row:is(:hover, .is-hover) {
	background: var(--wp--preset--color--base-background);
}

.document-row:is(:hover, .is-hover) .document-row-number {
	color: var(--wp--preset--color--accent-hover);
}

.document-row:is(:hover, .is-hover) .document-row-title {
	padding-inline-start: var(--document-row-title-shift);
}

.document-row:is(:hover, .is-hover) .document-row-cta {
	color: var(--wp--preset--color--accent-hover);
	gap: var(--wp--preset--spacing--4);
}

.career-row:is(:hover, .is-hover) .career-row-heading {
	padding-inline-start: var(--wp--preset--spacing--6);
}

.career-row:is(:hover, .is-hover) .career-row-number,
.career-row:is(:hover, .is-hover) .career-row-location,
.career-row:is(:hover, .is-hover) .career-row-cta {
	color: var(--wp--preset--color--accent-hover);
}

.career-row:is(:hover, .is-hover) .career-row-cta {
	gap: var(--wp--preset--spacing--4);
}

/* Cards */
.feature-card,
.pull-quote-card,
.footer-cta-card {
	border-radius: var(--wp--preset--border-radius--large);
	transition: background var(--gwp-transition-fast), color var(--gwp-transition-fast), transform var(--gwp-transition-fast);
}

.feature-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--5);
	min-height: 21.875rem;
	padding: var(--wp--preset--spacing--6);
	background: var(--wp--preset--gradient--theme-card-gradient);
}

.feature-card-icon {
	display: block;
	flex-shrink: 0;
	width: 2rem;
	height: 2rem;
	overflow: visible;
	color: var(--wp--preset--color--contrast-strong);
}

.feature-card-icon .icon-card-arrow {
	display: block;
	width: 100%;
	height: 100%;
	opacity: 0.32;
	transform: rotate(0deg);
	transform-origin: 0% 50%;
	transition: opacity var(--gwp-transition-slower), transform var(--gwp-transition-hero);
}

.feature-card-copy {
	display: grid;
	gap: var(--wp--preset--spacing--4);
}

.feature-card-title {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	transition: color var(--gwp-transition-slower);
}

.feature-card-body {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
}

.feature-card:is(:hover, .is-hover) {
	background: var(--wp--preset--gradient--theme-card-gradient-hover);
}

.feature-card:is(:hover, .is-hover) .feature-card-icon .icon-card-arrow {
	opacity: 1;
	transform: rotate(45deg);
}

.feature-card:is(:hover, .is-hover) .feature-card-title {
	color: var(--wp--preset--color--contrast-strongest);
}

.story-card {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--5);
	min-height: 27.125rem;
	padding: var(--wp--preset--spacing--5);
	overflow: hidden;
	border-radius: var(--wp--preset--border-radius--large);
	background-color: var(--wp--preset--color--contrast-strongest);
	background-image: var(
		--story-card-image,
		linear-gradient(135deg, var(--wp--preset--color--contrast-strong), var(--wp--preset--color--theme-footer-bg))
	);
	background-size: cover;
	background-position: center;
	color: var(--wp--preset--color--base-lighter);
}

.story-card::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	background: var(--gwp-color-overlay-40);
	transition: background var(--gwp-transition-medium);
}

.story-card:is(:hover, .is-hover)::before {
	background: var(--gwp-color-overlay-72);
}

.story-card-content,
.story-card .button-wrap {
	position: relative;
	z-index: 1;
}

.story-card-content {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
}

.story-card-divider {
	display: block;
	width: 14.125rem;
	max-width: 100%;
	height: 0;
	border-top: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--base-lighter);
	opacity: 1;
	transition: opacity var(--gwp-transition-medium);
}

.story-card-title {
	margin: 0;
	color: var(--wp--preset--color--base-lighter);
	font-weight: 400;
	letter-spacing: normal;
	transform: translateY(0);
	transition: transform var(--gwp-transition-medium);
}

.story-card:has(.story-card-divider):is(:hover, .is-hover) .story-card-title {
	transform: translateY(calc(-1 * var(--wp--preset--spacing--5)));
}

.story-card .button-wrap {
	align-self: flex-start;
}

.service-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 27.125rem;
	padding: var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--theme-footer-bg);
	color: var(--wp--preset--color--base-lighter);
	text-decoration: none;
}

.service-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	min-height: 0;
}

.service-card-top {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.service-card-divider {
	display: block;
	width: 14.5rem;
	max-width: 100%;
	height: 0;
	border-top: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--contrast-subtle);
	opacity: 0.5;
	transition: opacity var(--gwp-transition-medium);
}

.service-card-body {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	transform: translateY(0);
	transition: color var(--gwp-transition-medium), transform var(--gwp-transition-medium);
}

.service-card-media {
	position: absolute;
	right: var(--wp--preset--spacing--5);
	bottom: var(--wp--preset--spacing--5);
	left: var(--wp--preset--spacing--5);
	height: 8.625rem;
	border-radius: var(--wp--preset--border-radius--large);
	background-image: var(--service-card-image);
	background-position: center;
	background-size: cover;
	opacity: 0;
	transition: opacity var(--gwp-transition-hero);
}

.service-card:is(:hover, .is-hover) .service-card-divider {
	opacity: 0;
}

.service-card:has(.service-card-divider):is(:hover, .is-hover) .service-card-body {
	transform: translateY(calc(-1 * var(--wp--preset--spacing--4)));
}

.service-card:is(:hover, .is-hover) .service-card-body {
	color: var(--wp--preset--color--base-lighter);
}

.service-card:is(:hover, .is-hover) .service-card-media {
	opacity: 1;
}

.client-portal-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
	max-width: 24.9375rem;
	min-height: 17.3125rem;
	padding: var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--theme-footer-bg);
	color: var(--wp--preset--color--base-lighter);
	text-decoration: none;
}

.client-portal-card-content {
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: center;
	width: 100%;
	min-height: 0;
}

.client-portal-card-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
	width: 100%;
}

.client-portal-card .service-card-label {
	justify-content: center;
	padding-inline-start: var(--wp--preset--spacing--2);
}


.client-portal-card-brand {
	display: flex;
	flex-direction: column;
	align-items: center;
	width: 100%;
}

.client-portal-card-divider {
	display: block;
	width: 100%;
	height: 0;
	margin-block-end: var(--wp--preset--spacing--4);
	border-top: var(--wp--custom--border-width--xsmall) solid var(--wp--preset--color--contrast-subtle);
	opacity: 1;
	transition: opacity var(--gwp-transition-medium);
}

.client-portal-card-logo {
	position: relative;
	display: inline-block;
	flex-shrink: 0;
	height: 5.0625rem;
	line-height: 0;
	transform: translateY(0);
	transition: transform var(--gwp-transition-medium);
}

.client-portal-card-logo-image {
	display: block;
	width: auto;
	max-width: 100%;
	height: 100%;
	object-fit: contain;
}

.client-portal-card-logo-image--hover {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
}

.client-portal-card-cta {
	margin-block-start: auto;
}

.client-portal-card:is(:hover, .is-hover) .client-portal-card-divider {
	opacity: 0;
}

.client-portal-card:is(:hover, .is-hover) .client-portal-card-logo {
	transform: translateY(calc(-1 * var(--wp--preset--spacing--5)));
}

.client-portal-card:is(:hover, .is-hover) .client-portal-card-logo-image--default,
.client-portal-card:is(:hover, .is-hover) .client-portal-card-logo-image--hover {
	transition: none;
}

.client-portal-card:is(:hover, .is-hover) .client-portal-card-logo-image--default {
	opacity: 0;
}

.client-portal-card:is(:hover, .is-hover) .client-portal-card-logo-image--hover {
	opacity: 1;
}

.team-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	width: 100%;
	max-width: 25.75rem;
	margin-inline: auto;
	overflow: hidden;
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--base-lighter);
	box-shadow: var(--gwp-shadow-elevation-1);
	transition: background-color var(--gwp-transition-fast);
}

.team-card-media {
	min-height: 24.875rem;
	background-color: var(--wp--preset--color--base-subtle);
	background-image: var(--team-card-image, none);
	background-size: cover;
	background-position: center top;
}

.team-card-footer {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
	padding-inline: var(--wp--preset--spacing--5);
	padding-block-end: var(--wp--preset--spacing--5);
	height: 100%;
}

.team-card-info {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--2);
	align-self: start;
}

.team-card-name {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
}

.team-card-credentials {
	margin: 0;
	color: var(--wp--preset--color--accent-hover);
	font-size: var(--wp--preset--font-size--body-small);
}

.team-card-links {
	display: flex;
	gap: var(--wp--preset--spacing--5);
}

.team-card-link {
	color: var(--gwp-color-accent-hover-32);
	text-decoration: none;
	transition: color var(--gwp-transition-fast);
}

.team-card-link:is(:hover, :focus-visible),
.team-card-link.is-hover {
	color: var(--wp--preset--color--accent-hover);
}

.team-card:is(:hover, .is-hover) {
	background: var(--wp--preset--color--base-background);
}

/* Button reset for team-card-media (photo trigger) */
button.team-card-media {
	appearance: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	display: block;
	width: 100%;
	text-align: left;
}

/* Name trigger hover cue */
.team-card-name[data-team-bio-trigger] {
	cursor: pointer;
	text-underline-offset: 2px;
}

.team-card-name[data-team-bio-trigger]:hover {
	text-decoration: underline;
	text-decoration-color: var(--gwp-color-contrast-medium-32);
}

/* ==========================================================================
   Team bio popup
   ========================================================================== */

html.team-bio-popup-open {
	overflow: hidden;
}

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

.team-bio-popup[hidden] {
	display: none;
}

.team-bio-popup-backdrop {
	position: absolute;
	inset: 0;
	background: var(--gwp-color-overlay-72);
	cursor: pointer;
}

.team-bio-popup-panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 46rem;
	max-height: 90dvh;
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--base-lighter);
	box-shadow: var(--gwp-shadow-elevation-2);
	overflow: hidden;
}

.team-bio-popup-close {
	position: absolute;
	top: var(--wp--preset--spacing--5);
	right: var(--wp--preset--spacing--5);
	z-index: 2;
}

.team-bio-popup-header {
	display: flex;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	padding: var(--wp--preset--spacing--7);
	padding-block-end: var(--wp--preset--spacing--6);
	flex-shrink: 0;
}

.team-bio-popup-photo {
	flex-shrink: 0;
	width: 9.1875rem;
	height: 12.3375rem;
	border-radius: var(--wp--preset--border-radius--main);
	background-color: var(--wp--preset--color--base-subtle);
	background-image: var(--team-bio-popup-image, none);
	background-size: cover;
	background-position: center top;
}

.team-bio-popup-meta {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--3);
	padding-inline-end: calc(var(--wp--preset--spacing--7) + 2rem);
}

.team-bio-popup-name {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 400;
	line-height: 1.2;
}

.team-bio-popup-credentials {
	margin: 0;
	color: var(--wp--preset--color--accent-hover);
	font-size: var(--wp--preset--font-size--body-small);
}

.team-bio-popup-links {
	display: flex;
	gap: var(--wp--preset--spacing--5);
	margin-block-start: var(--wp--preset--spacing--2);
}

.team-bio-popup-link {
	color: var(--gwp-color-accent-hover-32);
	text-decoration: none;
	transition: color var(--gwp-transition-fast);
}

.team-bio-popup-link:is(:hover, :focus-visible) {
	color: var(--wp--preset--color--accent-hover);
}

.team-bio-popup-body {
	flex: 1;
	overflow-y: auto;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--7) var(--wp--preset--spacing--7);
	border-block-start: 1px solid var(--wp--preset--color--base-subtle);
}

.team-bio-popup-body p {
	margin-block-start: 0;
	margin-block-end: var(--wp--preset--spacing--5);
	color: var(--wp--preset--color--contrast-medium);
	line-height: 1.65;
}

.team-bio-popup-body p:last-child {
	margin-block-end: 0;
}

.team-bio-popup-body p em {
	font-style: italic;
}

@media (max-width: 600px) {
	.team-bio-popup {
		align-items: flex-end;
		padding: 0;
	}

	.team-bio-popup-panel {
		max-height: calc(100dvh - 4rem);
		border-end-start-radius: 0;
		border-end-end-radius: 0;
		overflow-y: auto;
	}

	/* Float close button outside the card, top-right of viewport */
	.team-bio-popup-close {
		position: fixed;
		top: 1rem;
		right: 1rem;
		z-index: 1001;
		background: var(--wp--preset--color--base-lighter);
		border-radius: var(--wp--preset--border-radius--round);
		box-shadow: var(--gwp-shadow-elevation-2);
	}

	.team-bio-popup-header {
		flex-direction: row;
		align-items: center;
		gap: var(--wp--preset--spacing--5);
		padding: var(--wp--preset--spacing--5);
		flex-shrink: unset;
	}

	.team-bio-popup-photo {
		flex: 1;
		width: auto;
		height: auto;
		aspect-ratio: 3 / 4;
	}

	.team-bio-popup-meta {
		flex: 1;
		padding-inline-end: 0;
		width: auto;
	}

	.team-bio-popup-body {
		flex: unset;
		overflow-y: unset;
		padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--6) var(--wp--preset--spacing--6);
	}
}

.pull-quote-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	min-height: 100%;
	padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--5);
	background: var(--wp--preset--gradient--theme-card-gradient);
}

.pull-quote-card-mark {
	position: relative;
	display: block;
	flex-shrink: 0;
	width: 2.4375rem;
	height: 3.625rem;
}

.pull-quote-card-mark-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: left top;
	transition: opacity var(--gwp-transition-medium);
}

.pull-quote-card-mark-image--default {
	opacity: 1;
}

.pull-quote-card-mark-image--hover {
	opacity: 0;
}

.pull-quote-card-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--7);
}

.pull-quote-card-quote {
	margin: 0;
	color: var(--wp--preset--color--contrast-medium);
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-6);
	font-weight: 400;
	line-height: 1.4;
	transition: color var(--gwp-transition-medium);
}

.pull-quote-card-footer {
	display: grid;
	gap: var(--wp--preset--spacing--4);
}

.pull-quote-card-divider {
	width: 100%;
	height: 1px;
	margin: 0;
	border: 0;
	background: var(--gwp-color-contrast-medium-32);
}

.pull-quote-card-attribution {
	display: grid;
	gap: var(--wp--preset--spacing--3);
}

.pull-quote-card-person {
	color: var(--wp--preset--color--contrast-subtle);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--small);
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.1em;
	line-height: 1.4;
}

.pull-quote-card-tenure {
	margin: 0;
	color: var(--gwp-color-accent-hover-48);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.1em;
}

.pull-quote-card:is(:hover, .is-hover) {
	background: var(--wp--preset--gradient--theme-card-gradient-hover);
}

.pull-quote-card:is(:hover, .is-hover) .pull-quote-card-mark-image--default {
	opacity: 0;
}

.pull-quote-card:is(:hover, .is-hover) .pull-quote-card-mark-image--hover {
	opacity: 1;
}

.pull-quote-card:is(:hover, .is-hover) .pull-quote-card-quote {
	color: var(--wp--preset--color--contrast-strongest);
}

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

@media (min-width: 768px) {
	.pull-quote-cards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: stretch;
	}
}

.testimonials-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--layout-section-bg);
}

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

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

.testimonials-section-mark {
	position: absolute;
	top: 3rem;
	left: 3rem;
	width: clamp(6rem, 15vw, 10rem);
	height: auto;
	pointer-events: none;
	opacity: 0.32;
	transition: opacity var(--gwp-transition-medium);
}

.testimonials-section:is(:hover, .is-hover) .testimonials-section-mark {
	opacity: 0.64;
}

.testimonials-section-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--5);
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
	padding: var(--wp--preset--spacing--section-main) var(--wp--preset--spacing--5);
	text-align: left;
	width: 100%;
}

.testimonials-section--align-center .testimonials-section-inner {
	align-items: center;
}

.testimonials-section-quote {
	margin: 0;
	width: 100%;
	max-width: 72rem;
	color: var(--wp--preset--color--contrast-strongest);
	font-weight: 400;
}

.testimonials-section--align-center .testimonials-section-quote,
.testimonials-section--align-center .testimonials-section-attribution {
	width: auto;
	max-width: 72rem;
}

.testimonials-section-attribution {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.1em;
	width: 100%;
}

.testimonials-section-person {
	color: var(--wp--preset--color--contrast-subtle);
	font-style: normal;
	font-weight: 400;
}

.testimonials-section-tenure {
	margin-inline-start: 0.3ch;
	color: var(--wp--preset--color--accent-hover);
	font-weight: 400;
}

.testimonials-section-disclaimer {
	margin: 0;
	max-width: 72rem;
	width: 100%;
	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;
	margin-top: calc(var(--wp--preset--spacing--8) - var(--wp--preset--spacing--5));
}

.testimonials-section--align-center .testimonials-section-disclaimer {
	max-width: 72rem;
}

.cta-section {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--layout-section-bg);
}

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

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

.cta-section-watermark {
	position: absolute;
	top: -2rem;
	right: max(var(--wp--preset--spacing--site-gutter), calc((100% - var(--wp--style--global--wide-size)) / 2));
	width: auto;
    height: calc(100% + 60px);
	pointer-events: none;
}

.cta-section-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--section-large);
	max-width: 100%;
	margin-inline: auto;
	padding-block: var(--wp--preset--spacing--section-small);
}

.cta-section-content {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: var(--wp--preset--spacing--5);
	min-width: 0;
	max-width: 30.5625rem;
}

.cta-section-content:has(.cta-section-body) {
	max-width: 37.125rem;
}

.cta-section-heading {
	margin: 0;
}

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

.cta-section-actions {
	flex: 0 1 auto;
	max-width: 100%;
	min-width: 0;
}

.cta-section-actions .button-wrap {
	justify-items: center;
	width: 100%;
	max-width: 100%;
	text-align: center;
}

.cta-section-actions .button {
	font-weight: 600;
}

@media (min-width: 768px) and (max-width: 1024px) {
	.cta-section-inner {
		gap: var(--wp--preset--spacing--7);
	}
}

@media (max-width: 1024px) {
	.testimonials-section {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		overflow: visible;
		padding-inline: var(--wp--preset--spacing--5);
		padding-top: var(--wp--preset--spacing--5);
		row-gap: var(--wp--preset--spacing--5);
	}

	.testimonials-section-mark {
		position: static;
		width: 4rem;
		height: auto;
		opacity: 0.64;
		transition: none;
	}

	.testimonials-section:is(:hover, .is-hover) .testimonials-section-mark {
		opacity: 0.64;
	}

	.testimonials-section-inner {
		padding: 0 var(--wp--preset--spacing--4) var(--wp--preset--spacing--8);
		align-items: flex-start;
		width: 100%;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.testimonials-section-mark {
		width: 4.5rem;
	}
}

.footer-cta-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--5);
	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);
	text-align: center;
}

.footer-cta-card-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--4);
}

.footer-cta-card-media {
	width: 8.8125rem;
	height: 11.375rem;
	margin-inline: auto;
	border-radius: var(--wp--preset--border-radius--main);
	background:
		var(--gwp-gradient-footer-cta-overlay),
		var(--footer-cta-image, linear-gradient(135deg, var(--gwp-color-footer-cta-fallback), var(--wp--preset--color--base-subtle)));
	background-size: cover;
	box-shadow: var(--gwp-shadow-elevation-2);
}

.footer-cta-card-title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: var(--wp--preset--font-size--heading-6);
	color: var(--wp--preset--color--theme-footer-text);
	max-width: 412px;
}

.footer-cta-card .button-wrap {
	justify-items: center;
}

.footer-cta-card .button {
	font-weight: 400;
}

.footer-cta-card:is(:hover, .is-hover) {
	background: var(--wp--preset--gradient--theme-card-gradient-hover);
}

/* Forms */
.form-field {
	display: grid;
	gap: var(--wp--preset--spacing--5);
}

.form-field-label {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.form-field-control {
	display: grid;
	gap: var(--wp--preset--spacing--3);
}

.form-field-label,
.form-field-input,
.form-field-textarea,
.search-form-input {
	transition:
		color var(--gwp-transition-fast),
		border-color var(--gwp-transition-fast);
}

.form-field-input,
.form-field-textarea,
.search-form-input {
	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;
	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;
}

.form-field:hover:not(:focus-within):not(.is-focus) .form-field-label,
.form-field.is-hover:not(.is-focus) .form-field-label {
	color: var(--wp--preset--color--contrast-medium);
}

.form-field:hover:not(:focus-within):not(.is-focus) .form-field-input,
.form-field:hover:not(:focus-within):not(.is-focus) .form-field-textarea,
.form-field.is-hover:not(.is-focus) .form-field-input,
.form-field.is-hover:not(.is-focus) .form-field-textarea {
	border-bottom-color: var(--wp--preset--color--contrast-medium);
}

.search-form:hover:not(:focus-within) .search-form-input {
	border-bottom-color: var(--wp--preset--color--contrast-medium);
}

.form-field:focus-within .form-field-label,
.form-field.is-focus .form-field-label,
.form-field.has-error .form-field-label {
	color: var(--wp--preset--color--accent-hover);
}

.form-field-input:focus,
.form-field-textarea:focus,
.form-field:focus-within .form-field-input,
.form-field:focus-within .form-field-textarea,
.form-field.is-focus .form-field-input,
.form-field.is-focus .form-field-textarea,
.search-form-input:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent-hover);
	color: var(--wp--preset--color--contrast-strongest);
}

.form-field.has-error .form-field-input,
.form-field.has-error .form-field-textarea {
	border-bottom-color: var(--wp--preset--color--accent-hover);
}

.search-form {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: var(--wp--preset--spacing--4);
	align-items: end;
	max-width: 28rem;
}

.search-form-input {
	padding-block-end: var(--wp--preset--spacing--3);
}

/* Footer component */
.site-footer-component {
	--site-footer-gap: clamp(1.5rem, 1rem + 2vw, 2.5rem);
	--site-footer-row-gap: clamp(2.5rem, 2rem + 2vw, 4rem);
	--site-footer-side-width: clamp(13.75rem, 16vw, 21rem);
	width: 100%;
	max-width: 100%;
	padding-block: var(--wp--preset--spacing--9) var(--wp--preset--spacing--6);
	background: var(--wp--preset--color--theme-footer-bg);
	color: var(--wp--preset--color--theme-footer-text);
}

.site-footer-inner {
	width: calc(100% - 2 * var(--wp--preset--spacing--site-gutter));
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.site-footer-columns {
	display: grid;
	column-gap: var(--site-footer-gap);
	row-gap: var(--site-footer-row-gap);
	margin-block-end: var(--wp--preset--spacing--8);
	min-width: 0;
}

.site-footer-brand {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
	min-width: 0;
}

.site-footer-affiliate {
	margin: 0;
	font-size: var(--wp--preset--font-size--small);
}

.site-footer-nav {
	display: grid;
	column-gap: var(--site-footer-gap);
	row-gap: var(--site-footer-row-gap);
	min-width: 0;
}

.site-footer-column {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--wp--preset--spacing--4);
	min-width: 0;
}

.footer-cta-card {
	min-width: 0;
}

.site-footer-heading {
	margin: 0;
	color: var(--gwp-color-footer-heading);
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	font-weight: 700;
}

.site-footer-contact {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 300;
}

.site-footer-contact a {
	color: inherit;
}


.site-footer-contact a:hover,
.site-footer-contact a:focus-visible {
	color: var(--wp--preset--color--base-lighter);
}

.site-footer-bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: var(--wp--preset--spacing--4);
	padding-block-start: var(--wp--preset--spacing--5);
	border-top: var(--wp--custom--border-width--small) solid var(--gwp-color-footer-border);
	font-size: var(--wp--preset--font-size--small);
}

.site-footer-copyright,
.site-footer-credit {
	margin: 0;
}

.site-footer-credit-link {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.site-footer-credit-link:hover,
.site-footer-credit-link:focus-visible {
	color: var(--wp--preset--color--base-lighter);
}

@media (min-width: 768px) and (max-width: 1024px) {
	.site-footer-columns {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.site-footer-brand {
		grid-column: 1 / -1;
	}

	.site-footer-nav {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
	}

	.site-footer-nav > .footer-cta-card {
		grid-column: 1 / -1;
	}
}

@media (min-width: 1025px) {
	.site-footer-component {
		--site-footer-gap: clamp(2.5rem, 1.5rem + 3vw, 5rem);
		--site-footer-nav-gap: clamp(2rem, 1.25rem + 2vw, 3.5rem);
		--site-footer-nav-col-more: 7rem;
		--site-footer-nav-col-contact: 11rem;
	}

	.site-footer-columns {
		grid-template-columns: minmax(0, var(--site-footer-side-width)) minmax(0, 1fr);
		column-gap: var(--site-footer-gap);
	}

	.site-footer-nav {
		width: 100%;
		max-width: 100%;
		column-gap: var(--site-footer-nav-gap);
		grid-template-columns:
			minmax(0, var(--site-footer-nav-col-more))
			minmax(0, max-content)
			minmax(0, var(--site-footer-nav-col-contact))
			minmax(var(--site-footer-side-width), var(--site-footer-side-width));
		justify-content: space-between;
		align-items: start;
	}

	.footer-cta-card {
		width: var(--site-footer-side-width);
		min-width: var(--site-footer-side-width);
		max-width: var(--site-footer-side-width);
	}
}

@media (max-width: 1024px) {
	.site-header-nav {
		display: none;
	}

	.pain-point-row {
		padding-inline: var(--wp--preset--spacing--6);
		transition: none;
	}

	.pain-point-row:is(:hover, .is-hover) {
		padding-inline-start: var(--wp--preset--spacing--6);
	}

	.pain-point-row-dots,
	.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots {
		max-width: 1rem;
		transition: none;
	}

	.pain-point-row-dots span {
		transition: none;
	}

	.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span {
		background: var(--wp--preset--color--contrast-strong);
		opacity: 0.32;
		transform: scale(1);
	}

	.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span:nth-child(n + 2) {
		opacity: 0;
		transform: translateX(-0.2rem) scale(0.85);
	}

	.pain-point-row-quote {
		transition: none;
	}

	.pain-point-row:is(:hover, .is-hover) .pain-point-row-quote {
		color: var(--wp--preset--color--contrast-medium);
		transform: none;
	}
	
	.story-card {
		min-height: 21.87rem;
	}
}

@media (max-width: 767px) {
	.story-card {
		min-height: 20rem;
	}
	.story-card-title {
		font-size: var(--wp--preset--font-size--heading-4);
	}
	.service-card-body {
		font-size: var(--wp--preset--font-size--heading-4);
	}
	.feature-card {
		min-height: 20rem;
	}
}

@media (max-width: 1024px), (hover: none), (pointer: coarse) {

	.step-row,
	.step-row:is(:hover, .is-hover) {
		padding-inline: var(--wp--preset--spacing--8);
		background: var(--wp--preset--gradient--card-hvr-acc-sub);
		border-color: var(--wp--preset--color--base-subtle);
		transition: none;
	}

	.step-row-bg,
	.step-row:is(:hover, .is-hover) .step-row-bg {
		opacity: 0;
		transform: none;
		transition: none;
	}

	.step-row-number,
	.step-row:is(:hover, .is-hover) .step-row-number {
		color: var(--wp--preset--color--accent-hover);
		transform: none;
		transition: none;
	}

	.step-row-copy,
	.step-row-title,
	.step-row-body,
	.step-row-cta {
		transition: none;
	}

	.step-row-copy,
	.step-row:is(:hover, .is-hover) .step-row-copy {
		transform: none;
	}

	.step-row-title,
	.step-row-body,
	.step-row:is(:hover, .is-hover) .step-row-title,
	.step-row:is(:hover, .is-hover) .step-row-body {
		color: var(--step-row-dark-copy);
	}

	.step-row-cta,
	.step-row:is(:hover, .is-hover) .step-row-cta {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}

	.story-card::before {
		background: var(--gwp-color-overlay-72);
	}

	.story-card .stories-pill-dots span {
		opacity: 0.5;
	}

	.story-card .story-card-divider {
		opacity: 0;
	}

	.story-card:has(.story-card-divider) .story-card-title {
		transform: translateY(calc(-1 * var(--wp--preset--spacing--5)));
	}

	.service-card .service-card-label-dots span {
		opacity: 1;
	}

	.service-card .service-card-label-text {
		color: var(--wp--preset--color--base-lighter);
	}

	.service-card .service-card-divider {
		opacity: 0;
	}

	.service-card:has(.service-card-divider) .service-card-body {
		transform: translateY(calc(-1 * var(--wp--preset--spacing--4)));
	}

	.service-card .service-card-body {
		color: var(--wp--preset--color--base-lighter);
	}

	.service-card .service-card-media {
		opacity: 1;
	}

	.pull-quote-card {
		background: var(--wp--preset--gradient--theme-card-gradient-hover);
	}

	.pull-quote-card .pull-quote-card-mark-image--default {
		opacity: 0;
	}

	.pull-quote-card .pull-quote-card-mark-image--hover {
		opacity: 1;
	}

	.pull-quote-card .pull-quote-card-quote {
		color: var(--wp--preset--color--contrast-strongest);
	}

	.feature-card,
	.feature-card:is(:hover, .is-hover) {
		background: var(--wp--preset--gradient--theme-card-gradient-hover);
		transition: none;
	}

	.feature-card-icon .icon-card-arrow,
	.feature-card:is(:hover, .is-hover) .feature-card-icon .icon-card-arrow {
		opacity: 1;
		transform: rotate(45deg);
		transition: none;
	}

	.feature-card-title,
	.feature-card:is(:hover, .is-hover) .feature-card-title {
		color: var(--wp--preset--color--contrast-strongest);
		transition: none;
	}

	.article-row,
	.article-row:is(:hover, .is-hover) {
		--list-row-content-pad: 7rem;
		background: var(--wp--preset--color--base-background);
		transition: none;
	}

	.article-row-content,
	.career-row-content {
		transition: none;
	}

	.article-row-details {
		transition: none;
	}

	.article-row-title,
	.article-row:is(:hover, .is-hover) .article-row-title {
		color: var(--wp--preset--color--contrast-strongest);
		transition: none;
	}

	.article-row-category,
	.article-row:is(:hover, .is-hover) .article-row-category {
		color: var(--wp--preset--color--contrast-subtle);
		transition: none;
	}

	.article-row-date,
	.article-row:is(:hover, .is-hover) .article-row-date {
		color: var(--wp--preset--color--contrast-medium);
		transition: none;
	}

	.article-row-cta,
	.article-row:is(:hover, .is-hover) .article-row-cta {
		color: var(--wp--preset--color--accent-hover);
		gap: var(--wp--preset--spacing--4);
		transition: none;
	}

	.document-row,
	.document-row:is(:hover, .is-hover),
	.career-row,
	.career-row:is(:hover, .is-hover) {
		background: var(--wp--preset--color--base-background);
		transition: none;
	}

	.document-row-number,
	.document-row:is(:hover, .is-hover) .document-row-number {
		color: var(--wp--preset--color--accent-hover);
		transition: none;
	}

	.document-row-title,
	.document-row:is(:hover, .is-hover) .document-row-title {
		padding-inline-start: var(--document-row-title-shift);
		transition: none;
	}

	.document-row-cta,
	.document-row:is(:hover, .is-hover) .document-row-cta {
		color: var(--wp--preset--color--accent-hover);
		gap: var(--wp--preset--spacing--4);
		transition: none;
	}

	.career-row-heading,
	.career-row:is(:hover, .is-hover) .career-row-heading {
		padding-inline-start: var(--wp--preset--spacing--6);
		transition: none;
	}

	.career-row-number,
	.career-row-location,
	.career-row-cta,
	.career-row:is(:hover, .is-hover) .career-row-number,
	.career-row:is(:hover, .is-hover) .career-row-location,
	.career-row:is(:hover, .is-hover) .career-row-cta {
		color: var(--wp--preset--color--accent-hover);
		transition: none;
	}

	.career-row-cta,
	.career-row:is(:hover, .is-hover) .career-row-cta {
		gap: var(--wp--preset--spacing--4);
		transition: none;
	}

	.testimonials-section-mark,
	.testimonials-section:is(:hover, .is-hover) .testimonials-section-mark {
		transition: none;
	}

	.client-portal-card .client-portal-card-divider {
		opacity: 0;
	}

	.client-portal-card .client-portal-card-logo {
		transform: translateY(calc(-1 * var(--wp--preset--spacing--5)));
	}

	.client-portal-card .client-portal-card-logo-image--default,
	.client-portal-card .client-portal-card-logo-image--hover {
		transition: none;
	}

	.client-portal-card .client-portal-card-logo-image--default {
		opacity: 0;
	}

	.client-portal-card .client-portal-card-logo-image--hover {
		opacity: 1;
	}

	.client-portal-card .service-card-label-dots span {
		opacity: 1;
	}

	.client-portal-card .service-card-label-text {
		color: var(--wp--preset--color--base-lighter);
	}

	.story-card::before,
	.story-card-divider,
	.story-card-title,
	.service-card-divider,
	.service-card-body,
	.service-card-media,
	.service-card-label-dots span,
	.service-card-label-text,
	.pull-quote-card,
	.pull-quote-card-mark-image--default,
	.pull-quote-card-mark-image--hover,
	.pull-quote-card-quote,
	.feature-card,
	.feature-card-icon .icon-card-arrow,
	.feature-card-title,
	.article-row,
	.article-row-content,
	.article-row-details,
	.article-row-title,
	.article-row-category,
	.article-row-date,
	.article-row-cta,
	.document-row,
	.document-row-number,
	.document-row-title,
	.document-row-cta,
	.career-row,
	.career-row-content,
	.career-row-heading,
	.career-row-number,
	.career-row-location,
	.career-row-cta,
	.testimonials-section-mark,
	.client-portal-card-divider,
	.client-portal-card-logo,
	.client-portal-card-logo-image--default,
	.client-portal-card-logo-image--hover,
	.client-portal-card .service-card-label-dots span,
	.client-portal-card .service-card-label-text {
		transition: none;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	.article-row,
	.article-row:is(:hover, .is-hover) {
		--list-row-content-pad: var(--wp--preset--spacing--6);
	}
}

@media (hover: none), (pointer: coarse) {
}

@media (max-width: 1024px), (hover: none), (pointer: coarse) {

	.step-row,
	.step-row:is(:hover, .is-hover) {
		padding-inline: var(--wp--preset--spacing--8);
		background: var(--wp--preset--gradient--card-hvr-acc-sub);
		border-color: var(--wp--preset--color--base-subtle);
		transition: none;
	}

	.step-row-bg,
	.step-row:is(:hover, .is-hover) .step-row-bg {
		opacity: 0;
		transform: none;
		transition: none;
	}

	.step-row-number,
	.step-row:is(:hover, .is-hover) .step-row-number {
		color: var(--wp--preset--color--accent-hover);
		transform: none;
		transition: none;
	}

	.step-row-copy,
	.step-row-title,
	.step-row-body,
	.step-row-cta {
		transition: none;
	}

	.step-row-copy,
	.step-row:is(:hover, .is-hover) .step-row-copy {
		transform: none;
	}

	.step-row-title,
	.step-row-body,
	.step-row:is(:hover, .is-hover) .step-row-title,
	.step-row:is(:hover, .is-hover) .step-row-body {
		color: var(--step-row-dark-copy);
	}

	.step-row-cta,
	.step-row:is(:hover, .is-hover) .step-row-cta {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}
	.step-row,
	.step-row:is(:hover, .is-hover),
	.step-row *,
	.step-row:is(:hover, .is-hover) * {
		animation: none !important;
		transition: none !important;
	}
}

@media (min-width: 1025px) {
	.mobile-nav,
	.mobile-nav-panel {
		display: none;
	}

	.step-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.step-row-number {
		position: absolute;
		inset-block: 0;
		inset-inline-start: var(--wp--preset--spacing--4);
		z-index: 0;
		display: flex;
		align-items: center;
		pointer-events: none;
	}

	.step-row-copy,
	.step-row-cta {
		position: relative;
		z-index: 1;
	}

	.step-row-copy {
		min-width: 0;
	}

	.step-row:is(:hover, .is-hover) {
		padding-inline-start: var(--wp--preset--spacing--7);
	}

	.step-row:is(:hover, .is-hover) .step-row-copy {
		max-width: calc(100% - var(--step-row-shift));
		transform: translateX(var(--step-row-shift));
	}
}

@media (max-width: 767px) {
	.site-footer-nav {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.site-footer-nav > :nth-child(n + 3) {
		grid-column: 1 / -1;
	}

	.step-row {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--4);
		padding: var(--wp--preset--spacing--5);
	}

	.step-row:is(:hover, .is-hover) {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--4);
		padding: var(--wp--preset--spacing--5);
	}

	.step-row-number {
		font-size: var(--wp--preset--font-size--numbered-list);
		line-height: 0.74;
		letter-spacing: -2.64px;
		margin-bottom: 0.5rem;
	}

	.step-row-copy {
		width: 100%;
	}

	.step-row:is(:hover, .is-hover) .step-row-copy {
		width: 100%;
	}

	.step-row-cta {
		margin-inline-start: 0;
		justify-self: start;
	}

	.step-row:is(:hover, .is-hover) .step-row-cta {
		margin-inline-start: 0;
		justify-self: start;
	}

	.pain-point-row {
		flex-direction: row;
		align-items: center;
		gap: var(--wp--preset--spacing--4);
		padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--4);
		transition: none;
	}

	.pain-point-row:is(:hover, .is-hover) {
		padding-inline-start: var(--wp--preset--spacing--4);
	}

	.pain-point-row-dots,
	.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots {
		max-width: 0.75rem;
		transition: none;
	}

	.pain-point-row-dots span {
		flex: 0 0 0.75rem;
		width: 0.75rem;
		height: 0.75rem;
		transition: none;
		transform: none;
	}

	.pain-point-row-dots span:nth-child(n + 2) {
		display: none;
	}

	.pain-point-row-dots span:first-child,
	.pain-point-row:is(:hover, .is-hover) .pain-point-row-dots span:first-child {
		background: var(--gwp-color-contrast-strong-64);
		opacity: 1;
	}

	.pain-point-row-quote {
		color: var(--wp--preset--color--contrast-strongest);
		transform: none;
		transition: none;
	}

	.pain-point-row:is(:hover, .is-hover) .pain-point-row-quote {
		color: var(--wp--preset--color--contrast-strongest);
		transform: none;
	}

	.document-row,
	.career-row,
	.article-row {
		padding: var(--wp--preset--spacing--5) var(--wp--preset--spacing--4) var(--wp--preset--spacing--5) 0;
	}

	.document-row-content,
	.career-row-content {
		grid-template-columns: minmax(0, 1fr);
		gap: var(--wp--preset--spacing--4);
		padding-inline-start: var(--wp--preset--spacing--5);
	}

	.article-row-content {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--4);
		padding-inline-start: var(--wp--preset--spacing--5);
	}

	.article-row-details {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--3);
		width: 100%;
	}

	.article-row-category,
	.article-row-date {
		width: auto;
		white-space: normal;
	}

	.career-row,
	.career-row:is(:hover, .is-hover),
	.article-row,
	.article-row:is(:hover, .is-hover) {
		--list-row-content-pad: var(--wp--preset--spacing--5);
	}

	.document-row-title,
	.document-row:is(:hover, .is-hover) .document-row-title {
		padding-inline-start: 0;
	}

	.document-row-meta,
	.career-row-meta {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: var(--wp--preset--spacing--3);
	}

	.document-row-category,
	.career-row-location,
	.career-row-posted,
	.article-row-category,
	.article-row-date {
		text-align: start;
	}

	.document-row-number {
		font-size: clamp(2.5rem, 1.905vw + 0.714rem, 3.5rem);
		letter-spacing: -0.08em;
	}

	.career-row-heading {
		flex-wrap: wrap;
	}

	.career-row-heading,
	.career-row:is(:hover, .is-hover) .career-row-heading {
		padding-inline-start: 0;
	}

	.testimonials-section-inner {
		padding-inline: 0;
	}

	.testimonials-section-mark {
		width: 3rem;
	}

	.cta-section-watermark {
		display: none;
	}

	.cta-section-inner {
		flex-direction: column;
		flex-wrap: wrap;
		gap: var(--wp--preset--spacing--6);
		padding: var(--wp--preset--spacing--8) 0;
		text-align: center;
	}

	.cta-section-content {
		flex: 0 1 auto;
		min-width: min(100%, 25.5rem);
		max-width: none;
	}

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

/* Booking popup */
html.booking-popup-open {
	overflow: hidden;
}

.booking-popup {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: stretch;
	justify-content: center;
	padding: 0;
}

.booking-popup[hidden] {
	display: none;
}

.booking-popup-backdrop {
	position: absolute;
	inset: 0;
	background: var(--gwp-color-overlay-72);
}

.booking-popup-panel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	background: var(--wp--preset--color--base-background);
}

.booking-popup-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);
}

.booking-popup-title {
	margin: 0;
	font-size: var(--wp--preset--font-size--medium);
}

.booking-popup-body {
	flex: 1 1 auto;
	min-height: 0;
}

.booking-popup-frame {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* Powerlander form card */
.powerlander-form-card {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--8);
	padding: var(--wp--preset--spacing--8) var(--wp--preset--spacing--7);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--theme-footer-bg);
	box-shadow:
		0 1px 2.625px 1px rgba(0, 0, 0, 0.08),
		0 1px 1.75px rgba(0, 0, 0, 0.16);
}

.powerlander-form-card-top {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	text-align: center;
}

.powerlander-form-card-cover {
	margin: 0;
	width: min(100%, 16rem);
	border-radius: var(--wp--preset--border-radius--main);
	overflow: hidden;
	box-shadow:
		0 1px 2.625px 1px rgba(0, 0, 0, 0.08),
		0 1px 1.75px rgba(0, 0, 0, 0.16);
}

.powerlander-form-card-cover img {
	display: block;
	width: 100%;
	height: auto;
}

.powerlander-form-card-intro {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--4);
}

.powerlander-form-card-heading {
	margin: 0;
	color: var(--wp--preset--color--base-background);
}

.powerlander-form-card-subheading {
	margin: 0;
	color: var(--wp--preset--color--base-lighter);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
}

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

.powerlander-form-card .powerlander-form-card-unavailable {
	color: var(--wp--preset--color--base-lighter);
}

.powerlander-form-privacy {
	margin-block: var(--wp--preset--spacing--3) 0;
	margin-inline: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: 0.625rem;
	text-align: center;
}

/* Powerlander popup */
html.powerlander-popup-open {
	overflow: hidden;
}

.powerlander-popup {
	position: fixed;
	inset: 0;
	z-index: 1001;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--wp--preset--spacing--6);
	--powerlander-popup-accent: color-mix(in srgb, var(--wp--preset--color--contrast-strong) 32%, transparent);
	--powerlander-popup-notch: 1.75rem;
	--powerlander-popup-notch-y: 50%;
	--powerlander-popup-promo-width: 21rem;
}

.powerlander-popup[hidden] {
	display: none;
}

.powerlander-popup-backdrop {
	position: absolute;
	inset: 0;
	background: var(--gwp-color-overlay-72);
}

.powerlander-popup-panel {
	position: relative;
	z-index: 1;
	width: min(100%, 52.0625rem);
	max-height: calc(100svh - var(--wp--preset--spacing--8));
	overflow-x: hidden;
	overflow-y: auto;
	padding: var(--wp--preset--spacing--9) var(--wp--preset--spacing--8);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--base-lighter);
	box-shadow: var(--gwp-shadow-elevation-1);
}

.powerlander-popup-close {
	position: absolute;
	top: var(--wp--preset--spacing--4);
	right: var(--wp--preset--spacing--4);
	z-index: 2;
}

.powerlander-popup-inner {
	position: relative;
	display: grid;
	gap: var(--wp--preset--spacing--5);
}

.powerlander-popup-promo {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--wp--preset--spacing--6);
	background-color: var(--powerlander-popup-accent);
	text-align: center;
}

.powerlander-popup-cover,
.powerlander-popup-copy {
	position: relative;
	z-index: 1;
}

.powerlander-popup-cover {
	margin: 0;
	width: min(100%, 10.5625rem);
	border-radius: var(--wp--preset--border-radius--main);
	overflow: hidden;
	box-shadow:
		0 1px 2.625px 1px rgba(0, 0, 0, 0.08),
		0 1px 1.75px rgba(0, 0, 0, 0.16);
}

.powerlander-popup-cover img {
	display: block;
	width: 100%;
	height: auto;
}

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

.powerlander-popup-title {
	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);
}

.powerlander-popup-lead {
	margin: 0;
	color: var(--wp--preset--color--contrast-strongest);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 300;
}

.powerlander-popup-form {
	position: relative;
	z-index: 1;
	width: 100%;
}

.powerlander-popup-form .fluentform,
.powerlander-popup-form .powerlander-form-privacy {
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.powerlander-popup-panel {
		padding: var(--wp--preset--spacing--6) var(--wp--preset--spacing--5);
	}

	.powerlander-popup-promo {
		margin-inline: calc(-1 * var(--wp--preset--spacing--5));
		margin-block-start: calc(-1 * var(--wp--preset--spacing--6));
		padding-inline: var(--wp--preset--spacing--5);
		padding-block-start: var(--wp--preset--spacing--6);
		padding-block-end: calc(var(--wp--preset--spacing--6) + var(--powerlander-popup-notch));
		clip-path: polygon(
			0 0,
			100% 0,
			100% calc(100% - var(--powerlander-popup-notch)),
			50% 100%,
			0 calc(100% - var(--powerlander-popup-notch))
		);
	}

	.powerlander-popup-inner {
		gap: 0;
	}

	.powerlander-popup-form {
		padding-block-start: var(--wp--preset--spacing--5);
	}
}

/* Fluent Forms — powerlander */
.powerlander-form-card-form .fluentform,
.powerlander-popup-form .fluentform {
	width: 100%;
}

.powerlander-form-card-form .frm-fluent-form,
.powerlander-popup-form .frm-fluent-form {
	display: flex;
	flex-direction: column;
}

.powerlander-form-card-form .frm-fluent-form fieldset,
.powerlander-popup-form .frm-fluent-form fieldset {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--6);
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.powerlander-form-card-form .fluentform .ff-el-group,
.powerlander-popup-form .fluentform .ff-el-group {
	margin: 0;
}

.powerlander-form-card-form .ff-el-input--label label,
.powerlander-popup-form .ff-el-input--label label {
	margin: 0 0 var(--wp--preset--spacing--4);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 400;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.powerlander-form-card-form .ff-el-input--label label {
	color: var(--wp--preset--color--base-subtle);
}

.powerlander-popup-form .ff-el-input--label label {
	color: var(--wp--preset--color--contrast-subtle);
}

.powerlander-form-card-form .ff-el-form-control,
.powerlander-popup-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;
	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);
}

.powerlander-form-card-form .ff-el-form-control {
	color: var(--wp--preset--color--contrast-subtle);
}

.powerlander-popup-form .ff-el-form-control {
	color: var(--wp--preset--color--contrast-medium);
}

.powerlander-form-card-form .ff-el-group:hover .ff-el-input--label label {
	color: var(--wp--preset--color--base-lighter);
}

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

.powerlander-form-card-form .ff-el-group:hover .ff-el-form-control {
	border-bottom-color: var(--wp--preset--color--base-lighter);
}

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

.powerlander-form-card-form .ff-el-group:focus-within .ff-el-input--label label,
.powerlander-popup-form .ff-el-group:focus-within .ff-el-input--label label {
	color: var(--wp--preset--color--accent-hover);
}

.powerlander-form-card-form .ff-el-form-control:focus,
.powerlander-popup-form .ff-el-form-control:focus {
	outline: none;
	border-bottom-color: var(--wp--preset--color--accent-hover);
	box-shadow: none;
}

.powerlander-form-card-form .ff-el-form-control:focus {
	color: var(--wp--preset--color--base-lighter);
}

.powerlander-popup-form .ff-el-form-control:focus {
	color: var(--wp--preset--color--contrast-strongest);
}

.powerlander-form-card-form .powerlander-form-submit,
.powerlander-popup-form .powerlander-form-submit {
	width: 100%;
}

.powerlander-form-card-form .ff-btn-submit,
.powerlander-popup-form .ff-btn-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 3rem;
	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-lighter);
	font-family: var(--wp--preset--font-family--body);
	font-size: var(--wp--preset--font-size--body-small);
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--gwp-transition-fast), color var(--gwp-transition-fast);
}

.powerlander-popup-form .ff-btn-submit {
	width: min(100%, 15.625rem);
}

.powerlander-form-card-form .ff-btn-submit:hover,
.powerlander-form-card-form .ff-btn-submit:focus-visible,
.powerlander-popup-form .ff-btn-submit:hover,
.powerlander-popup-form .ff-btn-submit:focus-visible {
	background: var(--wp--preset--color--accent-brand);
	color: var(--wp--preset--color--base-lighter);
}

.powerlander-form-card-form .ff-message-success,
.powerlander-popup-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 (min-width: 768px) {
	.powerlander-popup-inner {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		align-items: stretch;
		gap: var(--wp--preset--spacing--9);
	}

	.powerlander-popup-promo {
		grid-column: 1;
		grid-row: 1;
		justify-content: center;
		margin-inline-start: calc(-1 * var(--wp--preset--spacing--8));
		margin-inline-end: calc(-1 * var(--powerlander-popup-notch));
		margin-block: calc(-1 * var(--wp--preset--spacing--9));
		padding: var(--wp--preset--spacing--9) var(--wp--preset--spacing--7);
		padding-inline-end: calc(var(--wp--preset--spacing--7) + var(--powerlander-popup-notch));
		clip-path: polygon(
			0 0,
			calc(100% - var(--powerlander-popup-notch)) 0,
			100% var(--powerlander-popup-notch-y),
			calc(100% - var(--powerlander-popup-notch)) 100%,
			0 100%
		);
	}

	.powerlander-popup-form {
		grid-column: 2;
		grid-row: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		width: 100%;
		max-width: 24rem;
		margin-inline: auto;
	}

	.powerlander-popup-panel {
		overflow: hidden;
	}
}

@media (min-width: 1025px) {
	.powerlander-popup-inner {
		grid-template-columns: var(--powerlander-popup-promo-width) minmax(0, 1fr);
		gap: calc(var(--wp--preset--spacing--8) + var(--wp--preset--spacing--8));
	}
}
