/**
 * Consultinghouse project styles.
 *
 * Keep client-specific CSS here so FS Theme can be updated independently.
 */

:root {
	/* One shared type scale for every Consultinghouse block, derived from the FS design system. */
	--ch-type-heading-size: var(--ch-font-size-xl, var(--fs-font-size-xl, 2rem));
	--ch-type-heading-line: var(--ch-line-height-tight, var(--fs-line-height-tight, 1.12));
	/* Elementor content widgets use a quieter 16px / 1.45 reading size even
	 * though the responsive body token itself grows to 18px on wide screens. */
	--ch-type-body-size: 1rem;
	--ch-type-body-line: 1.45;
	--ch-type-kicker-size: var(--fs-font-size-xs, 0.8rem);
	--ch-image-card-title-size: calc(var(--fs-card-title-size, 1rem) + 0.1875rem);
	--ch-type-footer-size: 0.88rem;
	--ch-type-button-size: 0.78rem;
	/* Shared layout widths for every project block. FS uses a narrower editorial default. */
	--ch-layout-wide: 1180px;
	--ch-layout-form: 900px;
	--ch-color-primary: #2b2e33;
	--ch-color-primary-hover: #3a3f46;
	--ch-color-secondary: #737b84;
	--ch-color-secondary-hover: #555d66;
	--ch-color-cta: #dd5928;
	--ch-color-cta-hover: #c94b1f;
	--ch-color-text: #1b1f23;
	--ch-color-text-soft: #5b6470;
	--ch-color-light: #f5f5f3;
	--ch-color-cta-light: #fff1e6;
	--ch-color-border: #d8dce0;
	--ch-color-white: #ffffff;
	--ch-glass-bg: rgba(255, 255, 255, 0.74);
	--ch-glass-bg-strong: rgba(245, 245, 243, 0.78);
	--ch-glass-border: rgba(255, 255, 255, 0.5);
	--ch-glass-blur: blur(14px);
	--ch-glass-blur-strong: blur(14px) saturate(1.2);
	--ch-glass-shadow: 0 0.75rem 1.8rem rgba(27, 31, 35, 0.1);
	--ch-glass-shadow-hover: 0 1rem 2.1rem rgba(27, 31, 35, 0.14);
	--ch-glass-shadow-soft: 0 0.25rem 1rem rgba(27, 31, 35, 0.05);
	--ch-glass-hover-transform: scale(1.015);
	--ch-shadow-menu: 0 1.2rem 2.8rem rgba(27, 31, 35, 0.12);
	--fs-button-font-size: var(--ch-type-button-size);
	--fs-button-font-weight: 600;
	--fs-button-letter-spacing: 0.0624rem;
	--fs-button-line-height: 1.2;
	--fs-card-copy-size: var(--ch-type-body-size);
	--fs-card-copy-line-height: var(--ch-type-body-line);
	--fs-card-meta-size: var(--ch-type-button-size);
	--fs-card-meta-weight: 600;
}

body {
	background: var(--ch-color-white);
	color: var(--ch-color-text);
	font-family: var(--ch-font-family-base, var(--fs-font-family-body));
}

/* Match Elementor's text widgets across every project block. Component-level
 * display text (headings, kickers, buttons and form controls) keeps its own
 * explicit type rule below. */
.fs-main :where(p, li) {
	font-size: var(--ch-type-body-size);
	font-weight: 400;
	line-height: var(--ch-type-body-line);
}

h1,
h2,
h3,
.fs-hero__heading,
.fs-section-heading,
.fs-page-hero__title,
.fs-post-hero__title {
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	letter-spacing: 0;
}

.fs-site-header {
	background: transparent;
	border-bottom-color: color-mix(in srgb, var(--ch-color-primary) 10%, transparent);
	box-shadow: var(--ch-glass-shadow-soft);
}

/* Keep the header glass on a sibling layer so nested mega menus can blur the page behind them. */
.fs-site-header::before {
	-webkit-backdrop-filter: var(--ch-glass-blur-strong);
	backdrop-filter: var(--ch-glass-blur-strong);
	background: var(--ch-glass-bg-strong);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.fs-site-header__inner {
	min-height: 6.25rem;
	padding-block: 0.5rem;
	position: relative;
	z-index: 1;
}

.fs-site-header__actions {
	gap: clamp(1rem, 1.8vw, 1.5rem);
}

.ch-site-header .fs-header-search__toggle {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--ch-color-primary);
	display: inline-flex;
	height: 2.75rem;
	justify-content: center;
	transform: none;
	width: 2.75rem;
}

.ch-site-header .fs-header-search__toggle:hover,
.ch-site-header .fs-header-search__toggle:focus-visible,
.ch-site-header .fs-header-search__toggle[aria-expanded="true"] {
	background: transparent;
	border-color: transparent;
	box-shadow: none;
	color: var(--ch-color-cta) !important;
	transform: none;
}

.ch-site-header .fs-header-search__icon {
	display: none;
}

/* Match the Font Awesome 5 search glyph used by the Elementor headers while
 * keeping the existing accessible WordPress search button and behaviour. */
.ch-site-header .fs-header-search__toggle::before {
	background: currentColor;
	content: "";
	height: 1rem;
	-webkit-mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E");
	mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M505 442.7 405.3 343c-4.5-4.5-10.6-7-17-7H372c27.6-35.3 44-79.7 44-128C416 93.1 322.9 0 208 0S0 93.1 0 208s93.1 208 208 208c48.3 0 92.7-16.4 128-44v16.3c0 6.4 2.5 12.5 7 17l99.7 99.7c9.4 9.4 24.6 9.4 33.9 0l28.3-28.3c9.4-9.4 9.4-24.6.1-34zM208 336c-70.7 0-128-57.2-128-128 0-70.7 57.2-128 128-128 70.7 0 128 57.2 128 128 0 70.7-57.2 128-128 128z'/%3E%3C/svg%3E");
	width: 1rem;
}

.ch-site-header .fs-search-overlay {
	-webkit-backdrop-filter: blur(10px) saturate(1.1);
	backdrop-filter: blur(10px) saturate(1.1);
	background:
		radial-gradient(circle at 50% 18%, rgba(221, 89, 40, 0.18), transparent 34rem),
		rgba(27, 31, 35, 0.88);
	opacity: 0;
	padding: 1rem;
	transition: opacity 320ms ease;
}

.ch-site-header .fs-search-overlay--open {
	opacity: 1;
}

.ch-site-header .fs-search-overlay__panel {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	max-width: min(54rem, calc(100vw - 2rem));
	padding: 0;
	transform: translateY(1rem) scale(0.97);
	transition: transform 360ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ch-site-header .fs-search-overlay--open .fs-search-overlay__panel {
	transform: translateY(0) scale(1);
}

.ch-site-header .fs-search-overlay__label {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.ch-site-header .fs-search-overlay__field {
	align-items: center;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid rgba(255, 255, 255, 0.52);
	border-radius: 999px;
	box-shadow: 0 1.2rem 3.5rem rgba(0, 0, 0, 0.28);
	display: flex;
	gap: 0.35rem;
	min-height: 0;
	padding: 0.35rem;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.ch-site-header .fs-search-overlay__field:focus-within {
	border-color: var(--ch-color-cta);
	box-shadow:
		0 1.2rem 3.5rem rgba(0, 0, 0, 0.3),
		0 0 0 4px rgba(221, 89, 40, 0.2);
}

.ch-site-header .fs-search-overlay__input {
	appearance: none;
	-webkit-appearance: none;
	color: var(--ch-color-primary);
	font-family: var(--ch-font-family-base, var(--fs-font-family-body));
	font-size: clamp(1.05rem, 0.96rem + 0.45vw, 1.35rem);
	min-height: clamp(3.45rem, 6vw, 4.6rem);
	padding: 0.85rem clamp(1.05rem, 3vw, 1.75rem);
}

.ch-site-header .fs-search-overlay__input::-webkit-search-decoration,
.ch-site-header .fs-search-overlay__input::-webkit-search-cancel-button,
.ch-site-header .fs-search-overlay__input::-webkit-search-results-button,
.ch-site-header .fs-search-overlay__input::-webkit-search-results-decoration {
	display: none;
}

.ch-site-header .fs-search-overlay__submit {
	align-items: center;
	background: var(--ch-color-cta);
	border: 0;
	border-radius: 999px;
	color: var(--ch-color-white);
	display: inline-flex;
	flex: 0 0 auto;
	font-size: 0;
	height: clamp(3rem, 5vw, 4rem);
	justify-content: center;
	min-height: 0;
	padding: 0;
	transform: translateZ(0);
	transition: background-color 180ms ease, transform 180ms ease;
	width: clamp(3rem, 5vw, 4rem);
}

.ch-site-header .fs-search-overlay__submit::before {
	background: currentColor;
	content: "";
	height: 1.2rem;
	-webkit-mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.75 4.5a6.25 6.25 0 1 0 0 12.5 6.25 6.25 0 0 0 0-12.5Zm-8 6.25a8 8 0 1 1 14.18 5.08l3.41 3.4a.88.88 0 0 1-1.24 1.24l-3.4-3.41A8 8 0 0 1 2.75 10.75Z'/%3E%3C/svg%3E");
	mask: center / contain no-repeat url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10.75 4.5a6.25 6.25 0 1 0 0 12.5 6.25 6.25 0 0 0 0-12.5Zm-8 6.25a8 8 0 1 1 14.18 5.08l3.41 3.4a.88.88 0 0 1-1.24 1.24l-3.4-3.41A8 8 0 0 1 2.75 10.75Z'/%3E%3C/svg%3E");
	width: 1.2rem;
}

.ch-site-header .fs-search-overlay__submit:hover,
.ch-site-header .fs-search-overlay__submit:focus-visible {
	background: var(--ch-color-cta-hover);
	border-color: transparent;
	transform: scale(1.04);
}

.ch-site-header .fs-search-overlay__close {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: var(--ch-color-white);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 2rem;
	height: 2.5rem;
	right: 0;
	top: clamp(-5.5rem, -7vw, -4.25rem);
	width: 2.5rem;
}

.ch-site-header .fs-search-overlay__close:hover,
.ch-site-header .fs-search-overlay__close:focus-visible {
	background: transparent;
	border-color: transparent;
	color: var(--ch-color-cta);
}

@media (max-width: 767px) {
	.ch-site-header .fs-search-overlay__panel {
		max-width: min(34rem, calc(100vw - 1.5rem));
	}

	.ch-site-header .fs-search-overlay__input,
	.ch-site-header .fs-search-overlay__submit {
		min-height: 0;
	}
}

.fs-page.fs-main {
	padding-block-end: 0;
}

.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > footer.wp-block-template-part > .fs-site-footer,
.fs-site-footer {
	margin-block-start: 0;
}

.fs-site-brand--header {
	justify-content: flex-start;
	min-inline-size: auto;
}

.fs-site-logo {
	align-items: center;
	display: inline-flex;
	flex: 0 0 auto;
	max-width: var(--fs-logo-width, 300px);
	width: var(--fs-logo-width, 300px);
}

.fs-site-logo img,
.fs-site-logo__image {
	height: auto !important;
	/* The SVG has a wide natural aspect ratio. Capping its height turns a 360px
	 * design-system width into a visually much smaller centered mark. */
	max-height: none;
	max-width: 100%;
	object-fit: contain;
	width: 100% !important;
}

.fs-site-menu,
.fs-site-nav,
.fs-site-menu__list {
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
	font-weight: 500 !important;
	letter-spacing: 0;
}

.fs-site-menu__list > .menu-item > a,
.fs-site-nav .wp-block-navigation-item__content {
	color: var(--ch-color-primary);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
	font-size: 1.125rem;
	font-weight: 500 !important;
	line-height: 1.2;
	text-decoration: none;
}

.fs-site-menu__list > .menu-item > a:hover,
.fs-site-menu__list > .menu-item > a:focus-visible,
.fs-site-menu__list > .current-menu-item > a,
.fs-site-menu__list > .current-menu-ancestor > a,
.fs-site-nav .wp-block-navigation-item__content:hover,
.fs-site-nav .wp-block-navigation-item__content:focus-visible {
	color: var(--ch-color-cta);
}

.fs-site-menu__list > .menu-item {
	position: relative;
}

.fs-site-menu__list > .menu-item:not(.ch-mega-menu)::before,
.fs-site-menu__list > .menu-item:not(.ch-mega-menu)::after {
	background: var(--ch-color-cta);
	content: "";
	height: 1px;
	inset-inline: 0;
	opacity: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: center;
	transition: opacity 180ms ease, transform 220ms ease;
}

.fs-site-menu__list > .menu-item:not(.ch-mega-menu)::before {
	top: 0.58rem;
}

.fs-site-menu__list > .menu-item:not(.ch-mega-menu)::after {
	bottom: 0.58rem;
}

.fs-site-menu__list > .menu-item:not(.ch-mega-menu):hover::before,
.fs-site-menu__list > .menu-item:not(.ch-mega-menu):hover::after,
.fs-site-menu__list > .menu-item:not(.ch-mega-menu):focus-within::before,
.fs-site-menu__list > .menu-item:not(.ch-mega-menu):focus-within::after,
.fs-site-menu__list > .current-menu-item:not(.ch-mega-menu)::before,
.fs-site-menu__list > .current-menu-item:not(.ch-mega-menu)::after,
.fs-site-menu__list > .current-menu-ancestor:not(.ch-mega-menu)::before,
.fs-site-menu__list > .current-menu-ancestor:not(.ch-mega-menu)::after {
	opacity: 1;
	transform: scaleX(1);
}

/* The shared umbrella header treats every top-level destination equally. */
.fs-site-menu__list > .menu-item:last-child > a,
.fs-site-menu__list > .ch-menu-cta > a {
	background-color: transparent;
	background-image: none;
	border: 0;
	border-radius: 0;
	color: var(--ch-color-primary);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
	font-size: 1.125rem !important;
	font-weight: 500 !important;
	line-height: 1.2 !important;
	padding: 0.95rem 0;
	text-transform: none !important;
	transition: color 180ms ease;
}

.fs-site-menu__list > .menu-item:last-child:hover > a,
.fs-site-menu__list > .menu-item:last-child:focus-within > a,
.fs-site-menu__list > .menu-item:last-child.current-menu-item > a,
.fs-site-menu__list > .ch-menu-cta:hover > a,
.fs-site-menu__list > .ch-menu-cta:focus-within > a,
.fs-site-menu__list > .ch-menu-cta.current-menu-item > a {
	background-color: transparent;
	border-color: transparent;
	color: var(--ch-color-cta);
}

.ch-site-footer {
	background: var(--ch-color-primary);
	color: var(--ch-color-white);
}

.ch-site-footer .fs-site-footer__inner {
	gap: 20px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	inline-size: min(calc(100% - (2 * clamp(1.25rem, 4vw, 3rem))), var(--ch-layout-wide));
	max-inline-size: none;
	padding-block: clamp(2.5rem, 5vw, 4rem);
	padding-inline: 0;
}

/* WordPress' flow layout adds a top margin to every column after the first.
 * Elementor starts all four footer columns on the same baseline. */
.ch-site-footer .fs-site-footer__inner > :where(
	.fs-site-footer__brand,
	.fs-site-footer__nav,
	.fs-site-footer__company,
	.fs-site-footer__contact
) {
	margin-block-start: 0;
}

.ch-site-footer .fs-site-footer__brand {
	gap: 0.9375rem;
}

.ch-site-footer .ch-footer-affiliation {
	margin-block: 0;
}

.ch-site-footer .ch-footer-affiliation a {
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.ch-site-footer .fs-site-footer__nav,
.ch-site-footer .fs-site-footer__company {
	gap: 1.25rem;
}

.ch-site-footer .fs-site-footer__contact {
	gap: 0.9rem;
}

.ch-site-footer .fs-footer-heading {
	color: var(--ch-color-white);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: 1.375rem;
	font-weight: 600;
	line-height: 1;
}

.ch-site-footer .fs-footer-text,
.ch-site-footer .fs-footer-nav,
.ch-site-footer .fs-footer-legal,
.ch-site-footer .fs-footer-copyright {
	font-size: var(--ch-type-footer-size);
	font-weight: 400;
	line-height: 1.45;
}

.ch-site-footer .fs-footer-copyright {
	color: var(--ch-color-white);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
}

.ch-site-footer .fs-site-footer__inner,
.ch-site-footer .fs-site-footer__inner .fs-footer-text,
.ch-site-footer .fs-site-footer__inner a,
.ch-site-footer .fs-site-footer__inner a:visited {
	color: var(--ch-color-white);
}

.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:hover,
.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:focus,
.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:active,
.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:hover .wp-block-navigation-item__label,
.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:focus .wp-block-navigation-item__label,
.ch-site-footer :where(.fs-site-footer__nav, .fs-site-footer__company) a:active .wp-block-navigation-item__label {
	color: var(--ch-color-secondary);
	text-decoration: none;
}

.ch-site-footer .fs-site-footer__contact a:hover,
.ch-site-footer .fs-site-footer__contact a:focus,
.ch-site-footer .fs-site-footer__contact a:active {
	color: var(--ch-color-white);
	text-decoration: none;
}

.ch-site-footer .fs-footer-legal a:hover,
.ch-site-footer .fs-footer-legal a:focus,
.ch-site-footer .fs-footer-legal a:active,
.ch-site-footer .fs-footer-legal a:hover .wp-block-navigation-item__label,
.ch-site-footer .fs-footer-legal a:focus .wp-block-navigation-item__label,
.ch-site-footer .fs-footer-legal a:active .wp-block-navigation-item__label {
	color: var(--ch-color-border);
	text-decoration: none;
}

.ch-site-footer .fs-footer-legal .wp-block-navigation-item__label {
	transition: color 0.3s;
}

.ch-site-footer :where(.fs-site-footer__inner, .fs-footer-legal) a:hover,
.ch-site-footer :where(.fs-site-footer__inner, .fs-footer-legal) a:focus,
.ch-site-footer :where(.fs-site-footer__inner, .fs-footer-legal) a:active {
	text-decoration: none;
}

.ch-site-footer .fs-footer-nav .wp-block-navigation__container {
	gap: 0.46875rem;
}

.ch-site-footer .fs-site-footer__nav > .fs-footer-nav,
.ch-site-footer .fs-site-footer__company > .fs-footer-nav {
	margin-block-start: 0;
}

.ch-site-footer .fs-site-footer__bottom {
	background: var(--ch-color-primary-hover);
	border-top: 1px solid var(--ch-color-border);
	margin-block-start: 0;
}

.ch-site-footer .fs-site-footer__bottom-inner {
	inline-size: min(calc(100% - (2 * clamp(1.25rem, 4vw, 3rem))), var(--ch-layout-wide));
	max-inline-size: none;
	min-height: 0;
	padding-block: 0.9rem;
	padding-inline: 0;
}

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

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

	.ch-site-footer .fs-site-footer__bottom-inner {
		align-items: center;
		flex-direction: column;
		gap: 0.625rem;
		justify-content: center;
	}
}

/* Mega-menu parents are positioned statically so their panels can span the viewport.
 * Draw their hover lines on the link itself, rather than on the menu item. */
.fs-site-menu__list > .ch-mega-menu > a {
	background-image: linear-gradient(var(--ch-color-cta), var(--ch-color-cta)), linear-gradient(var(--ch-color-cta), var(--ch-color-cta));
	background-position: center 0.58rem, center calc(100% - 0.58rem);
	background-repeat: no-repeat;
	background-size: 0 1px, 0 1px;
	transition: background-size 220ms ease, color 180ms ease;
}

.fs-site-menu__list > .ch-mega-menu:hover > a,
.fs-site-menu__list > .ch-mega-menu:focus-within > a,
.fs-site-menu__list > .ch-mega-menu.current-menu-item > a,
.fs-site-menu__list > .ch-mega-menu.current-menu-ancestor > a,
.fs-site-menu__list > .ch-mega-menu.is-mega-open > a {
	background-size: 100% 1px, 100% 1px;
}

.fs-kicker,
[class*="__eyebrow"],
.fs-hero__eyebrow,
.fs-post-hero__eyebrow,
.fs-contact-section__eyebrow {
	color: var(--ch-color-cta) !important;
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: 0.75rem;
	font-weight: var(--ch-font-weight-semibold, 600);
	line-height: 1.2;
}

.fs-intro-split__grid {
	position: relative;
}

.fs-intro-split__grid::before {
	content: none;
}

.fs-intro-split__lead {
	border-left: 0 !important;
	padding-inline-start: 1.5rem;
}

/* Keep the accent line exactly as tall as the heading, including wrapped lines. */
.fs-intro-split__heading {
	position: relative;
}

.fs-intro-split__heading::before {
	background: var(--ch-color-cta);
	content: "";
	inset-block: 0;
	inset-inline-start: -1.5rem;
	position: absolute;
	width: 3px;
}

.fs-intro-split--accent-none .fs-intro-split__heading::before {
	content: none;
}

.fs-intro-split__copy ul,
.fs-text-section__content ul,
.fs-text-image__text ul,
.ch-media-section__text ul,
.ch-rich-cta__text ul,
.ch-split-cta-newsletter__text ul,
.ch-form-section__intro ul {
	list-style: none;
	margin-block: 1.15rem;
	padding-inline-start: 0;
}

.fs-intro-split__copy ul > li,
.fs-text-section__content ul > li,
.fs-text-image__text ul > li,
.ch-media-section__text ul > li,
.ch-rich-cta__text ul > li,
.ch-split-cta-newsletter__text ul > li,
.ch-form-section__intro ul > li {
	padding-inline-start: 2rem;
	position: relative;
}

.fs-intro-split__copy ul > li + li,
.fs-text-section__content ul > li + li,
.fs-text-image__text ul > li + li,
.ch-media-section__text ul > li + li,
.ch-rich-cta__text ul > li + li,
.ch-split-cta-newsletter__text ul > li + li,
.ch-form-section__intro ul > li + li {
	margin-block-start: 0.7rem;
}

.fs-intro-split__copy ul > li::before,
.fs-text-section__content ul > li::before,
.fs-text-image__text ul > li::before,
.ch-media-section__text ul > li::before,
.ch-rich-cta__text ul > li::before,
.ch-split-cta-newsletter__text ul > li::before,
.ch-form-section__intro ul > li::before {
	background: var(--ch-color-cta);
	border-radius: 999px;
	block-size: 1.05rem;
	content: "";
	inline-size: 1.05rem;
	inset-block-start: 0.34em;
	inset-inline-start: 0;
	position: absolute;
}

.fs-intro-split__copy ul > li::after,
.fs-text-section__content ul > li::after,
.fs-text-image__text ul > li::after,
.ch-media-section__text ul > li::after,
.ch-rich-cta__text ul > li::after,
.ch-split-cta-newsletter__text ul > li::after,
.ch-form-section__intro ul > li::after {
	background: center / 0.82rem 0.82rem no-repeat url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.15 8.2 6.75 10.8 11.85 5.2' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	block-size: 1.05rem;
	content: "";
	inline-size: 1.05rem;
	inset-block-start: 0.34em;
	inset-inline-start: 0;
	position: absolute;
}

.fs-download-box {
	border-left-color: var(--ch-color-cta) !important;
}

.fs-card {
	--fs-card-accent: var(--ch-color-cta) !important;
	--fs-card-accent-text: var(--ch-color-white) !important;
}

.fs-hero :where(h1, h2, .fs-hero__heading, .fs-hero__title),
.fs-subpage-hero :where(h1, h2, .fs-hero__heading, .fs-subpage-hero__heading, .fs-page-hero__title) {
	font-size: var(--ch-font-size-xxl, var(--fs-font-size-xxl));
	line-height: var(--ch-line-height-tight, var(--fs-line-height-tight));
	max-inline-size: 18ch;
}

.fs-hero :where(p, .fs-hero__text, .fs-hero__intro),
.fs-subpage-hero :where(p, .fs-hero__text, .fs-subpage-hero__text, .fs-page-hero__text) {
	font-size: var(--ch-type-body-size);
	font-weight: 400;
	line-height: var(--ch-type-body-line);
	max-inline-size: 42rem;
}

.fs-site-nav .fs-nav-cta .wp-block-navigation-item__content,
.wp-block-button__link,
.wp-element-button,
.fs-button,
.fs-cf7-form .wpcf7-submit,
.fs-contact-section__form .wpcf7-form .wpcf7-submit,
.wp-block-search__button,
.fs-search-overlay__submit {
	background: var(--ch-color-cta);
	border-color: var(--ch-color-cta);
	border-radius: 999px;
	color: var(--ch-color-white);
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: var(--ch-type-button-size);
	font-weight: 600;
	letter-spacing: 0.0624rem;
	line-height: 1.2;
	text-transform: uppercase;
}

.fs-site-nav .fs-nav-cta .wp-block-navigation-item__content:hover,
.fs-site-nav .fs-nav-cta .wp-block-navigation-item__content:focus-visible,
.wp-block-button__link:hover,
.wp-block-button__link:focus-visible,
.wp-element-button:hover,
.wp-element-button:focus-visible,
.fs-button:hover,
.fs-button:focus-visible,
.fs-cf7-form .wpcf7-submit:hover,
.fs-cf7-form .wpcf7-submit:focus-visible,
.fs-contact-section__form .wpcf7-form .wpcf7-submit:hover,
.fs-contact-section__form .wpcf7-form .wpcf7-submit:focus-visible,
.wp-block-search__button:hover,
.wp-block-search__button:focus-visible,
.fs-search-overlay__submit:hover,
.fs-search-overlay__submit:focus-visible {
	background: var(--ch-color-cta-hover);
	border-color: var(--ch-color-cta-hover);
	color: var(--ch-color-white);
}

.ch-form-section,
.ch-image-card-grid,
.ch-marketplace-grid,
.ch-rich-cta,
.ch-split-cta-newsletter {
	background: var(--ch-block-bg, var(--ch-color-white));
	color: var(--ch-block-text, var(--ch-color-text));
	position: relative;
}

.fs-page__content > :where(.ch-form-section, .ch-image-card-grid, .ch-marketplace-grid, .ch-media-section, .ch-rich-cta, .ch-split-cta-newsletter),
.fs-front-page .entry-content > :where(.ch-form-section, .ch-image-card-grid, .ch-marketplace-grid, .ch-media-section, .ch-rich-cta, .ch-split-cta-newsletter) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

.fs-page__content > :where(
	.fs-hero,
	.fs-intro-split,
	.fs-text-image,
	.fs-text-section,
	.fs-card-grid-block,
	.fs-service-cards,
	.fs-testimonials,
	.fs-logo-strip,
	.fs-team,
	.fs-process-block,
	.fs-cta,
	.fs-download-box,
	.fs-accordion,
	.fs-contact-section,
	.fs-post-carousel,
	.fs-event-list,
	.ch-customer-hero,
	.ch-form-section,
	.ch-image-card-grid,
	.ch-marketplace-grid,
	.ch-media-section,
	.ch-rich-cta,
	.ch-split-cta-newsletter
) + :where(
	.fs-hero,
	.fs-intro-split,
	.fs-text-image,
	.fs-text-section,
	.fs-card-grid-block,
	.fs-service-cards,
	.fs-testimonials,
	.fs-logo-strip,
	.fs-team,
	.fs-process-block,
	.fs-cta,
	.fs-download-box,
	.fs-accordion,
	.fs-contact-section,
	.fs-post-carousel,
	.fs-event-list,
	.ch-customer-hero,
	.ch-form-section,
	.ch-image-card-grid,
	.ch-marketplace-grid,
	.ch-media-section,
	.ch-rich-cta,
	.ch-split-cta-newsletter
),
.fs-front-page .entry-content > :where(
	.fs-hero,
	.fs-intro-split,
	.fs-text-image,
	.fs-text-section,
	.fs-card-grid-block,
	.fs-service-cards,
	.fs-testimonials,
	.fs-logo-strip,
	.fs-team,
	.fs-process-block,
	.fs-cta,
	.fs-download-box,
	.fs-accordion,
	.fs-contact-section,
	.fs-post-carousel,
	.fs-event-list,
	.ch-customer-hero,
	.ch-form-section,
	.ch-image-card-grid,
	.ch-marketplace-grid,
	.ch-media-section,
	.ch-rich-cta,
	.ch-split-cta-newsletter
) + :where(
	.fs-hero,
	.fs-intro-split,
	.fs-text-image,
	.fs-text-section,
	.fs-card-grid-block,
	.fs-service-cards,
	.fs-testimonials,
	.fs-logo-strip,
	.fs-team,
	.fs-process-block,
	.fs-cta,
	.fs-download-box,
	.fs-accordion,
	.fs-contact-section,
	.fs-post-carousel,
	.fs-event-list,
	.ch-customer-hero,
	.ch-form-section,
	.ch-image-card-grid,
	.ch-marketplace-grid,
	.ch-media-section,
	.ch-rich-cta,
	.ch-split-cta-newsletter
) {
	margin-block-start: 0 !important;
}

.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-type^="acf/ch-"],
.editor-styles-wrapper .is-root-container > .wp-block[data-type^="acf/ch-"] {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: var(--fs-editor-preview-width) !important;
	width: var(--fs-editor-preview-width) !important;
}

.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-type^="acf/ch-"] > .acf-block-preview,
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-type^="acf/ch-"] > .acf-block-preview > *,
.editor-styles-wrapper .is-root-container > .wp-block[data-type^="acf/ch-"] > .acf-block-preview,
.editor-styles-wrapper .is-root-container > .wp-block[data-type^="acf/ch-"] > .acf-block-preview > * {
	max-width: none !important;
	width: 100% !important;
}

.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-type^="acf/ch-"] .alignfull,
.editor-styles-wrapper .block-editor-block-list__layout.is-root-container > .wp-block[data-type^="acf/ch-"] .alignwide,
.editor-styles-wrapper .is-root-container > .wp-block[data-type^="acf/ch-"] .alignfull,
.editor-styles-wrapper .is-root-container > .wp-block[data-type^="acf/ch-"] .alignwide {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.ch-customer-hero {
	background: var(--ch-customer-hero-bg, var(--ch-color-primary));
	color: var(--ch-color-white);
	inline-size: 100vw;
	isolation: isolate;
	margin-inline: calc(50% - 50vw);
	max-inline-size: none !important;
	max-width: none !important;
	min-block-size: clamp(34rem, 72vh, 46rem);
	overflow: hidden;
	padding-block: 0 !important;
	position: relative;
	width: 100vw !important;
}

.ch-customer-hero--text-dark {
	color: var(--ch-color-text);
}

.ch-customer-hero::before,
.ch-customer-hero::after {
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.ch-customer-hero::before {
	background-image: var(--ch-customer-hero-image);
	background-position: var(--ch-customer-hero-position, center center);
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 0;
}

.ch-customer-hero--video::before {
	content: none;
}

.ch-customer-hero--has-slides::before {
	content: none;
}

.ch-customer-hero::after {
	background: linear-gradient(90deg, rgba(14, 21, 28, var(--ch-customer-hero-overlay, 0)), rgba(14, 21, 28, calc(var(--ch-customer-hero-overlay, 0) * 0.72)));
	z-index: 1;
}

.ch-customer-hero--fixed::before {
	background-attachment: fixed;
}

.ch-customer-hero__media {
	inset: 0;
	position: absolute;
	z-index: 0;
}

.ch-customer-hero__video {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	object-position: var(--ch-customer-hero-position, center center);
}

.ch-customer-hero__slide-background {
	display: block;
	block-size: 100%;
	inline-size: 100%;
	object-fit: cover;
	object-position: var(--ch-customer-hero-position, center center);
	background-position: var(--ch-customer-hero-position, center center);
	background-repeat: no-repeat;
	background-size: cover;
	inset: 0;
	opacity: 0;
	position: absolute;
	transform: scale(1.015);
	transition: opacity 720ms cubic-bezier(0.22, 0.61, 0.36, 1), transform 7s ease-out;
	will-change: opacity, transform;
}

.ch-customer-hero__slide-background.is-active {
	opacity: 1;
	transform: scale(1.04);
}

.ch-customer-hero__inner {
	max-inline-size: var(--ch-layout-wide);
	align-content: center;
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 560px);
	justify-content: start;
	min-block-size: inherit;
	padding-block: clamp(6rem, 13vh, 9rem) clamp(4rem, 8vh, 5.5rem);
	position: relative;
	z-index: 2;
}

.ch-customer-hero--has-client .ch-customer-hero__inner {
	grid-template-columns: minmax(0, 560px) minmax(280px, 390px);
}

.ch-customer-hero__main {
	max-inline-size: 560px;
}

.ch-customer-hero__slider-content {
	inline-size: min(100%, 560px);
	transition: block-size 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
	will-change: block-size;
}

.ch-customer-hero__slide-content[hidden] {
	display: none;
}

.ch-customer-hero__slide-content {
	transition: opacity 360ms ease, transform 520ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ch-customer-hero__slide-content.is-entering {
	opacity: 0;
	transform: translateY(1rem);
}

.ch-customer-hero__slide-content.is-leaving {
	inset-inline: 0;
	opacity: 0;
	position: absolute;
	transform: translateY(-0.75rem);
}

.ch-customer-hero--has-slides .ch-customer-hero__inner {
	grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
	grid-template-rows: 1fr auto;
}

.ch-customer-hero--has-slides .ch-customer-hero__slider-content {
	align-self: center;
	grid-column: 1;
	grid-row: 1;
}

.ch-customer-hero__affiliation {
	align-self: end;
	color: var(--ch-color-white);
	font-size: clamp(0.85rem, 1.1vw, 1rem);
	font-weight: 600;
	grid-column: 1;
	grid-row: 2;
	line-height: 1.4;
	margin: 0;
	text-shadow: 0 1px 4px rgb(0 0 0 / 75%);
}

.ch-customer-hero__affiliation a,
.ch-customer-hero__affiliation a:visited {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

.ch-customer-hero__slider-controls {
	align-items: center;
	display: flex;
	gap: 0.65rem;
	grid-column: 2;
	grid-row: 2;
	justify-self: end;
	margin: 0;
}

.ch-customer-hero__slider-arrow,
.ch-customer-hero__slider-dot {
	appearance: none;
	background: color-mix(in srgb, var(--ch-color-white) 86%, transparent);
	border: 1px solid color-mix(in srgb, var(--ch-color-text) 24%, transparent);
	box-shadow: none;
	color: var(--ch-color-text);
	cursor: pointer;
	margin: 0;
	padding: 0;
}

.ch-customer-hero__slider-arrow {
	align-items: center;
	block-size: 2.25rem;
	border-radius: var(--fs-radius-button, var(--fs-radius, 8px));
	display: inline-flex;
	inline-size: 2.25rem;
	justify-content: center;
	line-height: 0;
	padding: 0;
}

.ch-customer-hero__slider-arrow svg {
	block-size: 1.15rem;
	display: block;
	fill: none;
	inline-size: 1.15rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.9;
}

.ch-customer-hero__slider-dots {
	align-items: center;
	display: flex;
	gap: 0.5rem;
}

.ch-customer-hero__slider-dot {
	block-size: 0.7rem;
	border-radius: 999px;
	inline-size: 0.7rem;
}

.ch-customer-hero__slider-dot.is-active {
	background: var(--ch-color-cta);
	border-color: var(--ch-color-cta);
}

.ch-customer-hero__slider-arrow:focus-visible,
.ch-customer-hero__slider-dot:focus-visible {
	outline: 2px solid var(--ch-color-cta);
	outline-offset: 3px;
}

.ch-customer-hero--image:not(.ch-customer-hero--layout-split) .ch-customer-hero__main,
.ch-customer-hero--video .ch-customer-hero__main,
.ch-customer-hero--has-slides .ch-customer-hero__main {
	-webkit-backdrop-filter: var(--ch-glass-blur);
	backdrop-filter: var(--ch-glass-blur);
	background: var(--ch-glass-bg);
	border: 1px solid var(--ch-glass-border);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: var(--ch-glass-shadow);
	color: var(--ch-color-text);
	padding: clamp(1.45rem, 2.6vw, 2.25rem);
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-customer-hero--image:not(.ch-customer-hero--layout-split) .ch-customer-hero__main:hover,
.ch-customer-hero--image:not(.ch-customer-hero--layout-split) .ch-customer-hero__main:focus-within,
.ch-customer-hero--image:not(.ch-customer-hero--layout-split):has(.ch-customer-hero__main:hover) .ch-customer-hero__main,
.ch-customer-hero--video .ch-customer-hero__main:hover,
.ch-customer-hero--video .ch-customer-hero__main:focus-within,
.ch-customer-hero--video:has(.ch-customer-hero__main:hover) .ch-customer-hero__main,
.ch-customer-hero--has-slides .ch-customer-hero__main:hover,
.ch-customer-hero--has-slides .ch-customer-hero__main:focus-within,
.ch-customer-hero--has-slides:has(.ch-customer-hero__main:hover) .ch-customer-hero__main {
	box-shadow: var(--ch-glass-shadow-hover);
	transform: var(--ch-glass-hover-transform);
}

.ch-customer-hero__heading {
	color: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: var(--ch-font-size-xxl, var(--fs-font-size-xxl));
	font-weight: 600;
	line-height: var(--ch-line-height-tight, 1.1);
	margin: 0;
	max-inline-size: 14ch;
}

.ch-customer-hero__text {
	color: color-mix(in srgb, currentColor 86%, transparent);
	font-size: var(--ch-type-body-size);
	font-weight: 400;
	line-height: var(--ch-type-body-line);
	margin-block: 1.1rem 0;
	max-inline-size: 30rem;
}

.ch-customer-hero__text p {
	font: inherit;
	margin-block: 0 1em;
}

.ch-customer-hero__text > :last-child {
	margin-block-end: 0;
}

.ch-customer-hero__text a {
	color: inherit;
	text-decoration: underline;
}

.ch-customer-hero__list {
	display: grid;
	font-size: var(--ch-type-body-size);
	font-weight: 400;
	gap: 0.65rem;
	line-height: var(--ch-type-body-line);
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
}

.ch-customer-hero__list li {
	padding-inline-start: 2rem;
	position: relative;
}

.ch-customer-hero__list li::before,
.ch-customer-hero__list li::after {
	block-size: 1.05rem;
	content: "";
	inline-size: 1.05rem;
	inset-block-start: 0.18em;
	inset-inline-start: 0;
	position: absolute;
}

.ch-customer-hero__list li::before {
	background: var(--ch-color-cta);
	border-radius: 999px;
}

.ch-customer-hero__list li::after {
	background: center / 0.82rem 0.82rem no-repeat url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.15 8.2 6.75 10.8 11.85 5.2' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ch-customer-hero__button {
	margin-block-start: 1.45rem;
}

.ch-customer-hero__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.85rem;
	margin-block-start: 1.45rem;
}

.ch-customer-hero__actions .ch-customer-hero__button {
	margin: 0;
}

.ch-customer-hero--layout-split {
	background: var(--ch-color-light);
	color: var(--ch-color-text);
	min-block-size: auto;
	padding-block: var(--fs-section-y) !important;
}

.ch-customer-hero--layout-split.fs-section--flush-top {
	padding-block-start: 0 !important;
}

.ch-customer-hero--layout-split.fs-section--flush-bottom {
	padding-block-end: 0 !important;
}

.ch-customer-hero--layout-split::before,
.ch-customer-hero--layout-split::after {
	content: none;
}

.ch-customer-hero--layout-split .ch-customer-hero__inner {
	align-items: stretch;
	gap: clamp(2.5rem, 3.9vw, 3.125rem);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	min-block-size: 31.25rem;
	padding-block: 0;
}

.ch-customer-hero--layout-split .ch-customer-hero__main {
	align-self: center;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	max-inline-size: 35.3125rem;
}

.ch-customer-hero--layout-split .ch-customer-hero__heading {
	font-size: clamp(2.65rem, 4.1875vw, 3.35rem);
	font-weight: 600;
	line-height: 1.12;
	max-inline-size: none;
}

.ch-customer-hero--layout-split .ch-customer-hero__text {
	font-size: 1.125rem;
	line-height: 1.55;
	margin: 0;
	max-inline-size: 33rem;
}

.ch-customer-hero--layout-split .ch-customer-hero__eyebrow {
	color: var(--ch-color-cta);
	margin: 0;
}

.ch-customer-hero--layout-split .ch-customer-hero__button {
	align-self: flex-start;
	border-radius: 999px;
	margin: 0;
	min-block-size: 3.1rem;
	padding: 0.75rem 1.35rem;
}

.ch-customer-hero--layout-split .ch-customer-hero__actions {
	margin: 0;
}

/* Business Units use the existing FS modules in the Müller section rhythm. */
.ch-business-unit-service {
	background: var(--wp--preset--color--sw-primary, #2b2e33);
}

.ch-business-unit-service + .ch-business-unit-service {
	padding-block-start: 0;
}

.ch-business-unit-service .fs-text-image__heading {
	font-size: clamp(2rem, 2.7vw, 2.6rem);
	font-weight: 500;
	line-height: 1.15;
}

.ch-business-unit-benefits .fs-card-grid-block__grid {
	gap: clamp(1.25rem, 2.5vw, 2.5rem);
}

.ch-business-unit-benefits .fs-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 0.85rem;
	padding: 0;
	transform: none;
}

.ch-business-unit-benefits .fs-card__media {
	display: none;
}

.ch-business-unit-benefits .fs-card__title {
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: clamp(1.3rem, 1.6vw, 1.6rem);
	font-weight: 500;
}

.ch-customer-hero__split-media {
	align-self: stretch;
	block-size: 31.25rem;
	border-radius: 1.25rem;
	box-shadow: none;
	margin: 0;
	overflow: hidden;
	position: relative;
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-customer-hero__split-image {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	object-position: var(--ch-customer-hero-position, center center);
	transition: transform 420ms cubic-bezier(0.22, 0.61, 0.36, 1);
}

.ch-customer-hero__split-media:hover,
.ch-customer-hero__split-media:focus-within {
	box-shadow: var(--ch-glass-shadow-hover);
	transform: var(--ch-glass-hover-transform);
}

.ch-customer-hero__split-media:hover .ch-customer-hero__split-image,
.ch-customer-hero__split-media:focus-within .ch-customer-hero__split-image {
	transform: scale(1.025);
}

.ch-customer-hero__client {
	align-self: end;
	-webkit-backdrop-filter: var(--ch-glass-blur);
	backdrop-filter: var(--ch-glass-blur);
	background: color-mix(in srgb, var(--ch-glass-bg) 38%, transparent);
	border: 1px solid color-mix(in srgb, var(--ch-glass-border) 62%, transparent);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: var(--ch-glass-shadow);
	color: inherit;
	padding: clamp(1.3rem, 2.5vw, 2rem);
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-customer-hero__client:hover,
.ch-customer-hero__client:focus-within {
	box-shadow: var(--ch-glass-shadow-hover);
	transform: var(--ch-glass-hover-transform);
}

.ch-customer-hero__client-label {
	color: var(--ch-color-cta);
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0;
	margin: 0 0 0.9rem;
	text-transform: uppercase;
}

.ch-customer-hero__client-text {
	color: color-mix(in srgb, currentColor 86%, transparent);
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
}

.ch-customer-hero__client-text > :first-child {
	margin-block-start: 0;
}

.ch-customer-hero__client-text > :last-child {
	margin-block-end: 0;
}

.ch-customer-hero__client-logo {
	background: var(--ch-color-white);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	display: inline-flex;
	margin: 1.2rem 0 0;
	max-inline-size: 11rem;
	padding: 0.65rem 0.9rem;
}

.ch-customer-hero__client-logo img {
	block-size: auto;
	display: block;
	inline-size: 100%;
	object-fit: contain;
}

/* Flexible image/video block. Background, typography and radii come from the shared FS design tokens. */
.ch-media-section {
	background: var(--ch-block-bg, transparent);
	color: var(--ch-block-text, var(--wp--preset--color--contrast));
}

.ch-media-section__grid {
	align-items: center;
	display: grid;
	gap: clamp(2rem, 5vw, 4.5rem);
	grid-template-columns: minmax(0, 0.88fr) minmax(0, 1.12fr);
	margin-inline: auto;
	max-inline-size: 1180px;
}

.ch-media-section--media-left .ch-media-section__media {
	order: -1;
}

.ch-media-section__eyebrow {
	margin: 0 0 0.85rem;
}

.ch-media-section__heading {
	color: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: var(--ch-type-heading-size);
	font-weight: 500;
	line-height: var(--ch-type-heading-line);
	margin: 0;
}

.ch-media-section__text {
	color: inherit;
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-top: 1.25rem;
}

.ch-media-section__text > :first-child {
	margin-top: 0;
}

.ch-media-section__text > :last-child {
	margin-bottom: 0;
}

.ch-media-section__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.ch-media-section__links .fs-button {
	margin-top: 0;
}

.ch-media-section__media {
	border-radius: var(--fs-radius-card, 0);
	overflow: hidden;
}

.ch-media-section__image {
	display: block;
	height: auto;
	inline-size: 100%;
}

.ch-media-section__embed,
.ch-media-section__placeholder {
	aspect-ratio: 16 / 9;
	background: color-mix(in srgb, currentColor 8%, transparent);
	inline-size: 100%;
}

.ch-media-section__embed iframe {
	border: 0;
	display: block;
	height: 100%;
	inline-size: 100%;
}

/* Owner/benefit sections keep the source hierarchy: section title, profile card,
 * then the supporting reasons. This is intentionally distinct from a media/text split. */
.ch-media-section--profile .ch-media-section__profile-wrap {
	margin-inline: auto;
	max-inline-size: 1180px;
}

.ch-media-section__profile-heading {
	color: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: var(--ch-type-heading-size);
	font-weight: 500;
	line-height: var(--ch-type-heading-line);
	margin: 0 0 clamp(2rem, 4vw, 3.75rem);
	max-inline-size: 35rem;
}

.ch-media-section__profile-grid {
	align-items: start;
	display: grid;
	gap: clamp(2rem, 6vw, 6rem);
	grid-template-columns: minmax(0, 1.15fr) minmax(18rem, 0.85fr);
}

.ch-media-section__profile-card {
	background: var(--ch-color-white);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	color: var(--ch-color-primary);
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
}

.ch-media-section--profile-no-image .ch-media-section__profile-card {
	grid-template-columns: 1fr;
}

.ch-media-section__profile-media {
	background: color-mix(in srgb, var(--ch-color-primary) 8%, var(--ch-color-white));
	min-block-size: 100%;
}

.ch-media-section__profile-image {
	display: block;
	height: 100%;
	inline-size: 100%;
	object-fit: cover;
}

.ch-media-section__profile-details {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(1.5rem, 3.5vw, 3.25rem);
}

.ch-media-section__profile-name {
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: clamp(1.35rem, 1.2rem + 0.55vw, 1.85rem);
	font-weight: 500;
	line-height: 1.15;
	margin: 0;
}

.ch-media-section__profile-role,
.ch-media-section__profile-contact {
	color: color-mix(in srgb, var(--ch-color-primary) 65%, transparent);
	font-size: var(--ch-type-body-size);
	margin: 0.55rem 0 0;
}

.ch-media-section__profile-contact {
	margin-top: 0.25rem;
}

.ch-media-section__profile-links {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	inline-size: max-content;
	max-inline-size: 100%;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.ch-media-section__profile-links .fs-button {
	box-sizing: border-box;
	inline-size: 100%;
	min-inline-size: 0;
	text-align: center;
	white-space: normal;
}

.ch-media-section__profile-benefits .ch-media-section__text {
	margin-top: 1rem;
}

/* Source tables remain editable in FS Text Sections and scroll safely on narrow screens. */
.ch-source-table-wrap {
	border: 1px solid var(--ch-color-border);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	inline-size: 100%;
	margin-block: 1.5rem;
	overflow-x: auto;
}

.ch-source-table-wrap table {
	border-collapse: collapse;
	font-size: var(--ch-type-body-size);
	inline-size: 100% !important;
	line-height: var(--ch-type-body-line);
	margin: 0;
	min-inline-size: 100%;
	table-layout: auto;
}

.ch-source-table-wrap table:has(tr > :nth-child(3)) {
	min-inline-size: 42rem;
}

.ch-source-table-wrap th,
.ch-source-table-wrap td {
	border-block-end: 1px solid var(--ch-color-border);
	border-inline-end: 1px solid var(--ch-color-border);
	padding: 0.8rem 1rem;
	text-align: start;
	vertical-align: top;
}

.ch-source-table-wrap tr > :first-child {
	min-inline-size: 7.5rem;
}

.ch-source-table-wrap th {
	background: color-mix(in srgb, var(--ch-color-light) 76%, var(--ch-color-white));
	color: var(--ch-color-primary);
	font-weight: 600;
}

.ch-source-table-wrap tr:last-child > * {
	border-block-end: 0;
}

.ch-source-table-wrap tr > *:last-child {
	border-inline-end: 0;
}

.ch-rich-cta {
	background: var(--ch-block-bg, transparent);
	color: var(--ch-block-text, var(--wp--preset--color--contrast));
}

.ch-rich-cta__inner {
	display: flex;
	margin-inline: auto;
	max-inline-size: var(--ch-layout-wide);
	min-block-size: clamp(30rem, 52vw, 44rem);
	position: relative;
	z-index: 1;
}

.ch-rich-cta--layout-left .ch-rich-cta__inner {
	justify-content: flex-start;
}

.ch-rich-cta--layout-center .ch-rich-cta__inner {
	justify-content: center;
}

.ch-rich-cta--layout-right .ch-rich-cta__inner {
	justify-content: flex-end;
}

.ch-rich-cta__content {
	align-self: center;
	inline-size: min(100%, 650px);
}

.ch-rich-cta--layout-center .ch-rich-cta__content {
	text-align: center;
}

.ch-rich-cta--layout-center .ch-rich-cta__text ul {
	display: inline-block;
	text-align: left;
}

.ch-rich-cta__eyebrow {
	margin: 0 0 0.85rem;
}

.ch-rich-cta__heading {
	color: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: var(--ch-type-heading-size);
	font-weight: 500;
	line-height: var(--ch-type-heading-line);
	margin: 0;
}

.ch-rich-cta__text {
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-block-start: 1.4rem;
}

.ch-rich-cta__text > :first-child {
	margin-block-start: 0;
}

.ch-rich-cta__text > :last-child {
	margin-block-end: 0;
}

.ch-rich-cta__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
	margin-block-start: 1.75rem;
}

.ch-rich-cta--layout-center .ch-rich-cta__links {
	justify-content: center;
}

.ch-rich-cta__utility-link {
	background: transparent;
	border-color: currentColor;
	color: inherit;
}

.ch-rich-cta__phone {
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: var(--ch-type-body-size);
	font-weight: 700;
	margin-block-start: 1.75rem;
}

.ch-rich-cta__phone-link {
	color: inherit;
	text-decoration: none;
}

.ch-rich-cta__phone-link:hover,
.ch-rich-cta__phone-link:focus-visible {
	color: var(--ch-color-cta);
}

.ch-tabs {
	background: var(--ch-block-bg, transparent);
	color: var(--ch-block-text, var(--wp--preset--color--contrast));
}

.ch-tabs__layout {
	display: grid;
	gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(14rem, 0.38fr) minmax(0, 1fr);
	margin-inline: auto;
	max-inline-size: 1180px;
}

.ch-tabs__list {
	display: grid;
	align-content: start;
	gap: 0.15rem;
}

.ch-tabs__trigger {
	background: transparent;
	border: 0;
	border-inline-start: 3px solid transparent;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.25;
	padding: 0.75rem 1rem;
	text-align: start;
	transition: border-color 160ms ease, color 160ms ease;
}

.ch-tabs__trigger:hover,
.ch-tabs__trigger:focus-visible,
.ch-tabs__trigger.is-active {
	border-inline-start-color: var(--ch-color-cta);
	color: var(--ch-color-cta);
}

.ch-tabs__trigger:focus-visible {
	outline: 2px solid var(--ch-color-cta);
	outline-offset: 3px;
}

.ch-tabs__heading {
	color: inherit;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: var(--ch-type-heading-size);
	font-weight: 500;
	line-height: var(--ch-type-heading-line);
	margin: 0;
}

.ch-tabs__content {
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-top: 1.25rem;
}

.ch-tabs__content > :first-child {
	margin-top: 0;
}

.ch-tabs__content > :last-child {
	margin-bottom: 0;
}

.ch-tabs__content ul {
	list-style: none;
	margin-block: 1.15rem;
	padding-inline-start: 0;
}

.ch-tabs__content ul > li {
	padding-inline-start: 2rem;
	position: relative;
}

.ch-tabs__content ul > li + li {
	margin-block-start: 0.7rem;
}

.ch-tabs__content ul > li::before,
.ch-tabs__content ul > li::after {
	block-size: 1.05rem;
	content: "";
	inline-size: 1.05rem;
	inset-block-start: 0.34em;
	inset-inline-start: 0;
	position: absolute;
}

.ch-tabs__content ul > li::before {
	background: var(--ch-color-cta);
	border-radius: 999px;
}

.ch-tabs__content ul > li::after {
	background: center / 0.82rem 0.82rem no-repeat url("data:image/svg+xml,%3Csvg width='16' height='16' viewBox='0 0 16 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M4.15 8.2 6.75 10.8 11.85 5.2' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.ch-form-section--image,
.ch-image-card-grid--image,
.ch-marketplace-grid--image,
.ch-media-section--image,
.ch-rich-cta--image,
.ch-split-cta-newsletter--image {
	background-color: var(--ch-color-primary);
	background-image: linear-gradient(90deg, rgba(27, 31, 35, var(--ch-block-overlay-alpha, 0.45)), rgba(27, 31, 35, var(--ch-block-overlay-alpha, 0.45))), var(--ch-block-image);
	background-position: center center, var(--ch-block-position-x, center) var(--ch-block-position-y, center);
	background-repeat: no-repeat;
	background-size: cover;
}

.fs-cta--image {
	background-color: var(--fs-cta-bg, var(--ch-color-primary));
	background-image: linear-gradient(90deg, rgba(27, 31, 35, var(--fs-cta-overlay-alpha, 0.45)), rgba(27, 31, 35, var(--fs-cta-overlay-alpha, 0.45))), var(--fs-cta-image);
	background-position: center center, var(--fs-cta-position-x, center) var(--fs-cta-position-y, center);
	background-repeat: no-repeat;
	background-size: cover;
}

.ch-form-section--dark,
.ch-image-card-grid--dark,
.ch-marketplace-grid--dark,
.ch-media-section--dark,
.ch-rich-cta--dark,
.ch-split-cta-newsletter--dark {
	color: var(--ch-color-white);
}

.ch-form-section :where(h1, h2, h3, h4, h5, h6),
.ch-image-card-grid :where(h1, h2, h3, h4, h5, h6),
.ch-marketplace-grid :where(h1, h2, h3, h4, h5, h6),
.ch-rich-cta :where(h1, h2, h3, h4, h5, h6),
.ch-split-cta-newsletter :where(h1, h2, h3, h4, h5, h6) {
	color: inherit;
}

.ch-form-section__inner,
.ch-image-card-grid > .fs-container,
.ch-marketplace-grid > .fs-container,
.ch-rich-cta__inner,
.ch-split-cta-newsletter__inner {
	position: relative;
	z-index: 1;
}

.ch-form-section__inner {
	display: grid;
	gap: clamp(2rem, 4vw, 3.25rem);
	margin-inline: auto;
	max-inline-size: var(--ch-layout-form);
}

.ch-form-section--align-left .ch-form-section__inner,
.ch-split-cta-newsletter__inner {
	margin-inline: auto;
	max-inline-size: var(--ch-layout-wide);
}

.ch-image-card-grid > .fs-container,
.ch-marketplace-grid > .fs-container {
	margin-inline: auto;
	max-inline-size: var(--ch-layout-wide);
}

.ch-form-section--align-center .ch-form-section__header {
	margin-inline: auto;
	max-inline-size: 760px;
	text-align: center;
}

.ch-form-section--align-left .ch-form-section__inner {
	justify-items: start;
}

.ch-form-section__heading,
.ch-image-card-grid__heading,
.ch-marketplace-grid__heading,
.ch-split-cta-newsletter__heading {
	font-size: var(--ch-type-heading-size);
	font-weight: 500;
	line-height: var(--ch-type-heading-line);
	margin: 0;
}

.ch-form-section__intro,
.ch-image-card-grid__intro,
.ch-marketplace-grid__subheading,
.ch-split-cta-newsletter__text,
.ch-split-cta-newsletter__panel-text {
	color: color-mix(in srgb, currentColor 74%, transparent);
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-block: 1rem 0;
}

.ch-form-section__form {
	background: var(--wp--preset--color--base, var(--ch-color-white));
	border: 1px solid var(--fs-card-border, color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-primary)) 14%, transparent));
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	padding: clamp(1.4rem, 3vw, 2.4rem);
}

.ch-form-section--form-panel-transparent .ch-form-section__form {
	background: transparent;
	border-color: transparent;
	padding-inline: 0;
}

.ch-form-section--align-left .ch-form-section__heading {
	font-size: var(--ch-type-heading-size);
	line-height: var(--ch-type-heading-line);
}

.ch-form-section--align-left .ch-form-section__form {
	background: transparent;
	border: 0;
	max-inline-size: 670px;
	padding: 0;
}

.ch-form-section--dark .ch-form-section__form {
	background: var(--wp--preset--color--base, var(--ch-color-white));
	color: var(--wp--preset--color--contrast, var(--ch-color-text));
}

.ch-form-section--dark.ch-form-section--form-panel-transparent .ch-form-section__form {
	background: transparent;
	border-color: transparent;
	color: var(--ch-color-white);
}

.ch-form-section__form .wpcf7 form,
.ch-split-cta-newsletter__form .wpcf7 form {
	display: grid;
	gap: 1rem;
}

.ch-form-section__form .wpcf7 p,
.ch-split-cta-newsletter__form .wpcf7 p {
	margin: 0;
}

.ch-form-section__form :where(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select),
.ch-split-cta-newsletter__form :where(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select) {
	background: var(--wp--preset--color--base, var(--ch-color-white));
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-text)) 18%, transparent);
	border-radius: var(--fs-radius-control, var(--fs-radius, 8px));
	box-shadow: none;
	color: var(--wp--preset--color--contrast, var(--ch-color-text));
	font: inherit;
	font-size: 15px;
	inline-size: 100%;
	line-height: 21px;
	min-block-size: 3.1rem;
	padding: 1rem 1.35rem;
}

.ch-form-section__form :where(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select):focus,
.ch-split-cta-newsletter__form :where(input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]), textarea, select):focus {
	border-color: var(--wp--preset--color--primary, var(--ch-color-primary));
	outline: 3px solid var(--fs-focus, rgba(221, 89, 40, 0.36));
	outline-offset: 2px;
}

.ch-form-section__form textarea,
.ch-split-cta-newsletter__form textarea {
	min-block-size: 8.5rem;
	resize: vertical;
}

.ch-form-section__form .wpcf7-list-item,
.ch-split-cta-newsletter__form .wpcf7-list-item {
	margin: 0;
}

.ch-form-section__form .wpcf7-acceptance label,
.ch-split-cta-newsletter__form .wpcf7-acceptance label {
	align-items: flex-start;
	display: flex;
	gap: 0.65rem;
	line-height: 1.45;
}

.ch-form-section__form :where(input[type="checkbox"], input[type="radio"]),
.ch-split-cta-newsletter__form :where(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--ch-color-cta);
	background: transparent;
	block-size: 1rem;
	flex: 0 0 auto;
	inline-size: 1rem;
	margin: 0.18rem 0 0;
	min-block-size: 0;
	padding: 0;
}

.ch-form-section__form input[type="radio"],
.ch-split-cta-newsletter__form input[type="radio"] {
	border-radius: 50%;
}

.ch-form-section__form input[type="submit"],
.ch-split-cta-newsletter__form input[type="submit"] {
	appearance: none;
	background: var(--fs-button-bg, var(--wp--preset--color--primary, var(--ch-color-cta)));
	border: 1px solid var(--fs-button-bg, var(--wp--preset--color--primary, var(--ch-color-cta)));
	border-radius: 999px;
	color: var(--fs-button-text, var(--wp--preset--color--base, var(--ch-color-white)));
	font-family: var(--fs-button-font-family, var(--fs-font-family-ui));
	font-size: var(--fs-button-font-size, var(--fs-font-size-sm, 0.95rem));
	font-weight: var(--fs-button-font-weight, 800);
	letter-spacing: var(--fs-button-letter-spacing, 0);
	line-height: var(--fs-button-line-height, 1);
	min-block-size: var(--fs-button-min-height, 2.75rem);
	padding: var(--fs-button-padding-y, 0.85rem) var(--fs-button-padding-x, 1.35rem);
	text-transform: var(--fs-button-text-transform, uppercase);
	transition: var(--fs-button-transition, background-color 180ms ease, border-color 180ms ease, color 180ms ease);
	width: fit-content;
}

.ch-form-section__form input[type="submit"]:hover,
.ch-form-section__form input[type="submit"]:focus-visible,
.ch-split-cta-newsletter__form input[type="submit"]:hover,
.ch-split-cta-newsletter__form input[type="submit"]:focus-visible {
	background: var(--fs-button-hover-bg, var(--wp--preset--color--primary-dark, var(--ch-color-cta-hover)));
	border-color: var(--fs-button-hover-bg, var(--wp--preset--color--primary-dark, var(--ch-color-cta-hover)));
	color: var(--fs-button-hover-text, var(--wp--preset--color--base, var(--ch-color-white)));
}

.ch-form-section--contact {
	background: var(--wp--preset--color--base, var(--ch-color-white));
	color: var(--wp--preset--color--contrast, var(--ch-color-text));
}

.ch-form-section--contact .ch-form-section__inner {
	align-items: start;
	gap: 50px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-inline-size: var(--ch-layout-wide);
}

.ch-form-section--contact .ch-form-section__header {
	max-inline-size: 39rem;
	text-align: start;
}

.ch-form-section--contact .ch-form-section__person {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: 30px;
	margin-block-start: 20px;
}

.ch-form-section--contact .ch-form-section__person-image {
	border-radius: 20px;
	flex: 0 0 150px;
	overflow: hidden;
}

.ch-form-section--contact .ch-form-section__person-image img {
	aspect-ratio: 1 / 1;
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.ch-form-section--contact .ch-form-section__person-details {
	display: grid;
	gap: 19px;
}

.ch-form-section--contact .ch-form-section__person-link {
	align-items: center;
	color: inherit;
	display: inline-flex;
	font-size: 16px;
	gap: 10px;
	line-height: 1.45;
	text-decoration: none;
}

.ch-form-section--contact .ch-form-section__person-link:hover,
.ch-form-section--contact .ch-form-section__person-link:focus-visible {
	color: var(--ch-color-cta);
	text-decoration: underline;
}

.ch-form-section--contact .ch-form-section__person-link svg {
	fill: var(--ch-color-cta);
	flex: 0 0 auto;
	height: 20px;
	stroke: none;
	width: 20px;
}

.ch-form-section--contact .ch-form-section__form {
	background: transparent;
	border: 0;
	padding: 0;
}

.ch-form-section--contact .ch-form-section__form .wpcf7 form {
	display: block;
}

.ch-form-section--contact .ch-contact-form-grid {
	display: grid;
	column-gap: 21px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 24px;
}

.ch-form-section--contact .ch-contact-form-field {
	margin: 0;
}

.ch-form-section--contact .ch-contact-form-field > .wpcf7-form-control-wrap,
.ch-form-section--contact .ch-contact-form-grid textarea {
	display: block;
}

.ch-form-section--contact .ch-contact-form-field--full {
	grid-column: 1 / -1;
}

.ch-form-section--contact .ch-contact-form-grid textarea {
	block-size: 8rem;
	min-block-size: 8rem;
}

.ch-form-section--contact .ch-contact-form-grid input[type="text"],
.ch-form-section--contact .ch-contact-form-grid input[type="email"],
.ch-form-section--contact .ch-contact-form-grid input[type="tel"],
.ch-form-section--contact .ch-contact-form-grid textarea {
	border-radius: 10px;
	font-size: 15px;
	line-height: 21px;
}

.ch-form-section--contact .ch-form-section__form .ch-contact-form-grid input.wpcf7-text {
	border-radius: 10px;
	font-size: 15px;
	line-height: 21px;
}

.ch-form-section--contact .ch-contact-form-grid input[type="text"],
.ch-form-section--contact .ch-contact-form-grid input[type="email"],
.ch-form-section--contact .ch-contact-form-grid input[type="tel"] {
	block-size: 55px;
}

.ch-form-section--contact .ch-contact-form-grid .wpcf7-list-item {
	margin: 0;
}

.ch-form-section--contact .ch-contact-form-grid .wpcf7-list-item label {
	align-items: flex-start;
	display: flex;
	gap: 0.8rem;
	line-height: 1.5;
}

.ch-form-section--contact .ch-contact-form-submit {
	display: flex;
	justify-content: flex-end;
	margin-block-start: 24px;
	position: relative;
}

.ch-form-section--contact .ch-contact-form-submit input[type="submit"] {
	border-radius: 999px;
	font-size: 12.48px;
	line-height: 1.2;
	margin-inline-start: auto;
	min-block-size: 49.6px;
	min-inline-size: min(100%, 203px);
	padding: 12px 21.6px;
}

.ch-form-section--contact .ch-contact-form-submit .wpcf7-spinner {
	inset-block-start: 50%;
	inset-inline-end: calc(203px + 0.75rem);
	inset-inline-start: auto;
	margin: 0;
	position: absolute;
	transform: translateY(-50%);
}

/* Career openings are sourced from Treuhand Solution and deliberately use the
 * same calm vertical list as the Müller TAX career page. */
.ch-job-list {
	border-block-start: 1px solid rgba(255, 255, 255, 0.28);
	inline-size: 100%;
}

.ch-job-list__item {
	align-items: center;
	border-block-end: 1px solid rgba(255, 255, 255, 0.28);
	display: grid;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	grid-template-columns: minmax(0, 1fr) auto;
	padding-block: clamp(1.6rem, 3.2vw, 2.5rem);
}

.ch-job-list__content {
	min-inline-size: 0;
}

.ch-job-list__title {
	color: var(--ch-color-white);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: clamp(1.6rem, 1.35rem + 0.8vw, 2.25rem);
	font-weight: 500;
	line-height: 1.08;
	margin: 0;
}

.ch-job-list__title a {
	color: inherit;
	text-decoration: none;
}

.ch-job-list__title a:hover,
.ch-job-list__title a:focus-visible {
	color: var(--ch-color-cta);
}

.ch-job-list__excerpt {
	color: rgba(255, 255, 255, 0.84);
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-block-start: 0.7rem;
	max-inline-size: 68ch;
}

.ch-job-list__excerpt > :first-child {
	margin-block-start: 0;
}

.ch-job-list__excerpt > :last-child {
	margin-block-end: 0;
}

.ch-job-meta {
	color: var(--ch-color-white);
	display: flex;
	flex-wrap: wrap;
	font-family: var(--ch-font-family-base, var(--fs-font-family-ui));
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.45;
	margin: 0.75rem 0 0;
}

.ch-job-meta__item {
	align-items: baseline;
	display: inline-flex;
}

.ch-job-meta__item:not(:last-child)::after {
	color: rgba(255, 255, 255, 0.48);
	content: "|";
	margin-inline: 0.65rem;
}

.ch-job-meta__label {
	margin-inline-end: 0.28em;
}

.ch-job-list__link {
	white-space: nowrap;
}

.ch-job-list__empty {
	color: rgba(255, 255, 255, 0.84);
	margin: 0;
}

.ch-career-application .fs-text-section__embed {
	margin-block-start: clamp(2rem, 4vw, 3rem);
}

.ch-career-form .ch-contact-form-grid {
	column-gap: 21px;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	row-gap: 24px;
}

.ch-career-form .ch-contact-form-field {
	margin: 0;
}

.ch-career-form .ch-contact-form-field--full {
	grid-column: 1 / -1;
}

.ch-career-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="file"], textarea) {
	background: var(--ch-color-white);
	border: 1px solid color-mix(in srgb, var(--ch-color-primary) 18%, transparent);
	border-radius: 10px;
	box-shadow: none;
	box-sizing: border-box;
	color: var(--ch-color-text);
	font: inherit;
	font-size: 15px;
	inline-size: 100%;
	line-height: 21px;
	min-block-size: 55px;
	padding: 1rem 1.35rem;
}

.ch-career-form textarea {
	block-size: 8rem;
	min-block-size: 8rem;
	resize: vertical;
}

.ch-career-form input[type="file"] {
	padding-block: 0.85rem;
}

.ch-career-form :where(input[type="text"], input[type="email"], input[type="tel"], input[type="file"], textarea):focus {
	border-color: var(--ch-color-cta);
	outline: 3px solid rgba(221, 89, 40, 0.24);
	outline-offset: 2px;
}

.ch-career-form .wpcf7-list-item {
	margin: 0;
}

.ch-career-form .wpcf7-list-item label,
.ch-career-form .wpcf7-acceptance label {
	align-items: flex-start;
	display: flex;
	gap: 0.8rem;
	line-height: 1.5;
}

.ch-career-form :where(input[type="checkbox"], input[type="radio"]) {
	accent-color: var(--ch-color-cta);
	block-size: 1rem;
	flex: 0 0 auto;
	inline-size: 1rem;
	margin-block-start: 0.18rem;
}

.ch-career-form .ch-career-form__label {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	margin-block-end: 0.55rem;
}

.ch-career-form .ch-contact-form-submit {
	display: flex;
	justify-content: flex-end;
}

.ch-career-form .wpcf7-submit {
	margin-inline-start: auto;
}

.ch-image-card-grid__header {
	margin-block-end: clamp(2rem, 4vw, 3.5rem);
	max-inline-size: 760px;
}

.ch-image-card-grid__grid {
	display: grid;
	gap: clamp(1.25rem, 2vw, 1.8rem);
	grid-template-columns: repeat(var(--ch-image-card-columns, 3), minmax(0, 1fr));
}

.ch-image-card-grid--cols-2 {
	--ch-image-card-columns: 2;
}

.ch-image-card-grid--cols-3 {
	--ch-image-card-columns: 3;
}

.ch-image-card-grid--cols-4 {
	--ch-image-card-columns: 4;
}

.ch-image-card {
	background: var(--fs-card-bg, var(--wp--preset--color--base, var(--ch-color-white)));
	border: 1px solid var(--fs-card-border, color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-primary)) 14%, transparent));
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: var(--fs-card-shadow, none);
	color: var(--fs-card-text, var(--wp--preset--color--contrast, var(--ch-color-text)));
	display: flex;
	flex-direction: column;
	min-block-size: 100%;
	overflow: hidden;
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-image-card:hover,
.ch-image-card:focus-within {
	box-shadow: var(--fs-card-hover-shadow, 0 1rem 2.5rem rgba(15, 23, 42, 0.12));
	transform: scale(1.015);
}

.ch-image-card__media {
	aspect-ratio: 16 / 10;
	background: var(--wp--preset--color--surface, var(--ch-color-light));
	margin: 0;
	overflow: hidden;
}

.ch-image-card__media--icon {
	align-items: center;
	color: var(--fs-card-accent, var(--wp--preset--color--secondary, var(--ch-color-cta)));
	display: flex;
	justify-content: center;
	padding: clamp(2rem, 12%, 3.25rem);
}

.ch-image-card__icon {
	block-size: clamp(3.5rem, 7vw, 5.5rem);
	display: block;
	inline-size: clamp(3.5rem, 7vw, 5.5rem);
}

.ch-image-card--image-contain .ch-image-card__media {
	align-items: center;
	background: var(--wp--preset--color--base, var(--ch-color-white));
	display: flex;
	justify-content: center;
	padding: clamp(1rem, 7%, 1.65rem);
}

.ch-image-card__image {
	block-size: 100%;
	display: block;
	inline-size: 100%;
	object-fit: cover;
	transition: transform 380ms ease;
}

.ch-image-card--image-contain .ch-image-card__image {
	object-fit: contain;
}

.ch-image-card:hover .ch-image-card__image {
	transform: scale(1.035);
}

.ch-image-card--image-contain:hover .ch-image-card__image {
	transform: scale(1.02);
}

.ch-image-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2vw, 1.65rem);
}

.ch-image-card__label {
	color: var(--fs-card-accent, var(--wp--preset--color--secondary, var(--ch-color-cta)));
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: var(--fs-card-meta-size, 0.75rem);
	font-weight: var(--fs-card-meta-weight, 700);
	line-height: 1.2;
	margin: 0 0 0.75rem;
	text-transform: uppercase;
}

.ch-image-card__title {
	color: var(--fs-card-text, var(--wp--preset--color--contrast, var(--ch-color-text)));
	font-size: var(--ch-image-card-title-size);
	font-weight: 500;
	line-height: var(--fs-card-title-line-height, 1.16);
	margin: 0;
}

.ch-image-card__text {
	color: var(--fs-card-muted, var(--wp--preset--color--muted, var(--ch-color-text-soft)));
	font-size: var(--fs-card-copy-size, 1rem);
	font-weight: var(--fs-card-copy-weight, 400);
	line-height: var(--fs-card-copy-line-height, 1.58);
	margin-block: 0.85rem 1.25rem;
}

.ch-image-card__link {
	color: var(--fs-card-accent, var(--wp--preset--color--secondary, var(--ch-color-cta)));
	font-size: var(--ch-type-button-size);
	font-weight: 600;
	letter-spacing: 0.0624rem;
	line-height: 1.2;
	margin-block-start: auto;
	padding-block-start: clamp(1.5rem, 2vw, 2rem);
	text-decoration: none;
}

.ch-marketplace-grid__header {
	align-items: end;
	display: grid;
	gap: clamp(1.25rem, 3vw, 2rem);
	grid-template-columns: minmax(0, 1fr) minmax(260px, 420px);
	margin-block-end: clamp(1.4rem, 3vw, 2.4rem);
}

.ch-marketplace-grid__title {
	max-inline-size: 760px;
}

.ch-marketplace-grid__heading {
	margin: 0;
}

.ch-marketplace-grid__subheading {
	margin-block: 0.65rem 0;
}

.ch-marketplace-grid__search input {
	background: var(--wp--preset--color--base, var(--ch-color-white));
	border: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-text)) 16%, transparent);
	border-radius: var(--fs-radius-control, var(--fs-radius, 8px));
	box-shadow: none;
	color: var(--wp--preset--color--contrast, var(--ch-color-text));
	font: inherit;
	inline-size: 100%;
	line-height: 1.35;
	min-block-size: 3rem;
	padding: 0.9rem 1rem;
}

.ch-marketplace-grid__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-block-end: clamp(1.5rem, 3vw, 2.5rem);
}

.ch-marketplace-grid__filter {
	appearance: none;
	background: transparent;
	border: 1px solid color-mix(in srgb, currentColor 22%, transparent);
	border-radius: 999px;
	color: currentColor;
	cursor: pointer;
	font-family: var(--ch-font-family-ui, var(--fs-font-family-ui));
	font-size: var(--ch-type-button-size);
	font-weight: 600;
	letter-spacing: 0.0624rem;
	line-height: 1.2;
	padding: 0.75rem 1rem;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.ch-marketplace-grid__filter:hover,
.ch-marketplace-grid__filter:focus-visible,
.ch-marketplace-grid__filter.is-active {
	background: var(--ch-color-cta);
	border-color: var(--ch-color-cta);
	color: var(--ch-color-white);
}

.ch-marketplace-grid__cards {
	display: grid;
	gap: clamp(1rem, 2vw, 1.5rem);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ch-marketplace-card {
	min-block-size: 100%;
}

.ch-marketplace-card__link-wrap {
	background: var(--fs-card-bg, var(--wp--preset--color--base, var(--ch-color-white)));
	border: 1px solid var(--fs-card-border, color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-primary)) 14%, transparent));
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: var(--fs-card-shadow, none);
	color: var(--fs-card-text, var(--wp--preset--color--contrast, var(--ch-color-text)));
	display: flex;
	flex-direction: column;
	min-block-size: 100%;
	overflow: hidden;
	text-decoration: none;
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-marketplace-card__link-wrap:hover,
.ch-marketplace-card__link-wrap:focus-visible {
	box-shadow: var(--fs-card-hover-shadow, 0 1rem 2.5rem rgba(15, 23, 42, 0.12));
	transform: scale(1.015);
}

.ch-marketplace-card__media {
	align-items: center;
	aspect-ratio: 16 / 9;
	background: var(--wp--preset--color--base, var(--ch-color-white));
	display: flex;
	justify-content: center;
	margin: 0;
	padding: clamp(1rem, 8%, 1.9rem);
}

.ch-marketplace-card__image {
	block-size: auto;
	inline-size: 100%;
	max-block-size: 4.6rem;
	max-inline-size: 72%;
	object-fit: contain;
	transition: transform 380ms ease;
}

.ch-marketplace-card__link-wrap:hover .ch-marketplace-card__image,
.ch-marketplace-card__link-wrap:focus-visible .ch-marketplace-card__image {
	transform: scale(1.025);
}

.ch-marketplace-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: clamp(1.25rem, 2vw, 1.65rem);
}

.ch-marketplace-card__title {
	color: inherit;
	font-size: 1.44rem;
	font-weight: 500;
	line-height: 1.16;
	margin: 0;
}

.ch-marketplace-card__text {
	color: var(--fs-card-muted, var(--wp--preset--color--muted, var(--ch-color-text-soft)));
	font-size: var(--ch-type-body-size);
	line-height: var(--ch-type-body-line);
	margin-block: 0.75rem 0;
}

.ch-marketplace-grid__empty {
	color: color-mix(in srgb, currentColor 70%, transparent);
	margin-block: 1.5rem 0;
}

.ch-split-cta-newsletter__inner {
	align-items: stretch;
	display: grid;
	gap: clamp(1.5rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 1fr) minmax(320px, 0.82fr);
}

.ch-split-cta-newsletter__content {
	align-self: center;
	max-inline-size: 680px;
}

.ch-split-cta-newsletter__text p {
	margin-block: 0 1rem;
}

.ch-split-cta-newsletter__button {
	margin-block-start: 1.2rem;
}

.ch-split-cta-newsletter__panel {
	background: color-mix(in srgb, var(--wp--preset--color--base, var(--ch-color-white)) 96%, transparent);
	border: 1px solid var(--fs-card-border, color-mix(in srgb, var(--wp--preset--color--contrast, var(--ch-color-primary)) 14%, transparent));
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: var(--fs-card-shadow, none);
	color: var(--wp--preset--color--contrast, var(--ch-color-text));
	padding: clamp(1.6rem, 3vw, 2.5rem);
}

/* Glass belongs only to cards placed on media backgrounds. */
.ch-image-card-grid--image .ch-image-card,
.ch-marketplace-grid--image .ch-marketplace-card__link-wrap,
.ch-split-cta-newsletter--image .ch-split-cta-newsletter__panel {
	-webkit-backdrop-filter: var(--ch-glass-blur);
	backdrop-filter: var(--ch-glass-blur);
	background: var(--ch-glass-bg);
	border-color: var(--ch-glass-border);
	box-shadow: var(--ch-glass-shadow);
	transition: box-shadow var(--fs-transition-soft, 240ms ease-in-out), transform var(--fs-transition-soft, 240ms ease-in-out);
	will-change: transform;
}

.ch-image-card-grid--image .ch-image-card:hover,
.ch-image-card-grid--image .ch-image-card:focus-within,
.ch-marketplace-grid--image .ch-marketplace-card__link-wrap:hover,
.ch-marketplace-grid--image .ch-marketplace-card__link-wrap:focus-visible,
.ch-split-cta-newsletter--image .ch-split-cta-newsletter__panel:hover,
.ch-split-cta-newsletter--image .ch-split-cta-newsletter__panel:focus-within {
	box-shadow: var(--ch-glass-shadow-hover);
	transform: var(--ch-glass-hover-transform);
}

.ch-split-cta-newsletter__panel-heading {
	font-size: clamp(1.8rem, 1.55rem + 0.8vw, 2.45rem);
	font-weight: 500;
	line-height: 1.12;
	margin: 0;
}

.ch-split-cta-newsletter__form {
	margin-block-start: 1.5rem;
}

/* Profile focus: two columns with the reference page's accent rail and list. */
.single-sw_team .ch-customer-hero--layout-split {
	padding-block-end: 10px !important;
}

.single-sw_team .ch-customer-hero__inner > p:empty {
	display: none;
}

.ch-team-profile-focus {
	background: var(--ch-color-light);
	margin-block-start: 0 !important;
	padding-block-start: 201px;
	position: relative;
}

.ch-team-profile-focus::before {
	background: #dbe1e5;
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 100px;
	transform: translateX(-50%);
	width: min(calc(100% - 2 * var(--fs-gutter)), var(--fs-wide, 73.75rem));
}

.ch-team-profile-focus .fs-text-section__inner {
	align-items: start;
	column-gap: clamp(2rem, 5vw, 5rem);
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	grid-template-rows: 1fr min-content min-content 1fr;
	margin-inline: auto;
	max-width: var(--fs-wide, 73.75rem);
	padding-inline-start: 2rem;
	position: relative;
	width: 100%;
}

.ch-team-profile-focus .fs-text-section__inner::before {
	background: var(--ch-color-cta);
	content: "";
	left: 0;
	position: absolute;
	width: 3px;
	top: 0;
	bottom: 0;
}

.ch-team-profile-focus .fs-text-section__header {
	grid-column: 1;
	grid-row: 2;
}

.ch-team-profile-focus .fs-text-section__content {
	grid-column: 2;
	grid-row: 1 / span 4;
}

.ch-team-profile-focus .fs-text-section__inner > p {
	grid-column: 1;
	grid-row: 3;
	margin: 0;
}

.ch-team-profile-focus .fs-text-section__button {
	background: transparent;
	border: 0;
	color: var(--ch-color-primary);
	font-size: 0.75rem;
	grid-column: 1;
	grid-row: 3;
	justify-self: start;
	letter-spacing: 0.16em;
	line-height: 1.25;
	min-height: 0;
	padding: 0;
	align-items: center;
	display: inline-flex;
}

.ch-team-profile-focus .fs-text-section__button::after {
	background: currentColor;
	content: "";
	height: 0.8rem;
	margin-inline-start: 1rem;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 14'%3E%3Cpath d='M0 7h38m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 14'%3E%3Cpath d='M0 7h38m-6-6 6 6-6 6' fill='none' stroke='%23000' stroke-width='1.5'/%3E%3C/svg%3E") center / contain no-repeat;
	width: 2.5rem;
}

.ch-team-profile-focus .fs-text-section__button:hover,
.ch-team-profile-focus .fs-text-section__button:focus-visible {
	background: transparent;
	color: var(--ch-color-cta);
}

.ch-team-profile-focus .ch-team-focus-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ch-team-profile-focus .ch-team-focus-list > li {
	padding-inline-start: 1.2rem;
	position: relative;
}

.ch-team-profile-focus .ch-team-focus-list > li + li {
	margin-block-start: 0.65rem;
}

.ch-team-profile-focus .ch-team-focus-list > li::before {
	background: var(--ch-color-cta);
	border-radius: 0;
	content: "";
	height: 0.25rem;
	left: 0;
	top: 0.7em;
	width: 0.25rem;
}

.ch-team-profile-focus .ch-team-focus-list > li::after {
	content: none;
}

@media (max-width: 767px) {
	.ch-team-profile-focus .fs-text-section__inner {
		grid-template-columns: 1fr;
		grid-template-rows: none;
	}

	.ch-team-profile-focus .fs-text-section__content {
		grid-column: 1;
		grid-row: 3;
	}

	.ch-team-profile-focus .fs-text-section__header {
		grid-row: 1;
	}

	.ch-team-profile-focus .fs-text-section__button {
		grid-column: 1;
		grid-row: 2;
	}

	.ch-team-profile-focus .fs-text-section__inner > p {
		grid-row: 2;
	}
}

/* Timeline for centrally maintained team profiles, using the FS text section. */
.fs-text-section.ch-team-profile-stations {
	background: #2b2e33;
}

.ch-team-profile-stations .fs-text-section__inner {
	margin-inline: auto;
	max-width: 66rem;
	width: 100%;
}

.ch-team-profile-stations .fs-text-section__header {
	gap: 0.75rem;
}

.ch-team-profile-stations .fs-text-section__heading {
	font-size: clamp(2rem, 3vw, 2.6rem);
	font-weight: 500;
}

.ch-team-profile-stations .fs-text-section__content {
	color: #fff;
}

.ch-team-profile-stations .ch-team-stations {
	border-inline-start: 1px solid rgba(255, 255, 255, 0.75);
	list-style: none;
	margin: 0;
	padding: 0 0 0 clamp(2rem, 4vw, 3.25rem);
}

.ch-team-profile-stations .ch-team-stations > li {
	padding: 0;
	position: relative;
}

.ch-team-profile-stations .ch-team-stations > li + li {
	margin-block-start: clamp(2rem, 4vw, 3.25rem);
}

.ch-team-profile-stations .ch-team-stations > li::before {
	background: var(--ch-color-cta);
	border-radius: 50%;
	content: "";
	height: 1.1rem;
	left: calc(-1 * clamp(2rem, 4vw, 3.25rem) - 0.6rem);
	position: absolute;
	top: 0.55rem;
	width: 1.1rem;
}

.ch-team-profile-stations .ch-team-stations > li::after {
	content: none;
}

.ch-team-profile-stations .ch-team-stations > li > br {
	display: none;
}

.ch-team-profile-stations .ch-team-stations__period {
	color: var(--ch-color-cta);
	display: block;
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: clamp(1.5rem, 2.4vw, 2rem);
	line-height: 1.2;
}

.ch-team-profile-stations .ch-team-stations h3 {
	color: #fff;
	font-size: clamp(1.4rem, 2.2vw, 1.9rem);
	font-weight: 500;
	line-height: 1.2;
	margin: 0.45rem 0 0;
}

.ch-team-profile-stations .ch-team-stations p {
	color: #fff;
	font-weight: 600;
	line-height: 1.35;
	margin: 0.4rem 0 0;
}

/* Team directory: match the established Mueller TS portrait-card treatment
 * while keeping the content editable through the existing FS Team block. */

.fs-team.ch-team-directory {
	--fs-team-bg: var(--ch-color-primary) !important;
}

.fs-team.ch-team-directory .fs-team__inner {
	gap: 0;
}

.fs-team.ch-team-directory .fs-team__grid {
	gap: clamp(1rem, 2.25vw, 1.75rem);
	margin-inline: auto;
	max-width: 50rem;
	width: 100%;
}

.fs-team.ch-team-directory.fs-team--cols-3 .fs-team__grid {
	max-width: var(--fs-wide, 73.75rem);
}

.fs-team.ch-team-directory .fs-team-card {
	border: 0;
	border-radius: 1.25rem;
	box-shadow: 0 0.65rem 1.8rem rgba(27, 31, 35, 0.06);
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.fs-team.ch-team-directory .fs-team-card__image {
	object-position: center top;
	transition: transform 300ms ease;
}

.fs-team.ch-team-directory .fs-team-card__body {
	gap: 0;
	padding: clamp(1.1rem, 2.3vw, 1.65rem);
}

.fs-team.ch-team-directory .fs-team-card__header {
	gap: 0;
}

.fs-team.ch-team-directory .fs-team-card__name {
	color: var(--ch-color-primary);
	font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
	font-size: 1.65rem;
	font-weight: 500;
	line-height: 1.12;
}

.fs-team.ch-team-directory .fs-team-card__role {
	color: var(--ch-color-cta);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	margin-block-start: 0.45rem;
}

.fs-team.ch-team-directory .fs-team-card__text {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 1rem;
	line-height: 1.5;
	margin-block-start: 0.85rem;
	min-height: 3em;
	overflow: hidden;
	text-overflow: ellipsis;
}

.fs-team.ch-team-directory .fs-team-card__links {
	margin-block-start: auto;
}

.fs-team.ch-team-directory .fs-team-card__contact-icon--link {
	display: none;
}

.fs-team.ch-team-directory .fs-team-card a:focus-visible {
	outline: 2px solid var(--ch-color-cta);
	outline-offset: 3px;
}

.fs-team.ch-team-directory .fs-team-card__links .fs-team-card__link {
	color: var(--ch-color-primary);
	font-size: 0.75rem;
	font-weight: 500;
	gap: 0.85rem;
	letter-spacing: 0.18em;
	line-height: 1.25;
	padding-block-start: 1.6rem;
}

.fs-team.ch-team-directory .fs-team-card__link::after {
	height: 0.75rem;
	transition: transform 180ms ease;
	width: 2.25rem;
}

.fs-team.ch-team-directory .fs-team-card__link:hover,
.fs-team.ch-team-directory .fs-team-card__link:focus-visible {
	color: var(--ch-color-cta);
}

.fs-team.ch-team-directory .fs-team-card__link:hover::after,
.fs-team.ch-team-directory .fs-team-card__link:focus-visible::after {
	transform: translateX(0.18rem);
	width: 2.25rem;
}

@media (hover: hover) and (pointer: fine) {
	.fs-team.ch-team-directory .fs-team-card:hover,
	.fs-team.ch-team-directory .fs-team-card:focus-within {
		box-shadow: 0 1.1rem 2.6rem rgba(27, 31, 35, 0.13);
		transform: translateY(-0.22rem);
	}

	.fs-team.ch-team-directory .fs-team-card:hover .fs-team-card__image,
	.fs-team.ch-team-directory .fs-team-card:focus-within .fs-team-card__image {
		transform: scale(1.035);
	}
}

@media (min-width: 1101px) {
	.fs-site-header {
		overflow: visible;
	}

	.fs-site-header__inner,
	.fs-site-header__actions {
		position: relative;
	}

	.fs-site-header__actions,
	.fs-site-menu {
		position: static;
	}

	.fs-site-menu__list {
		gap: clamp(0.85rem, 1.55vw, 1.5rem);
	}

	.fs-site-menu__list > .menu-item > a {
		padding: 0.95rem 0;
	}

	.fs-site-menu__list > .menu-item-has-children:not(.ch-mega-menu) > .sub-menu {
		-webkit-backdrop-filter: blur(26px) saturate(1.12);
		backdrop-filter: blur(26px) saturate(1.12);
		background: rgba(255, 255, 255, 0.88);
		border: 1px solid rgba(255, 255, 255, 0.58);
		border-radius: 1rem;
		box-shadow: 0 1rem 2.6rem rgba(27, 31, 35, 0.16);
		padding: 1rem;
		top: calc(100% + 1.22rem);
	}

	.fs-site-menu__list > .menu-item-has-children:not(.ch-mega-menu) > .sub-menu::before {
		content: "";
		height: 1.22rem;
		inset: auto 0 100%;
		position: absolute;
	}

	.fs-site-menu__list > .menu-item-has-children:not(.ch-mega-menu) > .sub-menu > .menu-item > a {
		border-block-end: 1px solid color-mix(in srgb, var(--ch-color-primary) 14%, transparent);
		border-radius: 0;
		padding: 0.72rem 0.25rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > a {
		padding-inline-end: 1.2rem;
		position: relative;
	}

	.fs-site-menu__list > .ch-business-units-menu.menu-item-has-children:not(.ch-mega-menu) > .sub-menu {
		min-width: 16rem;
		padding: 0.8rem 0.75rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > a::after {
		border-block-end: 1px solid currentColor;
		border-inline-end: 1px solid currentColor;
		content: "";
		height: 0.35rem;
		position: absolute;
		right: 0.3rem;
		top: 50%;
		transform: translateY(-50%) rotate(-45deg);
		width: 0.35rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children::after {
		content: "";
		inset: 0 auto 0 100%;
		position: absolute;
		width: 1.5rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu {
		background: rgba(43, 46, 51, 0.65);
		border: 0;
		border-radius: 1.2rem;
		box-shadow: 0 1rem 2.6rem rgba(27, 31, 35, 0.16);
		left: calc(100% + 0.8rem);
		min-width: 16rem;
		padding: 0.5rem 0.45rem;
		top: 0;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu::before {
		content: "";
		inset: 0 auto 0 -0.5rem;
		position: absolute;
		width: 0.5rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu a {
		border: 0;
		border-radius: 0.8rem;
		color: #fff;
		font-family: var(--ch-font-family-heading, var(--fs-font-family-heading));
		font-size: 1rem;
		font-weight: 500;
		padding: 0.85rem 0.55rem;
	}

	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu a:hover,
	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu a:focus-visible,
	.fs-site-menu__list > .ch-business-units-menu > .sub-menu > .menu-item-has-children > .sub-menu .current-menu-item > a {
		background: rgba(255, 255, 255, 0.12);
		color: var(--ch-color-cta);
	}

	.fs-site-menu__list > .ch-mega-menu > a {
		position: relative;
		z-index: 35;
	}

	.fs-site-menu.is-mega-active .fs-site-menu__list > .ch-mega-menu:not(.is-mega-open) > a {
		pointer-events: none;
	}

	.fs-site-menu__list > .ch-mega-menu {
		position: static;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu {
		--ch-mega-panel-padding: 1rem;
		-webkit-backdrop-filter: blur(26px) saturate(1.12);
		backdrop-filter: blur(26px) saturate(1.12);
		background: rgba(255, 255, 255, 0.88);
		border: 1px solid rgba(255, 255, 255, 0.58);
		border-radius: 1rem;
		box-shadow: 0 1rem 2.6rem rgba(27, 31, 35, 0.16);
		display: grid;
		gap: 0;
		grid-template-columns: repeat(auto-fit, minmax(10.5rem, 13rem));
		justify-content: start;
		left: 50%;
		max-height: calc(100vh - 6.5rem);
		min-width: 0;
		overflow: hidden;
		padding: var(--ch-mega-panel-padding);
		right: auto;
		top: calc(100% - 0.35rem);
		transform: translateX(-50%);
		width: min(calc(100vw - 2rem), 56rem);
		pointer-events: none;
		z-index: 60;
	}

	.fs-site-menu__list > .ch-mega-menu--solutions > .sub-menu {
		width: min(calc(100vw - 2rem), 60rem);
	}

	.fs-site-menu__list > .ch-mega-menu--platform > .sub-menu {
		width: min(calc(100vw - 2rem), 48rem);
	}

	.fs-site-menu__list > .ch-mega-menu--about > .sub-menu {
		width: min(calc(100vw - 2rem), 52rem);
	}

	.fs-site-menu__list > .ch-mega-menu--stories > .sub-menu {
		width: min(calc(100vw - 2rem), 44rem);
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu::before {
		content: none;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section {
		border-inline-start: 1px solid color-mix(in srgb, var(--ch-color-border) 72%, transparent);
		min-width: 0;
		padding: 0 0 0 clamp(0.85rem, 1.3vw, 1.25rem);
		position: static;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > a {
		color: var(--wp--preset--color--contrast);
		display: flex;
		font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
		font-size: 1.125rem;
		font-weight: 500;
		line-height: 1.25;
		padding: 0.2rem 0.15rem 0.55rem;
		white-space: normal;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > a:hover,
	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > a:focus-visible {
		color: var(--ch-color-cta);
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > .sub-menu {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: grid;
		gap: 0.1rem;
		left: auto;
		min-width: 0;
		opacity: 1;
		padding: 0;
		position: static;
		top: auto;
		transform: none;
		visibility: visible;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > .sub-menu a {
		border-radius: 6px;
		color: var(--wp--preset--color--muted);
		font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
		font-size: 1.125rem;
		font-weight: 500;
		line-height: 1.25;
		padding: 0.45rem 0.5rem;
		white-space: normal;
	}

	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > .sub-menu a:hover,
	.fs-site-menu__list > .ch-mega-menu > .sub-menu > .ch-mega-section > .sub-menu a:focus-visible {
		background: transparent;
		color: var(--ch-color-cta);
	}

	/* Larger menus use their section links as a vertical tab rail. The selected section's links remain fully visible on the right. */
	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu {
		--ch-mega-tab-width: clamp(12.5rem, 18vw, 14.5rem);
		--ch-mega-tab-gap: clamp(1.25rem, 2.4vw, 2rem);
		display: grid;
		grid-template-columns: var(--ch-mega-tab-width) minmax(0, 1fr);
		align-content: start;
		column-gap: var(--ch-mega-tab-gap);
		min-height: 22rem;
		position: absolute;
		row-gap: 0;
	}

	/* A single story section sizes the panel from its links in normal flow. */
	.fs-site-menu__list > .ch-mega-menu--stories.ch-mega-menu--tabbed > .sub-menu {
		display: block;
		min-height: 0;
		overflow-y: auto;
	}

	.fs-site-menu__list > .ch-mega-menu--stories.ch-mega-menu--tabbed > .sub-menu > .ch-mega-section {
		align-items: start;
		border-block-end: 0;
		column-gap: var(--ch-mega-tab-gap);
		display: grid;
		grid-template-columns: var(--ch-mega-tab-width) minmax(0, 1fr);
	}

	.fs-site-menu__list > .ch-mega-menu--stories.ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > a {
		grid-column: 1;
		grid-row: 1;
	}

	.fs-site-menu__list > .ch-mega-menu--stories.ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu {
		display: grid;
		grid-column: 2;
		grid-row: 1;
		inset: auto;
		overflow: visible;
		position: static;
	}

	.fs-site-menu__list > .ch-mega-menu--solutions.ch-mega-menu--tabbed > .sub-menu {
		min-height: min(29rem, calc(100vh - 7.5rem));
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section {
		border-block-end: 1px solid color-mix(in srgb, var(--ch-color-border) 72%, transparent);
		border-inline-start: 0;
		grid-column: 1;
		padding: 0;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > a {
		align-items: center;
		border-radius: 0;
		justify-content: space-between;
		padding: 0.68rem 0.35rem;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > a::after {
		color: var(--ch-color-cta);
		content: "\2192";
		font-family: inherit;
		font-size: 1.1em;
		opacity: 0;
		transition: opacity 160ms ease;
	}

	/* Direct links share the left rail without overlapping the active section's panel. */
	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .menu-item:not(.ch-mega-section) {
		border-block-end: 1px solid color-mix(in srgb, var(--ch-color-border) 72%, transparent);
		grid-column: 1;
		min-width: 0;
		padding: 0;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .menu-item:not(.ch-mega-section) > a {
		border-radius: 0;
		font-family: var(--ch-font-family-heading, var(--fs-font-family-heading)) !important;
		font-size: 1.125rem;
		font-weight: 500;
		line-height: 1.25;
		padding: 0.68rem 0.35rem;
		white-space: normal;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section.is-mega-section-active > a {
		background: transparent;
		color: var(--ch-color-cta);
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section.is-mega-section-active > a::after {
		opacity: 1;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu {
		align-content: start;
		border-inline-start: 1px solid color-mix(in srgb, var(--ch-color-primary) 14%, transparent);
		display: none;
		gap: 0;
		grid-template-columns: minmax(0, 1fr);
		inset: var(--ch-mega-panel-padding) var(--ch-mega-panel-padding) var(--ch-mega-panel-padding) calc(var(--ch-mega-panel-padding) + var(--ch-mega-tab-width) + var(--ch-mega-tab-gap));
		overflow: auto;
		padding-inline-start: var(--ch-mega-tab-gap);
		position: absolute;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section.is-mega-section-active > .sub-menu {
		display: grid;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu a {
		border-block-end: 1px solid color-mix(in srgb, var(--ch-color-primary) 14%, transparent);
		border-inline-start: 0;
		border-radius: 0;
		padding: 0.72rem 0.25rem;
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu a:hover,
	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu a:focus-visible {
		border-block-end-color: color-mix(in srgb, var(--ch-color-cta) 42%, transparent);
		color: var(--ch-color-cta);
	}

	.fs-site-menu__list > .ch-mega-menu--tabbed > .sub-menu > .ch-mega-section > .sub-menu > .menu-item:last-child > a {
		border-block-end: 0;
	}

	.fs-site-menu__list > .ch-mega-menu:hover > .sub-menu,
	.fs-site-menu__list > .ch-mega-menu:focus-within > .sub-menu {
		opacity: 0;
		transform: translateX(-50%);
		visibility: hidden;
	}

	.fs-site-menu__list > .ch-mega-menu.is-mega-open > .sub-menu {
		opacity: 1;
		pointer-events: auto;
		transform: translateX(-50%);
		visibility: visible;
	}
}

@media (min-width: 861px) {
	.ch-form-section--fixed,
	.ch-image-card-grid--fixed,
	.ch-marketplace-grid--fixed,
	.ch-rich-cta--fixed,
	.ch-split-cta-newsletter--fixed,
	.fs-cta--fixed {
		background-attachment: scroll, fixed;
	}
}

@media (max-width: 1024px) {
	.ch-form-section--contact .ch-form-section__inner {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 767px) {
	.ch-job-list__item,
	.ch-career-form .ch-contact-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ch-job-list__link {
		justify-self: start;
	}

	.ch-job-meta__item {
		inline-size: 100%;
	}

	.ch-job-meta__item:not(:last-child)::after {
		content: none;
	}

	.ch-customer-hero--layout-split .ch-customer-hero__inner {
		gap: 2.25rem;
		grid-template-columns: 1fr;
		min-block-size: 0;
		padding-block: 0;
	}

	.ch-customer-hero--layout-split .ch-customer-hero__heading {
		font-size: clamp(2.35rem, 11vw, 3.2rem);
		max-inline-size: none;
	}

	.ch-customer-hero__split-media {
		aspect-ratio: 1.13 / 1;
		block-size: auto;
		inline-size: 100%;
	}

	.ch-form-section--contact .ch-form-section__person {
		flex-wrap: wrap;
	}

	.ch-media-section__grid {
		grid-template-columns: 1fr;
	}

	.ch-media-section__profile-grid {
		grid-template-columns: 1fr;
	}

	.ch-media-section__profile-card {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ch-tabs__layout {
		grid-template-columns: 1fr;
	}

	.ch-tabs__list {
		grid-auto-columns: minmax(11rem, 1fr);
		grid-auto-flow: column;
		overflow-x: auto;
	}

	.ch-media-section--media-left .ch-media-section__media {
		order: 0;
	}

	.ch-customer-hero {
		min-block-size: auto;
	}

	.ch-customer-hero__inner {
		gap: 2rem;
		grid-template-columns: 1fr;
		padding-block: clamp(6rem, 18vw, 8rem) clamp(3rem, 12vw, 4.5rem);
	}

	.ch-customer-hero--has-client .ch-customer-hero__inner {
		grid-template-columns: 1fr;
	}

	.ch-customer-hero--has-slides .ch-customer-hero__inner {
		grid-template-columns: 1fr;
		grid-template-rows: auto auto;
	}

	.ch-customer-hero--has-slides .ch-customer-hero__slider-content,
	.ch-customer-hero--has-slides .ch-customer-hero__slider-controls {
		grid-column: 1;
		grid-row: auto;
	}

	.ch-customer-hero--has-slides .ch-customer-hero__slider-controls {
		margin-block-start: 1.5rem;
	}

	.ch-customer-hero--has-slides .ch-customer-hero__affiliation {
		grid-column: 1;
		grid-row: 3;
	}

	.ch-customer-hero__heading {
		font-size: var(--ch-font-size-xxl, var(--fs-font-size-xxl));
		max-inline-size: 16ch;
	}

	.ch-customer-hero__client {
		align-self: start;
	}

	.ch-form-section__heading,
	.ch-image-card-grid__heading,
	.ch-marketplace-grid__heading,
	.ch-rich-cta__heading,
	.ch-split-cta-newsletter__heading {
		font-size: clamp(2rem, 1.7rem + 1vw, 2.55rem);
	}

	.ch-marketplace-grid__header,
	.ch-image-card-grid__grid,
	.ch-marketplace-grid__cards,
	.ch-split-cta-newsletter__inner {
		grid-template-columns: 1fr;
	}

	.ch-form-section__form,
	.ch-split-cta-newsletter__panel {
		padding: 1.25rem;
	}

	.ch-rich-cta__inner {
		min-block-size: 34rem;
	}

	.ch-rich-cta__content {
		inline-size: 100%;
	}
}

@media (max-width: 1100px) {
	.fs-site-menu__list > .menu-item > a {
		font-size: clamp(1.15rem, 1.04rem + 0.6vw, 1.35rem);
		font-weight: 500 !important;
		line-height: 1.25;
	}

	.fs-site-menu__list .sub-menu a {
		font-size: clamp(1.05rem, 0.98rem + 0.45vw, 1.22rem);
		font-weight: 500 !important;
		line-height: 1.25;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ch-customer-hero__video {
		display: none;
	}

	.ch-customer-hero__slide-background,
	.ch-customer-hero__slider-content,
	.ch-customer-hero__slide-content {
		transition: none;
	}
}

/* Extend the FS Theme mobile header through the width where the full menu fits.
 * The parent provides these same rules at 860px and below. */
@media (min-width: 861px) and (max-width: 1100px) {
	.fs-site-menu {
		margin-inline-start: auto;
	}

	.fs-site-header__inner > .fs-header-search + .fs-site-menu,
	.fs-site-header__actions > .fs-site-menu {
		margin-inline-start: 0;
	}

	.fs-site-menu__toggle {
		display: inline-flex;
	}

	.fs-site-menu__panel {
		background: var(--wp--preset--color--base);
		border-block: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
		box-shadow: 0 1rem 2.4rem rgba(22, 33, 43, 0.12);
		display: block;
		inline-size: 100vw;
		left: 0;
		max-height: calc(100dvh - var(--fs-mobile-menu-top, 5.25rem));
		opacity: 0;
		overflow-y: auto;
		padding: 0 0 1rem;
		pointer-events: none;
		position: fixed;
		right: 0;
		top: var(--fs-mobile-menu-top, 5.25rem);
		transform: translateY(-0.45rem);
		transition: opacity var(--fs-transition-soft), transform var(--fs-transition-soft), visibility var(--fs-transition-soft);
		visibility: hidden;
		z-index: 90;
	}

	.fs-site-menu--open .fs-site-menu__panel {
		opacity: 1;
		pointer-events: auto;
		transform: translateY(0);
		visibility: visible;
	}

	.fs-site-menu__list {
		align-items: stretch;
		align-content: start;
		display: grid;
		gap: 0;
		grid-template-columns: 1fr;
		justify-content: stretch;
		margin-inline: auto;
		max-width: none;
		width: 100%;
	}

	.fs-site-menu__list > .menu-item {
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
		display: grid;
		grid-template-columns: minmax(0, 1fr) 3.6rem;
		width: 100%;
	}

	.fs-site-menu__list > .menu-item:first-child {
		border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 14%, transparent);
	}

	.fs-site-menu .sub-menu {
		background: transparent;
		border: 0;
		box-shadow: none;
		display: grid;
		gap: 0;
		grid-column: 1 / -1;
		left: auto;
		max-height: 0;
		min-width: 0;
		opacity: 1;
		overflow: hidden;
		padding: 0;
		position: static;
		transform: none;
		transition: max-height var(--fs-transition-medium);
		visibility: hidden;
	}

	.fs-site-menu .menu-item:hover > .sub-menu,
	.fs-site-menu .menu-item:focus-within > .sub-menu {
		max-height: 0;
		visibility: hidden;
	}

	.fs-site-menu .menu-item.is-submenu-open > .sub-menu,
	.fs-site-menu .menu-item.is-submenu-open:hover > .sub-menu,
	.fs-site-menu .menu-item.is-submenu-open:focus-within > .sub-menu {
		border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
		max-height: 50rem;
		visibility: visible;
	}

	.fs-site-menu a {
		border-radius: 0;
		display: flex;
		grid-column: 1;
		min-height: 3.35rem;
		padding: 1rem var(--fs-gutter);
		white-space: normal;
		width: 100%;
	}

	.fs-site-menu__list > .menu-item:not(.menu-item-has-children) > a {
		grid-column: 1 / -1;
	}

	.fs-site-menu__submenu-toggle {
		align-items: center;
		align-self: stretch;
		background: transparent;
		border: 0;
		border-left: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 10%, transparent);
		color: var(--wp--preset--color--contrast);
		cursor: pointer;
		display: inline-flex;
		grid-column: 2;
		justify-content: center;
		min-height: 3.35rem;
		padding: 0;
		width: 3.6rem;
	}

	.fs-site-menu__submenu-toggle::before {
		border-bottom: 2px solid currentColor;
		border-right: 2px solid currentColor;
		content: "";
		height: 0.55rem;
		transform: translateY(-0.15rem) rotate(45deg);
		transition: transform var(--fs-transition-soft);
		width: 0.55rem;
	}

	.fs-site-menu__submenu-toggle[aria-expanded="true"]::before {
		transform: translateY(0.1rem) rotate(225deg);
	}

	.fs-site-menu__list > .menu-item:last-child > a {
		border-radius: 999px;
		justify-content: center;
		margin: 0.85rem var(--fs-gutter) 0.2rem;
		padding-inline: 1rem;
		width: auto;
	}

	.fs-site-menu .sub-menu a {
		color: var(--wp--preset--color--muted);
		font-weight: 700;
		min-height: 0;
		padding: 0.85rem var(--fs-gutter) 0.85rem calc(var(--fs-gutter) + 1rem);
	}

	.fs-site-menu .sub-menu .menu-item {
		border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 9%, transparent);
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.fs-site-menu .sub-menu .menu-item:last-child {
		border-bottom: 0;
	}
}

/* Keep the mobile header in one row instead of wrapping the logo and actions. */
@media (max-width: 1100px) {
	.ch-site-header .fs-site-header__inner {
		column-gap: 1rem;
		flex-wrap: nowrap !important;
		min-height: 5rem;
	}

	.ch-site-header .fs-site-brand--header,
	.ch-site-header .fs-site-header__actions {
		flex: 0 0 auto;
	}
}

@media (max-width: 600px) {
	.ch-site-header .fs-site-header__inner {
		column-gap: 0.75rem;
	}

	.ch-site-header .fs-site-logo {
		max-width: 100%;
		width: clamp(160px, calc(100vw - 160px), 230px);
	}

	.ch-site-header .fs-site-header__actions {
		gap: 0.75rem;
	}

	.ch-site-header .fs-site-menu__toggle {
		height: 2.75rem;
		justify-content: center;
		padding: 0;
		position: relative;
		width: 2.75rem;
	}

	.ch-site-header .fs-site-menu__toggle-text {
		clip-path: inset(50%);
		height: 1px;
		overflow: hidden;
		position: absolute;
		white-space: nowrap;
		width: 1px;
	}
}

/* Full legal company name must fit the footer column on all screen sizes. */
.ch-site-footer .fs-footer-heading--brand {
	overflow-wrap: anywhere;
	line-height: 1.2;
}

#contact-form,
#team-profile-contact {
	scroll-margin-top: 7rem;
}

/* About Us: keep the video directly below the split introduction's copy. */
.ch-about-intro-video .ch-media-section__grid {
	align-items: start;
	gap: clamp(2rem, 5vw, 4rem);
	grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
	padding-block-start: 2rem;
}

@media (max-width: 860px) {
	.ch-about-intro-video .ch-media-section__grid {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.ch-about-intro-video .ch-media-section__content {
		display: none;
	}
}

/* FAQ answers: shared reading layout and an explicit route back to the archive. */
.fs-faq-single {
	padding-block-start: 0;
}

.fs-faq-single .fs-single__header {
	box-sizing: border-box;
	background: var(--ch-color-background, #f5f5f3);
	max-width: none;
	padding: clamp(2rem, 5vw, 4.5rem) var(--fs-gutter);
	gap: clamp(2rem, 3vw, 3rem);
}

.fs-faq-single .fs-single__header > * {
	width: 100%;
	max-width: 760px;
	margin-inline: auto;
}

.fs-faq-single .fs-single__title {
	font-size: clamp(2.25rem, 4vw, 3.5rem);
	line-height: 1.12;
	text-wrap: balance;
}

.fs-faq-single .ch-faq-intro {
	border: 0;
	padding-top: 0;
	color: var(--wp--preset--color--contrast);
	font-size: 1.125rem;
	line-height: 1.6;
}

.fs-faq-single .ch-faq-intro p {
	margin: 0;
}

.fs-faq-single .fs-single__body {
	padding-block: clamp(3rem, 5vw, 4.5rem);
}

.fs-faq-single .fs-single__content {
	--fs-paragraph-gap: 1.5rem;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.fs-faq-single .fs-single__content li + li {
	margin-top: 0.5rem;
}

.fs-faq-single .ch-faq-back {
	width: 100%;
	justify-self: stretch;
	justify-content: flex-start;
}

.fs-faq-single .fs-single__body > .ch-faq-back {
	margin-inline: 0 !important;
}

.fs-faq-single .ch-faq-back .wp-block-button__link {
	white-space: normal;
	text-align: left;
}

.fs-faq-single .ch-faq-back--bottom {
	border: 0;
	padding-top: 0;
	margin-top: clamp(3rem, 5vw, 4rem);
}

/* FAQ and blog archives: align links at the bottom of each equal-height row. */
:is(.fs-faq, .fs-blog) .fs-archive__grid > li {
	display: flex;
}

:is(.fs-faq, .fs-blog) .fs-archive-card {
	width: 100%;
}

:is(.fs-faq, .fs-blog) .fs-archive-card__content {
	display: flex;
	flex-direction: column;
	flex: 1;
	align-items: flex-start;
}

:is(.fs-faq, .fs-blog) .fs-archive-card__link {
	margin-top: auto;
}

.fs-blog .fs-blog-card {
	display: flex;
	flex-direction: column;
}

.fs-blog-card__media--placeholder {
	background: #f5f5f3;
}

.fs-blog-card__media--placeholder a {
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
}

.fs-blog-card__media--placeholder img {
	width: 30%;
	max-width: 120px;
	height: auto;
	object-fit: contain;
	opacity: 0.65;
}

/* Load third-party video players only after the visitor chooses playback. */
.ch-video-preview { display: block; position: relative; inline-size: 100%; block-size: 100%; color: #fff; background: #1b1f23; }
.ch-video-preview img { inline-size: 100%; block-size: 100%; object-fit: cover; }
.ch-video-preview button { position: absolute; inset: auto auto 8px 8px; display: grid; place-items: center; inline-size: 64px; block-size: 44px; padding: 0; border: 0; border-radius: 4px; color: #fff; background: rgba(0, 0, 0, 0.85); cursor: pointer; }
.ch-video-preview button svg { display: block; inline-size: 24px; block-size: 24px; }
.ch-video-preview button:hover { background: #00adef; }
.ch-video-preview button:focus-visible { outline: 3px solid #dd5928; outline-offset: 3px; }
.ch-video-preview .ch-video-preview__play[hidden] { display: none; }
.ch-video-preview .ch-video-preview__privacy { inset: auto 8px 8px; inline-size: auto; block-size: auto; min-block-size: 44px; padding: 8px 12px; background: #dd5928; font: inherit; text-align: center; }
.ch-video-preview .ch-video-preview__privacy[hidden] { display: none; }
.ch-video-preview .ch-video-preview__privacy:hover { background: #803214; }

.ch-customer-hero__slide-background img { display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: var(--ch-customer-hero-position, center center); }

/* Editable hero layout: shared panel overlapping the lower video edge. */
.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video {
	background: var(--ch-color-white);
	min-block-size: 0;
	overflow: visible;
	padding-inline: 0 !important;
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video::after {
	content: none;
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__media {
	block-size: clamp(26rem, 56vh, 38rem);
	inset: auto;
	position: relative;
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__inner {
	align-content: start;
	align-items: start;
	background: var(--ch-color-white);
	border: 1px solid rgba(26, 26, 26, 0.08);
	border-radius: var(--fs-radius-card, var(--fs-radius, 8px));
	box-shadow: 0 16px 40px rgba(26, 26, 26, 0.1);
	color: var(--ch-color-text);
	gap: clamp(2rem, 4vw, 4rem);
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.4fr);
	inline-size: calc(100% - 3rem);
	margin-block: -72px 0;
	margin-inline: auto;
	min-block-size: 0;
	padding: clamp(1.5rem, 3vw, 3rem);
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__main,
.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__client {
	align-self: start;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none !important;
	max-inline-size: none;
	padding: 0;
	transform: none !important;
	transition: none;
	will-change: auto;
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__client {
	border-inline-start: 1px solid rgba(26, 26, 26, 0.12);
	padding-inline-start: clamp(2rem, 4vw, 4rem);
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__client-text {
	color: var(--ch-color-text);
}

.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__client-logo {
	margin-block-start: 1rem;
	padding: 0;
}

@media (max-width: 767px) {
	.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__media {
		block-size: clamp(15rem, 62vw, 24rem);
	}

	.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__inner {
		gap: 1.5rem;
		grid-template-columns: minmax(0, 1fr);
		inline-size: calc(100% - 2rem);
		margin-block-start: -24px;
		padding: 1.5rem;
	}

	.ch-customer-hero.ch-customer-hero--layout-overlap.ch-customer-hero--video .ch-customer-hero__client {
		border-block-start: 1px solid rgba(26, 26, 26, 0.12);
		border-inline-start: 0;
		padding-block-start: 1.5rem;
		padding-inline-start: 0;
	}
}

.ch-customer-hero.ch-customer-hero--layout-overlap:not(.ch-customer-hero--has-client) .ch-customer-hero__inner {
	grid-template-columns: minmax(0, 1fr);
}

/* Consecutive split introductions share one vertical section gap. */
.fs-page__content > .fs-intro-split:has(+ .fs-intro-split),
.fs-front-page .entry-content > .fs-intro-split:has(+ .fs-intro-split) {
	padding-block-end: 0;
}

/* Language-aware wrapping for content headings and text across all modules. */
:where(main, .fs-site-footer) :where(h1, h2, h3, h4, h5, h6, p, li, dt, dd, blockquote):not(:where(nav *, .fs-button, .fs-button *)) {
	-webkit-hyphens: auto;
	hyphens: auto;
	overflow-wrap: anywhere;
}
