/*
Theme Name: Wanze
Description: Independent block theme for Wanze Electric.
Author: Kexun
Version: 1.4.244
Text Domain: wanze
*/

:root {
	--wanze-ink: #0f172a;
	--wanze-blue: #153a68;
	--wanze-cta: #e53a3e;
	--wanze-cta-hover: #bd242b;
	--wanze-surface: #ffffff;
	--wanze-border: rgba(15, 23, 42, 0.06);
	--wanze-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;
	--wanze-layout-width: min(calc(100% - 64px), 1600px);
}

.wanze-site-header {
	left: 50%;
	position: fixed;
	top: 20px;
	transform: translateX(-50%);
	width: var(--wanze-layout-width);
	z-index: 1000;
}

/* Keep the fixed navigation below WordPress's logged-in admin bar. */
body.admin-bar .wanze-site-header {
	top: 52px;
}

.wanze-site-header__inner {
	align-items: center;
	background: var(--wanze-surface);
	border: 0;
	border-radius: 999px;
	box-shadow: 0 12px 28px rgba(27, 59, 75, 0.1);
	column-gap: 24px;
	min-height: 72px;
	padding: 0 20px 0 30px;
	width: 100%;
}

/* Prevent the parent block theme from constraining the fixed navigation bar. */
.wanze-site-header > .wanze-site-header__inner {
	max-width: none !important;
}

.wanze-site-header__brand {
	align-items: center;
	column-gap: 10px;
	flex-shrink: 0;
}

.wanze-site-header .wp-block-site-logo {
	line-height: 0;
	margin: 0;
}

.wanze-site-header .wp-block-site-logo img {
	display: block;
	height: auto;
	max-height: 30px;
	width: 176px;
}

.wanze-site-header .wp-block-site-title {
	font-size: 0.98rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1;
	margin: 0;
	white-space: nowrap;
}

.wanze-site-header .wp-block-site-title a {
	color: var(--wanze-ink);
	text-decoration: none;
}

.wanze-site-header .wp-block-navigation {
	justify-content: flex-end;
	margin-left: auto;
	margin-right: clamp(18px, 1.8vw, 34px);
}

/* WooCommerce adds these blocks to new navigation areas by default. */
.wanze-site-header .wp-block-woocommerce-customer-account,
.wanze-site-header .wp-block-woocommerce-mini-cart {
	display: none;
}

.wanze-site-header .wp-block-navigation__container {
	align-items: center;
	gap: 24px !important;
}

.wanze-site-header .wp-block-navigation__container > .wp-block-navigation-item {
	margin: 0 !important;
}

/* Navigation entity 32 renders Contact Us in a second list. Keep the gap
 * between the two native lists identical to the gap between every menu item. */
@media (min-width: 782px) {
	.wanze-site-header .wp-block-navigation__responsive-container-content {
		align-items: center;
		display: flex;
		flex-wrap: nowrap;
		gap: 24px;
		justify-content: flex-end;
	}

	.wanze-site-header .wp-block-navigation__responsive-container-content > .wp-block-navigation__container {
		margin: 0 !important;
	}
}

.wanze-site-header .wp-block-navigation-item__content {
	color: #33413e;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.3;
	padding: 13px 2px;
	text-decoration: none;
	text-transform: none;
	transition: color 180ms ease;
	white-space: nowrap;
}

body .wp-site-blocks > main {
	margin-top: 132px !important;
}

/* The home hero begins under the transparent fixed navigation without a blank band. */
body .wp-site-blocks > main.wanze-home {
	margin-top: 0 !important;
}

.wanze-site-header .wp-block-navigation-item__content:hover,
.wanze-site-header .wp-block-navigation-item__content:focus-visible,
.wanze-site-header .current-menu-item > .wp-block-navigation-item__content,
.wanze-site-header .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wanze-blue);
}

.wanze-site-header__search {
	flex: 0 0 auto;
	margin: 0;
}

.wanze-site-header__search .wp-block-search__inside-wrapper {
	align-items: center;
	background: #f3f6f8;
	border: 1px solid transparent;
	border-radius: 999px;
	display: flex;
	min-height: 42px;
	overflow: hidden;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.wanze-site-header__search .wp-block-search__inside-wrapper:focus-within {
	background: #ffffff;
	border-color: rgba(21, 58, 104, 0.24);
}

.wanze-site-header__search .wp-block-search__input {
	background: transparent;
	border: 0;
	box-shadow: none;
	color: #243746;
	font-family: var(--wanze-font);
	font-size: 0.88rem;
	min-height: 40px;
	outline: 0;
	padding: 0 4px 0 16px;
	width: clamp(130px, 10vw, 178px);
}

.wanze-site-header__search .wp-block-search__input::placeholder {
	color: #71808c;
	opacity: 1;
}

.wanze-site-header__search .wp-block-search__button {
	align-items: center;
	background: transparent !important;
	border: 0;
	border-radius: 0;
	color: #243746 !important;
	display: inline-flex;
	height: 40px;
	justify-content: center;
	margin: 0;
	min-width: 42px;
	padding: 10px 12px;
}

.wanze-site-header__search .wp-block-search__button:hover,
.wanze-site-header__search .wp-block-search__button:focus-visible {
	background: rgba(21, 58, 104, 0.08) !important;
	color: var(--wanze-cta) !important;
}

.wanze-site-header__search .wp-block-search__button svg {
	fill: currentColor;
	height: 18px;
	stroke: none;
	width: 18px;
}

.wanze-site-header .wp-block-navigation-item__content:focus-visible,
.wanze-site-header .wp-block-navigation__responsive-container-open:focus-visible,
.wanze-site-header .wp-block-navigation__responsive-container-close:focus-visible {
	border-radius: 4px;
	outline: 2px solid var(--wanze-blue);
	outline-offset: 3px;
}

.wanze-site-header .wp-block-navigation__submenu-container {
	border: 1px solid var(--wanze-border);
	border-radius: 20px;
	box-shadow: 0 14px 32px rgba(15, 23, 42, 0.14);
	padding: 8px;
}

.wanze-site-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	line-height: 1.35;
	padding: 9px 12px;
}

/* Services submenu structure must win over Navigation's 200px flex default. */
.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container {
	background: #ffffff;
	box-sizing: border-box;
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	left: 50%;
	min-width: min(1080px, calc(100vw - 64px)) !important;
	right: auto;
	top: calc(100% + 18px);
	transform: translateX(-50%);
	width: min(1080px, calc(100vw - 64px)) !important;
}

.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item {
	border-left: 1px solid #e1e8ee;
	display: block !important;
	min-width: 0;
}

.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item:first-child {
	border-left: 0;
}

.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item > .wp-block-navigation-item__content {
	align-items: flex-start !important;
	box-sizing: border-box;
	display: flex !important;
	flex-direction: column !important;
	gap: 16px;
	min-width: 0;
	width: 100% !important;
}

.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item > .wp-block-navigation-item__content::after {
	display: block;
	margin-top: auto;
}

.wanze-site-header .wanze-services-menu .wanze-services-menu__summary {
	display: block;
	flex: 1 0 auto;
	width: 100%;
}

/* Products: WooCommerce-driven desktop mega menu. */
@media (min-width: 782px) {
	.wanze-site-header .wp-block-navigation__container > .wanze-products-menu-trigger {
		position: relative !important;
	}

	.wanze-site-header .wanze-products-menu-trigger > .wp-block-navigation-submenu__toggle {
		align-items: center;
		display: inline-flex;
		flex: 0 0 32px;
		height: 32px;
		justify-content: center;
		min-height: 32px;
		min-width: 32px;
		padding: 0;
	}

	.wanze-site-header .wanze-products-menu-trigger > .wanze-products-menu {
		background: #ffffff;
		border: 1px solid #d9e4eb;
		border-radius: 8px;
		box-shadow: 0 22px 50px rgba(15, 35, 54, 0.18);
		box-sizing: border-box;
		contain-intrinsic-size: 0 0;
		content-visibility: hidden;
		display: block !important;
		left: 50% !important;
		max-height: calc(100svh - 122px);
		overflow: auto;
		padding: 0 !important;
		pointer-events: none;
		position: fixed !important;
		right: auto !important;
		top: 92px !important;
		transform: translateX(-50%);
		visibility: hidden !important;
		width: min(1480px, calc(100vw - 64px)) !important;
	}

	.wanze-site-header .wanze-products-menu-trigger:has(> .wp-block-navigation-submenu__toggle[aria-expanded="true"]) > .wanze-products-menu {
		content-visibility: visible;
		pointer-events: auto;
		visibility: visible !important;
	}

	.wanze-site-header .wanze-products-menu-trigger > .wanze-products-menu::before {
		content: "";
		height: 28px;
		left: 0;
		position: absolute;
		top: -28px;
		width: 100%;
	}

	.wanze-site-header .wanze-products-menu__panel {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr);
		margin: 0 !important;
		min-height: 0;
		padding: 18px !important;
		width: 100%;
	}

	.wanze-site-header .wanze-products-menu__categories {
		align-items: center;
		background: #ffffff;
		border-bottom: 1px solid #d8e2e8;
		display: flex;
		flex-wrap: wrap;
		gap: 8px;
		padding: 0 0 14px;
	}

	.wanze-site-header .wanze-products-menu__category,
	.wanze-site-header .wanze-products-menu__all {
		border-radius: 5px;
		font-size: 0.94rem;
		font-weight: 690;
		line-height: 1.35;
		padding: 10px 12px;
		text-decoration: none;
		transition: background-color 160ms ease, color 160ms ease;
	}

	.wanze-site-header .wanze-products-menu__category {
		border-left: 3px solid transparent;
		color: #26465f;
		padding-left: 12px;
	}

	.wanze-site-header .wanze-products-menu__category.is-active {
		background: #edf3f7;
		border-left-color: var(--wanze-cta-hover);
		color: var(--wanze-cta-hover);
		font-weight: 760;
	}

	.wanze-site-header .wanze-products-menu__category:hover,
	.wanze-site-header .wanze-products-menu__category:focus-visible {
		background: #e4eef4;
		color: var(--wanze-cta-hover);
		outline: 0;
	}

	.wanze-site-header .wanze-products-menu__all:hover,
	.wanze-site-header .wanze-products-menu__all:focus-visible {
		background: var(--wanze-cta-hover);
		border-color: var(--wanze-cta-hover);
		color: #ffffff;
		outline: 0;
	}

	.wanze-site-header .wanze-products-menu__all {
		align-items: center;
		background: var(--wanze-cta-hover);
		border: 1px solid var(--wanze-cta-hover);
		color: #ffffff;
		display: inline-flex;
		font-weight: 760;
		justify-content: space-between;
		margin-top: 0;
	}

	.wanze-site-header .wanze-products-menu__all::after {
		content: "→";
		font-size: 1.1rem;
		line-height: 1;
	}

	.wanze-site-header .wanze-products-menu__products {
		padding-top: 18px;
	}

	.wanze-site-header .wanze-products-menu__product-group {
		display: grid;
		gap: 10px;
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.wanze-site-header .wanze-products-menu__product-group[hidden] {
		display: none;
	}

	.wanze-site-header .wanze-products-menu__product {
		background: #ffffff;
		border: 1px solid #d8e2e8;
		border-radius: 6px;
		display: block;
		overflow: hidden;
		text-decoration: none;
		transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
	}

	.wanze-site-header .wanze-products-menu__product:hover,
	.wanze-site-header .wanze-products-menu__product:focus-visible {
		border-color: rgba(229, 58, 62, 0.58);
		box-shadow: 0 12px 22px rgba(28, 62, 85, 0.14);
		outline: 0;
		transform: translateY(-2px);
	}

	.wanze-site-header .wanze-products-menu__media {
		align-items: center;
		background: #ffffff;
		display: flex;
		justify-content: center;
		min-height: 236px;
		padding: 14px;
	}

	.wanze-site-header .wanze-products-menu__media img {
		display: block;
		height: 208px;
		object-fit: contain;
		transform: scale(1.16);
		width: 100%;
	}

	.wanze-site-header .wanze-products-menu__product-name {
		color: #1d3a51;
		display: block;
		font-size: 1.18rem;
		font-weight: 720;
		line-height: 1.38;
		padding: 16px 18px 19px;
	}
}

@media (max-width: 781px) {
	.wanze-site-header .wanze-products-menu-trigger > .wanze-products-menu,
	.wanze-site-header .wanze-products-menu-trigger > .wp-block-navigation-submenu__toggle {
		display: none !important;
	}
}

@media (min-width: 782px) {
	/* Keep the native submenu's immediate owner explicit for core Navigation. */
	.wanze-site-header .wp-block-navigation__container > .wanze-services-menu {
		position: relative !important;
	}
}


@media (min-width: 1201px) {
	/*
	 * The Header transform creates this fixed-position containing block. Centering
	 * the wide panel there keeps it within the viewport even though Services is
	 * near the right end of the navigation row.
	 */
	.wanze-site-header .wp-block-navigation__container > .wanze-services-menu > .wp-block-navigation__submenu-container {
		left: 50% !important;
		position: fixed !important;
		right: auto !important;
		top: calc(100% + 18px) !important;
		transform: translateX(-50%) !important;
		width: min(1080px, calc(100% - 64px)) !important;
	}

	/* Bridge the header inset and visual gap so hover can reach the panel. */
	.wanze-site-header .wp-block-navigation__container > .wanze-services-menu > .wp-block-navigation__submenu-container::before {
		content: "";
		height: 32px;
		left: 0;
		position: absolute;
		top: -32px;
		width: 100%;
	}
}

@media (max-width: 781px) {
	.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container {
		grid-template-columns: 1fr;
		left: auto;
		min-width: 0 !important;
		right: auto;
		top: 100%;
		transform: none;
		width: 100% !important;
	}

	.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item {
		border-left: 0;
		border-top: 1px solid #e1e8ee;
	}

	.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wanze-services-menu__item:first-child {
		border-top: 0;
	}
}

/* ========================================================================== 
   Contact Us: light editorial layout
   ========================================================================== */
body.page-id-31 {
	background: #ffffff;
}

body.page-id-31 .wanze-page-hero {
	align-content: end;
	background: #ffffff;
	min-height: clamp(430px, 49vw, 560px);
	padding-bottom: clamp(64px, 6vw, 96px);
	padding-top: 144px;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.98) 39%, rgba(255, 255, 255, 0.78) 63%, rgba(255, 255, 255, 0.26) 100%);
}

body.page-id-31 .wanze-page-hero__backdrop {
	opacity: 0.82;
}

body.page-id-31 .wanze-page-hero__inner {
	max-width: 760px !important;
}

body.page-id-31 .wanze-page-hero__title {
	font-size: clamp(2.35rem, 4.15vw, 4.6rem);
	letter-spacing: -0.045em;
	line-height: 1.03;
	max-width: 11ch;
}

body.page-id-31 .wanze-page-hero__copy {
	font-size: clamp(1rem, 1.12vw, 1.13rem);
	line-height: 1.7;
	max-width: 51ch;
}

body.page-id-31 .wanze-page-hero__inner::before {
	height: 4px;
	margin-bottom: 18px;
	width: 54px;
}

/* Details stay deliberately quiet: the form is the only primary action. */
body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	align-items: start;
	background: #ffffff;
	border-bottom: 1px solid #e6edf1;
	column-gap: clamp(38px, 5.5vw, 96px);
	grid-template-columns: minmax(230px, 0.55fr) minmax(0, 1.45fr);
	padding-bottom: clamp(64px, 6vw, 100px);
	padding-top: clamp(64px, 6vw, 100px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	border-left-width: 2px;
	padding: 4px 0 4px clamp(17px, 1.8vw, 26px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.68rem;
	font-weight: 750;
	letter-spacing: 0.13em;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	color: #13263d;
	font-size: clamp(1.85rem, 2.25vw, 2.55rem);
	letter-spacing: -0.035em;
	line-height: 1.08;
	max-width: 12ch;
}

body.page-id-31 .wanze-contact__cards {
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 18px;
	box-shadow: none;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-height: 208px;
	padding: clamp(28px, 2.35vw, 38px);
}

body.page-id-31 .wanze-contact__card:nth-child(2),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-left: 1px solid #e0e8ed;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-top: 1px solid #e0e8ed;
}

body.page-id-31 .wanze-contact__card:hover,
body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	background: #fbfcfd;
	box-shadow: inset 0 3px 0 var(--wanze-cta);
	transform: none;
}

body.page-id-31 .wanze-contact__card-icon,
body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: #fff3f1;
	border: 1px solid #f5d7d3;
	border-radius: 10px;
	color: var(--wanze-cta);
	height: 42px;
	width: 42px;
}

body.page-id-31 .wanze-contact__card-icon::after {
	height: 19px;
	width: 19px;
}

body.page-id-31 .wanze-contact__card h3,
body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: #183149;
	font-size: 0.94rem;
	font-weight: 730;
	margin-top: 17px !important;
}

body.page-id-31 .wanze-contact__card p,
body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #5b6d7e;
	font-size: 0.95rem;
	line-height: 1.65;
	margin-top: 8px !important;
}

body.page-id-31 .wanze-contact__card p a,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #1d4b78;
	font-size: 0.96rem;
	font-weight: 650;
}

body.page-id-31 .wanze-contact__quick-link {
	color: var(--wanze-cta);
	font-size: 0.82rem;
	font-weight: 750;
	margin-top: auto;
	padding-top: 14px;
}

/* The enquiry form receives the visual emphasis without using a dark panel. */
body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff;
	border: 0;
	padding-bottom: clamp(72px, 7vw, 112px);
	padding-top: clamp(72px, 7vw, 112px);
}

body.page-id-31 .wanze-contact__form-wrap {
	align-items: start;
	gap: clamp(44px, 6vw, 110px);
	grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr);
}

body.page-id-31 .wanze-contact__form-info {
	background: transparent;
	border: 0;
	border-left: 2px solid var(--wanze-cta);
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	padding: 5px 0 5px clamp(20px, 2.1vw, 31px);
}

body.page-id-31 .wanze-contact__form-info h2 {
	font-size: clamp(1.9rem, 2.35vw, 2.7rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
	max-width: 10ch;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	font-size: 1rem;
	line-height: 1.7;
	max-width: 31ch;
}

body.page-id-31 .wanze-contact__form-info .wanze-link--contact {
	display: none;
}

body.page-id-31 .wanze-contact__form-panel {
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 18px;
	box-shadow: none;
	padding: clamp(28px, 3vw, 48px);
}

body.page-id-31 .wanze-contact__form-panel .ff-el-group {
	margin-bottom: 18px;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-input--label label {
	color: #334e65;
	font-size: 0.76rem;
	font-weight: 740;
	letter-spacing: 0.04em;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #ffffff;
	border: 1px solid #cfdce4;
	border-radius: 7px;
	color: #183149;
	font-size: 1rem;
	min-height: 48px;
	padding: 11px 13px;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 122px;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control:focus {
	border-color: var(--wanze-cta);
	box-shadow: 0 0 0 3px rgba(229, 58, 62, 0.14);
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit {
	border-radius: 999px;
	font-size: 0.87rem;
	font-weight: 750;
	min-height: 48px;
	padding: 0 25px;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:hover,
body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:focus-visible {
	transform: translateY(-1px);
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards),
	body.page-id-31 .wanze-contact__form-wrap {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title,
	body.page-id-31 .wanze-contact__form-info h2 {
		max-width: none;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-page-hero {
		align-content: end;
		min-height: 430px;
		padding: 118px 20px 56px;
	}

	body.page-id-31 .wanze-page-hero__title {
		font-size: clamp(2.25rem, 11vw, 3.25rem);
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__card:nth-child(2) {
		min-height: 0;
		padding: 27px 25px;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-left: 0;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-top: 1px solid #e0e8ed;
	}

body.page-id-31 .wanze-contact__form-panel {
		border-radius: 14px;
		padding: 25px 20px;
	}
}

/*
 * Contact Us: keep the contact details visually attached to the image-led
 * hero. Earlier page-specific iterations remain above for compatibility;
 * this is the single final composition layer for the current page structure.
 */
@media (width < 0px) {
body.page-id-31 .wanze-page-hero {
	align-content: center !important;
	min-height: 100vh !important;
	min-height: 100svh !important;
	padding: 156px 24px 56px !important;
	overflow: visible !important;
}

body.page-id-31 .wanze-page-hero__backdrop {
	bottom: clamp(-720px, -45vw, -600px) !important;
	height: auto !important;
}

body.page-id-31 .wanze-page-hero::after {
	bottom: clamp(-720px, -45vw, -600px) !important;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.78) 0%, rgba(255, 255, 255, 0.64) 40%, rgba(255, 255, 255, 0.34) 68%, rgba(255, 255, 255, 0.12) 100%) !important;
}

/* Match the Services title frame while Contact Us has no hero navigation rail. */
body.page-id-31 .wanze-page-hero__inner {
	display: flex !important;
	flex-direction: column !important;
	max-width: none !important;
	min-height: clamp(420px, 31vw, 500px) !important;
	padding-right: 0 !important;
	position: static !important;
	width: var(--wanze-layout-width) !important;
}

body.page-id-31 .wanze-page-hero__crumb {
	box-sizing: border-box !important;
	margin: 0 0 clamp(24px, 3vw, 38px) !important;
	order: -1 !important;
	text-align: left !important;
	width: auto !important;
}

body.page-id-31 .wanze-page-hero__title {
	font-size: clamp(2.6rem, 4.4vw, 4.2rem) !important;
	line-height: 1.04 !important;
	margin-top: 18px !important;
	max-width: 16ch !important;
}

body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	align-items: stretch !important;
	background: transparent !important;
	border: 0 !important;
	column-gap: clamp(28px, 4vw, 72px) !important;
	grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr) !important;
	margin: 0 auto !important;
	padding: 0 24px 0 !important;
	position: relative !important;
	width: min(var(--wanze-layout-width), 100%) !important;
	z-index: 3 !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: stretch !important;
	background: rgba(247, 251, 253, 0.82) !important;
	border: 1px solid rgba(29, 91, 132, 0.16) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 30px rgba(35, 79, 109, 0.1) !important;
	justify-content: center !important;
	padding: clamp(30px, 3vw, 48px) !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(2rem, 2.7vw, 3.25rem) !important;
	line-height: 1.03 !important;
	max-width: 9ch !important;
}

body.page-id-31 .wanze-contact__cards {
	backdrop-filter: blur(10px) !important;
	background: rgba(255, 255, 255, 0.68) !important;
	border-color: rgba(29, 91, 132, 0.16) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 30px rgba(35, 79, 109, 0.1) !important;
}

@media (min-width: 1181px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
		margin-top: clamp(-132px, -6vw, -88px) !important;
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(4) {
		border: 0 !important;
		border-left: 1px solid rgba(29, 91, 132, 0.14) !important;
		min-height: 224px !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card:first-child {
		border-left: 0 !important;
	}
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: transparent !important;
	min-height: 188px !important;
	padding: clamp(26px, 2.15vw, 36px) !important;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero {
	align-content: start !important;
	padding-bottom: 64px !important;
}

	body.page-id-31 .wanze-page-hero__backdrop,
	body.page-id-31 .wanze-page-hero::after {
	bottom: 0 !important;
}

	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	background: #ffffff !important;
	grid-template-columns: 1fr !important;
	margin-top: 0 !important;
	padding-bottom: 72px !important;
	padding-top: 72px !important;
	width: 100% !important;
}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: auto !important;
	justify-content: initial !important;
}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-page-hero {
	min-height: 0 !important;
	padding: 120px 20px 60px !important;
}

	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	padding: 52px 20px 64px !important;
}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head,
	body.page-id-31 .wanze-contact__cards {
	border-radius: 8px !important;
}
}
}

/* Contact Us layout follows the approved reference's three-part composition:
 * compact banner, single contact-information panel, then a split enquiry shell. */
body.page-id-31 .wanze-page-hero {
	align-content: center;
	min-height: 410px;
	padding: 136px 24px 58px;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.91) 43%, rgba(255, 255, 255, 0.48) 70%, rgba(255, 255, 255, 0.12) 100%);
}

body.page-id-31 .wanze-page-hero__inner {
	max-width: none !important;
	width: var(--wanze-layout-width);
}

body.page-id-31 .wanze-page-hero__inner::before,
body.page-id-31 .wanze-page-hero__eyebrow,
body.page-id-31 .wanze-page-hero__copy {
	display: none;
}

body.page-id-31 .wanze-page-hero__title {
	font-size: clamp(2.75rem, 5vw, 5rem);
	letter-spacing: -0.05em;
	line-height: 0.98;
	max-width: none;
}

body.page-id-31 .wanze-page-hero__crumb {
	margin-top: 22px !important;
	margin-bottom: 0 !important;
}

/* Contact details become a single, two-part information card. */
body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	background: #f8fafb;
	border: 1px solid #d9e4ea;
	border-radius: 24px;
	column-gap: 0;
	grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr);
	overflow: hidden;
	padding: 0;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: stretch;
	background: linear-gradient(145deg, #eef5f8 0%, #f8fafb 100%);
	border: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 410px;
	padding: clamp(38px, 4vw, 58px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.75rem;
	font-weight: 760;
	letter-spacing: 0.12em;
	margin-bottom: 16px !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(2.25rem, 3.25vw, 3.65rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
	max-width: 9ch;
}

body.page-id-31 .wanze-contact__cards {
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: visible;
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: transparent;
	border: 0;
	border-bottom: 1px solid #dfe8ed;
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	padding: clamp(31px, 3vw, 44px) clamp(27px, 3.25vw, 52px);
}

body.page-id-31 .wanze-contact__card:nth-child(2),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-left: 0;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-top: 0;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-bottom: 0;
}

body.page-id-31 .wanze-contact__card:hover,
body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	background: #ffffff;
	box-shadow: none;
}

body.page-id-31 .wanze-contact__card-icon,
body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wanze-cta);
	height: 24px;
	margin-bottom: 12px;
	width: 24px;
}

body.page-id-31 .wanze-contact__card-icon::after {
	height: 21px;
	width: 21px;
}

body.page-id-31 .wanze-contact__card h3,
body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: var(--wanze-cta);
	font-size: 0.76rem;
	font-weight: 760;
	letter-spacing: 0.08em;
	margin-top: 0 !important;
	text-transform: uppercase;
}

body.page-id-31 .wanze-contact__card p,
body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a,
body.page-id-31 .wanze-contact__card p a,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #203c55;
	font-size: 0.98rem;
	font-weight: 520;
	line-height: 1.65;
	margin-top: 8px !important;
}

body.page-id-31 .wanze-contact__quick-link {
	font-size: 0.8rem;
	margin-top: 11px;
	padding-top: 0;
}

/* The enquiry area mirrors the reference's unified left-copy/right-form shell. */
body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff;
	padding-bottom: clamp(72px, 7vw, 110px);
	padding-top: clamp(72px, 7vw, 110px);
}

body.page-id-31 .wanze-contact__form-wrap {
	background: linear-gradient(135deg, #eef5f8 0%, #e8f0f4 100%);
	border: 1px solid #d5e1e8;
	border-radius: 20px;
	gap: 0;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	overflow: hidden;
}

body.page-id-31 .wanze-contact__form-info {
	align-self: stretch;
	background: transparent;
	border: 0;
	box-shadow: none;
	padding: clamp(36px, 4vw, 58px);
}

body.page-id-31 .wanze-contact__form-info h2 {
	color: #13263d;
	font-size: clamp(2.2rem, 3.2vw, 3.45rem);
	letter-spacing: -0.045em;
	line-height: 0.98;
	max-width: 9ch;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	color: #486075;
	font-size: 1rem;
	line-height: 1.7;
	max-width: 35ch;
}

body.page-id-31 .wanze-contact__form-panel {
	background: rgba(255, 255, 255, 0.94);
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(30px, 3vw, 48px);
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #fbfcfd;
	border-color: #cbd9e1;
	border-radius: 12px;
	min-height: 50px;
	padding: 12px 16px;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 156px;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards),
	body.page-id-31 .wanze-contact__form-wrap {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		min-height: 0;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-page-hero {
		min-height: 350px;
		padding: 118px 20px 48px;
	}

	body.page-id-31 .wanze-page-hero__title {
		font-size: clamp(2.55rem, 12vw, 3.45rem);
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		min-height: 0;
		padding: 35px 28px;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title,
	body.page-id-31 .wanze-contact__form-info h2 {
		max-width: none;
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(3) {
		border-bottom: 1px solid #dfe8ed;
		padding: 26px 28px;
	}

	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-bottom: 0;
		padding: 26px 28px;
	}

	body.page-id-31 .wanze-contact__form-info {
		padding: 34px 28px 30px;
	}

	body.page-id-31 .wanze-contact__form-panel {
		padding: 28px 20px;
	}
}

@media (min-width: 1201px) {
	.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container {
		background: #ffffff;
		border: 1px solid #dce6ed;
		border-radius: 24px;
		box-shadow: 0 22px 46px rgba(22, 52, 77, 0.16);
		column-gap: 0;
		padding: 22px;
	}

	.wanze-site-header .wanze-services-menu > .wp-block-navigation__submenu-container > .wp-block-navigation-item {
		margin: 0;
	}

	/*
	 * Keep the card content vertical even when core Navigation supplies its
	 * default flex-row submenu link rule.
	 */
	.wanze-site-header .wp-block-navigation .wanze-services-menu .wanze-services-menu__item > .wp-block-navigation-item__content {
		box-sizing: border-box;
		color: #173855;
		font-size: 1.18rem;
		font-weight: 760;
		gap: 16px;
		min-height: 202px;
		padding: 22px 28px;
		text-decoration: none;
		transition: background-color 180ms ease, color 180ms ease;
		white-space: normal;
	}

	.wanze-site-header .wanze-services-menu .wanze-services-menu__item > .wp-block-navigation-item__content::after {
		color: var(--wanze-cta);
		content: "→";
		font-size: 1.45rem;
		font-weight: 500;
		line-height: 1;
	}

	.wanze-site-header .wanze-services-menu .wanze-services-menu__item > .wp-block-navigation-item__content:hover {
		background: #f7fafc;
		color: var(--wanze-cta);
	}

	.wanze-site-header .wanze-services-menu .wanze-services-menu__item > .wp-block-navigation-item__content:focus-visible {
		background: #f7fafc;
		border-radius: 12px;
		outline: 3px solid rgba(21, 58, 104, 0.34);
		outline-offset: -3px;
	}

	.wanze-site-header .wanze-services-menu .wp-block-navigation-item__label {
		color: inherit;
	}

	.wanze-site-header .wanze-services-menu__summary {
		color: #657787;
		font-family: var(--wanze-font);
		font-size: 0.91rem;
		font-weight: 600;
		line-height: 1.5;
		overflow-wrap: anywhere;
	}
}

@media (max-width: 1200px) {
	:root {
		--wanze-layout-width: calc(100% - 24px);
	}

	.wanze-site-header {
		top: 12px;
		width: var(--wanze-layout-width);
	}

	body.admin-bar .wanze-site-header {
		top: 44px;
	}

	.wanze-site-header__inner {
		min-height: 68px;
		padding: 0 16px 0 22px;
	}

	.wanze-site-header .wp-block-site-logo img {
		max-height: 27px;
		width: 150px;
	}

	.wanze-site-header .wp-block-site-title {
		font-size: 0.88rem;
	}

	.wanze-site-header .wp-block-navigation__responsive-container-open {
		align-items: center;
		color: var(--wanze-ink);
		display: inline-flex;
		height: 44px;
		justify-content: center;
		width: 44px;
	}

	.wanze-site-header .wp-block-navigation {
		margin-right: 0;
	}

	.wanze-site-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none;
	}

	.wanze-site-header:has(.wp-block-navigation__responsive-container.is-menu-open) {
		left: 0;
		top: 0;
		transform: none;
		width: 100%;
		z-index: 100000;
	}

	.wanze-site-header .wp-block-navigation__responsive-container.is-menu-open {
		background: #ffffff;
		color: var(--wanze-ink);
		padding: 24px;
	}

	.wanze-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: stretch;
		width: 100%;
	}

	.wanze-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch;
		gap: 4px;
		width: 100%;
	}

	.wanze-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		align-items: stretch;
	}

	.wanze-site-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		font-size: 1.1875rem;
		line-height: 1.4;
		padding: 12px 0;
		text-transform: none;
	}


	.wanze-site-header__search .wp-block-search__input {
		width: 120px;
	}
}

@media (max-width: 781px) {
	body.admin-bar .wanze-site-header {
		top: 58px;
	}

	.wanze-site-header__search.is-mobile-open {
		position: absolute;
		right: 16px;
		top: 13px;
		z-index: 1;
	}

	.wanze-site-header__search .wp-block-search__inside-wrapper {
		background: transparent;
		border: 0;
		min-height: 42px;
		overflow: visible;
	}

	.wanze-site-header__search .wp-block-search__input {
		display: none;
	}

	.wanze-site-header__search.is-mobile-open .wp-block-search__inside-wrapper {
		background: #f3f6f8;
		border: 1px solid transparent;
		border-radius: 999px;
		overflow: hidden;
	}

	.wanze-site-header__search.is-mobile-open .wp-block-search__input {
		display: block;
		width: min(40vw, 120px);
	}

	.wanze-site-header__search .wp-block-search__button {
		border-radius: 50%;
		min-width: 42px;
	}
}

/*
 * Keep the Services mega-menu legible on intermediate desktop widths. At
 * this width WordPress still renders the native Navigation submenu, while
 * the full-size desktop rules above have not yet started. Core otherwise
 * gives the submenu a 200px width and forces each link into a flex row.
 */
@media (min-width: 782px) and (max-width: 1200px) {
	.wanze-site-header .wp-block-navigation .wanze-services-menu > .wp-block-navigation__submenu-container {
		background: #ffffff;
		border: 1px solid #dce6ed;
		border-radius: 20px;
		box-shadow: 0 18px 38px rgba(22, 52, 77, 0.14);
		padding: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-site-header .wp-block-navigation-item__content {
		transition: none;
	}
}

/* Homepage module framework. Individual sections can be refined independently. */
.wanze-home {
	margin-top: 0 !important;
}

.wanze-home__hero {
	align-items: stretch;
	height: 100svh;
	margin: 0;
	min-height: 100svh !important;
}

/* Keep the fixed navigation within the added dark headroom, above the products. */
.wanze-home__hero .wp-block-cover__image-background {
	object-position: center bottom;
}

.wanze-home__hero .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 100%;
	padding: 0 24px;
	position: relative;
	width: min(100%, 1600px);
}

.wanze-home__hero-content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	max-width: none !important;
	padding-top: 0;
	width: 100%;
}

/* The nested group is constrained by the parent block theme; retain the hero's wide left rail. */
.wanze-home__hero-content > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wanze-home__hero-title {
	font-size: clamp(2.7rem, 3.15vw, 3.65rem);
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.08;
	margin: 0;
	max-width: 650px !important;
}

.wanze-home__hero-copy {
	font-size: clamp(1rem, 1.1vw, 1.17rem);
	line-height: 1.7;
	margin: 24px 0 0;
	max-width: 540px !important;
}

.wanze-home__eyebrow,
.wanze-home__news-type {
	color: var(--wanze-blue);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0;
}

.wanze-home__hero .wanze-home__eyebrow {
	color: #ffffff;
}

.wanze-home__hero-actions {
	margin-top: 34px;
}

.wanze-home__hero-button .wp-block-button__link {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 8px;
	display: inline-flex;
	font-size: 0.95rem;
	font-weight: 700;
	gap: 14px;
	min-height: 56px;
	padding: 14px 24px;
}

.wanze-home__hero-button .wp-block-button__link::after {
	border-right: 1.5px solid currentColor;
	border-top: 1.5px solid currentColor;
	content: "";
	height: 7px;
	transform: rotate(45deg);
	width: 7px;
}

.wanze-home__hero-button .wp-block-button__link:hover,
.wanze-home__hero-button .wp-block-button__link:focus-visible {
	background: #289cc9;
}

.wanze-home__hero-slide-state {
	align-items: center;
	bottom: 44px;
	column-gap: 16px;
	left: 24px;
	margin: 0 auto;
	position: absolute;
	right: 24px;
	width: auto;
}

.wanze-home__hero-slide-controls {
	align-items: center;
	display: flex;
	gap: 16px;
}

.wanze-home__hero-slide-line {
	background: transparent;
	border: 0;
	cursor: pointer;
	display: block;
	height: 32px;
	margin: 0;
	padding: 0;
	position: relative;
	transition: box-shadow 180ms ease;
	width: 52px;
}

.wanze-home__hero-slide-line::after {
	background: rgba(255, 255, 255, 0.48);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: background-color 180ms ease, height 180ms ease;
	width: 100%;
}

.wanze-home__hero-slide-line.is-active::after {
	background: var(--wanze-cta);
}

.wanze-home__hero-slide-line:hover::after,
.wanze-home__hero-slide-line:focus-visible::after {
	background: #ffffff;
	height: 3px;
}

.wanze-home__hero-slide-line:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.4);
	outline: 0;
}

.wanze-home__hero.is-slide-transitioning > .wp-block-cover__image-background {
	animation: wanze-hero-slide-in 440ms ease both;
}

@keyframes wanze-hero-slide-in {
	from {
		opacity: 0.72;
		transform: scale(1.018);
	}

	to {
		opacity: 1;
		transform: scale(1);
	}
}

.wanze-home__intro,
.wanze-home__products,
.wanze-home__applications,
.wanze-home__quality,
.wanze-home__proof,
.wanze-home__news {
	padding: 104px 24px;
}

.wanze-home__products,
.wanze-home__quality,
.wanze-home__news {
	background: #f5f8fb;
}

.wanze-home__products {
	background: #ffffff;
}

.wanze-home__intro {
	background: #f8fafc;
	isolation: isolate;
	overflow: hidden;
	padding: 112px 24px;
	position: relative;
}

/* Remove the WordPress flow-layout gap between the products band and About Wanze. */
.wanze-home__products + .wanze-home__intro {
	margin-block-start: 0 !important;
}

/* Keep the About Wanze and OEM / ODM bands directly connected. */
.wanze-home__intro + .wanze-home__oem {
	margin-block-start: 0 !important;
}

.wanze-home__intro-backdrop {
	inset: 0;
	margin: 0 !important;
	opacity: 0.26;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

/* Allow the backdrop to fill the About section beyond the constrained layout. */
.wanze-home__intro > .wanze-home__intro-backdrop {
	left: 0;
	max-width: none !important;
	right: 0;
	width: 100% !important;
}

.wanze-home__intro-backdrop img {
	display: block;
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

.wanze-home__intro-split {
	gap: 0 !important;
	margin: 0 auto;
	max-width: 1280px !important;
	position: relative;
	z-index: 1;
}

.wanze-home__intro-split > .wp-block-column:first-child {
	flex-basis: 58% !important;
}

.wanze-home__intro-split > .wp-block-column:last-child {
	flex-basis: 42% !important;
}

.wanze-home__intro-image {
	height: 100%;
	margin: 0;
}

.wanze-home__intro-image img {
	display: block;
	height: 100%;
	min-height: 560px;
	object-fit: cover;
	width: 100%;
}

.wanze-home__intro-panel {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: center;
	padding: clamp(48px, 5vw, 86px);
}

.wanze-home__intro-panel h2 {
	font-size: clamp(2rem, 2.5vw, 2.7rem);
	font-weight: 700;
	line-height: 1.18;
	margin: 12px 0 0;
}

.wanze-home__intro-copy {
	color: #475569;
	font-size: 1rem;
	line-height: 1.75;
	margin: 24px 0 0;
}

.wanze-home__intro-list {
	display: grid;
	gap: 16px 24px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 34px 0 0;
	padding: 0;
	width: 100%;
}

.wanze-home__intro-list li {
	align-items: flex-start;
	color: #334155;
	display: flex;
	font-size: 0.94rem;
	font-weight: 600;
	gap: 10px;
	line-height: 1.45;
}

.wanze-home__intro-list li::before {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 50%;
	color: #ffffff;
	content: "\2713";
	display: inline-flex;
	flex: 0 0 18px;
	height: 18px;
	justify-content: center;
	margin-top: 1px;
	width: 18px;
}

.wanze-home__section-head {
	margin-bottom: 42px;
}

.wanze-home__section-head h2,
.wanze-home__two-column h2,
.wanze-home__cta h2 {
	font-size: clamp(2rem, 3.2vw, 3.35rem);
	font-weight: 700;
	line-height: 1.15;
	margin: 12px 0 0;
}

.wanze-home__two-column {
	gap: clamp(40px, 7vw, 110px);
}

.wanze-home__two-column p,
.wanze-home__two-column li {
	color: #475569;
	font-size: 1rem;
	line-height: 1.7;
}

.wanze-home__media img {
	aspect-ratio: 4 / 3;
	border-radius: 8px;
	object-fit: cover;
	width: 100%;
}

.wanze-home__product-grid {
	column-gap: 26px;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	row-gap: 28px;
}

.wanze-home__product-card {
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: 0 6px 22px rgba(15, 23, 42, 0.07);
	overflow: hidden;
	padding: 0 18px 20px;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-home__product-card:focus-within {
	outline: 3px solid var(--wanze-cta);
	outline-offset: 4px;
}

.wanze-home__product-card-link {
	color: inherit;
	display: block;
	text-decoration: none;
}

.wanze-home__products .wanze-home__section-head {
	align-items: end;
	justify-content: center !important;
	position: relative;
	text-align: center;
}

.wanze-home__products .wanze-home__section-head > div {
	align-items: center;
	display: flex;
	flex-direction: column;
}

.wanze-home__products .wanze-home__section-head > p {
	bottom: 3px;
	position: absolute;
	right: 0;
}

.wanze-home__products .wanze-home__section-head h2 {
	font-size: clamp(2rem, 2.5vw, 2.6rem);
}

.wanze-home__products .wanze-home__section-head h2::after {
	background: var(--wanze-cta);
	content: "";
	display: block;
	height: 3px;
	margin: 16px auto 0;
	width: 38px;
}

.wanze-home__product-card figure {
	align-items: center;
	background: #ffffff;
	display: flex;
	height: 260px;
	justify-content: center;
	margin: 0 0 13px;
	overflow: hidden;
}

.wanze-home__product-card figure img {
	height: 82%;
	max-width: 100%;
	object-fit: contain;
	transition: transform 220ms ease;
	width: 100%;
}

.wanze-home__product-card:hover,
.wanze-home__product-card:focus-within {
	--wanze-reveal-visible-transform: translateY(-6px) scale(1.07);
	border-color: #b9dced;
	box-shadow: 0 18px 34px rgba(15, 23, 42, 0.13);
	transform: translateY(-6px) scale(1.07);
}

.wanze-home__product-card:hover figure img,
.wanze-home__product-card:focus-within figure img {
	transform: scale(1.16);
}

.wanze-home__product-card h3,
.wanze-home__proof h3,
.wanze-home__news h3 {
	font-size: 0.94rem;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
}

.wanze-home__product-card h3 {
	color: #1e3a5f;
	text-align: center;
}

.wanze-home__product-card p,
.wanze-home__proof p {
	color: #64748b;
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 0;
}

.wanze-home__applications {
	background: #0f172a;
	color: #ffffff;
}

.wanze-home__applications .wanze-home__eyebrow {
	color: #7dd3fc;
}

.wanze-home__application-grid {
	gap: 12px;
}

.wanze-home__application-grid p {
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 8px;
	font-size: 1rem;
	margin: 0;
	padding: 24px;
}

.wanze-home__proof {
	padding-bottom: 112px;
}

.wanze-home__proof-grid {
	gap: 22px;
}

.wanze-home__proof-grid > .wp-block-column,
.wanze-home__news-grid > .wp-block-column {
	border-left: 2px solid #bae6fd;
	padding: 12px 24px;
}

.wanze-home__news-grid {
	gap: 22px;
}

.wanze-home__news h3 {
	font-size: 1.35rem;
	margin-top: 14px;
}

.wanze-home__cta {
	background: var(--wanze-blue);
	color: #ffffff;
	padding: 70px 24px;
}

.wanze-home__cta h2,
.wanze-home__cta p {
	color: inherit;
}

.wanze-home__cta .wp-block-button__link {
	background: #ffffff;
	color: var(--wanze-blue);
}

@media (max-width: 781px) {
	.wanze-home__hero {
		background: #03070a;
		height: auto;
		min-height: 0 !important;
	}

	.wanze-home__hero .wp-block-cover__image-background {
		object-fit: contain;
		object-position: center bottom;
	}

	.wanze-home__hero .wp-block-cover__inner-container {
		padding: 112px 20px;
	}

	.wanze-home__hero-content {
		padding-top: 0;
	}

	.wanze-home__hero-slide-state {
		bottom: 28px;
		left: 20px;
		right: 20px;
	}

	.wanze-home__hero-title {
		font-size: clamp(2.45rem, 11vw, 3.4rem);
	}

	.wanze-home__hero-slide-state {
		column-gap: 11px;
	}

	.wanze-home__hero-slide-line {
		width: 38px;
	}

	.wanze-home__intro,
	.wanze-home__products,
	.wanze-home__applications,
	.wanze-home__quality,
	.wanze-home__proof,
	.wanze-home__news {
		padding: 68px 20px;
	}

	.wanze-home__product-card figure {
		height: 220px;
	}

	.wanze-home__intro-copy {
		font-size: 1rem;
	}

	.wanze-home__intro-split > .wp-block-column:first-child,
	.wanze-home__intro-split > .wp-block-column:last-child {
		flex-basis: 100% !important;
	}

	.wanze-home__intro-image img {
		min-height: 360px;
	}

	.wanze-home__intro-panel {
		padding: 48px 24px;
	}

	.wanze-home__intro-list {
		grid-template-columns: 1fr;
		margin-top: 28px;
	}

	.wanze-home__products .wanze-home__section-head > p {
		bottom: auto;
		margin-top: 18px;
		position: static;
	}
}

/* Shared request modal, opened by the customer enquiry actions. */
html.wanze-inquiry-modal-is-open,
body.wanze-inquiry-modal-is-open {
	overflow: hidden;
}

.wanze-inquiry-modal[hidden] {
	display: none !important;
}

.wanze-inquiry-modal {
	align-items: center;
	display: grid;
	inset: 0;
	justify-items: center;
	padding: 24px;
	position: fixed;
	z-index: 10050;
}

.wanze-inquiry-modal__backdrop {
	background: rgba(15, 23, 42, 0.68);
	inset: 0;
	position: absolute;
}

.wanze-inquiry-modal__dialog {
	background: #ffffff;
	border: 1px solid rgba(15, 23, 42, 0.08);
	border-radius: 22px;
	box-shadow: 0 24px 70px rgba(15, 23, 42, 0.26);
	box-sizing: border-box;
	color: #243746;
	max-height: min(760px, calc(100vh - 48px));
	max-width: 720px;
	overflow: auto;
	padding: clamp(28px, 4vw, 42px);
	position: relative;
	width: min(100%, 720px);
	z-index: 1;
}

.wanze-inquiry-modal__close {
	align-items: center;
	background: transparent;
	border: 1px solid #dce3e9;
	border-radius: 50%;
	color: #243746;
	cursor: pointer;
	display: inline-flex;
	font-size: 1.6rem;
	height: 40px;
	justify-content: center;
	line-height: 1;
	padding: 0 0 3px;
	position: absolute;
	right: clamp(20px, 3vw, 28px);
	top: clamp(20px, 3vw, 28px);
	transition: background-color 160ms ease, color 160ms ease, border-color 160ms ease;
	width: 40px;
}

.wanze-inquiry-modal__close:hover,
.wanze-inquiry-modal__close:focus-visible {
	background: #f1f4f6;
	border-color: #c4d0da;
}

.wanze-inquiry-modal__eyebrow {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.11em;
	margin: 0 56px 10px 0 !important;
}

.wanze-inquiry-modal h2 {
	color: #1d3044;
	font-family: var(--wanze-font);
	font-size: clamp(2rem, 3.3vw, 2.75rem);
	font-weight: 750;
	letter-spacing: -0.04em;
	line-height: 1.04;
	margin: 0 !important;
}

.wanze-inquiry-modal__description {
	color: #627284;
	font-family: var(--wanze-font);
	font-size: 1rem;
	line-height: 1.55;
	margin: 14px 0 26px !important;
	max-width: 580px;
}

.wanze-inquiry-modal__fields {
	display: grid;
	gap: 18px 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wanze-inquiry-modal__fields > p {
	margin: 0 !important;
}

.wanze-inquiry-modal__field--wide {
	grid-column: 1 / -1;
}

.wanze-inquiry-modal label {
	color: #263a50;
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.84rem;
	font-weight: 700;
	margin-bottom: 8px;
}

.wanze-inquiry-modal label span {
	color: var(--wanze-cta);
}

.wanze-inquiry-modal input,
.wanze-inquiry-modal select,
.wanze-inquiry-modal textarea {
	appearance: none;
	background: #ffffff;
	border: 1px solid #d7e0e7;
	border-radius: 16px;
	box-shadow: none;
	box-sizing: border-box;
	color: #243746;
	font-family: var(--wanze-font);
	font-size: 0.96rem;
	line-height: 1.4;
	min-height: 46px;
	padding: 11px 13px;
	transition: border-color 160ms ease, box-shadow 160ms ease;
	width: 100%;
}

.wanze-inquiry-modal select {
	appearance: auto;
}

.wanze-inquiry-modal textarea {
	min-height: 126px;
	resize: vertical;
}

.wanze-inquiry-modal input::placeholder,
.wanze-inquiry-modal textarea::placeholder {
	color: #8a98a8;
	opacity: 1;
}

.wanze-inquiry-modal input:focus,
.wanze-inquiry-modal select:focus,
.wanze-inquiry-modal textarea:focus {
	border-color: var(--wanze-cta);
	box-shadow: 0 0 0 3px rgba(229, 58, 62, 0.13);
	outline: 0;
}

.wanze-inquiry-modal__honeypot {
	display: none;
}

.wanze-inquiry-modal__status {
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	line-height: 1.45;
	margin: 17px 0 0 !important;
	min-height: 1.45em;
}

.wanze-inquiry-modal__status.is-error {
	color: #b4232a;
}

.wanze-inquiry-modal__status.is-success {
	color: #187342;
}

.wanze-inquiry-modal__submit {
	align-items: center;
	background: var(--wanze-cta);
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	cursor: pointer;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	font-weight: 750;
	gap: 14px;
	justify-content: center;
	margin-top: 16px;
	min-height: 50px;
	padding: 12px 22px 12px 26px;
	transition: background-color 160ms ease, transform 160ms ease;
}

.wanze-inquiry-modal__submit:hover,
.wanze-inquiry-modal__submit:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-1px);
}

.wanze-inquiry-modal__submit:disabled {
	cursor: wait;
	opacity: 0.7;
	transform: none;
}

@media (max-width: 620px) {
	.wanze-inquiry-modal {
		align-items: end;
		padding: 12px;
	}

	.wanze-inquiry-modal__dialog {
		border-radius: 18px;
		max-height: calc(100vh - 24px);
		padding: 28px 20px;
		width: 100%;
	}

	.wanze-inquiry-modal__fields {
		grid-template-columns: 1fr;
	}

	.wanze-inquiry-modal__field--wide {
		grid-column: auto;
	}

	.wanze-inquiry-modal__description {
		font-size: 0.94rem;
		margin-bottom: 22px !important;
	}

	.wanze-inquiry-modal__submit {
		width: 100%;
	}
}

	.wanze-home__product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

/* About / Who we are: composition based on the supplied reference layout. */
.wanze-about {
	background: #ffffff;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	margin-top: 0 !important;
}

/* Align each About section's outer content frame with the fixed navigation. */
.wanze-about .wanze-inner__frame,
#wanze-about-timeline > .wanze-inner__frame {
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-about__profile {
	box-sizing: border-box;
	min-height: 0;
	overflow: hidden;
	padding: 156px 24px 56px;
}

.wanze-about__breadcrumb {
	color: #6d7c8b;
	font-family: var(--wanze-font);
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 auto clamp(24px, 3vw, 38px) !important;
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-about__breadcrumb .rank-math-breadcrumb,
.wanze-about__breadcrumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

.wanze-about__breadcrumb .rank-math-breadcrumb a {
	color: #2d465e;
	font-weight: 650;
	text-decoration: none;
}

.wanze-about__breadcrumb .rank-math-breadcrumb a:hover,
.wanze-about__breadcrumb .rank-math-breadcrumb a:focus-visible {
	color: var(--wanze-cta);
	text-decoration: underline;
}

.wanze-about__breadcrumb .separator {
	color: #9aa7b3;
	padding: 0 7px;
}

.wanze-about__breadcrumb .last {
	color: #6d7c8b;
}

.wanze-about__frame {
	box-sizing: border-box;
	display: grid;
	gap: clamp(48px, 7.4vw, 148px);
	grid-template-columns: minmax(0, 0.91fr) minmax(580px, 1.09fr);
	margin: 0 auto;
	max-width: none !important;
	min-height: 0;
	position: relative;
	width: var(--wanze-layout-width);
}

/* The block editor centers constrained children; the first-screen grid aligns to navigation instead. */
.wanze-about__frame.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.wanze-about__copy {
	align-self: start;
	box-sizing: border-box;
	max-width: 600px;
	padding-top: 0;
	position: relative;
	z-index: 2;
}

.wanze-about__eyebrow {
	color: var(--wanze-blue);
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.94rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.25;
	margin: 0;
	text-transform: uppercase;
}

.wanze-about__title {
	color: #101827;
	font-size: clamp(3.3rem, 4.8vw, 5.55rem);
	font-weight: 700;
	letter-spacing: -0.058em;
	line-height: 0.98;
	margin: 24px 0 0;
}

.wanze-about__title span {
	color: var(--wanze-blue);
}

.wanze-about__body {
	color: #5b6a7b;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(0.96rem, 1vw, 1.1rem);
	line-height: 1.68;
	margin-top: 68px;
	max-width: 570px;
}

.wanze-about__body p {
	margin: 0;
}

.wanze-about__body p + p {
	margin-top: 24px;
}

.wanze-about__actions {
	margin-top: 52px;
}

.wanze-about__inquiry .wp-block-button__link {
	align-items: center;
	background: var(--wanze-cta);
	border: 0;
	border-radius: 12px !important;
	box-shadow: 0 8px 18px rgba(229, 58, 62, 0.14);
	color: #ffffff;
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	justify-content: space-between;
	min-height: 60px;
	min-width: 352px;
	padding: 7px 9px 7px 22px;
	transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-about__inquiry .wp-block-button__link::after {
	align-items: center;
	background: #ffffff;
	border-radius: 6px;
	color: var(--wanze-blue);
	content: "↗";
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1.72rem;
	font-weight: 400;
	height: 44px;
	justify-content: center;
	line-height: 1;
	padding: 0;
	width: 68px;
}


.wanze-about__inquiry .wp-block-button__link:hover {
	background: var(--wanze-cta-hover);
	box-shadow: 0 14px 24px rgba(189, 36, 43, 0.2);
	transform: translateY(-2px);
}

.wanze-about__inquiry .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	box-shadow: 0 0 0 3px rgba(229, 58, 62, 0.24), 0 14px 24px rgba(189, 36, 43, 0.2);
	outline: 2px solid #ffffff;
	outline-offset: 2px;
	transform: translateY(-2px);
}

.wanze-about__visual {
	align-self: start;
	box-sizing: border-box;
	min-height: 694px;
	padding-bottom: 0;
	position: relative;
}

/* The About page starts with a compact fact band rather than a full content section. */
.wanze-about > .wanze-section--dark {
	background-color: #102a43;
	background-image: linear-gradient(rgba(10, 31, 47, 0.72), rgba(10, 31, 47, 0.72)), var(--wanze-about-stats-image, none);
	background-position: center;
	background-size: cover;
	padding: clamp(44px, 4vw, 64px) 24px;
}

.wanze-about > .wanze-section--dark .wanze-qc__stats {
	border-bottom-color: rgba(255, 255, 255, 0.32);
	margin-top: 0;
	position: relative;
}

.wanze-about > .wanze-section--dark .wanze-qc__stat {
	border-left-color: rgba(255, 255, 255, 0.32);
	padding-top: 18px;
	padding-bottom: 18px;
}

.wanze-about > .wanze-section--dark .wanze-qc__stat strong {
	color: #ffffff;
}

.wanze-about > .wanze-section--dark .wanze-qc__stat strong::after {
	background: var(--wanze-cta);
	border-radius: 999px;
	content: "";
	display: block;
	height: 3px;
	margin-top: 14px;
	width: 34px;
}

.wanze-about > .wanze-section--dark .wanze-qc__stat span {
	color: rgba(255, 255, 255, 0.78);
}

@media (max-width: 620px) {
	.wanze-about > .wanze-section--dark .wanze-qc__stat {
		border-top-color: rgba(255, 255, 255, 0.32);
	}
}

.wanze-about__image {
	background: #edf3f7;
	border-radius: 40px 40px 40px 94px;
	box-shadow: 0 24px 48px rgba(15, 23, 42, 0.09);
	display: block;
	height: 694px;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.wanze-about__image::after {
	content: none;
}

.wanze-about__image img {
	display: block;
	filter: saturate(0.96) contrast(1.035);
	height: 100%;
	object-fit: cover;
	object-position: center;
	transform: scale(1.02);
	width: 100%;
}

.wanze-about__culture {
	backdrop-filter: blur(9px);
	background: rgba(255, 255, 255, 0.84);
	border: 2px solid rgba(255, 255, 255, 0.82);
	border-radius: 18px 22px 22px 18px;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.12);
	box-sizing: border-box;
	left: clamp(-62px, -3.5vw, -36px);
	max-width: 390px;
	padding: 26px 30px 24px;
	position: absolute;
	top: 122px;
	width: calc(100% - 74px);
	z-index: 2;
}

.wanze-about__culture::before {
	background: var(--wanze-cta);
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 16px;
	width: 44px;
}

.wanze-about__culture h2 {
	color: #13263d;
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.wanze-about__culture p {
	color: #526172;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 12px 0 0;
}

.wanze-about__learn {
	align-items: center;
	backdrop-filter: blur(10px) saturate(125%);
	-webkit-backdrop-filter: blur(10px) saturate(125%);
	background: rgba(244, 248, 251, 0.64);
	border: 1px solid rgba(255, 255, 255, 0.58);
	border-radius: 16px;
	bottom: 80px;
	box-shadow: 0 12px 26px rgba(8, 23, 47, 0.11);
	color: #172033;
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	gap: 10px;
	line-height: 1.14;
	position: absolute;
	padding: 6px 13px 6px 6px;
	right: 20px;
	text-decoration: none;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	z-index: 3;
}

.wanze-about__learn span {
	align-items: center;
	background: rgba(229, 58, 62, 0.94);
	border-radius: 50%;
	box-shadow: 0 4px 10px rgba(229, 58, 62, 0.2);
	color: #ffffff;
	display: inline-flex;
	font-size: 0;
	font-weight: 400;
	height: 48px;
	justify-content: center;
	line-height: 1;
	transition: background-color 180ms ease, transform 180ms ease;
	width: 48px;
}

.wanze-about__learn span::after {
	content: "↗";
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1.38rem;
	font-weight: 400;
	line-height: 1;
	padding: 0;
}

.wanze-about__learn strong {
	display: block;
	font-weight: 600;
	letter-spacing: 0;
	line-height: 1.12;
	white-space: nowrap;
}

.wanze-about__learn:hover span,
.wanze-about__learn:focus-visible span {
	background: var(--wanze-blue);
	transform: none;
}

.wanze-about__learn:hover,
.wanze-about__learn:focus-visible {
	background: rgba(248, 251, 253, 0.78);
	border-color: rgba(255, 255, 255, 0.82);
	box-shadow: 0 16px 30px rgba(8, 23, 47, 0.16);
	transform: translateY(-2px);
}

@media (max-width: 1080px) {
	.wanze-about__profile {
		min-height: 0;
		padding-top: 40px;
	}

	.wanze-about__frame {
		gap: 58px;
		grid-template-columns: minmax(0, 0.92fr) minmax(440px, 1.08fr);
	}

	.wanze-about__copy {
		padding-top: 0;
	}

	.wanze-about__body {
		margin-top: 58px;
	}

	.wanze-about__actions {
		margin-top: 52px;
	}

	.wanze-about__inquiry .wp-block-button__link {
		min-width: 320px;
	}

	.wanze-about__image {
		height: 650px;
	}

	.wanze-about__visual {
		min-height: 650px;
	}
}

@media (max-width: 781px) {
	.wanze-about__profile {
		padding: 40px 20px;
	}

	.wanze-about__frame {
		display: flex;
		flex-direction: column;
		gap: 54px;
		min-height: 0;
	}

	.wanze-about__copy {
		max-width: none;
		padding-top: 0;
	}

	.wanze-about__title {
		font-size: clamp(3.3rem, 16vw, 4.8rem);
		margin-top: 22px;
	}

	.wanze-about__body {
		font-size: 0.98rem;
		line-height: 1.68;
		margin-top: 46px;
	}

	.wanze-about__actions {
		margin-top: 52px;
		width: 100%;
	}

	.wanze-about__actions .wp-block-button,
	.wanze-about__inquiry .wp-block-button__link {
		width: 100%;
	}

	.wanze-about__inquiry .wp-block-button__link {
		min-width: 0;
	}

	.wanze-about__visual {
		min-height: 0;
		padding-bottom: 0;
		width: 100%;
	}

	.wanze-about__image {
		border-radius: 32px 32px 32px 74px;
		height: min(119vw, 580px);
	}

	.wanze-about__culture {
		border-radius: 0 18px 18px 0;
		left: -20px;
		max-width: 315px;
		padding: 20px 22px;
		top: 74px;
		width: calc(100% - 42px);
	}

	.wanze-about__culture h2 {
		font-size: 1.05rem;
	}

	.wanze-about__culture p {
		font-size: 0.83rem;
		margin-top: 10px;
	}

	.wanze-about__learn {
		bottom: 86px;
		font-size: 0.82rem;
		gap: 9px;
		padding: 5px 10px 5px 5px;
		right: 14px;
	}

	.wanze-about__learn span {
		height: 42px;
		width: 42px;
	}

	.wanze-about__learn span::after {
		font-size: 1.25rem;
	}
}

/* Keep the existing milestone design intact while presenting it as one draggable row. */
#wanze-about-timeline .wanze-about__timeline {
	cursor: grab;
	display: flex !important;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	touch-action: pan-y;
	user-select: none;
	-webkit-overflow-scrolling: touch;
}

#wanze-about-timeline .wanze-about__timeline::-webkit-scrollbar {
	display: none;
}

/* Preserve the original milestone line when the grid becomes a single track. */
#wanze-about-timeline .wanze-about__timeline::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #cf4153 52%, var(--wanze-blue) 100%);
	content: "";
	display: block;
	height: 2px;
	left: 0;
	position: absolute;
	top: 194px;
	width: var(--wanze-about-timeline-track-width, 100%);
}

#wanze-about-timeline .wanze-about__timeline.is-dragging {
	cursor: grabbing;
}

#wanze-about-timeline .wanze-about__timeline li {
	flex: 0 0 clamp(250px, 17vw, 300px);
}

/* Long WordPress timeline titles must remain inside their existing cards. */
#wanze-about-timeline .wanze-about__timeline-body h3 {
	overflow-wrap: anywhere;
	white-space: normal;
}

@media (max-width: 781px) {
	#wanze-about-timeline .wanze-about__timeline::before {
		content: "";
	}

	#wanze-about-timeline .wanze-about__timeline li {
		flex-basis: min(82vw, 300px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-about__inquiry .wp-block-button__link,
	.wanze-about__learn span {
		transition: none;
	}
}

/* Homepage WHO WE ARE module: the reference composition, adapted to Wanze colours. */
.wanze-home__intro {
	min-height: 0;
	padding: 96px 24px 82px;
}

.wanze-home__intro-split {
	display: grid;
	gap: clamp(48px, 7.4vw, 148px);
	grid-template-columns: minmax(0, 0.91fr) minmax(580px, 1.09fr);
	margin: 0 auto;
	max-width: 1720px !important;
	min-height: 792px;
}

.wanze-home__intro-panel {
	align-self: start;
	box-sizing: border-box;
	display: block;
	height: auto;
	max-width: 620px;
	padding: 68px 0 0;
	position: relative;
	z-index: 2;
}

.wanze-home__intro-title {
	color: #101827;
	font-size: clamp(3.45rem, 5vw, 5.9rem);
	font-weight: 700;
	letter-spacing: -0.055em;
	line-height: 1;
	margin: 28px 0 0;
}

.wanze-home__intro-title span {
	color: var(--wanze-blue);
}

.wanze-home__intro-copy {
	color: #526172;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: clamp(0.96rem, 1.01vw, 1.14rem);
	line-height: 1.65;
	margin-top: 80px;
	max-width: 600px;
}

.wanze-home__intro-copy p {
	margin: 0;
}

.wanze-home__intro-copy p + p {
	margin-top: 28px;
}

.wanze-home__intro-actions {
	margin-top: 106px;
}

.wanze-home__intro-button .wp-block-button__link {
	align-items: center;
	background: var(--wanze-cta);
	border: 0;
	border-radius: 8px;
	box-shadow: 0 6px 14px rgba(3, 105, 161, 0.22);
	color: #ffffff;
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	font-weight: 700;
	justify-content: space-between;
	min-height: 76px;
	min-width: 420px;
	padding: 10px 14px 10px 28px;
	transition: background-color 180ms ease, transform 180ms ease;
}

.wanze-home__intro-button .wp-block-button__link::after {
	align-items: center;
	background: #ffffff;
	border-radius: 3px;
	color: var(--wanze-blue);
	content: "↗";
	display: inline-flex;
	font-size: 1.85rem;
	font-weight: 400;
	height: 52px;
	justify-content: center;
	line-height: 1;
	width: 92px;
}

.wanze-home__intro-button .wp-block-button__link:hover,
.wanze-home__intro-button .wp-block-button__link:focus-visible {
	background: var(--wanze-blue);
	transform: translateY(-2px);
}

.wanze-home__intro-visual {
	align-self: start;
	box-sizing: border-box;
	min-height: 792px;
	padding-bottom: 74px;
	position: relative;
}

.wanze-home__intro-image {
	border-radius: 46px 46px 46px 112px;
	display: block;
	height: 740px;
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.wanze-home__intro-image::after {
	background: #ffffff;
	border-radius: 0 0 0 100%;
	bottom: -1px;
	content: "";
	height: 160px;
	left: 0;
	position: absolute;
	width: 165px;
	z-index: 1;
}

.wanze-home__intro-image img {
	display: block;
	height: 100% !important;
	min-height: 0;
	object-fit: cover;
	object-position: center;
	transform: scale(1.02);
	width: 100%;
}

.wanze-home__intro-culture {
	backdrop-filter: blur(14px) saturate(125%);
	-webkit-backdrop-filter: blur(14px) saturate(125%);
	background: rgba(255, 255, 255, 0.48);
	border: 1px solid rgba(255, 255, 255, 0.66);
	border-radius: 0 22px 22px 0;
	box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
	box-sizing: border-box;
	left: clamp(-72px, -4vw, -42px);
	max-width: 410px;
	padding: 28px 30px 26px;
	position: absolute;
	top: 132px;
	width: calc(100% - 86px);
	z-index: 2;
}

.wanze-home__intro-culture h3 {
	color: #13263d;
	font-size: 1.24rem;
	font-weight: 700;
	line-height: 1.25;
	margin: 0;
}

.wanze-home__intro-culture p {
	color: #526172;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 18px 0 0;
}

.wanze-home__intro-learn {
	align-items: center;
	bottom: 8px;
	color: #172033;
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	gap: 18px;
	line-height: 1.14;
	position: absolute;
	right: 5%;
	text-decoration: none;
	z-index: 3;
}

.wanze-home__intro-learn span {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 50%;
	color: #ffffff;
	display: inline-flex;
	font-size: 1.65rem;
	font-weight: 400;
	height: 58px;
	justify-content: center;
	line-height: 1;
	transition: background-color 180ms ease, transform 180ms ease;
	width: 58px;
}

.wanze-home__intro-learn:hover span,
.wanze-home__intro-learn:focus-visible span {
	background: var(--wanze-blue);
	transform: translate(2px, -2px);
}

@media (max-width: 1080px) {
	.wanze-home__intro-split {
		gap: 58px;
		grid-template-columns: minmax(0, 0.92fr) minmax(440px, 1.08fr);
	}

	.wanze-home__intro-panel {
		padding-top: 36px;
	}

	.wanze-home__intro-copy {
		margin-top: 58px;
	}

	.wanze-home__intro-actions {
		margin-top: 70px;
	}

	.wanze-home__intro-button .wp-block-button__link {
		min-width: 320px;
	}

	.wanze-home__intro-image {
		height: 650px;
	}

	.wanze-home__intro-visual {
		min-height: 700px;
	}
}

@media (max-width: 781px) {
	.wanze-home__intro {
		padding: 76px 20px 54px;
	}

	.wanze-home__intro-split {
		display: flex;
		flex-direction: column;
		gap: 54px;
		min-height: 0;
	}

	.wanze-home__intro-panel {
		max-width: none;
		padding-top: 0;
	}

	.wanze-home__intro-title {
		font-size: clamp(3.3rem, 16vw, 4.8rem);
		margin-top: 22px;
	}

	.wanze-home__intro-copy {
		font-size: 0.98rem;
		line-height: 1.68;
		margin-top: 46px;
	}

	.wanze-home__intro-actions {
		margin-top: 52px;
		width: 100%;
	}

	.wanze-home__intro-actions .wp-block-button,
	.wanze-home__intro-button .wp-block-button__link {
		width: 100%;
	}

	.wanze-home__intro-button .wp-block-button__link {
		min-width: 0;
	}

	.wanze-home__intro-visual {
		min-height: 0;
		padding-bottom: 72px;
		width: 100%;
	}

	.wanze-home__intro-image {
		border-radius: 32px 32px 32px 74px;
		height: min(119vw, 580px);
	}

	.wanze-home__intro-image::after {
		height: 104px;
		width: 110px;
	}

	.wanze-home__intro-culture {
		border-radius: 0 18px 18px 0;
		left: -20px;
		max-width: 315px;
		padding: 20px 22px;
		top: 74px;
		width: calc(100% - 42px);
	}

	.wanze-home__intro-culture h3 {
		font-size: 1.05rem;
	}

	.wanze-home__intro-culture p {
		font-size: 0.83rem;
		margin-top: 10px;
	}

	.wanze-home__intro-learn {
		bottom: 2px;
		font-size: 0.9rem;
		gap: 12px;
		right: 0;
	}

	.wanze-home__intro-learn span {
		font-size: 1.4rem;
		height: 48px;
		width: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-home__intro-button .wp-block-button__link,
	.wanze-home__intro-learn span {
		transition: none;
	}
}

/* OEM / ODM service introduction following the Who We Are module. */
.wanze-home__oem {
	background: #f5f8fb;
	padding: 112px 24px;
}

.wanze-home__oem-inner {
	display: grid;
	gap: clamp(60px, 9vw, 170px);
	grid-template-columns: minmax(280px, 0.72fr) minmax(520px, 1.28fr);
	margin: 0 auto;
	max-width: 1520px !important;
}

.wanze-home__oem-intro {
	align-self: start;
	max-width: 470px;
}

.wanze-home__oem-intro h2 {
	color: #101827;
	font-size: clamp(2.35rem, 3.35vw, 4rem);
	font-weight: 700;
	letter-spacing: -0.04em;
	line-height: 1.08;
	margin: 16px 0 0;
}

.wanze-home__oem-intro > p:not(.wanze-home__eyebrow) {
	color: #526172;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 1rem;
	line-height: 1.7;
	margin: 28px 0 0;
}

.wanze-home__oem-actions {
	margin-top: 42px;
}

.wanze-home__oem-button .wp-block-button__link {
	align-items: center;
	background: transparent;
	border: 1px solid var(--wanze-blue);
	border-radius: 0;
	color: var(--wanze-blue);
	display: inline-flex;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.92rem;
	font-weight: 700;
	gap: 16px;
	min-height: 50px;
	padding: 12px 18px 12px 20px;
	transition: background-color 180ms ease, color 180ms ease;
}

.wanze-home__oem-button .wp-block-button__link::after {
	content: "↗";
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

.wanze-home__oem-button .wp-block-button__link:hover,
.wanze-home__oem-button .wp-block-button__link:focus-visible {
	background: var(--wanze-blue);
	color: #ffffff;
}

.wanze-home__oem-list {
	border-top: 1px solid #cbd5e1;
}

.wanze-home__oem-item {
	align-items: start;
	border-bottom: 1px solid #cbd5e1;
	display: grid;
	gap: 28px;
	grid-template-columns: 58px minmax(190px, 0.78fr) minmax(240px, 1.22fr);
	padding: 34px 0 32px;
}

.wanze-home__oem-item > * {
	margin: 0 !important;
}

.wanze-home__oem-number {
	color: var(--wanze-blue);
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.35;
}

.wanze-home__oem-item h3 {
	color: #172033;
	font-size: clamp(1.14rem, 1.35vw, 1.38rem);
	font-weight: 700;
	line-height: 1.25;
}

.wanze-home__oem-item > p:not(.wanze-home__oem-number) {
	color: #5d6a79;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 0.94rem;
	line-height: 1.65;
}

@media (max-width: 1000px) {
	.wanze-home__oem-inner {
		gap: 58px;
		grid-template-columns: 1fr;
	}

	.wanze-home__oem-intro {
		max-width: 650px;
	}
}

@media (max-width: 781px) {
	.wanze-home__oem {
		padding: 74px 20px;
	}

	.wanze-home__oem-inner {
		gap: 46px;
	}

	.wanze-home__oem-intro h2 {
		font-size: clamp(2.25rem, 11vw, 3.15rem);
	}

	.wanze-home__oem-item {
		gap: 14px;
		grid-template-columns: 42px minmax(0, 1fr);
		padding: 28px 0;
	}

	.wanze-home__oem-item > p:not(.wanze-home__oem-number) {
		grid-column: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-home__oem-button .wp-block-button__link {
		transition: none;
	}
}

/* Shared type system: keep all Wanze modules on one dependable sans-serif family. */
.wanze-site-header,
.wanze-site-header .wp-block-navigation-item__content,
.wanze-home,
.wanze-home .wp-block-heading,
.wanze-home p,
.wanze-home li,
.wanze-home a,
.wanze-home .wp-block-button__link {
	font-family: var(--wanze-font);
}

/* Refine the home About Wanze section without changing its reference composition. */
.wanze-home__intro {
	padding: 84px 24px 96px;
}

.wanze-home__intro-split {
	gap: clamp(54px, 6.8vw, 128px);
	max-width: 1600px !important;
}

.wanze-home__intro-panel {
	padding-top: 74px;
}

.wanze-home__intro-title {
	font-family: var(--wanze-font);
	font-weight: 750;
	letter-spacing: -0.047em;
	margin-top: 22px;
}

.wanze-home__intro-copy {
	color: #5c6b7e;
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.03vw, 1.13rem);
	font-weight: 400;
	line-height: 1.72;
	margin-top: 62px;
	max-width: 575px;
}

.wanze-home__intro-copy p + p {
	margin-top: 25px;
}

.wanze-home__intro-actions {
	margin-top: 78px;
}

.wanze-home__intro-button .wp-block-button__link {
	font-family: var(--wanze-font);
	font-size: 0.96rem;
	font-weight: 700;
	letter-spacing: -0.01em;
	min-height: 72px;
	min-width: 400px;
}

.wanze-home__intro-button .wp-block-button__link::after {
	height: 48px;
	width: 86px;
}

.wanze-home__intro-culture {
	background: rgba(255, 255, 255, 0.48);
	border-color: rgba(255, 255, 255, 0.66);
	border-radius: 0 24px 24px 0;
	box-shadow: 0 20px 48px rgba(15, 23, 42, 0.13);
	left: clamp(-62px, -3.4vw, -38px);
	padding: 30px 32px 28px;
	top: 136px;
}

.wanze-home__intro-culture h3 {
	font-family: var(--wanze-font);
	font-size: 1.3rem;
	font-weight: 750;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.wanze-home__intro-culture p {
	color: #637287;
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	line-height: 1.62;
	margin-top: 15px;
}

.wanze-home__intro-learn {
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	font-weight: 650;
}

@media (max-width: 1080px) {
	.wanze-home__intro-panel {
		padding-top: 46px;
	}

	.wanze-home__intro-copy {
		margin-top: 52px;
	}

	.wanze-home__intro-actions {
		margin-top: 62px;
	}
}

/* Remove the former lower-left image cutout decoration. */
.wanze-home__intro-image::after {
	content: none;
}

/* Brand colour: red is reserved for small calls to action and key markers. */
.wanze-site-header .wp-block-navigation-item__content:hover,
.wanze-site-header .wp-block-navigation-item__content:focus-visible,
.wanze-site-header .current-menu-item > .wp-block-navigation-item__content,
.wanze-site-header .current-menu-ancestor > .wp-block-navigation-item__content,
.wanze-home__eyebrow,
.wanze-home__news-type,
.wanze-about__eyebrow,
.wanze-home__intro-title span,
.wanze-about__title span {
	color: var(--wanze-cta);
}

.wanze-home__hero-button .wp-block-button__link:hover,
.wanze-home__hero-button .wp-block-button__link:focus-visible,
.wanze-home__oem-button .wp-block-button__link:hover,
.wanze-home__oem-button .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
}

/* OEM / ODM: a Wanze-specific service card rail based on the supplied reference rhythm. */
.wanze-home__oem {
	background: #ffffff;
	padding: 84px 24px 76px;
}

.wanze-home__oem-inner {
	display: block;
	max-width: 1520px !important;
}

.wanze-home__oem-intro {
	margin: 0 auto 34px;
	max-width: 940px;
	text-align: center;
}

.wanze-home__oem-intro .wanze-home__eyebrow {
	color: var(--wanze-cta);
}

.wanze-home__oem-intro h2 {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(2.35rem, 3vw, 3.45rem);
	font-weight: 750;
	letter-spacing: -0.052em;
	line-height: 1.06;
	margin: 12px auto 0;
	max-width: 840px;
}

.wanze-home__oem-intro > p:not(.wanze-home__eyebrow) {
	color: #4f6277;
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.13vw, 1.18rem);
	line-height: 1.68;
	margin: 18px auto 0;
	max-width: 880px;
}

.wanze-home__oem-cards {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto;
	max-width: none !important;
}

.wanze-home__oem-cards > .wanze-home__oem-card {
	margin: 0 !important;
	max-width: none !important;
}

.wanze-home__oem-card {
	background: #102e58;
	border-radius: 22px;
	isolation: isolate;
	min-height: 420px;
	overflow: hidden;
	position: relative;
}

.wanze-home__oem-card::after {
	background: linear-gradient(180deg, rgba(8, 26, 55, 0.03) 26%, rgba(7, 24, 50, 0.88) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.wanze-home__oem-image {
	height: 100%;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	inset: 0;
	width: 100% !important;
	z-index: 0;
}

.wanze-home__oem-image img {
	display: block;
	filter: saturate(0.88) contrast(1.04);
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 420ms ease, filter 420ms ease;
	width: 100% !important;
}

.wanze-home__oem-card:nth-child(1) .wanze-home__oem-image img,
.wanze-home__oem-card:nth-child(2) .wanze-home__oem-image img {
	object-position: center;
}

.wanze-home__oem-card:nth-child(3) .wanze-home__oem-image img {
	object-position: 58% center;
}

.wanze-home__oem-card:nth-child(4) .wanze-home__oem-image img {
	object-position: 52% center;
}

.wanze-home__oem-card:hover .wanze-home__oem-image img {
	filter: saturate(1) contrast(1.03);
	transform: scale(1.045);
}

.wanze-home__oem-index {
	align-items: center;
	background: rgba(255, 255, 255, 0.16);
	border: 1px solid rgba(255, 255, 255, 0.42);
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.76rem;
	font-weight: 700;
	height: 34px;
	justify-content: center;
	left: 24px;
	letter-spacing: 0.1em;
	margin: 0 !important;
	position: absolute;
	top: 24px;
	width: 34px;
	z-index: 2;
}

.wanze-home__oem-card-copy {
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	max-width: none !important;
	padding: 30px 27px 28px;
	position: absolute;
	right: 0;
	z-index: 2;
}

.wanze-home__oem-card-copy::before {
	background: var(--wanze-cta);
	content: "";
	display: block;
	height: 3px;
	margin-bottom: 17px;
	width: 42px;
}

.wanze-home__oem-card-copy > * {
	margin: 0 !important;
}

.wanze-home__oem-card-copy h3 {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: clamp(1.34rem, 1.55vw, 1.68rem);
	font-weight: 750;
	letter-spacing: -0.032em;
	line-height: 1.08;
}

.wanze-home__oem-card-copy p {
	color: rgba(255, 255, 255, 0.84);
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	line-height: 1.5;
	margin-top: 12px !important;
}

.wanze-home__oem-footer {
	border-top: 1px solid #d9e2eb;
	gap: 24px;
	margin-top: 32px;
	max-width: none !important;
	padding-top: 28px;
}

.wanze-home__oem-footer > p {
	color: #52657a;
	font-family: var(--wanze-font);
	font-size: 1rem;
	margin: 0 !important;
}

.wanze-home__oem-actions {
	margin: 0;
}

.wanze-home__oem-button .wp-block-button__link {
	background: var(--wanze-cta);
	border: 0;
	border-radius: 999px;
	box-shadow: none;
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: 0.9rem;
	min-height: 52px;
	padding: 13px 20px 13px 24px;
}

.wanze-home__oem-button .wp-block-button__link:hover,
.wanze-home__oem-button .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	color: #ffffff;
}

/* Applications: an editorial application gallery using the supplied content list. */
.wanze-home__applications {
	background: #f8fafb;
	color: var(--wanze-ink);
	isolation: isolate;
	overflow: hidden;
	padding: 106px 24px 116px;
	position: relative;
}

.wanze-home__applications-backdrop {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0.16;
	pointer-events: none;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.wanze-home__applications-backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

.wanze-home__applications > :not(.wanze-home__applications-backdrop) {
	position: relative;
	z-index: 1;
}

/* Low-opacity technical watermarks for otherwise open content bands. */
.wanze-home__products,
.wanze-home__oem,
.wanze-home__news {
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.wanze-home__products-backdrop,
.wanze-home__oem-backdrop,
.wanze-home__news-backdrop {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0.055;
	pointer-events: none;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

/* Each homepage band carries a distinct low-contrast technical watermark. */
.wanze-home__oem-backdrop,
.wanze-home__news-backdrop {
	opacity: 0.16;
}

.wanze-home__products-backdrop img,
.wanze-home__oem-backdrop img,
.wanze-home__news-backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

.wanze-home__products > :not(.wanze-home__products-backdrop),
.wanze-home__oem > :not(.wanze-home__oem-backdrop),
.wanze-home__news > :not(.wanze-home__news-backdrop) {
	position: relative;
	z-index: 1;
}

.wanze-home__applications .wanze-home__eyebrow {
	color: var(--wanze-cta);
}

.wanze-home__applications-head {
	margin: 0 auto 30px;
	max-width: 900px;
	text-align: center;
}

.wanze-home__applications-head h2 {
	color: #13243d;
	font-family: var(--wanze-font);
	font-size: clamp(2.35rem, 3vw, 3.35rem);
	font-weight: 750;
	letter-spacing: -0.052em;
	line-height: 1.06;
	margin: 10px auto 0;
}

.wanze-home__applications-head > p:not(.wanze-home__eyebrow) {
	color: #5a6b7f;
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.12vw, 1.16rem);
	line-height: 1.65;
	margin: 12px auto 0;
	max-width: 790px;
}

.wanze-home__application-grid {
	display: grid;
	gap: 16px;
	grid-auto-rows: 300px;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	margin: 0 auto;
	max-width: 1520px !important;
}

.wanze-home__application-grid > .wanze-home__application-card {
	margin: 0 !important;
	max-width: none !important;
}

.wanze-home__application-card {
	background: #102e58;
	border-radius: 20px;
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

.wanze-home__application-card::after {
	background: linear-gradient(180deg, rgba(8, 23, 47, 0.02) 28%, rgba(8, 23, 47, 0.84) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.wanze-home__application-card--solar {
	grid-column: span 6;
}

.wanze-home__application-card--residential,
.wanze-home__application-card--commercial {
	grid-column: span 3;
}

.wanze-home__application-card--industrial,
.wanze-home__application-card--ev,
.wanze-home__application-card--telecom {
	grid-column: span 4;
}

.wanze-home__application-image {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.wanze-home__application-image img {
	display: block;
	filter: saturate(0.88) contrast(1.03);
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: filter 400ms ease, transform 400ms ease;
	width: 100% !important;
}

.wanze-home__application-card--solar .wanze-home__application-image img {
	object-position: center 62%;
}

.wanze-home__application-card--residential .wanze-home__application-image img {
	object-position: 58% center;
}

.wanze-home__application-card--commercial .wanze-home__application-image img,
.wanze-home__application-card--industrial .wanze-home__application-image img {
	object-position: center 55%;
}

.wanze-home__application-card:hover .wanze-home__application-image img {
	filter: saturate(1) contrast(1.02);
	transform: scale(1.045);
}

.wanze-home__application-card-copy {
	bottom: 0;
	box-sizing: border-box;
	left: 0;
	max-width: none !important;
	padding: 16px 20px 18px;
	position: absolute;
	right: 0;
	z-index: 2;
}

.wanze-home__application-card-copy > * {
	margin: 0 !important;
}

.wanze-home__application-grid .wanze-home__application-number {
	align-items: center;
	background: var(--wanze-cta);
	border: 0;
	border-radius: 999px;
	color: #ffffff;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 750;
	height: 24px;
	justify-content: center;
	letter-spacing: 0.08em;
	margin-bottom: 9px !important;
	padding: 0;
	width: 24px;
}

.wanze-home__application-card-copy h3 {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: clamp(1.1rem, 1.35vw, 1.42rem);
	font-weight: 750;
	letter-spacing: -0.03em;
	line-height: 1.12;
}

.wanze-home__application-card--solar .wanze-home__application-card-copy h3 {
	font-size: clamp(1.38rem, 1.7vw, 1.72rem);
}

@media (max-width: 960px) {
	.wanze-home__application-grid {
		grid-auto-rows: 270px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-home__application-card--solar,
	.wanze-home__application-card--residential,
	.wanze-home__application-card--commercial,
	.wanze-home__application-card--industrial,
	.wanze-home__application-card--ev,
	.wanze-home__application-card--telecom {
		grid-column: span 1;
	}
}

@media (max-width: 620px) {
	.wanze-home__applications {
		padding: 84px 20px;
	}

	.wanze-home__applications-head {
		margin-bottom: 36px;
	}

	.wanze-home__applications-head h2 {
		font-size: clamp(2.35rem, 11vw, 3.2rem);
	}

	.wanze-home__application-grid {
		grid-auto-rows: 288px;
		grid-template-columns: 1fr;
	}

	.wanze-home__application-card--solar,
	.wanze-home__application-card--residential,
	.wanze-home__application-card--commercial,
	.wanze-home__application-card--industrial,
	.wanze-home__application-card--ev,
	.wanze-home__application-card--telecom {
		grid-column: span 1;
	}
}

/* Certification: open document gallery with the light, floating composition of the reference. */
.wanze-home__certificates {
	background: #ffffff;
	isolation: isolate;
	overflow: hidden;
	padding: 82px 24px 48px;
	position: relative;
}

.wanze-home__certificates-backdrop {
	bottom: 0;
	height: 57%;
	left: 0;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: absolute;
	width: 100% !important;
	z-index: -1;
}

.wanze-home__certificates-backdrop::after {
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.12) 48%, rgba(255, 255, 255, 0) 100%);
	content: "";
	inset: 0;
	position: absolute;
}

.wanze-home__certificates-backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center bottom;
	width: 100% !important;
}

.wanze-home__certificates-inner {
	margin: 0 auto;
	max-width: 1600px !important;
	position: relative;
	width: min(calc(100% - 64px), 1600px);
	z-index: 2;
}

.wanze-home__certificates-head {
	margin: 0 auto 62px;
	max-width: 620px !important;
	text-align: center;
}

.wanze-home__certificates-head h2 {
	color: #101820;
	font-family: var(--wanze-font);
	font-size: clamp(2.75rem, 4.1vw, 4.55rem);
	font-weight: 780;
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: 0;
}

.wanze-home__certificates-head > p {
	color: #647080;
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.2vw, 1.17rem);
	line-height: 1.5;
	margin: 17px auto 0;
}

.wanze-home__certificate-grid {
	align-items: end;
	display: grid;
	gap: clamp(18px, 2.2vw, 36px);
	grid-template-columns: 0.88fr 0.96fr 1.34fr 0.96fr 0.88fr;
	margin: 0 auto;
	max-width: 1600px !important;
}

.wanze-home__certificate-grid > .wanze-home__certificate-card {
	margin: 0 !important;
	max-width: none !important;
}

.wanze-home__certificate-card {
	align-items: end;
	display: flex;
	justify-content: center;
	padding-bottom: 35px;
	transition: filter 220ms ease, transform 220ms ease;
}

.wanze-home__certificate-card:nth-child(1) {
	padding-bottom: 58px;
}

.wanze-home__certificate-card:nth-child(2) {
	padding-bottom: 25px;
}

.wanze-home__certificate-card:nth-child(3) {
	padding-bottom: 0;
	position: relative;
	transform: translateY(-24px);
	z-index: 2;
}

.wanze-home__certificate-card:nth-child(5) {
	padding-bottom: 50px;
}

.wanze-home__certificate-card:hover {
	filter: drop-shadow(0 16px 15px rgba(15, 23, 42, 0.16));
	transform: translateY(-7px);
}

.wanze-home__certificate-card:nth-child(3):hover {
	transform: translateY(-31px);
}

.wanze-home__certificate-image {
	background: transparent;
	display: block;
	margin: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.wanze-home__certificate-image img {
	display: block;
	height: auto !important;
	margin: 0 auto;
	max-width: 100% !important;
	object-fit: contain;
	width: 100% !important;
}

.wanze-home__certificate-card:nth-child(3) .wanze-home__certificate-image {
	filter: drop-shadow(0 20px 18px rgba(15, 23, 42, 0.2));
	width: 92% !important;
}

.wanze-home__certificate-card:nth-child(1) .wanze-home__certificate-image,
.wanze-home__certificate-card:nth-child(5) .wanze-home__certificate-image {
	width: 88% !important;
}

.wanze-home__certificate-card:nth-child(2) .wanze-home__certificate-image,
.wanze-home__certificate-card:nth-child(4) .wanze-home__certificate-image {
	width: 92% !important;
}

@media (max-width: 960px) {
	.wanze-home__certificates-inner {
		width: 100%;
	}

	.wanze-home__certificates {
		padding-top: 76px;
	}

	.wanze-home__certificates-backdrop {
		height: 52%;
	}

	.wanze-home__certificate-grid {
		gap: 28px 44px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		max-width: 610px !important;
	}

	.wanze-home__certificate-card,
	.wanze-home__certificate-card:nth-child(n) {
		padding-bottom: 0;
		transform: none;
	}

	.wanze-home__certificate-card:nth-child(1) .wanze-home__certificate-image,
	.wanze-home__certificate-card:nth-child(3) .wanze-home__certificate-image,
	.wanze-home__certificate-card:nth-child(4) .wanze-home__certificate-image,
	.wanze-home__certificate-card:nth-child(5) .wanze-home__certificate-image {
		width: 88% !important;
	}

	.wanze-home__certificate-card:nth-child(5) {
		grid-column: 1 / -1;
		justify-self: center;
		width: min(44%, 230px);
	}

	.wanze-home__certificate-card:nth-child(3) .wanze-home__certificate-image {
		filter: none;
		width: 88% !important;
	}
}

@media (max-width: 620px) {
	.wanze-home__certificates {
		padding: 66px 20px 36px;
	}

	.wanze-home__certificates-head {
		margin-bottom: 42px;
	}

	.wanze-home__certificates-head h2 {
		font-size: clamp(2.6rem, 13vw, 3.55rem);
	}

	.wanze-home__certificate-grid {
		gap: 26px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-home__certificate-card:nth-child(5) {
		width: min(54%, 210px);
	}
}

@media (max-width: 1080px) {
	.wanze-home__oem-cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-home__oem-card {
		min-height: 420px;
	}
}

@media (max-width: 620px) {
	.wanze-home__oem {
		padding: 84px 20px 72px;
	}

	.wanze-home__oem-intro {
		margin-bottom: 38px;
	}

	.wanze-home__oem-intro h2 {
		font-size: clamp(2.3rem, 11vw, 3.15rem);
	}

	.wanze-home__oem-cards {
		grid-template-columns: 1fr;
	}

	.wanze-home__oem-card {
		min-height: 430px;
	}

	.wanze-home__oem-footer {
		align-items: flex-start;
		flex-direction: column;
		margin-top: 24px;
	}
}

@media (max-width: 781px) {
	.wanze-home__intro {
		padding: 72px 20px 62px;
	}

	.wanze-home__intro-panel {
		padding-top: 0;
	}

	.wanze-home__intro-copy {
		margin-top: 38px;
	}

	.wanze-home__intro-actions {
		margin-top: 46px;
	}

	.wanze-home__intro-button .wp-block-button__link {
		min-height: 68px;
	}
}

/* Final desktop balance for the About Wanze composition. */
@media (min-width: 782px) {
	.wanze-home__intro {
		padding-bottom: 88px;
	}

	.wanze-home__intro-split {
		gap: clamp(58px, 4.2vw, 84px) !important;
		grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
		max-width: 1720px !important;
	}

	.wanze-home__intro-panel {
		max-width: 650px;
		padding-top: 66px;
	}

	.wanze-home__intro-copy {
		max-width: 620px;
	}

	.wanze-home__intro-visual {
		margin: 0 !important;
		max-width: none !important;
		min-height: 732px;
		padding-bottom: 78px;
		width: 100% !important;
	}

	.wanze-home__intro-image {
		border-radius: 40px 40px 40px 92px;
		height: 670px;
		max-width: none !important;
		width: 100% !important;
	}

	.wanze-home__intro-image img {
		object-position: 38% center;
	}

	.wanze-home__intro-image::after {
		content: none;
	}

	.wanze-home__intro-culture {
		left: clamp(-76px, -4vw, -52px);
		max-width: 396px;
		padding: 27px 30px 25px;
		top: 116px;
	}

	.wanze-home__intro-culture::before {
		background: var(--wanze-cta);
		border-radius: 999px;
		content: "";
		height: 3px;
		left: 30px;
		position: absolute;
		top: 0;
		width: 46px;
	}

	.wanze-home__intro-learn {
		bottom: 12px;
		right: 3%;
	}
}

/* News: editorial card treatment for the homepage news section. */
.wanze-home__news {
	background:
		radial-gradient(circle at 89% 12%, rgba(148, 197, 224, 0.16), transparent 24rem),
		#f4f7fa;
	padding-bottom: 116px;
	padding-top: 116px;
}

.wanze-home__news .wanze-home__section-head {
	align-items: flex-end;
	border-bottom: 1px solid #d9e2e9;
	margin-bottom: 32px;
	padding-bottom: 26px;
}

.wanze-home__news .wanze-home__section-head h2 {
	color: #102f4f;
	font-size: clamp(2.15rem, 3vw, 3.2rem);
	margin-top: 10px;
}

.wanze-home__news .wanze-home__section-head h2::after {
	background: var(--wanze-cta);
	content: "";
	display: block;
	height: 3px;
	margin-top: 17px;
	width: 44px;
}

.wanze-home__news .wanze-link--news {
	margin: 0 0 5px;
}

.wanze-home__news .wanze-link--news a {
	align-items: center;
	border-bottom: 1px solid currentColor;
	color: var(--wanze-blue);
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 700;
	gap: 12px;
	letter-spacing: 0.055em;
	padding-bottom: 7px;
	text-decoration: none;
	text-transform: uppercase;
	transition: color 180ms ease, gap 180ms ease;
}

.wanze-home__news .wanze-link--news a::after {
	content: "↗";
	font-size: 1.05rem;
	line-height: 1;
}

.wanze-home__news .wanze-link--news a:hover,
.wanze-home__news .wanze-link--news a:focus-visible {
	color: var(--wanze-cta);
	gap: 16px;
}

.wanze-home__news-grid {
	gap: 16px;
}

.wanze-home__news-grid > .wp-block-column {
	background: #ffffff;
	border: 1px solid #dfe7ed;
	border-left: 1px solid #dfe7ed;
	border-radius: 16px;
	box-shadow: 0 12px 28px rgba(20, 45, 68, 0.045);
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 238px;
	overflow: hidden;
	padding: 29px 30px 27px;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-home__news-grid > .wp-block-column::after {
	color: #96a9b8;
	content: "NEWS";
	font-size: 0.69rem;
	font-weight: 700;
	letter-spacing: 0.13em;
	margin-top: 32px;
}

.wanze-home__news-grid > .wp-block-column:nth-child(1)::before,
.wanze-home__news-grid > .wp-block-column:nth-child(2)::before,
.wanze-home__news-grid > .wp-block-column:nth-child(3)::before {
	color: #c4d1da;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 3.2rem;
	font-weight: 400;
	line-height: 0.75;
	position: absolute;
	right: 24px;
	top: 24px;
}

.wanze-home__news-grid > .wp-block-column:nth-child(1)::before {
	content: "01";
}

.wanze-home__news-grid > .wp-block-column:nth-child(2)::before {
	content: "02";
}

.wanze-home__news-grid > .wp-block-column:nth-child(3)::before {
	content: "03";
}

.wanze-home__news .wanze-home__news-type {
	color: var(--wanze-cta);
	font-size: 0.7rem;
	letter-spacing: 0.1em;
	padding-right: 54px;
}

.wanze-home__news h3 {
	color: #153a68;
	font-size: clamp(1.18rem, 1.4vw, 1.48rem);
	line-height: 1.38;
	margin: 26px 0 0;
	max-width: 18ch;
}

.wanze-home__news-grid > .wp-block-column:hover {
	border-color: #b4cedf;
	box-shadow: 0 18px 34px rgba(20, 45, 68, 0.1);
	transform: translateY(-5px);
}

@media (max-width: 781px) {
	.wanze-home__news {
		padding-bottom: 76px;
		padding-top: 76px;
	}

	.wanze-home__news .wanze-home__section-head {
		align-items: flex-start;
		flex-direction: column;
		gap: 22px;
	}

	.wanze-home__news-grid {
		gap: 14px;
	}

	.wanze-home__news-grid > .wp-block-column {
		min-height: 205px;
		padding: 25px 24px 23px;
	}

	.wanze-home__news h3 {
		font-size: 1.22rem;
		max-width: 20ch;
	}
}

/* News: featured story and indexed article layout, based on the supplied reference. */
.wanze-home__news {
	background: #ffffff;
	padding-bottom: 92px;
	padding-top: 90px;
}

.wanze-home__news-heading {
	border: 0;
	margin: 0 auto 58px !important;
	max-width: 760px !important;
	padding: 0;
	text-align: center;
}

.wanze-home__news-heading h2 {
	color: #202833;
	display: inline-block;
	font-size: clamp(2rem, 2.55vw, 2.72rem);
	font-weight: 800;
	letter-spacing: 0.015em;
	line-height: 1;
	margin: 0;
	position: relative;
	text-transform: uppercase;
}

.wanze-home__news-heading h2::before,
.wanze-home__news-heading h2::after {
	background: #d7d7d7;
	content: "";
	height: 1px;
	position: absolute;
	top: 50%;
	width: min(24vw, 310px);
}

.wanze-home__news-heading h2::before {
	box-shadow: 14px -7px 0 -6px #c9c9c9;
	right: calc(100% + 30px);
}

.wanze-home__news-heading h2::after {
	box-shadow: -14px 7px 0 -6px #c9c9c9;
	left: calc(100% + 30px);
	margin: 0;
}

.wanze-home__news-heading > p {
	color: #7d848b;
	font-size: 0.96rem;
	line-height: 1.6;
	margin: 20px 0 0;
}

.wanze-home__news-feature {
	align-items: center;
	border: 0;
	gap: clamp(42px, 5.2vw, 92px);
	margin-bottom: 64px;
}

.wanze-home__news-feature > .wp-block-column:first-child {
	flex-basis: 47% !important;
}

.wanze-home__news-feature > .wp-block-column:last-child {
	flex-basis: 53% !important;
}

.wanze-home__news-feature-image {
	border-radius: 22px;
	display: block;
	margin: 0 !important;
	overflow: hidden;
	width: 100%;
}

.wanze-home__news-feature-image img {
	aspect-ratio: 1.38 / 1;
	display: block;
	height: 100% !important;
	object-fit: cover;
	width: 100% !important;
}

.wanze-home__news-feature-copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	max-width: 690px;
	text-align: left;
}

/* Keep every editorial element on the same left baseline. The constrained
 * Group block otherwise applies auto inline margins to its direct children. */
.wanze-home__news-feature-copy > h3,
.wanze-home__news-feature-copy > p,
.wanze-home__news-feature-copy > .wanze-home__news-divider,
.wanze-home__news-feature-copy > .wanze-home__news-feature-actions {
	margin-inline-end: 0 !important;
	margin-inline-start: 0 !important;
	text-align: left;
}

.wanze-home__news-feature-copy > h3,
.wanze-home__news-feature-copy > .wanze-home__news-feature-actions {
	align-self: flex-start;
}

.wanze-home__news-feature-copy > p,
.wanze-home__news-feature-copy > .wanze-home__news-divider {
	align-self: stretch;
}

.wanze-home__news-feature-copy > .wanze-home__news-meta {
	justify-content: flex-start;
	width: 100%;
}

.wanze-home__news-feature-copy > .wanze-home__news-feature-actions {
	justify-content: flex-start;
}

.wanze-home__news-feature-copy h3 {
	color: #202833;
	font-size: clamp(1.55rem, 2.05vw, 2.3rem);
	font-weight: 750;
	letter-spacing: -0.018em;
	line-height: 1.28;
	margin: 0;
	max-width: 28ch;
}

.wanze-home__news-feature-copy h3 a,
.wanze-home__news-index-link {
	color: inherit;
	text-decoration: none;
}

.wanze-home__news-feature-copy h3 a:hover,
.wanze-home__news-feature-copy h3 a:focus-visible,
.wanze-home__news-index-link:hover h3,
.wanze-home__news-index-link:focus-visible h3 {
	color: var(--wanze-cta);
}

.wanze-home__news-meta {
	align-items: center;
	color: #818990;
	display: flex;
	font-size: 0.78rem;
	font-weight: 600;
	gap: 9px;
	letter-spacing: 0.02em;
	line-height: 1.3;
	margin: 21px 0 0;
}

.wanze-home__news-meta span {
	color: #c4c8cc;
}

.wanze-home__news-divider {
	background: #d4d8db;
	border: 0;
	height: 1px;
	margin: 25px 0 28px;
	max-width: none !important;
	width: 100%;
}

.wanze-home__news-feature-copy > p:not(.wanze-home__news-meta) {
	color: #6d747c;
	font-size: 0.98rem;
	line-height: 1.76;
	margin: 0;
	max-width: 64ch;
}

.wanze-home__news-feature-actions {
	margin-top: 52px;
}

/* WordPress flow layouts set margin-block-start with !important. */
.wanze-home__news-feature-copy > .wanze-home__news-feature-actions {
	margin-block-start: 52px !important;
}

/* Closing enquiry panel: quieter than the hero, with the red reserved for action. */
.wanze-home__cta {
	background: #f1f4f6;
	border-bottom: 0;
	border-top: 1px solid rgba(21, 58, 104, 0.08);
	color: #71808c;
	padding: clamp(34px, 3.6vw, 48px) 24px;
}

/* Keep the closing CTA directly attached to the preceding news band. */
.wanze-home__news + .wanze-home__cta {
	margin-block-start: 0 !important;
}

/* Keep the OEM / ODM service rail visually connected to Applications. */
.wanze-home__oem + .wanze-home__applications {
	margin-block-start: 0 !important;
}

.wanze-home__cta > .wp-block-group {
	align-items: center;
	column-gap: clamp(28px, 4vw, 58px);
	row-gap: 20px;
}

.wanze-home__cta h2 {
	color: #243746;
	font-size: clamp(1.55rem, 2vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -0.026em;
	line-height: 1.18;
	margin: 0;
	max-width: 21ch;
}

.wanze-home__cta p {
	color: #71808c;
	font-size: clamp(0.9rem, 1vw, 1rem);
	line-height: 1.6;
	margin: 9px 0 0;
	max-width: 60ch;
}

.wanze-home__cta .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	box-shadow: none;
	color: #ffffff !important;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.025em;
	min-height: 48px;
	padding: 13px 24px;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
}

.wanze-home__cta .wp-block-button__link:hover,
.wanze-home__cta .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-2px);
}

@media (min-width: 782px) {
	.wanze-home__cta h2 {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 781px) {
	.wanze-home__cta {
		padding-bottom: 34px;
		padding-top: 34px;
	}

	.wanze-home__cta h2 {
		font-size: clamp(1.68rem, 7.8vw, 2.15rem);
		max-width: 18ch;
	}

	.wanze-home__cta .wp-block-buttons {
		margin-block-start: 6px !important;
	}
}

/* Footer: a compact dark information panel based on the supplied reference. */
.wanze-site-footer {
	background: #121517;
	border-radius: 0;
	color: #aeb5bd;
	margin-top: 0 !important;
	padding: clamp(58px, 6vw, 86px) 24px 26px;
}

body .wp-site-blocks > footer.wp-block-template-part {
	margin-block-start: 0 !important;
}

/* The template part is wrapped by WordPress, so reset the actual adjacent wrapper too. */
body .wp-site-blocks > main + .wp-block-template-part,
body .wp-site-blocks > .entry-content + .wp-block-template-part,
body .wp-site-blocks > .wanze-home__cta + .wp-block-template-part {
	margin-block-start: 0 !important;
}

.wanze-site-footer > .wanze-site-footer__top,
.wanze-site-footer > .wanze-site-footer__bottom,
.wanze-site-footer > .wanze-site-footer__rule {
	max-width: min(100%, 1360px) !important;
}

@media (min-width: 782px) {
	.wanze-site-footer > .wanze-site-footer__top,
	.wanze-site-footer > .wanze-site-footer__bottom,
	.wanze-site-footer > .wanze-site-footer__rule {
		max-width: min(calc(100% - 64px), 1600px) !important;
		width: min(calc(100% - 64px), 1600px) !important;
	}
}

.wanze-site-footer__top {
	align-items: start;
	display: grid;
	gap: clamp(36px, 3vw, 64px);
	grid-template-columns: minmax(230px, 1.05fr) minmax(150px, 0.48fr) minmax(180px, 0.72fr) minmax(250px, 1fr);
}

@media (min-width: 782px) and (max-width: 1200px) {
	.wanze-site-footer__top {
		column-gap: 56px;
		grid-template-columns: minmax(240px, 1.1fr) minmax(220px, 0.9fr);
		row-gap: 46px;
	}
}

.wanze-site-footer__top > * {
	margin-block: 0 !important;
}

.wanze-site-footer__details {
	display: none;
}

.wanze-site-footer__brand,
.wanze-site-footer__products,
.wanze-site-footer__contact {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
}

.wanze-site-footer__brand > *,
.wanze-site-footer__products > *,
.wanze-site-footer__contact > * {
	margin-inline: 0 !important;
}

.wanze-site-footer .wp-block-site-logo {
	line-height: 0;
	margin: 0 0 22px;
}

.wanze-site-footer .wp-block-site-logo img {
	filter: none;
	height: auto;
	max-width: 176px !important;
	width: 176px !important;
}

.wanze-site-footer__brand > p,
.wanze-site-footer__contact > p {
	color: #aeb5bd;
	font-size: 1.14rem;
	line-height: 1.76;
	margin: 0;
	max-width: 35ch;
}

.wanze-site-footer h2 {
	color: #ffffff;
	font-size: 1.05rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	line-height: 1.2;
	margin: 3px 0 18px;
	white-space: nowrap;
	text-transform: uppercase;
}

.wanze-site-footer__links .wp-block-navigation,
.wanze-site-footer__links .wp-block-navigation__container {
	display: block;
	margin: 0;
	width: 100%;
}

.wanze-site-footer__links .wp-block-navigation__container {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	gap: 9px !important;
}

.wanze-site-footer__links .wp-block-navigation {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	gap: 9px !important;
}

.wanze-site-footer__links .wp-block-navigation-item {
	margin: 0 !important;
	white-space: nowrap;
}

.wanze-site-footer__links .wp-block-navigation-item__content {
	color: #b8bec5;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.3;
	padding: 0;
	text-decoration: none;
	text-transform: none;
	transition: color 160ms ease;
}

.wanze-site-footer__products > p {
	margin: 0;
}

.wanze-site-footer__products > p + p {
	margin-top: 9px;
}

.wanze-site-footer__products > p a {
	color: #b8bec5;
	font-family: "Avenir Next", Avenir, "Helvetica Neue", Arial, sans-serif;
	font-size: 17px;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.3;
	text-decoration: none;
	transition: color 160ms ease;
}

.wanze-site-footer__products > p a:hover,
.wanze-site-footer__products > p a:focus-visible {
	color: #ffffff;
}

.wanze-site-footer__links .wp-block-navigation-item__content:hover,
.wanze-site-footer__links .wp-block-navigation-item__content:focus-visible {
	color: #ffffff;
}

.wanze-site-footer__contact > p {
	margin-bottom: 22px;
}

.wanze-site-footer__action {
	margin: 0 !important;
}

.wanze-site-footer__action .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	color: #ffffff !important;
	font-size: 0.92rem;
	font-weight: 750;
	letter-spacing: 0.045em;
	min-height: 46px;
	padding: 12px 20px;
	text-transform: uppercase;
}

.wanze-site-footer__action .wp-block-button__link:hover,
.wanze-site-footer__action .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
}

.wanze-site-footer__rule {
	background: rgba(255, 255, 255, 0.14);
	border: 0;
	height: 1px;
	margin: clamp(48px, 5vw, 68px) auto 24px !important;
	width: min(100%, 1360px) !important;
}

.wanze-site-footer__bottom {
	gap: 14px 28px;
}

.wanze-site-footer__bottom p {
	color: #858e98;
	font-size: 0.96rem;
	line-height: 1.6;
	margin: 0;
}

.wanze-site-footer__bottom > a {
	color: #ef5a5d;
}

.wanze-site-footer__bottom > a:hover,
.wanze-site-footer__bottom > a:focus-visible {
	color: #ffffff;
}

@media (max-width: 781px) {
	.wanze-site-footer {
		background: #121517;
		border-top: 0;
		border-radius: 0;
		color: #aeb5bd;
		padding: 40px 20px 22px;
	}

	.wanze-site-footer__top {
		gap: 0;
		grid-template-columns: 1fr;
	}

	.wanze-site-footer__products,
	.wanze-site-footer__links,
	.wanze-site-footer__contact {
		display: none;
	}

	.wanze-site-footer .wp-block-site-logo {
		border-bottom: 0;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.wanze-site-footer .wp-block-site-logo img {
		max-width: 156px !important;
		width: 156px !important;
	}

	.wanze-site-footer__brand > p {
		border-top: 1px solid rgba(255, 255, 255, 0.14);
		color: #aeb5bd;
		display: block;
		font-size: 1rem;
		line-height: 1.65;
		margin: 24px 0 0;
		max-width: none;
		padding-top: 26px;
		width: 100%;
	}

	.wanze-site-footer__brand {
		border-bottom: 0;
		padding-bottom: 0;
		width: 100%;
	}

	.wanze-site-footer__details {
		display: none;
	}

	.wanze-site-footer__rule {
		background: rgba(255, 255, 255, 0.14);
		margin-bottom: 18px !important;
		margin-top: 32px !important;
	}

	.wanze-site-footer__bottom {
		align-items: flex-start;
		flex-direction: column;
		gap: 8px;
	}

	.wanze-site-footer__bottom p {
		color: #858e98;
		font-size: 0.84rem;
	}

	.wanze-site-footer__bottom a {
		color: inherit;
	}
}

.wanze-home__news-feature-button .wp-block-button__link {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 999px;
	color: #ffffff !important;
	display: inline-flex;
	font-size: 0.78rem;
	font-weight: 800;
	gap: 20px;
	letter-spacing: 0.01em;
	min-height: 50px;
	padding: 7px 9px 7px 22px;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
}

.wanze-home__news-feature-button .wp-block-button__link::after {
	align-items: center;
	background: #ffffff;
	border-radius: 50%;
	color: var(--wanze-cta);
	content: "›";
	display: inline-flex;
	font-size: 1.8rem;
	font-weight: 400;
	height: 32px;
	justify-content: center;
	line-height: 1;
	padding-bottom: 3px;
	width: 32px;
}

.wanze-home__news-feature-button .wp-block-button__link:hover,
.wanze-home__news-feature-button .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-2px);
}

.wanze-home__news-index {
	border-top: 1px solid #d9dddf;
	gap: 0;
	margin-top: 0;
	padding-top: 42px;
}

.wanze-home__news-index > .wp-block-column {
	border-left: 1px solid #d9dddf;
	min-height: 128px;
	padding: 0;
}

.wanze-home__news-index-link {
	display: block;
	min-height: 128px;
	padding: 0 clamp(28px, 3vw, 52px);
	position: relative;
}

.wanze-home__news-index > .wp-block-column:first-child {
	border-left: 0;
}

.wanze-home__news-index > .wp-block-column:first-child .wanze-home__news-index-link {
	padding-left: 0;
}

.wanze-home__news-index-link::after {
	border-left: 7px solid #202833;
	border-bottom: 5px solid transparent;
	border-top: 5px solid transparent;
	bottom: 31px;
	content: "";
	position: absolute;
	right: clamp(28px, 3vw, 52px);
}

.wanze-home__news-index h3 {
	color: #222a34;
	font-size: clamp(1.08rem, 1.32vw, 1.38rem);
	font-weight: 750;
	line-height: 1.28;
	margin: 0;
	max-width: 24ch;
}

.wanze-home__news-index .wanze-home__news-meta {
	margin-top: 30px;
}

@media (max-width: 781px) {
	.wanze-home__news {
		padding-bottom: 66px;
		padding-top: 68px;
	}

	.wanze-home__news-heading {
		margin-bottom: 40px !important;
	}

	.wanze-home__news-heading h2 {
		font-size: clamp(1.8rem, 9vw, 2.35rem);
	}

	.wanze-home__news-heading h2::before,
	.wanze-home__news-heading h2::after {
		display: none;
	}

	.wanze-home__news-feature {
		gap: 30px;
		margin-bottom: 46px;
	}

	.wanze-home__news-feature-image {
		border-radius: 16px;
	}

	.wanze-home__news-feature-copy h3 {
		font-size: 1.62rem;
	}

	.wanze-home__news-feature-actions {
		margin-top: 52px;
	}

	.wanze-home__news-index {
		gap: 26px;
		padding-top: 30px;
	}

	.wanze-home__news-index > .wp-block-column,
	.wanze-home__news-index > .wp-block-column:first-child {
		border-left: 0;
		border-top: 1px solid #d9dddf;
		min-height: auto;
		padding: 0;
	}

	.wanze-home__news-index-link {
		min-height: auto;
		padding: 25px 28px 25px 0;
	}

.wanze-home__news-index > .wp-block-column:first-child {
	border-top: 0;
}

.wanze-home__news-index > .wp-block-column:first-child .wanze-home__news-index-link {
	padding-top: 0;
}

	.wanze-home__news-index-link::after,
	.wanze-home__news-index > .wp-block-column:first-child .wanze-home__news-index-link::after {
		bottom: 30px;
		right: 3px;
	}

	.wanze-home__news-index .wanze-home__news-meta {
		margin-top: 22px;
	}
}

/* Scroll reveals add a restrained left/right reading rhythm across the homepage. */
html.wanze-scroll-ready [data-wanze-reveal] {
	opacity: 0;
	transition: opacity 560ms ease var(--wanze-reveal-delay, 0ms), transform 620ms cubic-bezier(0.22, 1, 0.36, 1) var(--wanze-reveal-delay, 0ms);
	will-change: opacity, transform;
}

html.wanze-scroll-ready [data-wanze-reveal="left"] {
	transform: translate3d(-34px, 0, 0);
}

html.wanze-scroll-ready [data-wanze-reveal="right"] {
	transform: translate3d(34px, 0, 0);
}

html.wanze-scroll-ready [data-wanze-reveal="up"] {
	transform: translate3d(0, 24px, 0);
}

html.wanze-scroll-ready [data-wanze-reveal].is-visible {
	opacity: 1;
	transform: var(--wanze-reveal-visible-transform, translate3d(0, 0, 0));
	will-change: auto;
}

@media (max-width: 781px) {
	html.wanze-scroll-ready [data-wanze-reveal="left"],
	html.wanze-scroll-ready [data-wanze-reveal="right"] {
		transform: translate3d(0, 20px, 0);
	}
}

@media (prefers-reduced-motion: reduce) {
	html.wanze-scroll-ready [data-wanze-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Homepage product categories are integrated above the existing product grid. */
.wanze-home__product-categories {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
	margin: 0 auto 42px;
	max-width: 1120px;
}

.wanze-home__product-category {
	background: #ffffff;
	border: 1px solid #dce3e8;
	border-radius: 999px;
	color: #243746;
	cursor: pointer;
	font-family: var(--wanze-font);
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.2;
	min-height: 54px;
	padding: 13px 28px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.wanze-home__product-category:hover,
.wanze-home__product-category:focus-visible {
	border-color: var(--wanze-cta);
	color: var(--wanze-cta);
}

.wanze-home__product-category.is-active {
	background: #111111;
	border-color: #111111;
	color: #ffffff;
}

@media (prefers-reduced-motion: reduce) {
	.wanze-home__product-card,
	.wanze-home__product-card figure img {
		transition: none;
	}
}

/* WordPress emits a generated grid-container class with a two-column layout.
 * This selector keeps the existing card design while restoring four desktop columns. */
.wanze-home__products .wanze-home__product-grid.wp-block-group-is-layout-grid {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 768px) {
	.wanze-home__products .wanze-home__product-grid.wp-block-group-is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 480px) {
	.wanze-home__products .wanze-home__product-grid.wp-block-group-is-layout-grid {
		grid-template-columns: 1fr !important;
	}
}

@media (max-width: 620px) {
	.wanze-home__product-categories {
		gap: 10px;
		margin-bottom: 30px;
	}

	.wanze-home__product-category {
		flex: 1 1 100%;
		min-height: 48px;
		padding: 11px 18px;
	}
}

/* A shared scale keeps the homepage's content-module titles visually consistent. */
.wanze-home__products .wanze-home__section-head h2,
.wanze-home__intro-title,
.wanze-home__oem-intro h2,
.wanze-home__applications-head h2,
.wanze-home__certificates-head h2,
.wanze-home__news-heading h2,
.wanze-home__cta h2 {
	font-size: clamp(2.35rem, 3vw, 3.35rem);
	text-transform: none;
}

@media (max-width: 620px) {
	.wanze-home__products .wanze-home__section-head h2,
	.wanze-home__intro-title,
	.wanze-home__oem-intro h2,
	.wanze-home__applications-head h2,
	.wanze-home__certificates-head h2,
	.wanze-home__news-heading h2,
	.wanze-home__cta h2 {
		font-size: clamp(2.3rem, 10vw, 3.15rem);
	}
}

/* Keep the desktop content bands within a practical single-viewport reading rhythm. */
@media (min-width: 782px) {
	.wanze-home__products {
		padding-bottom: 48px;
		padding-top: 48px;
	}

	/* Show the eight featured products as a compact four-column, two-row grid.
	 * Filtering still removes cards in place, so the existing category behaviour
	 * remains unchanged. */
	.wanze-home__products .wanze-home__section-head {
		margin-bottom: 28px;
	}

	.wanze-home__product-categories {
		margin-bottom: 28px;
	}

	.wanze-home__products .wanze-home__product-grid,
	.wanze-home__products .wanze-home__product-grid.wp-block-group-is-layout-grid {
		column-gap: 18px;
		grid-auto-flow: row;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		grid-template-rows: repeat(2, auto);
		overflow: visible;
		padding: 0;
		row-gap: 18px;
	}

	.wanze-home__product-card {
		padding-bottom: 12px;
	}

	.wanze-home__product-card figure {
		height: clamp(190px, 20svh, 218px);
		margin-bottom: 8px;
	}

	.wanze-home__intro {
		padding-bottom: clamp(48px, 6svh, 72px);
		padding-top: clamp(48px, 6svh, 72px);
	}

	.wanze-home__intro-split,
	.wanze-home__intro-visual {
		min-height: 0;
	}

	.wanze-home__intro-image {
		height: clamp(500px, 63svh, 620px);
	}

	.wanze-home__oem {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.wanze-home__oem-card {
		min-height: clamp(340px, 36svh, 380px);
	}

	.wanze-home__applications {
		padding-bottom: 72px;
		padding-top: 72px;
	}

	.wanze-home__application-grid {
		grid-auto-rows: clamp(220px, 27svh, 280px);
	}

	.wanze-home__news {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.wanze-home__news-heading {
		margin-bottom: 36px !important;
	}

	.wanze-home__news-feature {
		margin-bottom: 44px;
	}

	.wanze-home__news-feature-image,
	.wanze-home__news-feature-image img {
		height: clamp(320px, 38svh, 410px) !important;
	}

	/* Match the feature-story copy to the image height so both columns share
	 * one top and bottom baseline, as in the homepage editorial layout. */
	.wanze-home__news-feature {
		align-items: stretch;
	}

	.wanze-home__news-feature > .wp-block-column:last-child {
		align-self: stretch;
		display: flex;
	}

	.wanze-home__news-feature-copy {
		align-items: flex-start;
		display: flex;
		flex: 1 1 auto;
		flex-direction: column;
		padding-left: 32px;
		position: relative;
	}

	.wanze-home__news-feature-copy::before {
		background: var(--wanze-cta);
		border-radius: 999px;
		bottom: 96px;
		content: "";
		left: 0;
		position: absolute;
		top: 6px;
		width: 5px;
	}

	.wanze-home__news-feature-copy > .wanze-home__news-feature-actions {
		margin-block-start: auto !important;
		padding-top: 32px;
	}

	.wanze-home__news-index {
		padding-top: 28px;
	}

	.wanze-home__news-index > .wp-block-column {
		min-height: 112px;
	}
}

/* ==========================================================================
   Inner pages: shared page hero banner
   ========================================================================== */
.wanze-page-hero {
	background: #0d1b2e;
	color: #ffffff;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(130px, 16vh, 180px) 24px clamp(72px, 9vh, 104px);
	position: relative;
}

.wanze-page-hero__backdrop {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0.34;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.wanze-page-hero__backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

.wanze-page-hero::after {
	background: linear-gradient(180deg, rgba(13, 27, 46, 0.42) 0%, rgba(13, 27, 46, 0.78) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.wanze-page-hero > :not(.wanze-page-hero__backdrop) {
	position: relative;
	z-index: 2;
}

.wanze-page-hero__inner {
	margin: 0 auto;
	max-width: 1600px !important;
}

.wanze-page-hero__eyebrow {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-page-hero__title {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: clamp(2.6rem, 4.4vw, 4.2rem);
	font-weight: 780;
	letter-spacing: -0.045em;
	line-height: 1.04;
	margin: 18px 0 0 !important;
	max-width: 16ch;
}

.wanze-page-hero__copy {
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.15vw, 1.18rem);
	line-height: 1.7;
	margin: 22px 0 0 !important;
	max-width: 56ch;
}

.wanze-page-hero__crumb {
	color: rgba(255, 255, 255, 0.56);
	font-family: var(--wanze-font);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	margin: 26px 0 0 !important;
}

.wanze-page-hero__crumb a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
	transition: color 160ms ease;
}

.wanze-page-hero__crumb a:hover,
.wanze-page-hero__crumb a:focus-visible {
	color: #ffffff;
}

.wanze-page-hero__crumb span {
	color: rgba(255, 255, 255, 0.38);
	margin: 0 10px;
}

/* Services: align the breadcrumb with the About page's top content frame. */
body.page-id-30 .wanze-page-hero {
	align-content: center;
	background: #ffffff;
	box-sizing: border-box;
	color: #13263d;
	display: grid;
	min-height: 100vh;
	min-height: 100svh;
	padding: 156px 24px 56px;
}

body.page-id-30 .wanze-page-hero::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 38%, rgba(255, 255, 255, 0.68) 63%, rgba(255, 255, 255, 0.2) 100%);
}

body.page-id-30 .wanze-page-hero__backdrop {
	display: block;
	opacity: 1;
}

body.page-id-30 .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	padding-right: 0;
	position: static;
	width: var(--wanze-layout-width);
}

body.page-id-30 .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 22px;
	width: 66px;
}

body.page-id-30 .wanze-page-hero__crumb {
	box-sizing: border-box;
	color: #6d7c8b;
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 0 clamp(24px, 3vw, 38px) !important;
	order: -1;
	text-align: left;
	width: auto;
}

body.page-id-30 .wanze-page-hero__crumb.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

body.page-id-30 .wanze-page-hero__crumb .rank-math-breadcrumb,
body.page-id-30 .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

body.page-id-30 .wanze-page-hero__crumb a {
	color: #2d465e;
	font-weight: 650;
}

body.page-id-30 .wanze-page-hero__crumb a:hover,
body.page-id-30 .wanze-page-hero__crumb a:focus-visible {
	color: var(--wanze-cta);
}

body.page-id-30 .wanze-page-hero__crumb span {
	color: #9aa7b3;
	margin: 0;
	padding: 0 7px;
}

body.page-id-30 .wanze-page-hero__crumb .last {
	color: #6d7c8b;
}

body.page-id-30 .wanze-page-hero__title {
	color: #13263d;
}

body.page-id-30 .wanze-page-hero__copy {
	color: #5d6a79;
}

body.page-id-30 .wanze-section__title[id^="wanze-services-"] {
	scroll-margin-top: 112px;
}

body.page-id-30 .wanze-section:has(#wanze-services-documents) {
	background: #ffffff;
	isolation: isolate;
	overflow: hidden;
	position: relative;
}

body.page-id-30 .wanze-section:has(#wanze-services-documents) > :not(.wanze-svc__catalog-backdrop) {
	position: relative;
	z-index: 2;
}

body.page-id-30 .wanze-section:has(#wanze-services-documents)::after {
	background: linear-gradient(90deg, rgba(231, 239, 246, 0.72) 0%, rgba(247, 250, 252, 0.86) 42%, rgba(247, 250, 252, 0.86) 58%, rgba(231, 239, 246, 0.72) 100%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

/* Remove Gutenberg's unpainted flow gap between the catalog and FAQ sections. */
body.page-id-30 .wanze-section:has(#wanze-services-documents) + .wanze-section:has(#wanze-services-faqs) {
	margin-block-start: 0 !important;
}

/* Remove Gutenberg's unpainted flow gap between the Services hero and catalog. */
body.page-id-30 .wanze-page-hero + .wanze-section:has(#wanze-services-documents) {
	margin-block-start: 0 !important;
}

body.page-id-30 .wanze-svc__catalog-backdrop {
	bottom: 0;
	inset-inline: 0;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none;
	position: absolute;
	top: 0;
	z-index: 0;
}

body.page-id-30 .wanze-svc__catalog-backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

@media (min-width: 782px) {
	body.page-id-30 .wanze-section:has(#wanze-services-documents),
	body.page-id-30 .wanze-section:has(#wanze-services-faqs),
	body.page-id-30 .wanze-section:has(#wanze-services-video) {
		align-items: stretch;
		box-sizing: border-box;
		display: flex;
		flex-direction: column;
		justify-content: center;
		min-height: 100vh;
		min-height: 100svh;
	}
}

@media (min-width: 1200px) {
	body.page-id-30 .wanze-svc__faq-columns {
		column-gap: clamp(20px, 2vw, 32px);
		grid-template-columns: repeat(3, minmax(0, 1fr));
		row-gap: 24px;
	}

	body.page-id-30 .wanze-svc__faq-group > h3 {
		font-size: 1.12rem;
		margin-bottom: 14px !important;
	}

	body.page-id-30 .wanze-svc__faq-item {
		margin-bottom: 9px;
	}

	body.page-id-30 .wanze-svc__faq-item summary {
		font-size: 0.9rem;
		padding: 14px 16px;
	}
}

@media (max-width: 781px) {
	body.page-id-30 .wanze-page-hero {
		align-content: start;
		padding: 120px 20px 60px;
	}

}

@media (max-width: 1140px) {
	body.page-id-30 .wanze-page-hero {
		align-content: start;
	}

}

/* Services child pages use the same light, image-led hero language. */
.wanze-page-hero--services-resource {
	align-content: center;
	background: #ffffff;
	box-sizing: border-box;
	color: #13263d;
	display: grid;
	min-height: 100vh;
	min-height: 100svh;
	padding: 156px 24px 56px;
}

.wanze-page-hero--services-resource::after {
	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.96) 38%,
		rgba(255, 255, 255, 0.68) 63%,
		rgba(255, 255, 255, 0.2) 100%
	);
}

.wanze-page-hero--services-resource .wanze-page-hero__backdrop {
	opacity: 1;
}

.wanze-page-hero--services-resource .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	padding-right: 0;
	position: static;
	transform: translateY(-96px);
	width: var(--wanze-layout-width);
}

.wanze-page-hero--services-resource .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 22px;
	width: 66px;
}

.wanze-page-hero--services-resource .wanze-page-hero__title {
	color: #13263d;
}

.wanze-page-hero--services-resource .wanze-page-hero__copy {
	color: #5d6a79;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb {
	box-sizing: border-box;
	color: #6d7c8b;
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 0 clamp(24px, 3vw, 38px) !important;
	order: -1;
	text-align: left;
	width: auto;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb .rank-math-breadcrumb,
.wanze-page-hero--services-resource .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb a {
	color: #2d465e;
	font-weight: 650;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb a:hover,
.wanze-page-hero--services-resource .wanze-page-hero__crumb a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb span {
	color: #9aa7b3;
	margin: 0;
	padding: 0 7px;
}

.wanze-page-hero--services-resource .wanze-page-hero__crumb .last {
	color: #6d7c8b;
}

/* Keep resource-page hero content aligned with Services at tablet and mobile widths. */
@media (max-width: 1140px) {
	.wanze-page-hero--services-resource {
		align-content: start;
		transform: translateY(-64px);
	}
}

@media (max-width: 781px) {
	.wanze-page-hero--services-resource {
		padding: 120px 20px 60px;
		transform: translateY(-40px);
	}
}

/* ==========================================================================
   Inner pages: shared section rhythm
   ========================================================================== */
.wanze-inner {
	font-family: var(--wanze-font);
}

.wanze-inner main {
	margin-top: 0 !important;
}

.wanze-section {
	padding: clamp(72px, 8vw, 108px) 24px;
}

.wanze-section--tint {
	background: #f5f8fb;
}

.wanze-section--dark {
	background: #0d1b2e;
	color: #ffffff;
}

.wanze-section__head {
	margin: 0 auto clamp(42px, 4.5vw, 62px);
	max-width: 780px !important;
	text-align: center;
}

.wanze-section__head--left {
	margin-left: 0;
	margin-right: 0;
	max-width: 640px !important;
	text-align: left;
}

.wanze-section__eyebrow {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.74rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-section__title {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(2.1rem, 2.8vw, 3.1rem);
	font-weight: 780;
	letter-spacing: -0.048em;
	line-height: 1.08;
	margin: 14px 0 0 !important;
}

.wanze-section--dark .wanze-section__title {
	color: #ffffff;
}

.wanze-section__lead {
	color: #5a6b7f;
	font-family: var(--wanze-font);
	font-size: clamp(0.98rem, 1.1vw, 1.14rem);
	line-height: 1.7;
	margin: 18px 0 0 !important;
}

.wanze-section--dark .wanze-section__lead {
	color: rgba(255, 255, 255, 0.72);
}

.wanze-inner__frame {
	margin: 0 auto;
	max-width: 1520px !important;
}

/* Shared CTA band for inner pages. */
.wanze-cta-band {
	background: var(--wanze-blue);
	color: #ffffff;
	padding: clamp(56px, 6vw, 80px) 24px;
}

.wanze-cta-band__inner {
	align-items: center;
	column-gap: clamp(28px, 4vw, 58px);
	margin: 0 auto;
	max-width: 1520px !important;
	row-gap: 24px;
}

.wanze-cta-band h2 {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: clamp(1.7rem, 2.4vw, 2.5rem);
	font-weight: 780;
	letter-spacing: -0.035em;
	line-height: 1.12;
	margin: 0 !important;
}

.wanze-cta-band p {
	color: rgba(255, 255, 255, 0.72);
	font-family: var(--wanze-font);
	font-size: 1rem;
	line-height: 1.65;
	margin: 12px 0 0 !important;
	max-width: 52ch;
}

.wanze-cta-band .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	color: #ffffff !important;
	font-family: var(--wanze-font);
	font-size: 0.84rem;
	font-weight: 750;
	letter-spacing: 0.03em;
	min-height: 52px;
	padding: 14px 28px;
	text-transform: uppercase;
	transition: background-color 180ms ease, transform 180ms ease;
}

.wanze-cta-band .wp-block-button__link:hover,
.wanze-cta-band .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-2px);
}

@media (max-width: 781px) {
	.wanze-page-hero {
		padding: 120px 20px 60px;
	}

	.wanze-section {
		padding: 62px 20px;
	}

	.wanze-cta-band__inner {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-cta-band .wp-block-button__link {
		transition: none;
	}
}

/* ==========================================================================
   Products catalogue
   ========================================================================== */
.wanze-catalog {
	background: #f7f9fb;
	font-family: var(--wanze-font);
	overflow: hidden;
}

/* The fixed header needs a small clearance, but the products archive has no hero. */
body .wp-site-blocks > main.wanze-catalog {
	margin-top: 104px !important;
}

.wanze-catalog__hero {
	background: linear-gradient(126deg, #0d1b2e 0%, var(--wanze-blue) 100%);
	padding: clamp(134px, 13vw, 190px) 24px clamp(62px, 7vw, 96px);
}

.wanze-catalog__hero-inner,
.wanze-catalog__toolbar,
.wanze-catalog__products {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1520px !important;
}

.wanze-catalog__hero .rank-math-breadcrumb,
.wanze-catalog__hero .rank-math-breadcrumb p {
	color: rgba(255, 255, 255, 0.7);
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 !important;
}

.wanze-catalog__hero .rank-math-breadcrumb a {
	color: #ffffff;
	font-weight: 650;
	text-decoration: none;
}

.wanze-catalog__hero .rank-math-breadcrumb a:hover,
.wanze-catalog__hero .rank-math-breadcrumb a:focus-visible {
	color: #fbc6c8;
	text-decoration: underline;
}

.wanze-catalog__hero .rank-math-breadcrumb .separator {
	color: rgba(255, 255, 255, 0.48);
	padding: 0 7px;
}

.wanze-catalog__title {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: clamp(3rem, 6vw, 5.8rem);
	font-weight: 780;
	letter-spacing: -0.055em;
	line-height: 0.98;
	margin: clamp(30px, 4vw, 52px) 0 0 !important;
	max-width: 13ch;
}

.wanze-catalog__intro {
	color: rgba(255, 255, 255, 0.78);
	font-size: clamp(1rem, 1.15vw, 1.14rem);
	line-height: 1.7;
	margin: 24px 0 0 !important;
	max-width: 62ch !important;
}

.wanze-catalog__intro > * {
	margin: 0 !important;
}

.wanze-catalog__intro > * + * {
	margin-top: 12px !important;
}

.wanze-catalog__listing {
	padding: clamp(48px, 6vw, 82px) 24px clamp(84px, 9vw, 124px);
}

.wanze-catalog__categories-stage {
	background: #ffffff;
	padding: 24px 24px clamp(88px, 10vw, 148px);
}

/* Products archive heading stays in the content flow rather than using a hero banner. */
.wanze-catalog__heading {
	border-bottom: 1px solid #dce4ec;
	margin: 0 0 clamp(34px, 5vw, 64px) !important;
	max-width: 1600px !important;
	padding-bottom: clamp(24px, 3vw, 38px);
	width: 100%;
}

.wanze-catalog__heading .rank-math-breadcrumb,
.wanze-catalog__heading .rank-math-breadcrumb p {
	color: #6d7c8b;
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 !important;
}

.wanze-catalog__heading .rank-math-breadcrumb a {
	color: #2d465e;
	font-weight: 650;
	text-decoration: none;
}

.wanze-catalog__heading .rank-math-breadcrumb a:hover,
.wanze-catalog__heading .rank-math-breadcrumb a:focus-visible {
	color: var(--wanze-cta);
	text-decoration: underline;
}

.wanze-catalog__heading .rank-math-breadcrumb .separator {
	color: #9aa7b3;
	padding: 0 7px;
}

.wanze-catalog__heading .wanze-catalog__title {
	color: #15283f;
	font-family: var(--wanze-font);
	font-size: clamp(2.4rem, 4vw, 4.25rem);
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1;
	margin: clamp(18px, 2.5vw, 28px) 0 0 !important;
	max-width: none;
}

.wanze-catalog__directory {
	margin: 0 auto;
	max-width: 1600px;
}

.wanze-catalog__directory-head {
	align-items: end;
	border-bottom: 1px solid #dce4ec;
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1fr) auto;
	margin: 0 0 clamp(32px, 5vw, 64px);
	padding-bottom: clamp(22px, 3vw, 34px);
}

.wanze-catalog__directory-kicker {
	color: var(--wanze-cta);
	font-size: 0.72rem;
	font-weight: 800;
	grid-column: 1 / -1;
	letter-spacing: 0.13em;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-catalog__directory-head h2 {
	color: #15283f;
	font-family: var(--wanze-font);
	font-size: clamp(2rem, 3.1vw, 3.3rem);
	font-weight: 780;
	letter-spacing: -0.052em;
	line-height: 1;
	margin: 0 !important;
}

.wanze-catalog__category-grid {
	display: grid;
	gap: clamp(20px, 2.2vw, 32px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wanze-catalog__category-card {
	background: #f3f6f9;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 0.9fr);
	margin: 0 !important;
	min-height: clamp(250px, 18vw, 320px);
	overflow: hidden;
	position: relative;
	transition: box-shadow 220ms ease, transform 220ms ease;
}

.wanze-catalog__category-card:hover {
	box-shadow: 0 20px 40px rgba(15, 23, 42, 0.1);
	transform: translateY(-3px);
}

.wanze-catalog__category-copy h3 a:focus-visible,
.wanze-catalog__category-link:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: -3px;
}

.wanze-catalog__category-copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(26px, 3.2vw, 44px);
}

.wanze-catalog__category-index {
	color: var(--wanze-cta);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.14em;
	line-height: 1;
}

.wanze-catalog__category-copy h3 {
	font-family: var(--wanze-font);
	font-size: clamp(1.35rem, 2vw, 2.1rem);
	font-weight: 780;
	letter-spacing: -0.052em;
	line-height: 1.02;
	margin: clamp(16px, 2.2vw, 24px) 0 0 !important;
}

.wanze-catalog__category-copy h3 a {
	color: #15283f;
	text-decoration: none;
}

.wanze-catalog__category-copy h3 a:hover,
.wanze-catalog__category-copy h3 a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-catalog__category-description {
	color: #566778;
	font-size: clamp(0.88rem, 1vw, 0.98rem);
	line-height: 1.55;
	margin-top: 14px;
	max-width: 48ch;
}

.wanze-catalog__category-description > * {
	margin: 0 !important;
}

.wanze-catalog__category-link {
	align-items: center;
	border-bottom: 1px solid currentColor;
	color: var(--wanze-blue);
	display: inline-flex;
	font-size: 0.84rem;
	font-weight: 800;
	gap: 10px;
	letter-spacing: 0.025em;
	margin-top: clamp(18px, 2.4vw, 28px);
	min-height: 34px;
	text-decoration: none;
	text-transform: uppercase;
}

.wanze-catalog__category-link span {
	font-size: 1.25rem;
	transition: transform 180ms ease;
}

.wanze-catalog__category-link:hover,
.wanze-catalog__category-link:focus-visible {
	color: var(--wanze-cta);
}

.wanze-catalog__category-link:hover span,
.wanze-catalog__category-link:focus-visible span {
	transform: translateX(4px);
}

/* The Products directory follows the same AC/PV split as the homepage. */
.wanze-catalog__category-grid {
	gap: clamp(20px, 2.5vw, 34px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wanze-catalog__category-card {
	background: #f4f7fa;
	border: 1px solid #e1e8ef;
	display: flex;
	flex-direction: row;
	min-height: 310px;
	padding: 0;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-catalog__category-card::before {
	background: var(--wanze-cta);
	content: "";
	display: block;
	height: 3px;
	left: 20px;
	position: absolute;
	top: 0;
	width: 32px;
}

.wanze-catalog__category-card:hover,
.wanze-catalog__category-card:focus-within {
	border-color: #b8cad9;
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.08);
	transform: translateY(-3px);
}

.wanze-catalog__category-copy {
	align-items: flex-start;
	display: flex;
	flex: 1;
	justify-content: flex-start;
	padding: clamp(30px, 4vw, 52px);
}

.wanze-catalog__category-index {
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	margin-top: 0;
}

.wanze-catalog__category-copy h3 {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: clamp(1.5rem, 2.2vw, 2.5rem);
	letter-spacing: -0.034em;
	line-height: 1.1;
	margin: 18px 0 0 !important;
	overflow: hidden;
}

.wanze-catalog__category-description {
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	display: -webkit-box;
	font-size: 0.9rem;
	line-height: 1.55;
	margin-top: 13px;
	overflow: hidden;
}

.wanze-catalog__category-media {
	align-items: center;
	background: #173f70;
	align-self: stretch;
	border-bottom: 0;
	display: flex;
	flex: 0 0 46%;
	height: auto;
	justify-content: center;
	overflow: hidden;
	padding: 12px 20px;
	position: relative;
}

.wanze-catalog__category-media::after {
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 50%;
	content: "";
	height: 120px;
	position: absolute;
	right: -34px;
	top: -52px;
	width: 120px;
}

.wanze-catalog__category-media > a {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	position: relative;
	width: 100%;
	z-index: 1;
}

.wanze-catalog__category-media > a:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: -3px;
}

.wanze-catalog__category-image {
	display: block;
	height: 205px;
	max-width: 78%;
	object-fit: contain;
	transition: transform 180ms ease;
	width: 100%;
}

.wanze-catalog__category-card:hover .wanze-catalog__category-image {
	transform: scale(1.04);
}

.wanze-catalog__category-link-wrap {
	margin-top: auto;
}

.wanze-catalog__category-link {
	font-size: 0.72rem;
	gap: 7px;
	margin-top: 18px;
	min-height: 30px;
}

.wanze-catalog__category-link span {
	font-size: 1.05rem;
}

@media (max-width: 960px) {
	.wanze-catalog__category-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 640px) {
	.wanze-catalog__category-card {
		flex-direction: column;
	}

	.wanze-catalog__category-media {
		align-self: auto;
		flex-basis: auto;
		height: 160px;
	}

	.wanze-catalog__category-image {
		height: 132px;
	}
}

/* Products directory layout, following the sidebar-and-list structure of the
   approved reference while retaining the two WooCommerce product directions. */
.wanze-catalog__directory-layout {
	display: grid;
	gap: clamp(28px, 4vw, 64px);
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
}

.wanze-catalog__directory-sidebar {
	border: 0;
	padding: 0;
}

.wanze-catalog__directory-search,
.wanze-catalog__directory-filter-panel,
.wanze-catalog__directory-latest {
	background: #fafbfd;
	border: 1px solid #e3e9ef;
	border-radius: 12px;
}

.wanze-catalog__directory-search {
	align-items: center;
	display: flex;
	margin-bottom: 22px;
	padding: 7px 14px;
}

.wanze-catalog__directory-search input {
	background: transparent;
	border: 0;
	color: #24394f;
	font: inherit;
	font-size: 0.9rem;
	min-height: 42px;
	outline: 0;
	padding: 0 8px;
	width: 100%;
}

.wanze-catalog__directory-search input::placeholder {
	color: #8b98a6;
}

.wanze-catalog__directory-search svg {
	fill: none;
	flex: 0 0 auto;
	height: 19px;
	stroke: #617183;
	stroke-linecap: round;
	stroke-width: 1.8;
	width: 19px;
}

.wanze-catalog__directory-filter-panel,
.wanze-catalog__directory-latest {
	padding: 24px;
}

.wanze-catalog__directory-latest {
	margin-top: 22px;
}

.wanze-catalog__directory-sidebar h2 {
	color: #15283f;
	font-family: var(--wanze-font);
	font-size: 1.15rem;
	font-weight: 780;
	letter-spacing: -0.025em;
	line-height: 1.2;
	margin: 0 0 18px !important;
	padding-bottom: 15px;
	position: relative;
}

.wanze-catalog__directory-sidebar h2::after {
	background: var(--wanze-cta);
	bottom: 0;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	width: 100%;
}

.wanze-catalog__directory-nav {
	border-bottom: 1px solid #dde5ed;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wanze-catalog__directory-nav li {
	border-top: 1px solid #dde5ed;
	margin: 0;
}

.wanze-catalog__directory-filter {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	color: #24394f;
	cursor: pointer;
	display: flex;
	font-size: 0.92rem;
	font-weight: 700;
	gap: 14px;
	justify-content: space-between;
	min-height: 60px;
	padding: 12px 0;
	text-align: left;
	text-decoration: none;
	width: 100%;
}

.wanze-catalog__directory-filter:hover,
.wanze-catalog__directory-filter:focus-visible,
.wanze-catalog__directory-filter.is-active {
	color: var(--wanze-cta);
}

.wanze-catalog__directory-filter:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: 3px;
}

.wanze-catalog__directory-filter.is-active span::before {
	background: currentColor;
	content: "";
	display: inline-block;
	height: 2px;
	margin: 0 9px 0 0;
	vertical-align: middle;
	width: 18px;
}

.wanze-catalog__directory-latest ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.wanze-catalog__directory-latest li + li {
	border-top: 1px solid #e3e9ef;
	margin-top: 14px;
	padding-top: 14px;
}

.wanze-catalog__directory-latest a {
	align-items: center;
	color: #304459;
	display: flex;
	font-size: 0.78rem;
	font-weight: 650;
	gap: 12px;
	line-height: 1.4;
	text-decoration: none;
}

.wanze-catalog__directory-latest a:hover,
.wanze-catalog__directory-latest a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-catalog__latest-image {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e3e9ef;
	display: flex;
	flex: 0 0 48px;
	height: 48px;
	justify-content: center;
	overflow: hidden;
}

.wanze-catalog__latest-image img {
	height: 40px;
	object-fit: contain;
	width: 40px;
}

.wanze-catalog__directory-nav svg {
	fill: none;
	flex: 0 0 auto;
	height: 16px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.7;
	width: 16px;
}

.wanze-catalog__directory-layout .wanze-catalog__category-grid {
	gap: clamp(18px, 2vw, 28px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wanze-catalog__directory-layout .wanze-catalog__category-grid.is-filtering {
	grid-template-columns: minmax(0, 1fr);
}

.wanze-catalog__product-grid {
	display: grid;
	gap: clamp(18px, 2vw, 28px);
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wanze-catalog__pagination {
	margin-top: clamp(36px, 4vw, 56px);
}

.wanze-catalog__pagination > .page-numbers {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.wanze-catalog__pagination .page-numbers > li {
	margin: 0;
}

.wanze-catalog__pagination .page-numbers a,
.wanze-catalog__pagination .page-numbers span {
	align-items: center;
	border: 1px solid #ccd8e4;
	border-radius: 8px;
	color: #263b53;
	display: inline-flex;
	font-size: 0.9rem;
	font-weight: 700;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 8px 12px;
	text-decoration: none;
}

.wanze-catalog__pagination .page-numbers a:hover,
.wanze-catalog__pagination .page-numbers a:focus-visible,
.wanze-catalog__pagination .page-numbers .current {
	background: var(--wanze-cta);
	border-color: var(--wanze-cta);
	color: #ffffff;
}

.wanze-catalog__empty-message {
	align-items: center;
	background: #fafbfd;
	border: 1px solid #e3e9ef;
	border-radius: 12px;
	color: #566778;
	display: flex;
	font-size: 0.96rem;
	justify-content: center;
	line-height: 1.6;
	margin: 0 !important;
	min-height: 220px;
	padding: 28px;
	text-align: center;
}

.wanze-catalog__product-card {
	background: #ffffff;
	border: 1px solid #e3e9ef;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	margin: 0;
	min-height: 320px;
	overflow: hidden;
	padding: 0 18px 20px;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-catalog__product-card:hover,
.wanze-catalog__product-card:focus-within {
	border-color: #b9cad9;
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
	transform: translateY(-3px);
}

.wanze-catalog__product-image {
	align-items: center;
	background: #ffffff;
	display: flex;
	flex: 0 0 clamp(210px, 16vw, 250px);
	height: clamp(210px, 16vw, 250px);
	justify-content: center;
	margin: 0 0 12px;
	overflow: hidden;
	padding: 0;
	width: 100%;
}

.wanze-catalog__product-image:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: -3px;
}

.wanze-catalog__product-image img {
	display: block;
	height: 82%;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.wanze-catalog__product-card h2 {
	font-family: var(--wanze-font);
	font-size: clamp(1rem, 1.15vw, 1.16rem);
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.42;
	margin: 0 !important;
	min-height: 2.84em;
	padding: 0 4px;
	text-align: center;
}

.wanze-catalog__product-card h2 a {
	color: #263b53;
	text-decoration: none;
}

.wanze-catalog__product-card h2 a:hover,
.wanze-catalog__product-card h2 a:focus-visible {
	color: var(--wanze-cta);
	text-decoration: underline;
}

/* ==========================================================================
   Single product
   ========================================================================== */
.wanze-product-page {
	background: #ffffff;
	font-family: var(--wanze-font);
	/* Match the desktop header: 1600px content width with 32px outer gutters. */
	padding: 0 32px clamp(88px, 9vw, 140px) !important;
}

body .wp-site-blocks > main.wanze-product-page {
	margin-top: 104px !important;
}

.wanze-product-page__breadcrumb,
.wanze-product-page #primary,
.wanze-product-detail__information,
.wanze-product-detail .related.products {
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: 1600px !important;
	width: var(--wanze-layout-width);
}

.wanze-product-page__breadcrumb {
	border-bottom: 1px solid #e2e8ee;
	padding: 24px 0 20px;
}

.wanze-product-page__breadcrumb .rank-math-breadcrumb,
.wanze-product-page__breadcrumb .rank-math-breadcrumb p {
	color: #718093;
	font-size: 0.84rem;
	line-height: 1.5;
	margin: 0 !important;
}

.wanze-product-page__breadcrumb .rank-math-breadcrumb a {
	color: #304b66;
	font-weight: 700;
	text-decoration: none;
}

.wanze-product-page__breadcrumb .rank-math-breadcrumb a:hover,
.wanze-product-page__breadcrumb .rank-math-breadcrumb a:focus-visible {
	color: var(--wanze-cta);
	text-decoration: underline;
}

.wanze-product-page__breadcrumb .rank-math-breadcrumb .separator {
	color: #9aa7b3;
	padding: 0 7px;
}

.wanze-product-page #primary {
	max-width: 1600px !important;
}

.wanze-product-page .woocommerce-breadcrumb,
.wanze-product-page .woocommerce-notices-wrapper:empty,
.wanze-product-detail .onsale,
.wanze-product-detail .price,
.wanze-product-detail .product_meta,
.wanze-product-detail .woocommerce-product-rating {
	display: none;
}

.wanze-product-detail {
	padding-top: 0;
}

.wanze-product-detail__hero {
	align-items: center;
	display: grid;
	gap: clamp(48px, 5vw, 80px);
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
}

.wanze-product-detail__gallery {
	align-self: center;
	display: flex;
	justify-content: center;
	min-width: 0;
}

.wanze-product-detail .woocommerce-product-gallery {
	align-items: stretch;
	display: flex;
	flex-direction: column;
	float: none !important;
	margin: 0 !important;
	max-width: 400px !important;
	width: min(100%, 400px) !important;
}

.wanze-product-detail .woocommerce-product-gallery__wrapper {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	overflow: visible;
}

.wanze-product-detail .woocommerce-product-gallery .flex-viewport,
.wanze-product-detail .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
	order: 1;
	width: 100%;
}

.wanze-product-detail .woocommerce-product-gallery__image {
	display: block;
	height: auto;
	margin: 0 !important;
	padding: 0;
	width: 100% !important;
}

/* Preserve the supplied transparent WebP composition on detail pages. */
.wanze-product-detail .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image:only-child {
	width: 100% !important;
}

.wanze-product-detail .woocommerce-product-gallery__trigger {
	display: none;
}

.wanze-product-detail .woocommerce-product-gallery__image > a,
.wanze-product-detail .woocommerce-product-gallery__image > .wanze-product-detail__image-static {
	display: block;
	height: auto;
	width: 100%;
}

.wanze-product-detail .woocommerce-product-gallery__image img {
	display: block;
	height: auto !important;
	max-width: 100%;
	width: 100% !important;
}

.wanze-product-detail .flex-control-thumbs {
	align-items: center;
	clear: both;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	list-style: none;
	margin: 16px 0 0 !important;
	order: 2;
	padding: 0;
	width: 100%;
}

.wanze-product-detail .flex-control-thumbs li {
	border: 1px solid #dbe5ed;
	box-sizing: border-box;
	flex: 0 0 70px;
	margin: 0 !important;
	width: 70px !important;
}

.wanze-product-detail .flex-control-thumbs img {
	aspect-ratio: 1 / 1;
	object-fit: contain;
	padding: 7px;
	width: 100%;
}

.wanze-product-detail .flex-control-thumbs img.flex-active,
.wanze-product-detail .flex-control-thumbs img:hover {
	opacity: 1;
	outline: 2px solid var(--wanze-cta);
	outline-offset: -2px;
}

.wanze-product-detail__media-gallery {
	display: flex;
	flex-direction: column;
	max-width: 400px;
	width: min(100%, 400px);
}

.wanze-product-detail__media-main {
	aspect-ratio: 1 / 1;
	display: grid;
	place-items: center;
	width: 100%;
}

.wanze-product-detail__media-main img,
.wanze-product-detail__media-gallery--placeholder img {
	display: block;
	height: 100%;
	max-width: 100%;
	object-fit: contain;
	width: 100%;
}

.wanze-product-detail__media-thumbnails {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 16px;
}

.wanze-product-detail__media-thumbnail-carousel {
	margin-top: 16px;
	position: relative;
}

.wanze-product-detail__media-thumbnail-viewport {
	min-width: 0;
	overflow: hidden;
}

.wanze-product-detail__media-thumbnail-carousel .wanze-product-detail__media-thumbnails {
	flex-wrap: nowrap;
	gap: 12px;
	margin-top: 0;
	transition: transform 180ms ease;
	width: max-content;
}

.wanze-product-detail__media-thumbnail {
	align-items: center;
	appearance: none;
	background: #ffffff;
	border: 1px solid #dbe5ed;
	box-sizing: border-box;
	cursor: pointer;
	display: flex;
	flex: 0 0 70px;
	height: 70px;
	justify-content: center;
	padding: 7px;
	transition: border-color 180ms ease, box-shadow 180ms ease;
	width: 70px;
}

.wanze-product-detail__media-thumbnail:hover,
.wanze-product-detail__media-thumbnail.is-active {
	border-color: var(--wanze-cta);
	box-shadow: inset 0 0 0 1px var(--wanze-cta);
}

.wanze-product-detail__media-thumbnail:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: 3px;
}

.wanze-product-detail__media-thumbnail img {
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.wanze-product-detail__media-carousel-control {
	align-items: center;
	appearance: none;
	background: transparent;
	border: 0;
	box-sizing: border-box;
	color: var(--wanze-ink);
	cursor: pointer;
	display: inline-flex;
	height: 70px;
	justify-content: center;
	padding: 0;
	position: absolute;
	top: 0;
	touch-action: manipulation;
	transition: border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
	width: 44px;
	z-index: 1;
}

.wanze-product-detail__media-carousel-control--previous {
	right: calc(100% + 12px);
}

.wanze-product-detail__media-carousel-control--next {
	left: calc(100% + 12px);
}

.wanze-product-detail__media-carousel-control svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.75;
	width: 18px;
}

.wanze-product-detail__media-carousel-control:hover:not(:disabled) {
	color: var(--wanze-cta);
}

.wanze-product-detail__media-carousel-control:focus-visible {
	outline: 3px solid var(--wanze-cta);
	outline-offset: 3px;
}

.wanze-product-detail__media-carousel-control:disabled {
	cursor: default;
	opacity: 0.38;
}

@media (max-width: 640px) {
	.wanze-product-detail__media-thumbnail {
		flex-basis: 56px;
		height: 56px;
		width: 56px;
	}

	.wanze-product-detail__media-carousel-control {
		height: 56px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-product-detail__media-thumbnail-carousel .wanze-product-detail__media-thumbnails,
	.wanze-product-detail__media-carousel-control {
		transition: none;
	}
}

.wanze-product-detail__summary {
	max-width: none;
}

.wanze-product-detail__categories {
	font-size: 0.78rem;
	font-weight: 800;
	letter-spacing: 0.08em;
	line-height: 1.45;
	margin: 0 0 28px !important;
	text-transform: uppercase;
}

.wanze-product-detail__categories::after {
	background: var(--wanze-cta);
	content: '';
	display: block;
	height: 2px;
	margin-top: 16px;
	width: 38px;
}

.wanze-product-detail__categories a {
	color: var(--wanze-cta);
	text-decoration: none;
}

.wanze-product-detail__categories a:hover,
.wanze-product-detail__categories a:focus-visible {
	color: var(--wanze-cta-hover);
	text-decoration: underline;
}

.wanze-product-detail .product_title {
	color: #142941;
	font-family: var(--wanze-font);
	font-size: clamp(1.95rem, 2.65vw, 2.8rem);
	font-weight: 780;
	letter-spacing: -0.05em;
	line-height: 1.08;
	margin: 0 !important;
	max-width: 100%;
}

.wanze-product-detail__short-description {
	color: #55697b;
	font-size: 1.04rem;
	line-height: 1.72;
	padding-top: clamp(22px, 2.4vw, 30px);
}

.wanze-product-detail__short-description > * {
	margin: 0 !important;
}

.wanze-product-detail__short-description > * + * {
	margin-top: 14px !important;
}

.wanze-product-detail__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 16px 28px;
	margin-top: clamp(32px, 4vw, 48px);
}

.wanze-product-detail__inquiry {
	align-items: center;
	background: var(--wanze-cta);
	border: 1px solid var(--wanze-cta);
	border-radius: 10px;
	color: #ffffff;
	display: inline-flex;
	font-size: 0.92rem;
	font-weight: 800;
	gap: 14px;
	justify-content: center;
	letter-spacing: 0.015em;
	min-height: 46px;
	padding: 10px 22px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.wanze-product-detail__inquiry svg {
	fill: none;
	height: 18px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 18px;
}

.wanze-product-detail__inquiry:hover,
.wanze-product-detail__inquiry:focus-visible {
	background: var(--wanze-cta-hover);
	border-color: var(--wanze-cta-hover);
	color: #ffffff;
	transform: translateY(-2px);
}

.wanze-product-detail__inquiry:focus-visible,
.wanze-product-detail__back:focus-visible {
	outline: 3px solid #142941;
	outline-offset: 4px;
}

.wanze-product-detail__back {
	border-bottom: 1px solid currentColor;
	color: #29445e;
	font-size: 0.9rem;
	font-weight: 750;
	line-height: 1.45;
	text-decoration: none;
}

.wanze-product-detail__back:hover,
.wanze-product-detail__back:focus-visible {
	color: var(--wanze-cta);
}

.wanze-product-detail__information {
	border-top: 1px solid #dfe7ee;
	display: grid;
	gap: clamp(42px, 6vw, 108px);
	grid-template-columns: minmax(0, 1fr) minmax(300px, 0.8fr);
	margin-top: clamp(70px, 9vw, 132px) !important;
	padding-top: clamp(48px, 6vw, 84px);
}

.wanze-product-detail__information--description-only {
	grid-template-columns: minmax(0, 1fr);
}

.wanze-product-detail__summary-content {
	margin-top: clamp(24px, 3vw, 38px);
}

.wanze-product-detail__summary-tabs,
.wanze-product-detail__summary-label {
	border-bottom: 1px solid #cbd9e4;
	margin: 0;
}

.wanze-product-detail__summary-tabs {
	display: flex;
	gap: clamp(26px, 4vw, 52px);
}

.wanze-product-detail__summary-tabs button {
	appearance: none;
	background: transparent;
	border: 0;
	border-bottom: 3px solid transparent;
	color: #50677d;
	cursor: pointer;
	display: inline-flex;
	font: inherit;
	font-size: 0.88rem;
	font-weight: 780;
	line-height: 1.2;
	margin: 0 0 -1px;
	padding: 0 0 16px;
}

.wanze-product-detail__summary-label {
	display: block;
}

.wanze-product-detail__summary-label span {
	border-bottom: 3px solid var(--wanze-cta);
	color: var(--wanze-cta);
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 780;
	line-height: 1.2;
	margin-bottom: -1px;
	padding: 0 0 16px;
}

.wanze-product-detail__summary-tabs button:hover,
.wanze-product-detail__summary-tabs button:focus-visible {
	color: var(--wanze-cta);
}

.wanze-product-detail__summary-tabs button:focus-visible {
	outline: 3px solid rgba(229, 58, 62, 0.3);
	outline-offset: 4px;
}

.wanze-product-detail__summary-tabs button.is-active {
	border-bottom-color: var(--wanze-cta);
	color: var(--wanze-cta);
}

.wanze-product-detail__information h2 {
	color: #152a42;
	font-family: var(--wanze-font);
	font-size: clamp(1.55rem, 2.2vw, 2.35rem);
	font-weight: 780;
	letter-spacing: -0.042em;
	line-height: 1.12;
	margin: 0 0 24px !important;
}

.wanze-product-detail__description {
	color: #40566b;
	font-size: clamp(1rem, 1.1vw, 1.08rem);
	line-height: 1.72;
	max-width: none;
}

.wanze-product-detail__description > * {
	margin-top: 0 !important;
}

.wanze-product-detail__description > * + * {
	margin-top: 20px !important;
}

.wanze-product-detail__description h2,
.wanze-product-detail__description h3,
.wanze-product-detail__description h4,
.wanze-product-detail__description h5,
.wanze-product-detail__description h6 {
	color: #132b45;
	font-family: var(--wanze-font);
	font-weight: 760;
	letter-spacing: -0.025em;
	line-height: 1.2;
}

.wanze-product-detail__description h2 {
	border-bottom: 1px solid #dbe5ec;
	font-size: clamp(1.65rem, 2.1vw, 2.15rem);
	margin-top: clamp(44px, 5vw, 68px) !important;
	padding-bottom: 16px;
}

.wanze-product-detail__description h3 {
	font-size: clamp(1.34rem, 1.6vw, 1.62rem);
	margin-top: 40px !important;
}

.wanze-product-detail__description h4 {
	font-size: clamp(1.16rem, 1.35vw, 1.34rem);
	margin-top: 32px !important;
}

.wanze-product-detail__description h5 {
	font-size: 1.04rem;
	margin-top: 28px !important;
}

.wanze-product-detail__description h6 {
	color: #60768a;
	font-size: 0.76rem;
	letter-spacing: 0.1em;
	margin-top: 24px !important;
	text-transform: uppercase;
}

.wanze-product-detail__description a {
	color: var(--wanze-cta);
	font-weight: 720;
	text-decoration-color: currentColor;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.wanze-product-detail__description a:hover,
.wanze-product-detail__description a:focus-visible {
	color: var(--wanze-cta-hover);
	text-decoration-color: currentColor;
}

.wanze-product-detail__description a:focus-visible {
	border-radius: 2px;
	outline: 3px solid rgba(229, 58, 62, 0.3);
	outline-offset: 3px;
}

.wanze-product-detail__description .wp-block-image {
	margin: 28px 0 !important;
}

.wanze-product-detail__description .wp-block-image img {
	display: block;
	height: auto;
	margin: 0 auto;
	max-width: 100%;
}

.wanze-product-detail__description .wanze-product-demo__intro {
	background: linear-gradient(135deg, #f7fafc 0%, #edf4f7 100%);
	border: 1px solid #dbe6ed;
	border-left: 4px solid var(--wanze-cta);
	border-radius: 10px;
	margin: 0 0 32px !important;
	padding: clamp(22px, 3vw, 34px);
}

.wanze-product-detail__description .wanze-product-demo__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.12em;
	margin: 0 0 12px !important;
	text-transform: uppercase;
}

.wanze-product-detail__description .wanze-product-demo__intro h2 {
	border: 0;
	font-size: clamp(1.6rem, 2vw, 2.05rem);
	margin: 0 0 12px !important;
	padding: 0;
}

.wanze-product-detail__description .wanze-product-demo__intro p:last-child {
	margin: 0 !important;
	max-width: 68ch;
}

.wanze-product-detail__description .wanze-product-demo__alignment-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 22px 0 36px !important;
}

.wanze-product-detail__description .wanze-product-demo__alignment-grid > .wp-block-group {
	background: #ffffff;
	border: 1px solid #dbe5ec;
	border-radius: 8px;
	min-height: 112px;
	padding: 18px;
}

.wanze-product-detail__description .wanze-product-demo__alignment-grid p {
	color: #395269;
	font-size: 0.94rem;
	margin: 0 !important;
}

.wanze-product-detail__description .wp-block-list {
	border-left: 3px solid var(--wanze-cta);
	color: #334e65;
	margin: 28px 0 !important;
	padding: 4px 0 4px 24px;
}

.wanze-product-detail__description .wp-block-list li + li {
	margin-top: 8px;
}


.wanze-product-detail__description .wp-block-table {
	margin: 28px 0 36px !important;
	max-width: 100%;
}

.wanze-product-detail__description table {
	background: #ffffff;
	border: 1px solid #d8e2e9;
	border-collapse: separate;
	border-radius: 8px;
	border-spacing: 0;
	color: #526b80;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0 !important;
	width: 100%;
}

.wanze-product-detail__description th,
.wanze-product-detail__description td {
	border: 0;
	border-bottom: 1px solid #e1e8ed;
	padding: 14px 18px;
	text-align: left;
	vertical-align: middle;
}

.wanze-product-detail__description tbody tr > * + * {
	border-left: 1px solid #e1e8ed;
}

.wanze-product-detail__description thead th {
	background: var(--wanze-cta);
	border-bottom: 0;
	color: #ffffff;
	font-weight: 700;
	padding-bottom: 12px;
	padding-top: 12px;
}

.wanze-product-detail__description thead th + th {
	border-left: 1px solid rgba(255, 255, 255, 0.34);
}

.wanze-product-detail__description thead {
	border-bottom: 0;
}

.wanze-product-detail__description tbody th,
.wanze-product-detail__description tbody td:first-child {
	color: #294b68;
	font-weight: 720;
}

.wanze-product-detail__description th:nth-child(1),
.wanze-product-detail__description td:nth-child(1) {
	width: 28%;
}

.wanze-product-detail__description th:nth-child(2),
.wanze-product-detail__description td:nth-child(2) {
	width: 28%;
}

.wanze-product-detail__description th:nth-child(3),
.wanze-product-detail__description td:nth-child(3) {
	width: 44%;
}

.wanze-product-detail__description tbody tr:nth-child(even) > th,
.wanze-product-detail__description tbody tr:nth-child(even) > td {
	background: #f8fafb;
}

.wanze-product-detail__description tbody tr:last-child > th,
.wanze-product-detail__description tbody tr:last-child > td {
	border-bottom: 0;
}

@media (max-width: 781px) {
	.wanze-product-detail__description .wanze-product-demo__alignment-grid {
		grid-template-columns: 1fr;
	}

	.wanze-product-detail__description .wp-block-table {
		display: block;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.wanze-product-detail__description table {
		min-width: 620px;
	}

	.wanze-product-detail__description th,
	.wanze-product-detail__description td {
		min-width: 160px;
		padding: 11px 14px;
	}
}

.wanze-product-detail__specifications dl {
	border-top: 1px solid #dbe5ec;
	margin: 0;
}

.wanze-product-detail__specifications dl > div {
	border-bottom: 1px solid #dbe5ec;
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(120px, 0.7fr) minmax(0, 1fr);
	padding: 16px 0;
}

.wanze-product-detail__specifications dt,
.wanze-product-detail__specifications dd {
	font-size: 0.91rem;
	line-height: 1.52;
	margin: 0;
}

.wanze-product-detail__specifications dt {
	color: #718091;
	font-weight: 700;
}

.wanze-product-detail__specifications dd {
	color: #1f3852;
	font-weight: 750;
	text-align: right;
}


.wanze-product-detail__summary-panel--downloads {
	padding-top: clamp(22px, 2.4vw, 30px);
}

.wanze-product-detail__downloads-list {
	display: grid;
	column-gap: clamp(28px, 4vw, 48px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
	list-style: none;
	margin: 0 !important;
	max-width: 100%;
	padding: 0;
}

.wanze-product-detail__downloads-list li {
	border-bottom: 1px solid #dbe5ec;
	margin: 0;
	min-width: 0;
	padding: 18px 0;
}

.wanze-product-detail__downloads-list a {
	align-items: center;
	color: #173855;
	display: grid;
	gap: 6px;
	grid-template-columns: minmax(0, 1fr) auto;
	min-width: 0;
	padding: 0;
	text-decoration: none;
	transition: color 180ms ease;
}

.wanze-product-detail__downloads-list a:hover,
.wanze-product-detail__downloads-list a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-product-detail__downloads-list a:focus-visible {
	outline: 3px solid rgba(229, 58, 62, 0.26);
	outline-offset: 4px;
}

.wanze-product-detail__download-type {
	color: #63788c;
	font-size: 0.68rem;
	font-weight: 800;
	letter-spacing: 0.05em;
	line-height: 1.25;
	margin: 0 0 8px !important;
	text-transform: uppercase;
}

.wanze-product-detail__download-name {
	display: block;
	font-size: 0.9rem;
	font-weight: 720;
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.wanze-product-detail__download-action {
	align-items: center;
	display: flex;
	height: 18px;
	justify-content: center;
	width: 18px;
}

.wanze-product-detail__download-action svg {
	fill: none;
	height: 16px;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 16px;
}

.wanze-product-detail .related.products {
	border-top: 1px solid #dfe7ee;
	margin-top: clamp(70px, 9vw, 132px) !important;
	padding-top: clamp(48px, 6vw, 84px);
}

.wanze-product-detail .related.products > h2 {
	color: #152a42;
	display: inline-flex;
	flex-direction: column;
	font-family: var(--wanze-font);
	font-size: clamp(1.7rem, 2.5vw, 2.5rem);
	font-weight: 780;
	letter-spacing: -0.045em;
	line-height: 1.1;
	margin: 0 0 clamp(28px, 3vw, 42px) !important;
}

.wanze-product-detail .related.products > h2::after {
	background: var(--wanze-cta);
	content: '';
	height: 3px;
	margin-top: 16px;
	width: 48px;
}

.wanze-product-detail .related.products ul.products {
	display: grid;
	gap: clamp(14px, 1.5vw, 22px);
	grid-template-columns: repeat(5, minmax(0, 1fr));
	margin: 0 !important;
	padding: 0;
	width: 100%;
}

.wanze-product-detail .related.products ul.products::before,
.wanze-product-detail .related.products ul.products::after {
	display: none;
}

.wanze-product-detail .related.products ul.products li.product {
	background: #ffffff;
	border: 1px solid #e0e8ef;
	border-radius: 10px;
	box-shadow: 0 6px 18px rgba(18, 41, 65, 0.035);
	display: flex;
	flex-direction: column;
	float: none !important;
	margin: 0 !important;
	min-width: 0;
	overflow: hidden;
	padding: 12px 14px 16px;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	width: auto !important;
}

.wanze-product-detail .related.products ul.products li.product:hover,
.wanze-product-detail .related.products ul.products li.product:focus-within {
	border-color: #b7c8d7;
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.08);
	transform: translateY(-3px);
}

.wanze-product-detail .related.products .woocommerce-LoopProduct-link {
	align-items: center;
	color: #263d56;
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: flex-start;
	text-align: center;
	text-decoration: none;
}

.wanze-product-detail .related.products .woocommerce-LoopProduct-link img {
	align-self: stretch;
	box-sizing: border-box;
	display: block;
	height: clamp(148px, 11vw, 184px);
	margin: 0 auto 12px !important;
	object-fit: contain;
	object-position: center;
	padding: 10px;
	width: 100%;
}

.wanze-product-detail .related.products .woocommerce-loop-product__title {
	color: #263d56;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	font-weight: 750;
	line-height: 1.4;
	margin: 0 !important;
	min-height: 2.8em;
	padding: 0 4px;
}

.wanze-product-detail .related.products .woocommerce-LoopProduct-link:hover .woocommerce-loop-product__title,
.wanze-product-detail .related.products .woocommerce-LoopProduct-link:focus-visible .woocommerce-loop-product__title {
	color: var(--wanze-cta);
}

@media (max-width: 1200px) {
	.wanze-product-page {
		/* Header switches to 12px gutters below 1200px. */
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	.wanze-product-detail__hero {
		gap: clamp(36px, 5vw, 64px);
		grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	}

	.wanze-product-detail .related.products ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	.wanze-product-detail__hero,
	.wanze-product-detail__information {
		grid-template-columns: minmax(0, 1fr);
	}

	.wanze-product-detail__summary {
		max-width: none;
	}

	.wanze-product-detail .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 720px) {
	.wanze-product-detail__downloads-list {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 640px) {
	.wanze-product-page {
		padding-left: 12px !important;
		padding-right: 12px !important;
	}

	body .wp-site-blocks > main.wanze-product-page {
		margin-top: 92px !important;
	}

	.wanze-product-page__breadcrumb {
		padding: 18px 0;
	}

	.wanze-product-detail {
		padding-top: 32px;
	}

	.wanze-product-detail .product_title {
		font-size: clamp(2.2rem, 11vw, 3.25rem);
	}

	.wanze-product-detail .woocommerce-product-gallery__image {
		padding: 0;
	}

	.wanze-product-detail__actions {
		align-items: flex-start;
		flex-direction: column;
	}

	.wanze-product-detail__inquiry {
		box-sizing: border-box;
		width: 100%;
	}

	.wanze-product-detail__summary-tabs {
		gap: 24px;
	}

	.wanze-product-detail__specifications dl > div {
		gap: 8px;
		grid-template-columns: 1fr;
	}

	.wanze-product-detail__specifications dd {
		text-align: left;
	}

	.wanze-product-detail .related.products ul.products {
		grid-template-columns: 1fr;
	}

	.wanze-product-detail__summary-panel--downloads {
		padding-top: 24px;
	}

	.wanze-product-detail .related.products .woocommerce-LoopProduct-link img {
		height: 220px;
	}
}

.wanze-catalog__directory-layout .wanze-catalog__category-card {
	flex-direction: column;
	min-height: 364px;
}

.wanze-catalog__directory-layout .wanze-catalog__category-media {
	align-self: auto;
	border-bottom: 1px solid rgba(15, 23, 42, 0.08);
	flex: 0 0 auto;
	height: 162px;
}

.wanze-catalog__directory-layout .wanze-catalog__category-image {
	height: 132px;
	max-width: 72%;
}

.wanze-catalog__directory-layout .wanze-catalog__category-copy {
	padding: 22px 24px 24px;
}

.wanze-catalog__directory-layout .wanze-catalog__category-copy h3 {
	font-size: clamp(1.35rem, 1.9vw, 1.9rem);
	margin-top: 14px !important;
}

@media (max-width: 1200px) {
	.wanze-catalog__product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 900px) {
	.wanze-catalog__directory-layout {
		grid-template-columns: 1fr;
	}

	.wanze-catalog__directory-sidebar {
		max-width: none;
	}

	.wanze-catalog__directory-nav {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-catalog__directory-nav li:nth-child(2) {
		border-left: 1px solid #dde5ed;
	}

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

@media (max-width: 560px) {
	.wanze-catalog__directory-nav {
		display: block;
	}

	.wanze-catalog__directory-nav li:nth-child(2) {
		border-left: 0;
	}

	.wanze-catalog__directory-layout .wanze-catalog__category-grid {
		grid-template-columns: 1fr;
	}

	.wanze-catalog__product-grid {
		grid-template-columns: 1fr;
	}
}

.wanze-catalog__toolbar {
	align-items: center;
	border-bottom: 1px solid #dce4ec;
	column-gap: 24px;
	margin-bottom: clamp(32px, 4vw, 48px) !important;
	padding-bottom: 22px;
	row-gap: 18px;
}

.wanze-catalog__categories,
.wanze-catalog__categories .wc-block-product-categories-list {
	margin: 0 !important;
}

.wanze-catalog__categories .wc-block-product-categories-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	padding: 0;
}

.wanze-catalog__categories .wc-block-product-categories-list-item {
	margin: 0;
}

.wanze-catalog__categories .wc-block-product-categories-list-item:has(a[href*="/uncategorized/"]) {
	display: none;
}

.wanze-catalog__categories .wc-block-product-categories-list-item a {
	border: 1px solid #ccd8e4;
	border-radius: 999px;
	color: #263b53;
	display: inline-flex;
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.2;
	min-height: 44px;
	padding: 12px 18px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.wanze-catalog__categories .wc-block-product-categories-list-item a:hover,
.wanze-catalog__categories .wc-block-product-categories-list-item a:focus-visible {
	background: var(--wanze-blue);
	border-color: var(--wanze-blue);
	color: #ffffff;
}

.wanze-catalog__utility {
	align-items: center;
	column-gap: 18px;
	font-size: 0.87rem;
	margin-left: auto;
	row-gap: 10px;
}

.wanze-catalog__utility .wc-block-product-results-count {
	color: #5d6a79;
	margin: 0;
}

.wanze-catalog__utility .wc-block-catalog-sorting select {
	appearance: auto;
	background: #ffffff;
	border: 1px solid #ccd8e4;
	border-radius: 8px;
	color: #263b53;
	font: inherit;
	min-height: 44px;
	padding: 8px 12px;
}

.wanze-catalog__products .wc-block-product-template {
	column-gap: 18px;
	row-gap: 18px;
}

.wanze-catalog__products .wc-block-product {
	background: #ffffff;
	border: 1px solid #e0e8ef;
	border-radius: 16px;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.04);
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	overflow: hidden;
	padding: 18px;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-catalog__products .wc-block-product:hover {
	border-color: #b4cedf;
	box-shadow: 0 16px 34px rgba(15, 23, 42, 0.1);
	transform: translateY(-4px);
}

.wanze-catalog__products .wc-block-components-product-image {
	background: #f4f7f9;
	border-radius: 10px;
	margin: 0 0 20px !important;
	overflow: hidden;
}

.wanze-catalog__products .wc-block-components-product-image a,
.wanze-catalog__products .wc-block-components-product-image img {
	display: block;
	width: 100%;
}

.wanze-catalog__products .wc-block-components-product-image img {
	aspect-ratio: 4 / 5;
	object-fit: contain;
	padding: 18px;
}

.wanze-catalog__products .wc-block-product .wp-block-post-title {
	font-family: var(--wanze-font);
	font-size: 1.08rem;
	font-weight: 750;
	letter-spacing: -0.018em;
	margin: 0 !important;
}

.wanze-catalog__products .wc-block-product .wp-block-post-title a {
	color: #15283f;
	text-decoration: none;
}

.wanze-catalog__products .wc-block-product .wp-block-post-title a:hover,
.wanze-catalog__products .wc-block-product .wp-block-post-title a:focus-visible {
	color: var(--wanze-cta);
	text-decoration: underline;
}

.wanze-catalog__products .wc-block-product .wp-block-post-excerpt {
	color: #5d6a79;
	font-size: 0.9rem;
	line-height: 1.6;
	margin: 10px 0 0 !important;
}

.wanze-catalog__products .wp-block-query-pagination {
	gap: 8px;
	margin-top: 42px !important;
}

.wanze-catalog__products .wp-block-query-pagination a,
.wanze-catalog__products .wp-block-query-pagination span {
	align-items: center;
	border: 1px solid #ccd8e4;
	border-radius: 8px;
	color: #263b53;
	display: inline-flex;
	font-size: 0.9rem;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 8px 12px;
	text-decoration: none;
}

.wanze-catalog__products .wp-block-query-pagination a:hover,
.wanze-catalog__products .wp-block-query-pagination a:focus-visible,
.wanze-catalog__products .wp-block-query-pagination .current {
	background: var(--wanze-blue);
	border-color: var(--wanze-blue);
	color: #ffffff;
}

.wanze-catalog__empty {
	background: #ffffff;
	border: 1px dashed #b8c6d3;
	border-radius: 16px;
	color: #5d6a79;
	font-size: 1rem;
	line-height: 1.65;
	margin: 0 !important;
	max-width: none !important;
	padding: clamp(34px, 5vw, 56px);
	text-align: center;
}

.wanze-catalog__empty p {
	margin: 0 !important;
}

@media (max-width: 781px) {
	.wanze-catalog__hero,
	.wanze-catalog__listing,
	.wanze-catalog__categories-stage {
		padding-left: 20px;
		padding-right: 20px;
	}

	.wanze-catalog__hero {
		padding-top: 120px;
	}

	.wanze-catalog__title {
		font-size: clamp(3rem, 16vw, 4.8rem);
	}

	.wanze-catalog__toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.wanze-catalog__utility {
		margin-left: 0;
		width: 100%;
	}

	.wanze-catalog__utility .wc-block-catalog-sorting,
	.wanze-catalog__utility .wc-block-catalog-sorting select {
		width: 100%;
	}

	.wanze-catalog__products .wc-block-product {
		padding: 14px;
	}

	.wanze-catalog__directory-head {
		align-items: start;
		grid-template-columns: 1fr;
	}

	.wanze-catalog__directory-latest {
		display: none;
	}

	.wanze-catalog__category-grid {
		grid-template-columns: 1fr;
	}

	.wanze-catalog__category-card {
		grid-template-columns: 1fr;
		min-height: 0;
	}

}

@media (prefers-reduced-motion: reduce) {
	.wanze-catalog__categories .wc-block-product-categories-list-item a,
	.wanze-catalog__products .wc-block-product,
	.wanze-catalog__products .wc-block-components-product-image img,
	.wanze-catalog__category-card,
	.wanze-catalog__category-link span {
		transition: none;
	}
}

@media (max-width: 540px) {
	.wanze-catalog__category-grid {
		grid-template-columns: 1fr;
	}

	.wanze-catalog__category-card {
		min-height: 0;
	}

	.wanze-catalog__category-copy {
		padding: 30px 24px 34px;
	}

}

/* ==========================================================================
   Quality Control page
   ========================================================================== */
.wanze-qc__stats {
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
	display: grid;
	gap: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: clamp(48px, 5vw, 68px);
}

.wanze-qc__stat {
	border-left: 1px solid rgba(255, 255, 255, 0.12);
	margin: 0 !important;
	max-width: none !important;
	padding: 26px 28px;
}

.wanze-qc__stat:first-child {
	border-left: 0;
	padding-left: 0;
}

.wanze-qc__stat strong {
	color: #ffffff;
	display: block;
	font-family: var(--wanze-font);
	font-size: clamp(2rem, 2.6vw, 2.9rem);
	font-weight: 780;
	letter-spacing: -0.03em;
	line-height: 1;
}

.wanze-qc__stat span {
	color: rgba(255, 255, 255, 0.6);
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.84rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	margin-top: 10px;
}

.wanze-qc__flow {
	counter-reset: wanze-qc-step;
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wanze-qc__step {
	background: #ffffff;
	border: 1px solid #e2e8ee;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
	counter-increment: wanze-qc-step;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: relative;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-qc__step:hover {
	border-color: #b4cedf;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-5px);
}

.wanze-qc__step-image {
	aspect-ratio: 3 / 2;
	display: block;
	height: auto;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	width: 100% !important;
}

.wanze-qc__step-image img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: contain;
	transition: none;
	width: 100% !important;
}

.wanze-qc__step:hover .wanze-qc__step-image img {
	transform: none;
}

.wanze-qc__step-body {
	padding: 26px 26px 28px;
	position: relative;
}

.wanze-qc__step-body::before {
	color: var(--wanze-cta);
	content: "0" counter(wanze-qc-step);
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.74rem;
	font-weight: 780;
	letter-spacing: 0.12em;
	margin-bottom: 12px;
}

.wanze-qc__step-body h3 {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: 1.22rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 !important;
}

.wanze-qc__step-body p {
	color: #5d6a79;
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	line-height: 1.65;
	margin: 12px 0 0 !important;
}

/* Testing gallery: laboratory image composition with framed captions. */
.wanze-section--tint:has(.wanze-qc__gallery) {
	background:
		radial-gradient(circle at 88% 12%, rgba(229, 58, 62, 0.08), transparent 26%),
		linear-gradient(180deg, #eef4f7 0%, #f8fafb 100%);
	padding-bottom: clamp(48px, 5vw, 76px);
}

.wanze-section--tint:has(.wanze-qc__gallery) + .wanze-section--dark {
	margin-block-start: 0 !important;
}

.wanze-section--dark:has(.wanze-qc__records) {
	background: #eef4f7;
	color: #13263d;
	isolation: isolate;
	overflow: hidden;
	padding-bottom: clamp(48px, 5vw, 72px);
	position: relative;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band {
	background: #f1f4f6;
	border-top: 1px solid rgba(21, 58, 104, 0.08);
	color: #71808c;
	margin-block-start: 0 !important;
	padding: clamp(34px, 3.6vw, 48px) 24px;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band .wanze-cta-band__inner {
	align-items: center;
	column-gap: clamp(28px, 4vw, 58px);
	row-gap: 20px;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band h2 {
	color: #243746;
	font-size: clamp(1.55rem, 2vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -0.026em;
	line-height: 1.18;
	margin: 0 !important;
	max-width: 21ch;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band p {
	color: #71808c;
	font-size: clamp(0.9rem, 1vw, 1rem);
	line-height: 1.6;
	margin: 9px 0 0 !important;
	max-width: 60ch;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	box-shadow: none;
	color: #ffffff !important;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.025em;
	min-height: 48px;
	padding: 13px 24px;
	text-transform: uppercase;
}

.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band .wp-block-button__link:hover,
.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-2px);
}

@media (min-width: 782px) {
	.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band h2 {
		max-width: none;
		white-space: nowrap;
	}
}

@media (min-width: 1100px) {
	.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band p {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 781px) {
	.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band h2 {
		font-size: clamp(1.68rem, 7.8vw, 2.15rem);
		max-width: 18ch;
	}

	.wanze-section--dark:has(.wanze-qc__records) + .wanze-cta-band .wp-block-buttons {
		margin-block-start: 6px !important;
	}
}

.wanze-qc__records-backdrop {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0.78;
	pointer-events: none;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.wanze-qc__records-backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
	width: 100% !important;
}

.wanze-section--dark:has(.wanze-qc__records)::before {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.93) 42%, rgba(255, 255, 255, 0.62) 70%, rgba(255, 255, 255, 0.16) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.wanze-section--dark:has(.wanze-qc__records) > :not(.wanze-qc__records-backdrop) {
	position: relative;
	z-index: 2;
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-section__title {
	color: #1d5b84;
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-section__lead {
	color: #5d6a79;
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-qc__record {
	background: rgba(255, 255, 255, 0.88);
	border-color: rgba(21, 58, 104, 0.16);
	box-shadow: 0 14px 30px rgba(19, 51, 78, 0.1);
	gap: 14px;
	justify-content: flex-start;
	min-height: 228px;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-qc__record:hover {
	border-color: rgba(229, 58, 62, 0.42);
	box-shadow: 0 20px 38px rgba(19, 51, 78, 0.15);
	transform: translateY(-4px);
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-qc__record-code {
	color: #1d5b84;
}

.wanze-section--dark:has(.wanze-qc__records) .wanze-qc__record-label {
	color: #58718a;
}

.wanze-qc__record-meta {
	border-top: 1px solid rgba(21, 58, 104, 0.12);
	color: #55718a;
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.025em;
	line-height: 1.45;
	padding-top: 13px;
}

.wanze-qc__record-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: auto;
}

.wanze-qc__record-actions a {
	align-items: center;
	background: #eef6fb;
	border: 1px solid #c9ddea;
	border-radius: 999px;
	color: #1d5b84;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.02em;
	line-height: 1;
	min-height: 32px;
	padding: 0 11px;
	text-decoration: none;
	transition: background-color 160ms ease, transform 160ms ease;
}

.wanze-qc__record-actions a[download]::before {
	content: "↓";
	font-size: 0.95rem;
	font-weight: 800;
	margin-right: 5px;
}

.wanze-qc__record-actions a[data-wanze-inquiry-trigger] {
	background: #fff1f0;
	border-color: #f3c4c1;
	color: #bd242b;
}

.wanze-qc__record-actions a:hover,
.wanze-qc__record-actions a:focus-visible {
	background: var(--wanze-cta);
	border-color: var(--wanze-cta);
	color: #ffffff;
	transform: translateY(-1px);
}

.wanze-section--tint:has(.wanze-qc__gallery) .wanze-section__head {
	margin-bottom: clamp(28px, 3vw, 42px);
}

.wanze-qc__gallery {
	display: grid;
	gap: clamp(14px, 1.4vw, 22px);
	grid-template-columns: repeat(12, minmax(0, 1fr));
	grid-template-rows: clamp(220px, 18vw, 300px) clamp(172px, 13vw, 230px);
}

.wanze-qc__gallery-item {
	background: #102a43;
	border: 1px solid rgba(16, 41, 63, 0.12);
	border-radius: 16px;
	box-shadow: 0 18px 34px rgba(16, 41, 63, 0.12);
	isolation: isolate;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: relative;
}

.wanze-qc__gallery-item:nth-child(1) {
	grid-column: span 7;
	grid-row: span 2;
}

.wanze-qc__gallery-item:nth-child(2),
.wanze-qc__gallery-item:nth-child(3) {
	grid-column: span 5;
}

.wanze-qc__gallery-item img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 520ms ease;
	width: 100% !important;
}

.wanze-qc__gallery-item:hover img {
	transform: scale(1.035);
}

.wanze-qc__gallery-item figcaption {
	background: linear-gradient(0deg, rgba(8, 27, 47, 0.92) 0%, rgba(8, 27, 47, 0.42) 62%, transparent 100%);
	bottom: 0;
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: 0.8rem;
	font-weight: 650;
	letter-spacing: 0.04em;
	left: 0;
	line-height: 1.35;
	padding: 48px 24px 20px 30px;
	position: absolute;
	right: 0;
	text-transform: uppercase;
	z-index: 1;
}

.wanze-qc__gallery-item figcaption::before {
	background: var(--wanze-cta);
	content: "";
	height: 3px;
	left: 24px;
	position: absolute;
	top: 28px;
	width: 34px;
}

.wanze-qc__gallery-item:first-child figcaption {
	font-size: 0.9rem;
}

/* Certification strip. */
.wanze-qc__certs {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wanze-qc__cert {
	align-items: center;
	background: #ffffff;
	border: 1px solid #e2e8ee;
	border-radius: 14px;
	display: flex;
	justify-content: center;
	margin: 0 !important;
	max-width: none !important;
	min-height: 200px;
	padding: 24px;
	transition: box-shadow 200ms ease, transform 200ms ease;
}

.wanze-qc__cert:hover {
	box-shadow: 0 14px 30px rgba(15, 23, 42, 0.1);
	transform: translateY(-4px);
}

.wanze-qc__cert img {
	display: block;
	height: auto !important;
	max-height: 160px;
	max-width: 100% !important;
	object-fit: contain;
	width: auto !important;
}

@media (max-width: 1000px) {
	.wanze-qc__flow {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-qc__gallery {
		grid-template-columns: 1fr;
		grid-template-rows: auto;
	}

	.wanze-qc__gallery-item,
	.wanze-qc__gallery-item:nth-child(1),
	.wanze-qc__gallery-item:nth-child(2),
	.wanze-qc__gallery-item:nth-child(3) {
		grid-column: span 1;
		grid-row: auto;
		height: 300px;
	}

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

@media (max-width: 620px) {
	.wanze-qc__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-qc__stat {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.12);
		padding: 20px 0;
	}

	.wanze-qc__stat:nth-child(-n+2) {
		border-top: 0;
	}

	.wanze-qc__flow {
		grid-template-columns: 1fr;
	}

	.wanze-qc__certs {
		grid-template-columns: 1fr;
	}
}

/* Quality Control hero follows the same full-viewport, image-led composition
 * as the About Us Factory Profile. Its text, image and statistics remain
 * page-managed WordPress content. */
body .wp-site-blocks > .entry-content:has(.wanze-page-hero--qc),
body .wp-site-blocks > .entry-content > main:has(.wanze-page-hero--qc) {
	margin-block-start: 0 !important;
}

.wanze-page-hero--qc {
	background: #ffffff;
	box-sizing: border-box;
	color: #152d47;
	height: calc(100svh + 24px);
	margin-top: -24px !important;
	max-height: calc(100svh + 24px);
	min-height: 0;
	padding: clamp(136px, 12vh, 162px) 24px clamp(132px, 13vh, 168px);
}

.wanze-page-hero--qc::after {
	background: linear-gradient(
		90deg,
		rgba(255, 255, 255, 0.96) 0%,
		rgba(255, 255, 255, 0.86) 19%,
		rgba(255, 255, 255, 0.38) 47%,
		rgba(255, 255, 255, 0.04) 72%,
		rgba(255, 255, 255, 0) 100%
	);
}

.wanze-page-hero--qc .wanze-page-hero__backdrop {
	opacity: 1;
}

.wanze-page-hero--qc .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	position: static;
	width: var(--wanze-layout-width);
}

.wanze-page-hero--qc .wanze-page-hero__inner > :not(.wanze-qc__stats),
.wanze-page-hero--qc .wanze-page-hero__inner::before {
	position: relative;
	z-index: 2;
}

.wanze-page-hero--qc .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__crumb {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.wanze-page-hero--qc .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__eyebrow,
.wanze-page-hero--qc .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__title,
.wanze-page-hero--qc .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__copy {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 660px !important;
	width: 100% !important;
}

.wanze-page-hero--qc .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 24px;
	width: 68px;
}

.wanze-page-hero--qc .wanze-page-hero__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	line-height: 1.25;
	margin: 0 !important;
}

.wanze-page-hero--qc .wanze-page-hero__title {
	color: #122c49;
	font-size: clamp(3.1rem, 4.4vw, 5.5rem);
	font-weight: 700;
	letter-spacing: -0.064em;
	line-height: 0.94;
	margin-top: 24px !important;
}

.wanze-page-hero--qc .wanze-page-hero__copy {
	color: #607287;
	font-size: clamp(1rem, 1.08vw, 1.16rem);
	line-height: 1.72;
	margin-top: 30px !important;
	max-width: none;
}

.wanze-page-hero--qc .wanze-page-hero__crumb {
	color: #728092;
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin: 0 0 clamp(28px, 3vw, 42px) !important;
	order: -1;
}

.wanze-page-hero--qc .wanze-page-hero__crumb .rank-math-breadcrumb,
.wanze-page-hero--qc .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

.wanze-page-hero--qc .wanze-page-hero__crumb a {
	color: #42556a;
	font-weight: 600;
}

.wanze-page-hero--qc .wanze-page-hero__crumb a:hover,
.wanze-page-hero--qc .wanze-page-hero__crumb a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-page-hero--qc .wanze-page-hero__crumb span {
	color: #9aa8b6;
	margin: 0 10px;
	padding: 0;
}

/* QC hero statistics occupy the same floating bottom rail as the About Us facts. */
.wanze-page-hero--qc .wanze-qc__stats {
	background: transparent;
	border: 0;
	bottom: 52px;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	left: 0;
	margin: 0 auto !important;
	max-width: 860px !important;
	position: absolute;
	right: 0;
	width: min(calc(100% - 48px), 860px);
	z-index: 3;
}

.wanze-page-hero--qc .wanze-qc__stat {
	align-items: center;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid #dce5eb;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(22, 52, 77, 0.08);
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 !important;
	min-height: 100px;
	padding: 20px 18px 16px;
	text-align: center;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-page-hero--qc .wanze-qc__stat:first-child {
	border-left: 1px solid #dce5eb;
	padding-left: 18px;
}

.wanze-page-hero--qc .wanze-qc__stat strong {
	color: #163351;
	font-size: clamp(1.32rem, 1.65vw, 1.76rem);
	line-height: 1;
}

.wanze-page-hero--qc .wanze-qc__stat span {
	color: #6b7b8c;
	font-size: 0.76rem;
	letter-spacing: 0;
	line-height: 1.45;
	margin-top: 10px;
	text-align: center;
}

@media (hover: hover) {
	.wanze-page-hero--qc .wanze-qc__stat:hover {
		border-color: rgba(229, 58, 62, 0.42);
		box-shadow: 0 18px 32px rgba(22, 52, 77, 0.14);
		transform: translateY(-6px);
	}

	.wanze-page-hero--qc .wanze-qc__stat:hover strong {
		color: var(--wanze-cta);
	}
}

@media (max-width: 781px) {
	.wanze-page-hero--qc {
		height: auto;
		margin-top: 0 !important;
		max-height: none;
		padding: 112px 20px 116px;
	}

	.wanze-page-hero--qc .wanze-page-hero__inner {
		width: 100%;
	}

	.wanze-page-hero--qc .wanze-page-hero__title {
		font-size: clamp(3rem, 14vw, 4.5rem);
	}

	.wanze-page-hero--qc .wanze-qc__stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 48px !important;
		max-width: none !important;
		position: static;
		transform: none;
		width: 100%;
	}

	.wanze-page-hero--qc .wanze-qc__stat,
	.wanze-page-hero--qc .wanze-qc__stat:first-child {
		border: 1px solid #dce5eb;
		border-radius: 12px;
		min-height: 112px;
		padding: 20px 16px 16px;
	}

	.wanze-page-hero--qc .wanze-qc__stat strong {
		font-size: 1.42rem;
	}
}

/* QC documentation cards. */
.wanze-qc__records {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wanze-qc__record {
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid rgba(255, 255, 255, 0.13);
	border-radius: 16px;
	display: flex;
	flex-direction: column;
	gap: 18px;
	justify-content: space-between;
	margin: 0 !important;
	max-width: none !important;
	min-height: 170px;
	overflow: hidden;
	padding: 24px;
	position: relative;
}

.wanze-qc__record::before {
	background: linear-gradient(135deg, rgba(229, 58, 62, 0.85) 0%, rgba(245, 163, 60, 0.85) 100%);
	border-radius: 8px;
	content: "";
	height: 6px;
	left: 24px;
	position: absolute;
	top: 24px;
	width: 34px;
}

.wanze-qc__record-code {
	color: #ffffff;
	display: block;
	font-family: var(--wanze-font);
	font-size: 1.18rem;
	font-weight: 760;
	letter-spacing: -0.01em;
	line-height: 1.15;
	padding-top: 18px;
}

.wanze-qc__record-label {
	color: rgba(255, 255, 255, 0.66);
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.86rem;
	line-height: 1.55;
}

@media (max-width: 1000px) {
	.wanze-qc__records {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.wanze-qc__records {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   Contact Us page
   ========================================================================== */
.wanze-inner:has(.wanze-contact__cards) .wanze-inner__frame {
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-contact__cards {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wanze-contact__card {
	background: #ffffff;
	border: 1px solid #e2e8ee;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
	margin: 0 !important;
	max-width: none !important;
	padding: 34px 30px 30px;
	position: relative;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-contact__card:hover {
	border-color: #b4cedf;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-5px);
}

.wanze-contact__card-icon {
	align-items: center;
	background: rgba(229, 58, 62, 0.08);
	border-radius: 12px;
	color: var(--wanze-cta);
	display: inline-flex;
	font-size: 1.3rem;
	height: 52px;
	justify-content: center;
	margin: 0 !important;
	width: 52px;
}

.wanze-contact__card h3 {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: 1.06rem;
	font-weight: 750;
	letter-spacing: -0.01em;
	line-height: 1.25;
	margin: 20px 0 0 !important;
}

.wanze-contact__card p {
	color: #5d6a79;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	line-height: 1.65;
	margin: 10px 0 0 !important;
	word-break: break-word;
}

.wanze-contact__card p a {
	color: var(--wanze-blue);
	font-weight: 650;
	text-decoration: none;
	transition: color 160ms ease;
}

.wanze-contact__card p a:hover,
.wanze-contact__card p a:focus-visible {
	color: var(--wanze-cta);
}

/* Social media rail. */
.wanze-contact__social {
	gap: 12px;
	margin-top: 38px !important;
}

.wanze-contact__social a {
	align-items: center;
	background: #ffffff;
	border: 1px solid #dce3e8;
	border-radius: 999px;
	color: #334155;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.84rem;
	font-weight: 700;
	gap: 8px;
	min-height: 44px;
	padding: 10px 20px;
	text-decoration: none;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.wanze-contact__social a:hover,
.wanze-contact__social a:focus-visible {
	background: var(--wanze-blue);
	border-color: var(--wanze-blue);
	color: #ffffff;
	transform: translateY(-2px);
}

/* Contact form panel. */
.wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff;
	padding-bottom: clamp(56px, 5vw, 76px);
	padding-top: clamp(56px, 5vw, 76px);
}

.wanze-contact__form-wrap {
	align-items: start;
	display: grid;
	gap: clamp(48px, 5vw, 88px);
	grid-template-columns: minmax(300px, 0.9fr) minmax(520px, 1.1fr);
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-contact__form-wrap.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.wanze-contact__form-info {
	border-left: 2px solid var(--wanze-cta);
	box-sizing: border-box;
	min-width: 0;
	padding: 8px 0 8px clamp(20px, 2vw, 34px);
}

.wanze-contact__form-info h2 {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(1.8rem, 2.1vw, 2.35rem);
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1.1;
	margin: 14px 0 0 !important;
	max-width: 14ch;
}

.wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	color: #5a6b7f;
	font-family: var(--wanze-font);
	font-size: 1rem;
	line-height: 1.7;
	margin: 20px 0 0 !important;
	max-width: 38ch;
}

.wanze-contact__form-info-list {
	list-style: none;
	margin: 30px 0 0;
	padding: 0;
}

.wanze-contact__form-info-list li {
	align-items: flex-start;
	color: #334155;
	display: flex;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	font-weight: 600;
	gap: 12px;
	line-height: 1.5;
	padding: 11px 0;
}

.wanze-contact__form-info-list li::before {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 50%;
	color: #ffffff;
	content: "\2713";
	display: inline-flex;
	flex: 0 0 20px;
	font-size: 0.72rem;
	height: 20px;
	justify-content: center;
	margin-top: 1px;
	width: 20px;
}

/* The inline form replaces the same page's modal trigger. */
.wanze-contact__form-info .wanze-link--contact {
	display: none;
}

.wanze-contact__form-panel {
	background: #ffffff;
	border: 1px solid #dce5eb;
	border-top: 3px solid var(--wanze-blue);
	border-radius: 8px;
	box-sizing: border-box;
	box-shadow: none;
	min-width: 0;
	padding: clamp(26px, 2.6vw, 38px);
}

.wanze-contact__form-panel .fluentform {
	margin: 0;
}

.wanze-contact__form-panel .ff-el-group {
	margin-bottom: 16px;
}

.wanze-contact__form-panel .ff-el-input--label label {
	color: #21394f;
	font-family: var(--wanze-font);
	font-size: 0.86rem;
	font-weight: 700;
	line-height: 1.4;
}

.wanze-contact__form-panel .ff-el-form-control {
	background: #f8fafb;
	border: 1px solid #d1dce4;
	border-radius: 4px;
	box-shadow: none;
	color: #1e3348;
	font-family: var(--wanze-font);
	font-size: 1rem;
	min-height: 44px;
	padding: 10px 12px;
}

.wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 108px;
	resize: vertical;
}

.wanze-contact__form-panel .ff-el-form-control:focus {
	border-color: var(--wanze-blue);
	box-shadow: 0 0 0 3px rgba(21, 58, 104, 0.14);
	outline: 0;
}

.wanze-contact__form-panel .ff-btn-submit {
	background: var(--wanze-cta) !important;
	border: 1px solid var(--wanze-cta) !important;
	border-radius: 4px;
	color: #ffffff !important;
	font-family: var(--wanze-font);
	font-size: 1.04rem;
	font-weight: 750;
	min-height: 44px;
	min-width: 168px;
	padding: 10px 22px;
	transition: background-color 180ms ease, border-color 180ms ease;
}

.wanze-contact__form-panel .ff-btn-submit:hover,
.wanze-contact__form-panel .ff-btn-submit:focus-visible {
	background: var(--wanze-cta-hover) !important;
	border-color: var(--wanze-cta-hover) !important;
}

@media (max-width: 1000px) {
	.wanze-contact__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-contact__form-wrap {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	.wanze-contact__social {
		flex-wrap: wrap;
	}
}

/* Contact Us follows the light, image-led page language used by Services. */
body.page-id-31 .wanze-page-hero {
	align-content: center;
	background: #ffffff;
	box-sizing: border-box;
	color: #13263d;
	display: grid;
	min-height: 100vh;
	min-height: 100svh;
	padding: 156px 24px 56px;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 38%, rgba(255, 255, 255, 0.68) 63%, rgba(255, 255, 255, 0.2) 100%);
}

body.page-id-31 .wanze-page-hero__backdrop {
	display: block;
	opacity: 1;
}

body.page-id-31 .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	padding-right: 0;
	position: static;
	width: var(--wanze-layout-width);
}

body.page-id-31 .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 22px;
	width: 66px;
}

body.page-id-31 .wanze-page-hero__eyebrow,
body.page-id-31 .wanze-page-hero__title {
	color: #13263d;
}

body.page-id-31 .wanze-page-hero__copy {
	color: #5d6a79;
}

body.page-id-31 .wanze-page-hero__crumb {
	box-sizing: border-box;
	color: #6d7c8b;
	font-size: 0.85rem;
	line-height: 1.5;
	margin: 0 0 clamp(24px, 3vw, 38px) !important;
	order: -1;
	text-align: left;
	width: auto;
}

body.page-id-31 .wanze-page-hero__crumb.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

body.page-id-31 .wanze-page-hero__crumb .rank-math-breadcrumb,
body.page-id-31 .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

body.page-id-31 .wanze-page-hero__crumb a {
	color: #2d465e;
	font-weight: 650;
}

body.page-id-31 .wanze-page-hero__crumb a:hover,
body.page-id-31 .wanze-page-hero__crumb a:focus-visible {
	color: var(--wanze-cta);
}

body.page-id-31 .wanze-page-hero__crumb span {
	color: #9aa7b3;
	margin: 0;
	padding: 0 7px;
}

body.page-id-31 .wanze-page-hero__crumb .last {
	color: #6d7c8b;
}

body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	background: #f5f8fa;
	margin-block-start: 0 !important;
	padding-bottom: clamp(48px, 4vw, 68px);
	padding-top: clamp(46px, 4vw, 64px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	margin-bottom: clamp(24px, 2.5vw, 34px);
	max-width: none !important;
	text-align: left;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(1.85rem, 2.4vw, 2.65rem);
	line-height: 1.12;
	max-width: 20ch;
}

body.page-id-31 .wanze-contact__cards {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	overflow: visible;
}

body.page-id-31 .wanze-contact__card {
	background: #ffffff;
	border: 1px solid #d8e3e9;
	border-radius: 14px;
	box-shadow: none;
	display: flex;
	flex-direction: column;
	min-height: 0;
	padding: clamp(24px, 2.2vw, 32px);
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

body.page-id-31 .wanze-contact__card + .wanze-contact__card {
	border-left: 1px solid #d8e3e9;
}

body.page-id-31 .wanze-contact__card:hover {
	border-color: #adc4d3;
	box-shadow: 0 12px 28px rgba(20, 56, 88, 0.09);
	transform: translateY(-2px);
}

body.page-id-31 .wanze-contact__card:nth-child(1) {
	background: #ffffff;
	border-color: #d8e3e9;
	border-top: 3px solid var(--wanze-cta);
	box-shadow: 0 10px 24px rgba(20, 56, 88, 0.06);
}

body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	border-color: #adc4d3;
	border-top-color: var(--wanze-cta);
	box-shadow: 0 14px 30px rgba(20, 56, 88, 0.1);
}

body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: #e9f1f6;
	border-color: #d3e1ea;
}

body.page-id-31 .wanze-contact__card-icon {
	background: #edf3f7;
	border: 1px solid #d7e5ed;
	border-radius: 50%;
	color: #174570;
	height: 44px;
	width: 44px;
}

body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: #fff1f0;
	border-color: #f5cdca;
	color: var(--wanze-cta);
}

body.page-id-31 .wanze-contact__card-icon::before {
	content: none;
}

body.page-id-31 .wanze-contact__card-icon::after {
	background-color: currentColor;
	content: "";
	display: block;
	height: 20px;
	-webkit-mask: var(--wanze-contact-icon) center / contain no-repeat;
	mask: var(--wanze-contact-icon) center / contain no-repeat;
	width: 20px;
}

body.page-id-31 .wanze-contact__card-icon--phone {
	--wanze-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M5 3.5h3.2l1.1 4.1-2.05 1.45a13.35 13.35 0 0 0 7.72 7.72l1.45-2.05 4.08 1.1V19a1.5 1.5 0 0 1-1.5 1.5C10.45 20.5 3.5 13.55 3.5 5A1.5 1.5 0 0 1 5 3.5Z'/%3E%3C/svg%3E");
}

body.page-id-31 .wanze-contact__card-icon--email {
	--wanze-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M4 5h16a2 2 0 0 1 2 2v10a2 2 0 0 1-2 2H4a2 2 0 0 1-2-2V7a2 2 0 0 1 2-2Zm0 2v.2l8 5.34 8-5.34V7H4Zm16 10V9.6l-7.45 4.96a1 1 0 0 1-1.1 0L4 9.6V17h16Z'/%3E%3C/svg%3E");
}

body.page-id-31 .wanze-contact__card-icon--address {
	--wanze-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.5a7 7 0 0 1 7 7c0 5.08-5.2 10.38-6.4 11.53a.85.85 0 0 1-1.2 0C10.2 19.88 5 14.58 5 9.5a7 7 0 0 1 7-7Zm0 2a5 5 0 1 0 0 10 5 5 0 0 0 0-10Zm0 3a2 2 0 1 1 0 4 2 2 0 0 1 0-4Z'/%3E%3C/svg%3E");
}

body.page-id-31 .wanze-contact__card-icon--hours {
	--wanze-contact-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 2.5a9.5 9.5 0 1 1 0 19 9.5 9.5 0 0 1 0-19Zm0 2a7.5 7.5 0 1 0 0 15 7.5 7.5 0 0 0 0-15Zm1 2.5v4.48l3.32 2.22-1.1 1.66L11 12.5V7h2Z'/%3E%3C/svg%3E");
}

body.page-id-31 .wanze-contact__card h3 {
	font-size: 1.05rem;
	margin-top: 18px !important;
}

body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: #13263d;
}

body.page-id-31 .wanze-contact__card p {
	font-size: 0.96rem;
	line-height: 1.6;
	margin-top: 10px !important;
}

body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: var(--wanze-blue);
}

body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	font-size: 1.08rem;
}

body.page-id-31 .wanze-contact__card-lines {
	display: grid;
	gap: 5px;
}

body.page-id-31 .wanze-contact__quick-link {
	align-items: center;
	background: var(--wanze-cta);
	border-radius: 5px;
	color: #ffffff;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.01em;
	margin-top: 14px;
	min-height: 44px;
	padding: 0 15px;
	text-decoration: none;
	width: fit-content;
}

body.page-id-31 .wanze-contact__quick-link:hover,
body.page-id-31 .wanze-contact__quick-link:focus-visible {
	background: #f05a46;
	color: #ffffff;
	text-decoration: none;
}

body.page-id-31 .wanze-contact__card p a:focus-visible,
body.page-id-31 .wanze-contact__quick-link:focus-visible {
	border-radius: 3px;
	outline: 3px solid rgba(229, 58, 62, 0.28);
	outline-offset: 3px;
}

body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #edf3f7;
	border-top: 1px solid #dce7ed;
	padding-bottom: clamp(72px, 7vw, 108px);
	padding-top: clamp(72px, 7vw, 108px);
}

body.page-id-31 .wanze-contact__form-wrap {
	gap: clamp(34px, 5vw, 80px);
	grid-template-columns: minmax(300px, 0.82fr) minmax(520px, 1.18fr);
}

body.page-id-31 .wanze-contact__form-info {
	background: #ffffff;
	border: 1px solid #d7e2e9;
	border-top: 4px solid var(--wanze-cta);
	border-radius: 10px;
	box-shadow: 0 12px 30px rgba(21, 58, 104, 0.07);
	min-height: 100%;
	padding: clamp(28px, 3vw, 44px);
}

body.page-id-31 .wanze-contact__form-info h2 {
	color: #13263d;
	margin-top: 0 !important;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	color: #5d6a79;
	margin-top: 18px !important;
}

body.page-id-31 .wanze-contact__form-panel {
	border: 1px solid #d7e2e9;
	border-top: 4px solid var(--wanze-blue);
	border-radius: 10px;
	box-shadow: 0 18px 42px rgba(21, 58, 104, 0.1);
	padding: clamp(28px, 3vw, 44px);
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #ffffff;
	border-color: #cbd9e2;
	border-radius: 6px;
}

@media (max-width: 1080px) {
	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border: 1px solid #d8e3e9;
	}

	body.page-id-31 .wanze-contact__card:nth-child(1) {
		border-color: #d8e3e9;
		border-top-color: var(--wanze-cta);
	}

	body.page-id-31 .wanze-contact__card:nth-child(2) {
		border-color: #d3e1ea;
	}
}

@media (max-width: 1140px) {
	body.page-id-31 .wanze-page-hero {
		align-content: start;
	}
}

@media (max-width: 781px) {
	body.page-id-31 .wanze-page-hero {
		padding: 120px 20px 60px;
	}

	body.page-id-31 .wanze-contact__form-info {
		min-height: 0;
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border: 1px solid #d8e3e9;
	}

	body.page-id-31 .wanze-contact__card:first-child {
		border-color: #d8e3e9;
		border-top-color: var(--wanze-cta);
	}

	body.page-id-31 .wanze-contact__card:nth-child(2) {
		border-color: #d3e1ea;
	}
}

/* Contact details use a quiet information rail so the enquiry form remains
 * the page's primary action. */
body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	align-items: start;
	background: #ffffff;
	box-sizing: border-box;
	column-gap: clamp(42px, 6vw, 104px);
	display: grid;
	grid-template-columns: minmax(220px, 0.54fr) minmax(0, 1.46fr);
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	padding-bottom: clamp(52px, 5vw, 84px);
	padding-top: clamp(52px, 5vw, 84px);
	width: var(--wanze-layout-width);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: start;
	border-left: 3px solid var(--wanze-cta);
	margin: 0 !important;
	max-width: none !important;
	padding: 5px 0 5px clamp(18px, 2vw, 28px);
	text-align: left;
	width: auto !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(1.7rem, 2.15vw, 2.35rem);
	line-height: 1.14;
	max-width: 12ch;
}

body.page-id-31 .wanze-contact__cards {
	background: #ffffff;
	border: 1px solid #d7e3e9;
	border-radius: 12px;
	box-shadow: 0 14px 32px rgba(21, 58, 104, 0.07);
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	overflow: hidden;
	width: auto !important;
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: clamp(26px, 2.2vw, 34px);
}

body.page-id-31 .wanze-contact__card:nth-child(2),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-left: 1px solid #dce6eb;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-top: 1px solid #dce6eb;
}

body.page-id-31 .wanze-contact__card:hover,
body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	background: #f9fbfc;
	border-color: #dce6eb;
	box-shadow: none;
	transform: none;
}

body.page-id-31 .wanze-contact__card-icon,
body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: #fff1f0;
	border: 0;
	border-radius: 50%;
	color: var(--wanze-cta);
	height: 34px;
	width: 34px;
}

body.page-id-31 .wanze-contact__card-icon::after {
	height: 16px;
	width: 16px;
}

body.page-id-31 .wanze-contact__card h3,
body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: #183149;
	font-size: 1rem;
	letter-spacing: 0;
	margin-top: 14px !important;
}

body.page-id-31 .wanze-contact__card p,
body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #596b7d;
	font-size: 0.94rem;
	line-height: 1.55;
	margin-top: 7px !important;
}

body.page-id-31 .wanze-contact__card p a,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #204a78;
	font-size: 0.96rem;
}

body.page-id-31 .wanze-contact__quick-link {
	background: transparent;
	border-radius: 0;
	color: var(--wanze-cta);
	font-size: 0.8rem;
	margin-top: 8px;
	min-height: 32px;
	padding: 0;
}

body.page-id-31 .wanze-contact__quick-link::after {
	content: "\2192";
	font-size: 1rem;
	margin-left: 8px;
}

body.page-id-31 .wanze-contact__quick-link:hover,
body.page-id-31 .wanze-contact__quick-link:focus-visible {
	background: transparent;
	color: #b92d34;
	text-decoration: underline;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
		grid-template-columns: 1fr;
		row-gap: 24px;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		padding-top: 0;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
		max-width: none;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-left: 0;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-top: 1px solid #dce6eb;
	}
}

/* ==========================================================================
   About Us page: extended modules
   ========================================================================== */

/* Milestone timeline. */
#wanze-about-timeline {
	background-color: #f7fafc;
	background-image: linear-gradient(90deg, rgba(247, 250, 252, 1) 0%, rgba(247, 250, 252, 0.96) 42%, rgba(247, 250, 252, 0.78) 70%, rgba(247, 250, 252, 0.52) 100%), var(--wanze-about-timeline-image, none);
	background-position: center right;
	background-repeat: no-repeat;
	background-size: cover;
	padding-bottom: clamp(52px, 4.2vw, 68px);
	padding-top: clamp(52px, 4.2vw, 68px);
	position: relative;
	box-shadow: 0 -32px #f7fafc, 0 32px #f7fafc;
}

/* Gutenberg's flow gap sits outside each section's painted background. */
.wanze-about > #wanze-about-timeline,
.wanze-about > #wanze-about-timeline + .wanze-section {
	grid-column: 1;
	margin-block-start: 0 !important;
}

.wanze-about > #wanze-about-timeline {
	grid-row: 2;
}

#wanze-about-timeline .wanze-section__head {
	display: block;
	margin-bottom: clamp(22px, 2vw, 30px);
	max-width: 1520px !important;
}

#wanze-about-timeline .wanze-section__head .wanze-section__title {
	font-size: clamp(2rem, 2.4vw, 2.85rem);
	max-width: none;
	white-space: nowrap;
}

#wanze-about-timeline > .wanze-inner__frame {
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-about__timeline {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	list-style: none;
	margin: 0;
	min-height: 390px;
	padding: 0;
	position: relative;
}

.wanze-about__timeline::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #cf4153 52%, var(--wanze-blue) 100%);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	right: 0;
	top: 194px;
}

.wanze-about__timeline li {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	display: block;
	margin: 0;
	min-height: 390px;
	padding: 0;
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
	transform: translateY(0);
	transform-origin: center;
}

.wanze-about__timeline li::before {
	background: var(--wanze-cta);
	border: 3px solid #ffffff;
	border-radius: 999px;
	content: "";
	box-shadow: 0 0 0 2px rgba(229, 58, 62, 0.26), 0 4px 10px rgba(137, 33, 45, 0.16);
	height: 12px;
	left: 50%;
	position: absolute;
	top: 187px;
	transform: translateX(-50%);
	width: 10px;
	z-index: 1;
}

.wanze-about__timeline li::after {
	background: linear-gradient(180deg, rgba(229, 58, 62, 0.1), rgba(21, 58, 104, 0.48));
	content: "";
	height: 26px;
	left: 50%;
	position: absolute;
	top: 161px;
	transform: translateX(-50%);
	width: 1px;
}

.wanze-about__timeline-year {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: clamp(0.88rem, 1vw, 1.02rem);
	font-weight: 780;
	left: 0;
	letter-spacing: 0;
	line-height: 1.2;
	margin: 0 !important;
	position: absolute;
	right: 0;
	text-align: center;
	top: 218px;
	width: auto;
}

.wanze-about__timeline-body {
	background: rgba(255, 255, 255, 0.8);
	border: 1px solid rgba(255, 255, 255, 0.8);
	border-radius: 8px;
	box-shadow: 0 10px 22px rgba(15, 42, 67, 0.06);
	box-sizing: border-box;
	margin: 0 !important;
	max-width: none !important;
	min-height: 136px;
	padding: 18px 16px 17px;
	position: absolute;
	top: 0;
	width: 100%;
}

.wanze-about__timeline-body h3 {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: clamp(0.84rem, 0.91vw, 0.95rem);
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.28;
	margin: 0 !important;
	white-space: nowrap;
}

.wanze-about__timeline-body p {
	color: #5d6a79;
	font-family: var(--wanze-font);
	font-size: clamp(0.72rem, 0.73vw, 0.78rem);
	line-height: 1.45;
	margin: 6px 0 0 !important;
	max-width: none;
}

.wanze-about__timeline li:nth-child(even) .wanze-about__timeline-year {
	top: 145px;
}

.wanze-about__timeline li:nth-child(even) .wanze-about__timeline-body {
	top: 252px;
}

.wanze-about__timeline li:nth-child(even)::after {
	background: linear-gradient(180deg, rgba(21, 58, 104, 0.48), rgba(229, 58, 62, 0.1));
	top: 225px;
}

.wanze-about__timeline li:hover {
	filter: brightness(1.01);
	transform: none;
}

.wanze-about__timeline li:hover .wanze-about__timeline-body {
	background: rgba(255, 255, 255, 0.92);
	border-color: rgba(229, 58, 62, 0.3);
	box-shadow: 0 14px 26px rgba(15, 42, 67, 0.1);
}

/* Manufacturing capability cards. */
/* About quality-process section: use a tighter rhythm while preserving the page-managed content. */
body.page-id-27 .wanze-section--tint:has(.wanze-about__capabilities) {
	padding-bottom: clamp(56px, 6vw, 80px);
	padding-top: clamp(56px, 6vw, 80px);
}

body.page-id-27 .wanze-section--tint:has(.wanze-about__capabilities) .wanze-section__head {
	margin-bottom: clamp(32px, 3.5vw, 46px);
}

.wanze-about__capabilities {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wanze-about__capability {
	border-radius: 18px;
	isolation: isolate;
	margin: 0 !important;
	max-width: none !important;
	min-height: 300px;
	overflow: hidden;
	position: relative;
}

.wanze-about__capability::after {
	background: linear-gradient(180deg, rgba(8, 23, 47, 0.02) 30%, rgba(8, 23, 47, 0.86) 100%);
	content: "";
	inset: 0;
	position: absolute;
	z-index: 1;
}

.wanze-about__capability-image {
	height: 100%;
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	position: absolute;
	width: 100% !important;
	z-index: 0;
}

.wanze-about__capability-image img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 420ms ease;
	width: 100% !important;
}

.wanze-about__capability:hover .wanze-about__capability-image img {
	transform: scale(1.05);
}

.wanze-about__capability-copy {
	bottom: 0;
	left: 0;
	padding: 26px 24px 24px;
	position: absolute;
	right: 0;
	z-index: 2;
}

.wanze-about__capability-copy h3 {
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: 1.32rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.15;
	margin: 0 !important;
}

.wanze-about__capability-copy p {
	color: rgba(255, 255, 255, 0.8);
	font-family: var(--wanze-font);
	font-size: 1rem;
	line-height: 1.55;
	margin: 8px 0 0 !important;
}

/* OEM / ODM cooperation flow. */
.wanze-about__oem-flow {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	margin-top: 18px;
}

.wanze-about__oem-step {
	background: #ffffff;
	border: 1px solid #e2e8ee;
	border-radius: 14px;
	margin: 0 !important;
	max-width: none !important;
	padding: 24px 18px 22px;
	position: relative;
	text-align: center;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-about__oem-step:hover {
	border-color: #b4cedf;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.09);
	transform: translateY(-4px);
}

.wanze-about__oem-step::after {
	color: #c4d1da;
	content: "\2192";
	font-size: 1.1rem;
	position: absolute;
	right: -14px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 2;
}

.wanze-about__oem-step:last-child::after {
	content: none;
}

.wanze-about__oem-step strong {
	color: var(--wanze-cta);
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 780;
	letter-spacing: 0.1em;
	margin-bottom: 10px;
}

.wanze-about__oem-step span {
	color: #13263d;
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.88rem;
	font-weight: 700;
	line-height: 1.3;
}

/* OEM customisable items tag cloud. */
.wanze-about__oem-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	list-style: none;
	margin: 28px 0 0;
	padding: 0;
}

.wanze-about__oem-tags li {
	background: #ffffff;
	border: 1px solid #dce3e8;
	border-radius: 999px;
	color: #334155;
	font-family: var(--wanze-font);
	font-size: 0.86rem;
	font-weight: 650;
	margin: 0;
	padding: 9px 18px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.wanze-about__oem-tags li:hover {
	background: var(--wanze-blue);
	border-color: var(--wanze-blue);
	color: #ffffff;
}

/* OEM / ODM service details. */
.wanze-about__oem-overview,
.wanze-about__oem-support {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wanze-about__oem-panel,
.wanze-about__oem-support-card {
	background: #ffffff;
	border: 1px solid #dce3e8;
	border-radius: 16px;
	margin: 0 !important;
	max-width: none !important;
	padding: 28px;
}

.wanze-about__oem-copy .wanze-about__oem-label {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 780;
	letter-spacing: 0.1em;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-about__oem-panel h3,
.wanze-about__oem-support-card h3,
.wanze-about__oem-faq h3,
.wanze-about__oem-inquiry h3,
.wanze-about__oem-subtitle {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: 1.2rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.25;
	margin: 0 !important;
}

.wanze-about__oem-panel h3 {
	margin-top: 10px !important;
}

.wanze-about__oem-panel p:not(.wanze-about__oem-label),
.wanze-about__oem-support-card p,
.wanze-about__oem-inquiry p:not(.wanze-about__oem-label) {
	color: #5d6a79;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	line-height: 1.65;
	margin: 10px 0 0 !important;
}

.wanze-about__oem-subtitle {
	margin-top: 36px !important;
}

.wanze-about__oem-support {
	margin-top: 28px;
}

.wanze-about__oem-faq {
	margin-top: 28px;
}

.wanze-about__oem-faq h3 {
	margin-bottom: 14px !important;
}

.wanze-about__oem-faq details {
	border-bottom: 1px solid #dce3e8;
	color: #13263d;
	font-family: var(--wanze-font);
	padding: 16px 0;
}

.wanze-about__oem-faq summary {
	cursor: pointer;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.4;
}

.wanze-about__oem-faq details p {
	color: #5d6a79;
	font-size: 0.92rem;
	line-height: 1.65;
	margin: 10px 0 0 !important;
	max-width: 72ch;
}

.wanze-about__oem-inquiry {
	align-items: center;
	background: #eaf4f8;
	border-radius: 18px;
	display: flex;
	gap: 28px;
	justify-content: space-between;
	margin-top: 32px;
	padding: 30px;
}

.wanze-about__oem-inquiry h3 {
	margin-top: 8px !important;
}

.wanze-about__oem-inquiry .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	color: #ffffff !important;
	flex: 0 0 auto;
	font-family: var(--wanze-font);
	font-size: 0.82rem;
	font-weight: 750;
	letter-spacing: 0.03em;
	padding: 14px 22px;
	text-transform: uppercase;
}

.wanze-about__oem-inquiry .wp-block-button__link:hover,
.wanze-about__oem-inquiry .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
}

@media (max-width: 1000px) {
	.wanze-about__timeline {
		gap: 16px;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		min-height: 0;
		padding-top: 0;
	}

	.wanze-about__timeline::before {
		content: none;
	}

	.wanze-about__timeline li {
		background: rgba(255, 255, 255, 0.92);
		border: 1px solid rgba(18, 35, 58, 0.12);
		border-radius: 8px;
		box-shadow: 0 10px 22px rgba(15, 42, 67, 0.05);
		min-height: 164px;
		padding: 22px 22px 20px;
	}

	.wanze-about__timeline li::before {
		border-radius: 999px;
		height: 4px;
		left: 22px;
		top: 0;
		width: 36px;
	}

	.wanze-about__timeline li::after,
	.wanze-about__timeline li:nth-child(even)::after {
		content: none;
	}

	.wanze-about__timeline-year,
	.wanze-about__timeline li:nth-child(even) .wanze-about__timeline-year {
		position: static;
		width: auto;
	}

	.wanze-about__timeline-body {
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		min-height: 0;
		padding: 10px 0 0;
		position: static;
		width: auto;
	}

	.wanze-about__timeline li:nth-child(even) .wanze-about__timeline-body {
		top: auto;
	}

	.wanze-about__timeline-body p {
		max-width: 36ch;
	}

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

	.wanze-about__oem-flow {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wanze-about__oem-overview,
	.wanze-about__oem-support {
		grid-template-columns: 1fr;
	}

	.wanze-about__oem-step::after {
		content: none;
	}
}

@media (max-width: 781px) {
	#wanze-about-timeline {
		background-image: linear-gradient(rgba(255, 255, 255, 0.94), rgba(255, 255, 255, 0.94)), var(--wanze-about-timeline-image, none);
		padding-bottom: 52px;
		padding-top: 0;
	}

	#wanze-about-timeline .wanze-section__head {
		display: block;
		margin-bottom: 30px;
	}

	#wanze-about-timeline .wanze-section__head .wanze-section__title {
		font-size: clamp(2rem, 9vw, 2.65rem);
		max-width: 13ch;
		white-space: normal;
	}

	.wanze-about__timeline::before {
		content: none;
	}

	.wanze-about__timeline li {
		box-sizing: border-box;
		min-height: 0;
		padding: 22px 22px 20px;
	}

	.wanze-about__timeline-year {
		text-align: left;
	}

	.wanze-about__timeline li::after {
		content: none;
	}

	.wanze-about__capabilities {
		grid-template-columns: 1fr;
	}

	.wanze-about__capability {
		min-height: 280px;
	}

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

	.wanze-about__oem-panel,
	.wanze-about__oem-support-card {
		padding: 24px 20px;
	}

	.wanze-about__oem-inquiry {
		align-items: flex-start;
		flex-direction: column;
		padding: 24px 20px;
	}
}

@media (max-width: 560px) {
	.wanze-about__timeline {
		grid-template-columns: 1fr;
	}

	.wanze-about__timeline li::before {
		left: 22px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-about__timeline li {
		transition: none;
	}

	.wanze-about__timeline li:hover {
		transform: none;
	}
}

/* ==========================================================================
   Services page
   ========================================================================== */

/* Download cards. */
.wanze-svc__downloads {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wanze-svc__download {
	align-items: flex-start;
	background: #ffffff;
	border: 1px solid #e2e8ee;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.05);
	display: flex;
	flex-direction: column;
	margin: 0 !important;
	max-width: none !important;
	padding: 32px 28px 28px;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-svc__download:hover {
	border-color: #b4cedf;
	box-shadow: 0 16px 36px rgba(15, 23, 42, 0.1);
	transform: translateY(-5px);
}

.wanze-svc__download-icon {
	align-items: center;
	background: rgba(21, 58, 104, 0.07);
	border-radius: 12px;
	color: var(--wanze-blue);
	display: inline-flex;
	font-size: 1.3rem;
	height: 52px;
	justify-content: center;
	margin: 0 !important;
	width: 52px;
}

.wanze-svc__download-icon::before {
	background: currentColor;
	content: "";
	display: block;
	height: 26px;
	-webkit-mask: var(--wanze-svc-icon) center / contain no-repeat;
	mask: var(--wanze-svc-icon) center / contain no-repeat;
	width: 26px;
}

.wanze-svc__download-icon--catalog {
	color: #1d5b84;
	--wanze-svc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M8 13h8M8 17h8M8 9h2'/%3E%3C/svg%3E");
}

.wanze-svc__download-icon--guide {
	color: #1d5b84;
	--wanze-svc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6h16M4 12h16M4 18h16'/%3E%3Ccircle cx='9' cy='6' r='2'/%3E%3Ccircle cx='15' cy='12' r='2'/%3E%3Ccircle cx='11' cy='18' r='2'/%3E%3C/svg%3E");
}

.wanze-svc__download-icon--cert {
	color: #1d5b84;
	--wanze-svc-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s8-4 8-10V5l-8-3-8 3v7c0 6 8 10 8 10z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
}

.wanze-svc__download h3 {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: 1.12rem;
	font-weight: 750;
	letter-spacing: -0.015em;
	line-height: 1.25;
	margin: 20px 0 0 !important;
}

.wanze-svc__download p {
	color: #5d6a79;
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	line-height: 1.6;
	margin: 10px 0 0 !important;
}

.wanze-svc__download a {
	align-items: center;
	color: var(--wanze-cta);
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.84rem;
	font-weight: 750;
	gap: 10px;
	letter-spacing: 0.04em;
	margin-top: 22px !important;
	text-decoration: none;
	text-transform: uppercase;
	transition: gap 180ms ease, color 180ms ease;
}

.wanze-svc__download a::after {
	content: "\2193";
	font-size: 1rem;
	line-height: 1;
}

.wanze-svc__download a:hover,
.wanze-svc__download a:focus-visible {
	color: var(--wanze-cta-hover);
	gap: 14px;
}

/* FAQ accordion groups. */
.wanze-svc__faq-group {
	align-content: start;
	display: grid;
	gap: 10px;
	margin: 0 !important;
	max-width: none !important;
}

.wanze-svc__faq-group > :is(h2, h3) {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(1.15rem, 1.3vw, 1.35rem);
	font-weight: 750;
	letter-spacing: -0.02em;
	line-height: 1.2;
	margin: 0 0 12px !important;
	padding-left: 20px;
	position: relative;
}

.wanze-svc__faq-group > :is(h2, h3)::before {
	background: linear-gradient(180deg, #ee4a4e 0%, var(--wanze-cta) 100%);
	border-radius: 999px;
	bottom: 1px;
	content: "";
	left: 0;
	position: absolute;
	top: 1px;
	width: 5px;
}

.wanze-svc__faq-item {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #dbe5ec;
	border-radius: 16px;
	box-shadow: 0 1px 0 rgba(17, 40, 63, 0.03);
	margin: 0;
	overflow: hidden;
	transition: background-color 200ms ease, border-color 200ms ease, box-shadow 220ms ease, transform 220ms ease;
}

.wanze-svc__faq-item[open] {
	background: #ffffff;
	border-color: #9dbbce;
	box-shadow: 0 16px 30px rgba(27, 65, 95, 0.11);
}

.wanze-svc__faq-item summary {
	align-items: center;
	color: #13263d;
	cursor: pointer;
	display: flex;
	font-family: var(--wanze-font);
	font-size: clamp(0.96rem, 1.03vw, 1.05rem);
	font-weight: 700;
	gap: 16px;
	justify-content: space-between;
	line-height: 1.4;
	list-style: none;
	min-height: 72px;
	padding: 15px 18px 15px 24px;
	touch-action: manipulation;
	transition: color 180ms ease;
}

.wanze-svc__faq-item summary::-webkit-details-marker {
	display: none;
}

.wanze-svc__faq-item summary::after {
	align-items: center;
	background: #fff0f1;
	border: 1px solid #f5cdd0;
	border-radius: 50%;
	color: var(--wanze-cta);
	content: "+";
	display: flex;
	flex: 0 0 auto;
	font-size: 1.45rem;
	font-weight: 500;
	height: 36px;
	justify-content: center;
	line-height: 1;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 220ms cubic-bezier(0.2, 0.8, 0.2, 1);
	width: 36px;
}

.wanze-svc__faq-item[open] summary::after {
	background: var(--wanze-cta);
	border-color: var(--wanze-cta);
	color: #ffffff;
	transform: rotate(45deg);
}

.wanze-svc__faq-item[open] summary,
.wanze-svc__faq-item summary:hover,
.wanze-svc__faq-item summary:focus-visible {
	color: var(--wanze-blue);
}

.wanze-svc__faq-item summary:focus-visible {
	border-radius: 12px;
	outline: 3px solid rgba(27, 91, 132, 0.4);
	outline-offset: -4px;
}

.wanze-svc__faq-answer {
	color: #5d6a79;
	border-top: 1px solid #e5edf2;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	line-height: 1.7;
	margin: 0 24px;
	padding: 16px 0 22px;
}

.wanze-svc__faq-columns {
	display: grid;
	gap: clamp(28px, 3.4vw, 52px);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-30 .wanze-section:has(#wanze-services-faqs) {
	background:
		radial-gradient(circle at 50% 0%, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0) 42%),
		linear-gradient(180deg, #edf3f7 0%, #f5f8fb 100%);
}

body.page-id-30 .wanze-section:has(#wanze-services-faqs) .wanze-section__head {
	margin-bottom: clamp(36px, 3.6vw, 50px);
}

@media (hover: hover) and (pointer: fine) {
	.wanze-svc__faq-item:hover {
		border-color: #b2c7d6;
		box-shadow: 0 12px 24px rgba(27, 65, 95, 0.09);
		transform: translateY(-2px);
	}

	.wanze-svc__faq-item summary:hover::after {
		background: #fee5e6;
		border-color: #efb6b9;
	}
}

.wanze-svc__faq-item summary:active::after {
	transform: scale(0.9);
}

.wanze-svc__faq-item[open] summary:active::after {
	transform: rotate(45deg) scale(0.9);
}

.wanze-svc__faq-item[open] .wanze-svc__faq-answer {
	animation: wanze-svc-faq-answer-in 240ms ease-out both;
}

@keyframes wanze-svc-faq-answer-in {
	from {
		opacity: 0;
		transform: translateY(-5px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-svc__faq-item,
	.wanze-svc__faq-item summary,
	.wanze-svc__faq-item summary::after {
		transition: none;
	}

	.wanze-svc__faq-item[open] .wanze-svc__faq-answer {
		animation: none;
	}
}

/* Video grid. */
.wanze-svc__videos {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.wanze-svc__video {
	border-radius: 16px;
	isolation: isolate;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: relative;
}

.wanze-svc__video img {
	aspect-ratio: 16 / 9;
	display: block;
	height: auto !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 380ms ease;
	width: 100% !important;
}

.wanze-svc__video:hover img {
	transform: scale(1.04);
}

.wanze-svc__video figcaption {
	background: linear-gradient(0deg, rgba(8, 23, 47, 0.8) 0%, transparent 100%);
	bottom: 0;
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: 0.86rem;
	font-weight: 650;
	left: 0;
	padding: 34px 18px 14px;
	position: absolute;
	right: 0;
	z-index: 1;
}

.wanze-svc__video::before {
	align-items: center;
	background: rgba(229, 58, 62, 0.92);
	border-radius: 50%;
	color: #ffffff;
	content: "\25B6";
	display: flex;
	font-size: 1rem;
	height: 56px;
	justify-content: center;
	left: 50%;
	padding-left: 4px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	transition: transform 240ms ease, background 240ms ease;
	width: 56px;
	z-index: 2;
}

.wanze-svc__video:hover::before,
.wanze-svc__video:focus-within::before {
	background: var(--wanze-cta);
	transform: translate(-50%, -50%) scale(1.1);
}

@media (max-width: 1000px) {
	.wanze-svc__downloads,
	.wanze-svc__videos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-svc__faq-columns {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 620px) {
	.wanze-svc__downloads,
	.wanze-svc__videos {
		grid-template-columns: 1fr;
	}
}

/* About: private-label range builder. Copy, media and the inquiry target remain page-managed. */
.wanze-about > .wanze-section:has(.wanze-about__oem-compact) {
	background: #ffffff;
}

/* Keep the private-label section flush with the adjacent About bands. */
.wanze-about > .wanze-section--tint + .wanze-section:has(.wanze-about__oem-compact) {
	margin-block-start: 0 !important;
}

.wanze-about > .wanze-section:has(.wanze-about__oem-compact) + .wanze-section--tint {
	margin-block-start: 0 !important;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) + .wanze-cta-band {
	margin-block-start: 0 !important;
}

/* About: use the same quiet closing inquiry treatment as the homepage. */
.wanze-about .wanze-cta-band {
	background: #f1f4f6;
	border-top: 1px solid rgba(21, 58, 104, 0.08);
	color: #71808c;
	padding: clamp(34px, 3.6vw, 48px) 24px;
}

.wanze-about .wanze-cta-band h2 {
	color: #243746;
	font-size: clamp(1.55rem, 2vw, 2.2rem);
	font-weight: 700;
	letter-spacing: -0.026em;
	line-height: 1.18;
	margin: 0 !important;
	max-width: 21ch;
}

.wanze-about .wanze-cta-band p {
	color: #71808c;
	font-size: clamp(0.9rem, 1vw, 1rem);
	line-height: 1.6;
	margin: 9px 0 0 !important;
	max-width: 60ch;
}

.wanze-about .wanze-cta-band .wp-block-button__link {
	background: var(--wanze-cta);
	border-radius: 999px;
	box-shadow: none;
	color: #ffffff !important;
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.025em;
	min-height: 48px;
	padding: 13px 24px;
	text-transform: uppercase;
}

.wanze-about .wanze-cta-band .wp-block-button__link:hover,
.wanze-about .wanze-cta-band .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	transform: translateY(-2px);
}

@media (min-width: 782px) {
	.wanze-about .wanze-cta-band h2 {
		max-width: none;
		white-space: nowrap;
	}
}

@media (max-width: 781px) {
	.wanze-about .wanze-cta-band {
		padding-bottom: 34px;
		padding-top: 34px;
	}

	.wanze-about .wanze-cta-band h2 {
		font-size: clamp(1.68rem, 7.8vw, 2.15rem);
		max-width: 18ch;
	}

	.wanze-about .wanze-cta-band .wp-block-buttons {
		margin-block-start: 6px !important;
	}
}

/* About: certificate wall aligned to the same content width as the fixed navigation. */
.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) {
	--wanze-qc-layout-width: min(calc(100vw - 64px), 1600px);
	background: #f7f7f5;
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	max-width: none !important;
	isolation: isolate;
	overflow: hidden;
	padding: clamp(72px, 8vw, 120px) 24px;
	position: relative;
	width: 100% !important;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__backdrop {
	inset: 0;
	margin: 0 !important;
	max-width: none !important;
	pointer-events: none;
	position: absolute;
	width: auto !important;
	z-index: 0;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__backdrop img {
	display: block;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center bottom;
	width: 100% !important;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs)::after {
	background: rgba(255, 255, 255, 0.58);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 0;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) > :not(.wanze-qc__backdrop) {
	position: relative;
	z-index: 1;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__head {
	align-self: start;
	border-left: 3px solid var(--wanze-cta);
	grid-column: 1;
	grid-row: 1;
	justify-self: center;
	margin: clamp(18px, 4vw, 62px) auto 0 !important;
	max-width: var(--wanze-qc-layout-width) !important;
	padding: 0 0 0 24px;
	text-align: left;
	width: var(--wanze-qc-layout-width);
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__eyebrow {
	color: #667085;
	font-size: 0.78rem;
	letter-spacing: 0.1em;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__title {
	color: #18212c;
	font-size: clamp(2rem, 3vw, 3.15rem);
	letter-spacing: -0.035em;
	line-height: 1.05;
	margin-top: 14px !important;
	max-width: none;
	white-space: nowrap;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__lead {
	font-size: clamp(0.9rem, 1vw, 1rem);
	line-height: 1.55;
	margin-top: 16px !important;
	max-width: 34ch;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlights {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin: 32px auto 0 !important;
	max-width: var(--wanze-qc-layout-width);
	padding: 0;
	width: 100%;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlight {
	border-top: 2px solid rgba(229, 58, 62, 0.72);
	padding: 14px 12px 0;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlight-index {
	color: var(--wanze-cta);
	display: block;
	font-family: var(--wanze-font);
	font-size: 0.86rem;
	font-weight: 780;
	letter-spacing: 0.1em;
	line-height: 1;
	margin-bottom: 9px;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlight strong {
	color: #18314a;
	display: block;
	font-family: var(--wanze-font);
	font-size: 1.28rem;
	font-weight: 760;
	line-height: 1.25;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlight p {
	color: #64758a;
	font-family: var(--wanze-font);
	font-size: 1.02rem;
	line-height: 1.45;
	margin: 7px 0 0 !important;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__certs {
	display: grid;
	gap: clamp(46px, 5vw, 76px);
	grid-column: 1;
	grid-row: 1;
	grid-template-columns: minmax(0, 1fr);
	justify-self: center;
	margin: 0 auto !important;
	max-width: var(--wanze-qc-layout-width) !important;
	width: var(--wanze-qc-layout-width);
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf {
	display: grid;
	gap: clamp(14px, 1.8vw, 28px);
	padding-bottom: 24px;
	position: relative;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf::after {
	background: linear-gradient(180deg, rgba(222, 237, 241, 0.82), rgba(159, 196, 208, 0.62));
	bottom: 0;
	box-shadow: 0 8px 12px rgba(66, 108, 122, 0.12);
	content: "";
	height: 8px;
	left: 0;
	position: absolute;
	right: 0;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--upper {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	justify-self: end;
	width: min(100%, 560px);
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--lower {
	grid-template-columns: repeat(5, minmax(0, 1fr));
	width: 100%;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert {
	align-items: center;
	aspect-ratio: 119 / 168;
	background: #ffffff;
	border: clamp(5px, 0.55vw, 9px) solid #c5925f;
	border-bottom-color: #a86e3d;
	border-radius: 0;
	box-shadow: 0 12px 18px rgba(43, 40, 35, 0.18), inset 0 0 0 2px rgba(255, 249, 237, 0.9);
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	margin: 0 !important;
	overflow: hidden;
	padding: 5px;
	position: relative;
	transition: box-shadow 200ms ease, transform 200ms ease;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert:hover {
	box-shadow: 0 17px 24px rgba(43, 40, 35, 0.22), inset 0 0 0 2px rgba(255, 249, 237, 0.9);
	transform: translateY(-6px);
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert img {
	display: block;
	height: 100% !important;
	max-height: none;
	max-width: 100% !important;
	object-fit: contain;
	transition: transform 200ms ease;
	width: 100% !important;
}

.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert:hover img {
	transform: scale(1.018);
}

@media (min-width: 782px) {
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) {
		--wanze-qc-cert-height: min(320px, calc((100svh - 162px) / 2));
		height: 100svh;
		padding-bottom: clamp(40px, 6svh, 64px);
		padding-top: clamp(40px, 6svh, 64px);
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__head {
		align-items: end;
		column-gap: clamp(34px, 4vw, 72px);
		display: grid;
		grid-template-columns: minmax(330px, 0.72fr) minmax(270px, 0.52fr) minmax(0, 1fr);
		grid-template-rows: auto auto;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__eyebrow,
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__title {
		grid-column: 1;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__eyebrow {
		grid-row: 1;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__title {
		grid-row: 2;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__lead {
		align-self: end;
		border-left: 1px solid rgba(71, 109, 126, 0.24);
		grid-column: 2 / span 2;
		grid-row: 1 / span 2;
		margin: 0 !important;
		max-width: 38ch;
		padding: 5px 0 5px clamp(20px, 2vw, 30px);
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlights {
		align-self: start;
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		margin: clamp(200px, 24vh, 230px) 0 0 max(0px, calc((100% - var(--wanze-qc-layout-width)) / 2)) !important;
		max-width: min(60%, 960px);
		width: 60%;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__certs {
		gap: clamp(26px, 3svh, 42px);
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf {
		gap: clamp(14px, 1.4vw, 24px);
		padding-bottom: 18px;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--upper {
		grid-template-columns: repeat(2, max-content);
		width: auto;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--lower {
		grid-template-columns: repeat(5, max-content);
		justify-content: space-between;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert {
		height: var(--wanze-qc-cert-height);
		width: auto;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert,
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert img {
		transition: none;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert:hover,
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert:hover img {
		transform: none;
	}
}

@media (max-width: 1200px) {
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) {
		--wanze-qc-layout-width: calc(100vw - 24px);
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (max-width: 781px) {
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) {
		padding-bottom: 64px;
		padding-top: 64px;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__head {
		grid-row: auto;
		margin: 0 auto !important;
		max-width: 480px !important;
		width: 100%;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-section__title {
		white-space: normal;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__certs {
		grid-row: auto;
		margin-top: 44px !important;
		width: 100%;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-about__cert-highlights {
		grid-template-columns: 1fr;
		max-width: 480px;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--lower {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert {
		height: auto;
		width: 100%;
	}
}

@media (max-width: 520px) {
	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf {
		gap: 12px;
		padding-bottom: 18px;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--upper {
		width: 100%;
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__shelf--lower {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-about > .wanze-section--tint:has(.wanze-qc__certs) .wanze-qc__cert {
		border-width: 5px;
		padding: 3px;
	}
}

.wanze-about__oem-compact {
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr;
	margin: 0 auto;
	max-width: 1440px !important;
}

.wanze-about__oem-copy {
	background: #ffffff;
	border: 1px solid #d8e1e7;
	border-top: 3px solid var(--wanze-cta);
	border-radius: 8px;
	box-sizing: border-box;
	color: #18314a;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 28px 26px 24px;
}

.wanze-about__oem-copy .wanze-about__oem-label {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-about__oem-copy h3 {
	color: #102d4c;
	font-family: var(--wanze-font);
	font-size: 1.7rem;
	font-weight: 760;
	line-height: 1.18;
	margin: 10px 0 0 !important;
}

.wanze-about__oem-copy > div > p:not(.wanze-about__oem-label) {
	color: #526579;
	font-family: var(--wanze-font);
	font-size: 0.94rem;
	line-height: 1.58;
	margin: 12px 0 0 !important;
	max-width: 54ch;
}

.wanze-about__oem-features {
	display: grid;
	gap: 8px;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
}

.wanze-about__oem-features li {
	border-top: 1px solid #e1e8ec;
	color: #526579;
	font-family: var(--wanze-font);
	font-size: 0.82rem;
	line-height: 1.45;
	margin: 0;
	padding: 9px 0 0;
}

.wanze-about__oem-features strong {
	color: #18314a;
	display: block;
	font-size: 0.84rem;
	font-weight: 760;
	margin-bottom: 2px;
}

.wanze-about__oem-copy .wp-block-button__link {
	align-items: center;
	background: var(--wanze-cta);
	border: 1px solid var(--wanze-cta);
	border-radius: 5px;
	color: #ffffff !important;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.78rem;
	font-weight: 760;
	justify-content: center;
	letter-spacing: 0.04em;
	margin-top: 22px;
	min-height: 46px;
	padding: 10px 18px;
	text-decoration: none;
	text-transform: uppercase;
	transition: background-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.wanze-about__oem-copy .wp-block-button__link:hover,
.wanze-about__oem-copy .wp-block-button__link:focus-visible {
	background: var(--wanze-cta-hover);
	box-shadow: 0 8px 18px rgba(189, 36, 43, 0.22);
	transform: translateY(-2px);
}

.wanze-about__oem-copy .wp-block-button__link:focus-visible {
	outline: 3px solid rgba(229, 58, 62, 0.32);
	outline-offset: 3px;
}

.wanze-about__oem-gallery {
	display: grid;
	gap: 14px;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.8fr);
	grid-template-rows: repeat(2, minmax(0, 1fr));
}

.wanze-about__oem-image {
	background: #dfe8ed;
	border-radius: 6px;
	margin: 0 !important;
	max-width: none !important;
	overflow: hidden;
	position: relative;
}

.wanze-about__oem-image--feature {
	grid-row: span 2;
}

.wanze-about__oem-image img {
	display: block;
	height: 100% !important;
	margin: 0 !important;
	max-width: none !important;
	object-fit: cover;
	transition: transform 220ms ease;
	width: 100% !important;
}

.wanze-about__oem-image:hover img {
	transform: scale(1.035);
}

.wanze-about__oem-image figcaption {
	background: transparent;
	bottom: 0;
	color: #ffffff;
	font-family: var(--wanze-font);
	font-size: 0.9rem;
	font-weight: 700;
	left: 0;
	margin: 0 !important;
	padding: 11px 14px;
	position: absolute;
	right: 0;
	text-shadow: 0 1px 2px rgba(8, 24, 43, 0.9);
}


/* About: solution-list composition. This is the canonical desktop layout. */
@media (min-width: 782px) {
	.wanze-about > .wanze-section:has(.wanze-about__oem-compact) {
		background: #ffffff;
		box-sizing: border-box;
		display: grid;
		gap: clamp(22px, 3vh, 36px);
		grid-template-columns: 1fr;
		grid-template-rows: auto minmax(0, 1fr);
		height: min(90svh, 760px);
		overflow: hidden;
		padding: clamp(28px, 4vh, 46px) 24px;
	}

	.wanze-about > .wanze-section:has(.wanze-about__oem-compact) > .wanze-section__head {
		justify-self: center;
		margin: 0 !important;
		max-width: 920px !important;
		text-align: center;
	}

	.wanze-about > .wanze-section:has(.wanze-about__oem-compact) .wanze-section__title {
		font-size: clamp(2.2rem, 3vw, 2.65rem);
		line-height: 1.12;
		margin-top: 10px !important;
	}

	.wanze-about > .wanze-section:has(.wanze-about__oem-compact) .wanze-section__lead {
		font-size: 1rem;
		line-height: 1.55;
		margin: 14px auto 0 !important;
		max-width: 72ch;
	}

	.wanze-about__oem-compact {
		align-items: stretch;
		column-gap: clamp(24px, 3vw, 48px);
		display: grid;
		grid-template-columns: minmax(280px, 0.72fr) minmax(0, 1.28fr);
		grid-template-rows: auto auto auto minmax(170px, 1fr);
		height: 100%;
		min-height: 0;
		position: relative;
	}

	.wanze-about__oem-compact::before {
		display: none;
	}

	.wanze-about__oem-copy,
	.wanze-about__oem-copy > div {
		display: contents;
	}

	.wanze-about__oem-copy .wanze-about__oem-label,
	.wanze-about__oem-copy h3,
	.wanze-about__oem-copy > div > p:not(.wanze-about__oem-label),
	.wanze-about__oem-copy .wp-block-button__link,
	.wanze-about__oem-features,
	.wanze-about__oem-gallery {
		position: relative;
		z-index: 1;
	}

	.wanze-about__oem-features {
		align-self: stretch;
		counter-reset: wanze-solution;
		display: grid;
		gap: 14px;
		grid-column: 1;
		grid-row: 1 / -1;
		grid-template-columns: 1fr;
		grid-template-rows: repeat(3, minmax(0, 1fr));
		margin: 0;
	}

	.wanze-about__oem-features li {
		background: #ffffff;
		border: 1px solid #e2e8ed;
		border-radius: 8px;
		box-shadow: 0 12px 24px rgba(15, 30, 45, 0.045);
		box-sizing: border-box;
		color: #627286;
		counter-increment: wanze-solution;
		font-size: 0.84rem;
	line-height: 1.42;
	overflow: hidden;
	padding: 22px 20px 20px 78px;
	position: relative;
	transition: background-color 200ms ease, border-color 200ms ease, box-shadow 200ms ease, color 200ms ease, transform 200ms ease;
}

	.wanze-about__oem-features li::before {
		align-items: center;
		background: #f0f4f7;
		border-radius: 50%;
		color: var(--wanze-cta);
		content: counter(wanze-solution, decimal-leading-zero);
		display: flex;
		font-size: 0.82rem;
		font-weight: 800;
		height: 42px;
		justify-content: center;
		left: 20px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		width: 42px;
	}

	.wanze-about__oem-features li::after {
		bottom: -24px;
		color: rgba(21, 58, 104, 0.07);
		content: counter(wanze-solution, decimal-leading-zero);
		font-family: var(--wanze-font);
		font-size: clamp(5.8rem, 7vw, 8.5rem);
		font-weight: 800;
		letter-spacing: 0;
		line-height: 1;
		position: absolute;
		right: 18px;
	}

	.wanze-about__oem-features li:first-child:not(:has(~ li:hover)) {
		background: var(--wanze-cta);
		border-color: var(--wanze-cta);
		box-shadow: 0 14px 26px rgba(229, 58, 62, 0.2);
		color: rgba(255, 255, 255, 0.86);
	}

	.wanze-about__oem-features li:first-child:not(:has(~ li:hover))::after {
		color: rgba(255, 255, 255, 0.15);
	}

	.wanze-about__oem-features li:first-child:not(:has(~ li:hover))::before {
		background: #ffffff;
	}

	.wanze-about__oem-features li:hover {
		background: var(--wanze-cta);
		border-color: var(--wanze-cta);
		box-shadow: 0 18px 32px rgba(229, 58, 62, 0.26);
		color: rgba(255, 255, 255, 0.86);
		transform: translateX(10px) scale(1.025);
		z-index: 1;
	}

	.wanze-about__oem-features li:hover::after {
		color: rgba(255, 255, 255, 0.15);
	}

	.wanze-about__oem-features li:hover::before {
		background: #ffffff;
	}

	.wanze-about__oem-features strong {
		color: #1b2c3d;
		font-size: 1rem;
		line-height: 1.25;
		margin-bottom: 5px;
		position: relative;
		z-index: 1;
	}

	.wanze-about__oem-features li:first-child:not(:has(~ li:hover)) strong,
	.wanze-about__oem-features li:hover strong {
		color: #ffffff;
	}

	.wanze-about__oem-copy .wanze-about__oem-label {
		align-self: end;
		color: var(--wanze-cta);
		grid-column: 2;
		grid-row: 1;
		margin: 28px 28px 0 !important;
	}

	.wanze-about__oem-copy h3 {
		color: var(--wanze-cta);
		font-size: 1.8rem;
		grid-column: 2;
		grid-row: 2;
		margin: 8px 28px 0 !important;
	}

	.wanze-about__oem-copy > div > p:not(.wanze-about__oem-label) {
		border-bottom: 0;
		color: #526579;
		font-size: 0.94rem;
		grid-column: 2;
		grid-row: 3;
		line-height: 1.58;
		margin: 16px 28px 20px !important;
		max-width: 68ch;
		padding-bottom: 0;
	}

	.wanze-about__oem-copy .wp-block-button__link {
		align-self: start;
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		margin: 24px 28px 0 0;
		min-height: 42px;
		padding: 9px 16px;
		width: auto;
	}

	.wanze-about__oem-gallery {
		align-self: stretch;
		gap: 12px;
		grid-column: 2;
		grid-row: 4;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		grid-template-rows: 1fr;
		margin: 0 14px 14px 28px;
		min-height: 0;
	}

	.wanze-about__oem-image,
	.wanze-about__oem-image--feature {
		border-radius: 6px;
		grid-row: auto;
	}

	.wanze-about__oem-image figcaption {
		background: transparent;
		font-size: clamp(1.25rem, 1.35vw, 1.45rem);
		padding: 9px 11px;
	}
}

@media (min-width: 782px) and (prefers-reduced-motion: reduce) {
	.wanze-about__oem-features li {
		transition: none;
	}

	.wanze-about__oem-features li:hover {
		transform: none;
	}
}

@media (min-width: 782px) and (max-width: 1100px) {
	.wanze-about__oem-compact {
		column-gap: 20px;
		grid-template-columns: minmax(250px, 0.7fr) minmax(0, 1.3fr);
	}

	.wanze-about__oem-features li {
		font-size: 0.76rem;
		padding-left: 68px;
	}

	.wanze-about__oem-features li::before {
		left: 14px;
	}
}

@media (max-width: 781px) {
	.wanze-about > .wanze-section:has(.wanze-about__oem-compact) {
		background: #ffffff;
	}

	.wanze-about__oem-compact {
		gap: 12px;
	}

	.wanze-about__oem-copy {
		background: #ffffff;
		border: 1px solid #d8e1e7;
		border-top: 3px solid var(--wanze-cta);
	}

	.wanze-about__oem-copy .wanze-about__oem-label,
	.wanze-about__oem-copy h3,
	.wanze-about__oem-features strong {
		color: #18314a;
	}

	.wanze-about__oem-copy .wanze-about__oem-label {
		color: var(--wanze-cta);
	}

	.wanze-about__oem-copy > div > p:not(.wanze-about__oem-label),
	.wanze-about__oem-features li {
		color: #526579;
	}

	.wanze-about__oem-features li {
		border-top-color: #e1e8ec;
	}

	.wanze-about__oem-gallery {
		min-height: 320px;
	}
}

@media (max-width: 520px) {
	.wanze-about__oem-copy {
		padding: 24px 20px 22px;
	}

	.wanze-about__oem-copy .wp-block-button,
	.wanze-about__oem-copy .wp-block-button__link {
		width: 100%;
	}

	.wanze-about__oem-gallery {
		gap: 8px;
		min-height: 260px;
	}

	.wanze-about__oem-image figcaption {
		font-size: 0.84rem;
		padding: 9px 10px;
	}
}

/* Give the range-builder capability cards a denser, vertically centred reading rhythm. */
@media (min-width: 782px) {
	.wanze-about__oem-features li {
		align-content: center;
		display: grid;
		font-size: clamp(0.96rem, 1vw, 1.08rem);
		line-height: 1.55;
		padding: 28px clamp(56px, 4vw, 88px) 28px 92px;
	}

	.wanze-about__oem-features strong {
		font-size: clamp(1.18rem, 1.3vw, 1.42rem);
		line-height: 1.22;
		margin-bottom: 10px;
	}

	/* Core Dashicons replace the sequential labels with capability markers. */
	.wanze-about__oem-features li::before {
		content: "\f323";
		font-family: dashicons;
		font-size: 1.22rem;
		font-weight: 400;
	}

	.wanze-about__oem-features li:nth-child(2)::before {
		content: "\f318";
	}

	.wanze-about__oem-features li:nth-child(3)::before {
		content: "\f12a";
	}
}

/* Blog archive: page-managed posts in an editorial, media-led list. */
body:is(.blog, .category) .wanze-blog__hero {
	background: #ffffff;
	color: #13263d;
}

body:is(.blog, .category) .wanze-blog__hero::after {
	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.96) 30%,
		rgba(255, 255, 255, 0.62) 56%,
		rgba(255, 255, 255, 0.2) 76%,
		rgba(255, 255, 255, 0) 100%
	);
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__backdrop {
	opacity: 1;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	position: relative;
	width: var(--wanze-layout-width);
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 24px;
	width: 68px;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__title {
	color: #13263d;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__copy {
	color: #5d6a79;
	margin-top: 44px !important;
	max-width: 660px;
}

.wanze-blog__category-links {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(32px, 4vw, 56px);
	max-width: 544px;
}

.wanze-blog__category-link {
	align-items: center;
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid #dce5eb;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(22, 52, 77, 0.08);
	box-sizing: border-box;
	color: #13263d;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 126px;
	padding: 20px 18px 16px;
	text-align: center;
	text-decoration: none;
	transition: border-color 200ms ease, box-shadow 200ms ease, transform 200ms ease;
}

.wanze-blog__category-link:hover,
.wanze-blog__category-link:focus-visible {
	border-color: rgba(229, 58, 62, 0.5);
	box-shadow: 0 18px 32px rgba(22, 52, 77, 0.14);
	color: var(--wanze-cta);
	transform: translateY(-6px);
}

.wanze-blog__category-link:focus-visible {
	outline: 3px solid rgba(229, 58, 62, 0.3);
	outline-offset: 3px;
}

.wanze-blog__category-name {
	color: inherit;
	font-family: var(--wanze-font);
	font-size: clamp(1.32rem, 1.65vw, 1.76rem);
	font-weight: 760;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.wanze-blog__category-description {
	color: #6b7b8c;
	font-family: var(--wanze-font);
	font-size: 0.76rem;
	font-weight: 600;
	line-height: 1.4;
	margin-top: 8px;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb {
	color: #728092;
	margin: 0 0 clamp(28px, 3vw, 42px) !important;
	order: -1;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb .rank-math-breadcrumb,
body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb a {
	color: #42556a;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb a:hover,
body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb a:focus-visible {
	color: #13263d;
}

body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__crumb span {
	color: #9aa8b6;
}

body:is(.blog, .category) .wanze-blog__hero + .wanze-blog {
	margin-block-start: 0 !important;
}

@media (min-width: 782px) {
	body:is(.blog, .category) .wanze-blog__hero {
		align-content: center;
		box-sizing: border-box;
		display: grid;
		height: calc(100svh + 24px);
		min-height: 0;
		grid-template-rows: minmax(0, 1fr);
	}

	body:is(.blog, .category) .wanze-blog__hero .wanze-page-hero__inner {
		height: 100%;
		position: static;
	}

	body:is(.blog, .category) .wanze-page-hero--qc .wanze-page-hero__inner > .wanze-blog__category-links {
		bottom: clamp(44px, 6vh, 76px);
		left: 50%;
		margin-top: 0;
		max-width: 544px;
		position: absolute;
		transform: translateX(-50%);
		width: min(calc(100vw - 48px), 544px);
	}
}

@media (max-width: 620px) {
	.wanze-blog__category-links {
		grid-template-columns: 1fr;
		max-width: 100%;
	}

	.wanze-blog__category-link {
		min-height: 126px;
	}
}

.wanze-blog {
	background: #ffffff;
	box-sizing: border-box;
	padding: clamp(48px, 6vw, 88px) 0 clamp(72px, 8vw, 116px);
}

.wanze-blog__intro,
.wanze-blog__feed {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-blog__intro {
	border-bottom: 1px solid #dce5eb;
	margin-bottom: clamp(32px, 4vw, 52px) !important;
	padding-bottom: clamp(28px, 3vw, 42px);
}

.wanze-blog__intro .rank-math-breadcrumb,
.wanze-blog__intro .rank-math-breadcrumb p {
	margin: 0 !important;
}

.wanze-blog__intro .rank-math-breadcrumb {
	color: #6a7b8d;
	font-family: var(--wanze-font);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.wanze-blog__intro .rank-math-breadcrumb a {
	color: var(--wanze-cta);
	text-decoration: none;
}

.wanze-blog__intro h1 {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(2.5rem, 5vw, 4.6rem);
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1.05;
	margin: 18px 0 0 !important;
}

.wanze-blog__posts {
	display: grid;
	gap: 22px;
	margin: 0 !important;
	max-width: none !important;
	padding: 0;
	width: 100%;
}

.wanze-blog__posts > .wp-block-post {
	margin: 0;
}

.wanze-blog__card {
	--wanze-blog-cover-height: clamp(300px, 18vw, 360px);
	background: #ffffff;
	border: 1px solid #dde6ec;
	border-radius: 8px;
	box-shadow: 0 10px 28px rgba(15, 30, 45, 0.045);
	display: grid;
	grid-template-areas: "media copy";
	grid-template-columns: minmax(0, 42%) minmax(0, 58%);
	height: var(--wanze-blog-cover-height);
	overflow: hidden;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

/* Gutenberg's constrained layout adds a content max-width and auto margins to
 * direct children. Inside this two-column card those defaults cause the media
 * and copy to overlap, so the card owns its grid geometry explicitly. */
.wanze-blog__card.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.wanze-blog__card-copy.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none;
}

.wanze-blog__card:hover {
	border-color: rgba(229, 58, 62, 0.36);
	box-shadow: 0 16px 34px rgba(15, 30, 45, 0.09);
	transform: translateY(-2px);
}

.wanze-blog__media {
	align-self: stretch;
	aspect-ratio: auto !important;
	background: #dfe8ed;
	grid-area: media;
	height: auto !important;
	margin: 0 !important;
	min-height: 0;
	min-width: 0;
	width: 100%;
}

.wanze-blog__media a,
.wanze-blog__media img {
	display: block;
	height: 100%;
	width: 100%;
}

.wanze-blog__media img {
	object-fit: cover;
	transition: transform 240ms ease;
}

.wanze-blog__card:hover .wanze-blog__media img {
	transform: scale(1.035);
}

.wanze-blog__card-copy {
	align-content: start;
	box-sizing: border-box;
	display: grid;
	grid-area: copy;
	grid-template-rows: auto auto minmax(0, 1fr) auto;
	justify-items: stretch;
	min-height: 0;
	min-width: 0;
	padding: clamp(24px, 2vw, 32px);
}

.wanze-blog__category {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	line-height: 1.35;
	margin: 0 !important;
	text-transform: uppercase;
}

.wanze-blog__category a {
	color: inherit;
	text-decoration: none;
}

.wanze-blog__card-title {
	font-family: var(--wanze-font);
	font-size: clamp(1.35rem, 1.85vw, 1.85rem);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.22;
	margin: 12px 0 0 !important;
	max-width: 100%;
}

.wanze-blog__card-title a {
	color: #142a40;
	text-decoration: none;
}

.wanze-blog__card-title a:hover,
.wanze-blog__card-title a:focus-visible {
	color: var(--wanze-cta);
}

.wanze-blog__excerpt {
	color: #5c6f82;
	font-family: var(--wanze-font);
	font-size: 0.98rem;
	line-height: 1.62;
	margin: 14px 0 0 !important;
	max-width: 62ch;
}

.wanze-blog__excerpt .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	overflow: hidden;
	text-overflow: ellipsis;
	word-break: normal;
}

.wanze-blog__excerpt p {
	margin: 0 !important;
}

.wanze-blog__date {
	border-top: 1px solid #e5ebef;
	color: #6f8192;
	font-family: var(--wanze-font);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	margin: 20px 0 0 !important;
	padding-top: 14px;
	text-transform: uppercase;
	width: 100%;
}

.wanze-blog__pagination {
	gap: 8px;
	margin-top: clamp(32px, 4vw, 52px) !important;
}

.wanze-blog__pagination a,
.wanze-blog__pagination span {
	align-items: center;
	border: 1px solid #ccd8e4;
	border-radius: 8px;
	color: #263b53;
	display: inline-flex;
	font-family: var(--wanze-font);
	font-size: 0.9rem;
	font-weight: 700;
	justify-content: center;
	min-height: 42px;
	min-width: 42px;
	padding: 8px 12px;
	text-decoration: none;
}

.wanze-blog__pagination a:hover,
.wanze-blog__pagination a:focus-visible,
.wanze-blog__pagination .current {
	background: var(--wanze-cta);
	border-color: var(--wanze-cta);
	color: #ffffff;
}

@media (max-width: 781px) {
	.wanze-blog {
		padding: 44px 0 72px;
	}

	.wanze-blog__card {
		--wanze-blog-cover-height: clamp(200px, 52vw, 240px);
		height: auto;
		grid-template-areas:
			"media"
			"copy";
		grid-template-columns: 1fr;
	}

	.wanze-blog__media,
	.wanze-blog__card-copy {
		min-height: 0;
	}

	.wanze-blog__media {
		height: var(--wanze-blog-cover-height);
	}

	.wanze-blog__card-copy {
		padding: 26px 22px 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wanze-blog__card,
	.wanze-blog__media img,
	.wanze-blog__category-link {
		transition: none;
	}
}

/* Single blog post: shares the News & Blog archive hero before the article. */
body.single-post .wanze-article__hero {
	background: #ffffff;
	color: #13263d;
}

body.single-post .wanze-article__hero::after {
	background: linear-gradient(
		90deg,
		#ffffff 0%,
		rgba(255, 255, 255, 0.96) 30%,
		rgba(255, 255, 255, 0.62) 56%,
		rgba(255, 255, 255, 0.2) 76%,
		rgba(255, 255, 255, 0) 100%
	);
}

body.single-post .wanze-article__hero .wanze-page-hero__backdrop {
	opacity: 1;
}

body.single-post .wanze-article__hero .wanze-page-hero__inner {
	display: flex;
	flex-direction: column;
	max-width: none !important;
	position: relative;
	width: var(--wanze-layout-width);
}

body.single-post .wanze-article__hero .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%);
	border-radius: 999px;
	content: "";
	display: block;
	height: 5px;
	margin-bottom: 24px;
	width: 68px;
}

body.single-post .wanze-article__hero .wanze-page-hero__crumb {
	color: #728092;
	margin: 0 0 clamp(28px, 3vw, 42px) !important;
	order: -1;
}

body.single-post .wanze-article__hero .wanze-page-hero__crumb .rank-math-breadcrumb,
body.single-post .wanze-article__hero .wanze-page-hero__crumb .rank-math-breadcrumb p {
	margin: 0 !important;
}

body.single-post .wanze-article__hero .wanze-page-hero__crumb a {
	color: #42556a;
}

body.single-post .wanze-article__hero .wanze-page-hero__crumb a:hover,
body.single-post .wanze-article__hero .wanze-page-hero__crumb a:focus-visible {
	color: #13263d;
}

body.single-post .wanze-article__hero .wanze-page-hero__crumb span {
	color: #9aa8b6;
}

body.single-post .wanze-article__hero .wanze-article__category {
	margin: 0 !important;
}

body.single-post .wanze-article__hero .wanze-page-hero__title {
	color: #13263d;
	font-size: clamp(1.95rem, 3.2vw, 3.55rem);
	max-width: min(100%, 28ch);
}

body.single-post .wanze-article__hero .wanze-article__headline {
	color: #13263d;
	font-family: var(--wanze-font);
	font-size: clamp(1.2rem, 1.75vw, 1.8rem);
	font-weight: 720;
	line-height: 1.35;
	margin: 44px 0 0 !important;
	max-width: 45ch;
}

body.single-post .wanze-article__hero .wanze-article__date {
	display: block;
	margin-top: 22px !important;
}

body.single-post .wanze-article__hero + .wanze-article {
	margin-block-start: 0 !important;
}

@media (min-width: 782px) {
	body.single-post .wanze-article__hero {
		align-content: center;
		box-sizing: border-box;
		display: grid;
		height: 100svh;
		min-height: 0;
	}
}

/* Single blog post: readable long-form content. */
.wanze-article {
	background: #f7f9fb;
	box-sizing: border-box;
	padding: clamp(48px, 6vw, 88px) 0 clamp(72px, 8vw, 116px);
}

.wanze-article__shell {
	margin-left: auto !important;
	margin-right: auto !important;
	max-width: none !important;
	width: var(--wanze-layout-width);
}

.wanze-article__header,
.wanze-article__content {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	width: 100%;
}

.wanze-article__header {
	border-bottom: 1px solid #dce5eb;
	padding-bottom: clamp(28px, 3vw, 42px);
}

.wanze-article__header .rank-math-breadcrumb,
.wanze-article__header .rank-math-breadcrumb p {
	margin: 0 !important;
}

.wanze-article__header .rank-math-breadcrumb {
	color: #6a7b8d;
	font-family: var(--wanze-font);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.5;
	text-transform: uppercase;
}

.wanze-article__header .rank-math-breadcrumb a {
	color: var(--wanze-cta);
	text-decoration: none;
}

.wanze-article__category {
	color: var(--wanze-cta);
	font-family: var(--wanze-font);
	font-size: 0.75rem;
	font-weight: 750;
	letter-spacing: 0.08em;
	line-height: 1.4;
	margin: 28px 0 0 !important;
	text-transform: uppercase;
}

.wanze-article__category a {
	color: inherit;
	text-decoration: none;
}

.wanze-article__title {
	color: #12233a;
	font-family: var(--wanze-font);
	font-size: clamp(1.15rem, 2.15vw, 2.15rem);
	font-weight: 780;
	letter-spacing: 0;
	line-height: 1.18;
	margin: 14px 0 0 !important;
	max-width: none;
}

.wanze-article__date {
	color: #6f8192;
	font-family: var(--wanze-font);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin: 22px 0 0 !important;
	text-transform: uppercase;
}

.wanze-article__content {
	color: #445365;
	font-family: var(--wanze-font);
	margin-top: clamp(36px, 5vw, 64px) !important;
}

.wanze-article__content > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: 100% !important;
}

.wanze-article__content > * + * {
	margin-top: 1.25rem;
}

.wanze-article__content p {
	color: #445365;
	font-size: 1rem;
	line-height: 1.75;
	margin-bottom: 0;
	max-width: 72ch;
}

.wanze-article__content h2,
.wanze-article__content h3,
.wanze-article__content h4,
.wanze-article__content h5 {
	color: #12233a;
	font-family: var(--wanze-font);
	font-weight: 750;
	letter-spacing: 0;
	line-height: 1.35;
	margin-bottom: 0;
	margin-top: 2.5rem;
	max-width: 72ch;
}

.wanze-article__content h2 {
	border-bottom: 1px solid #dce5eb;
	font-size: clamp(1.65rem, 2.4vw, 2rem);
	padding-bottom: 12px;
}

.wanze-article__content h3 {
	font-size: clamp(1.4rem, 2vw, 1.65rem);
}

.wanze-article__content h4 {
	font-size: 1.25rem;
}

.wanze-article__content h5 {
	color: #344a61;
	font-size: 1.1rem;
}

.wanze-article__content a {
	color: var(--wanze-cta);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.14em;
}

.wanze-article__content a:hover,
.wanze-article__content a:focus-visible {
	color: var(--wanze-cta-hover);
}

.wanze-article__content ul,
.wanze-article__content ol {
	color: #445365;
	line-height: 1.75;
	margin-bottom: 0;
	margin-top: 1.25rem;
	max-width: 72ch;
	padding-left: 1.4rem;
}

.wanze-article__content li + li {
	margin-top: 0.4rem;
}

.wanze-article__content blockquote {
	background: #f0f4f7;
	border-left: 4px solid var(--wanze-cta);
	box-sizing: border-box;
	color: #344a61;
	font-size: 1.08rem;
	font-style: italic;
	line-height: 1.75;
	margin: 2rem 0;
	max-width: 72ch;
	padding: 24px 28px;
}

.wanze-article__content blockquote p {
	color: inherit;
}

.wanze-article__content .wp-block-image,
.wanze-article__content figure {
	margin-bottom: 0;
	margin-top: 2rem;
}

.wanze-article__content .wp-block-image img,
.wanze-article__content figure img {
	display: block;
	height: auto;
	max-width: 100%;
	width: auto;
}

.wanze-article__content figcaption {
	color: #6f8192;
	font-size: 0.82rem;
	line-height: 1.5;
	margin-top: 10px;
}

.wanze-article__content .wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin-bottom: 0;
	margin-top: 2rem;
}

.wanze-article__content table {
	background: #ffffff;
	border: 1px solid #dce5eb;
	border-collapse: collapse;
	border-spacing: 0;
	color: #445365;
	font-size: 0.94rem;
	min-width: 700px;
	width: 100%;
}

.wanze-article__content th,
.wanze-article__content td {
	border: 1px solid #dce5eb;
	line-height: 1.55;
	padding: 14px 20px;
	text-align: left;
	vertical-align: middle;
}

.wanze-article__content th {
	background: #eef3f6;
	color: #12233a;
	font-weight: 700;
}

.wanze-article__content tbody tr:nth-child(even) {
	background: #f8fafb;
}

@media (max-width: 781px) {
	.wanze-article {
		padding: 44px 0 72px;
	}

	.wanze-article__title {
		font-size: clamp(1.5rem, 6vw, 2rem);
		max-width: none;
	}

	.wanze-article__content p {
		font-size: 1rem;
	}

	.wanze-article__content h2 {
		font-size: 1.55rem;
	}

	.wanze-article__content h3 {
		font-size: 1.3rem;
	}

	.wanze-article__content h4 {
		font-size: 1.15rem;
	}

	.wanze-article__content h5 {
		font-size: 1.05rem;
	}

	.wanze-article__content blockquote {
		font-size: 1rem;
		margin: 1.5rem 0;
		padding: 20px;
	}

	.wanze-article__content th,
	.wanze-article__content td {
		font-size: 0.875rem;
		padding: 10px 12px;
	}
}

/* Contact Us final cascade: kept last so it supersedes legacy page variants. */
/* Reference-layout override. Important declarations isolate this page from
 * the older Contact Us variants that remain earlier in this legacy stylesheet. */
body.page-id-31 .wanze-page-hero {
	align-content: center !important;
	min-height: 410px !important;
	padding: 136px 24px 58px !important;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.98) 0%, rgba(255, 255, 255, 0.91) 43%, rgba(255, 255, 255, 0.48) 70%, rgba(255, 255, 255, 0.12) 100%) !important;
}

body.page-id-31 .wanze-page-hero__inner {
	max-width: none !important;
	width: var(--wanze-layout-width) !important;
}

body.page-id-31 .wanze-page-hero__inner::before,
body.page-id-31 .wanze-page-hero__eyebrow,
body.page-id-31 .wanze-page-hero__copy {
	display: none !important;
}

body.page-id-31 .wanze-page-hero__title {
	font-size: clamp(2.75rem, 5vw, 5rem) !important;
	letter-spacing: -0.05em !important;
	line-height: 0.98 !important;
	max-width: none !important;
}

body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	background: #f8fafb !important;
	border: 1px solid #d9e4ea !important;
	border-radius: 24px !important;
	column-gap: 0 !important;
	grid-template-columns: minmax(300px, 0.7fr) minmax(0, 1.3fr) !important;
	overflow: hidden !important;
	padding: 0 !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: stretch !important;
	background: linear-gradient(145deg, #eef5f8 0%, #f8fafb 100%) !important;
	border: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	min-height: 410px !important;
	padding: clamp(38px, 4vw, 58px) !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__eyebrow {
	color: var(--wanze-cta) !important;
	font-size: 0.75rem !important;
	font-weight: 760 !important;
	letter-spacing: 0.12em !important;
	margin-bottom: 16px !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(2.25rem, 3.25vw, 3.65rem) !important;
	letter-spacing: -0.045em !important;
	line-height: 0.98 !important;
	max-width: 9ch !important;
}

body.page-id-31 .wanze-contact__cards {
	background: #ffffff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	overflow: visible !important;
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: transparent !important;
	border: 0 !important;
	border-bottom: 1px solid #dfe8ed !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	min-height: 0 !important;
	padding: clamp(31px, 3vw, 44px) clamp(27px, 3.25vw, 52px) !important;
}

body.page-id-31 .wanze-contact__card:nth-child(2),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-left: 0 !important;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

body.page-id-31 .wanze-contact__card:hover,
body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	background: #ffffff !important;
	box-shadow: none !important;
}

body.page-id-31 .wanze-contact__card-icon,
body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--wanze-cta) !important;
	height: 24px !important;
	margin-bottom: 12px !important;
	width: 24px !important;
}

body.page-id-31 .wanze-contact__card-icon::after {
	height: 21px !important;
	width: 21px !important;
}

body.page-id-31 .wanze-contact__card h3,
body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: var(--wanze-cta) !important;
	font-size: 0.76rem !important;
	font-weight: 760 !important;
	letter-spacing: 0.08em !important;
	margin-top: 0 !important;
	text-transform: uppercase !important;
}

body.page-id-31 .wanze-contact__card p,
body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a,
body.page-id-31 .wanze-contact__card p a {
	color: #203c55 !important;
	font-size: 0.98rem !important;
	font-weight: 520 !important;
	line-height: 1.65 !important;
	margin-top: 8px !important;
}

body.page-id-31 .wanze-contact__quick-link {
	font-size: 0.8rem !important;
	margin-top: 11px !important;
	padding-top: 0 !important;
}

body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff !important;
	padding-bottom: clamp(72px, 7vw, 110px) !important;
	padding-top: clamp(72px, 7vw, 110px) !important;
}

body.page-id-31 .wanze-contact__form-wrap {
	background: linear-gradient(135deg, #eef5f8 0%, #e8f0f4 100%) !important;
	border: 1px solid #d5e1e8 !important;
	border-radius: 20px !important;
	gap: 0 !important;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr) !important;
	overflow: hidden !important;
}

body.page-id-31 .wanze-contact__form-info {
	align-self: stretch !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	padding: clamp(36px, 4vw, 58px) !important;
}

body.page-id-31 .wanze-contact__form-info h2 {
	color: #13263d !important;
	font-size: clamp(2.2rem, 3.2vw, 3.45rem) !important;
	letter-spacing: -0.045em !important;
	line-height: 0.98 !important;
	max-width: 9ch !important;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	color: #486075 !important;
	font-size: 1rem !important;
	line-height: 1.7 !important;
	max-width: 35ch !important;
}

body.page-id-31 .wanze-contact__form-panel {
	background: rgba(255, 255, 255, 0.94) !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: clamp(30px, 3vw, 48px) !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #fbfcfd !important;
	border-color: #cbd9e1 !important;
	border-radius: 12px !important;
	min-height: 50px !important;
	padding: 12px 16px !important;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 156px !important;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards),
	body.page-id-31 .wanze-contact__form-wrap {
		grid-template-columns: 1fr !important;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		min-height: 0 !important;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-page-hero {
		min-height: 350px !important;
		padding: 118px 20px 48px !important;
	}

	body.page-id-31 .wanze-page-hero__title {
		font-size: clamp(2.55rem, 12vw, 3.45rem) !important;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		padding: 35px 28px !important;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title,
	body.page-id-31 .wanze-contact__form-info h2 {
		max-width: none !important;
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr !important;
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(3) {
		border-bottom: 1px solid #dfe8ed !important;
		padding: 26px 28px !important;
	}

	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-bottom: 0 !important;
		padding: 26px 28px !important;
	}

	body.page-id-31 .wanze-contact__form-info {
		padding: 34px 28px 30px !important;
	}

	body.page-id-31 .wanze-contact__form-panel {
		padding: 28px 20px !important;
	}
}

/* Contact Hero: reuse the same light, image-led presentation as Services. */
body.page-id-31 .wanze-page-hero {
	align-content: center !important;
	background: #ffffff !important;
	box-sizing: border-box !important;
	color: #13263d !important;
	display: grid !important;
	min-height: 100vh !important;
	min-height: 100svh !important;
	padding: 156px 24px 56px !important;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.96) 38%, rgba(255, 255, 255, 0.68) 63%, rgba(255, 255, 255, 0.2) 100%) !important;
}

body.page-id-31 .wanze-page-hero__backdrop {
	display: block !important;
	opacity: 1 !important;
}

body.page-id-31 .wanze-page-hero__inner {
	display: flex !important;
	flex-direction: column !important;
	max-width: none !important;
	padding-right: 0 !important;
	position: static !important;
	width: var(--wanze-layout-width) !important;
}

body.page-id-31 .wanze-page-hero__inner::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%) !important;
	border-radius: 999px !important;
	content: "" !important;
	display: block !important;
	height: 5px !important;
	margin-bottom: 22px !important;
	width: 66px !important;
}

body.page-id-31 .wanze-page-hero__eyebrow {
	color: var(--wanze-cta) !important;
	display: block !important;
}

body.page-id-31 .wanze-page-hero__title {
	color: #13263d !important;
	font-size: clamp(2.6rem, 4.4vw, 4.2rem) !important;
	letter-spacing: -0.045em !important;
	line-height: 1.04 !important;
	margin-top: 18px !important;
	max-width: 16ch !important;
}

body.page-id-31 .wanze-page-hero__copy {
	color: #5d6a79 !important;
	display: block !important;
	font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
	line-height: 1.7 !important;
	margin-top: 22px !important;
	max-width: 56ch !important;
}

@media (max-width: 1140px) {
	body.page-id-31 .wanze-page-hero {
		align-content: start !important;
	}
}

@media (max-width: 781px) {
	body.page-id-31 .wanze-page-hero {
		align-content: start !important;
		padding: 120px 20px 60px !important;
	}
}

body.page-id-31 {
	background: #ffffff;
}

body.page-id-31 .wanze-page-hero {
	align-content: end;
	background: #ffffff;
	min-height: clamp(430px, 49vw, 560px);
	padding-bottom: clamp(64px, 6vw, 96px);
	padding-top: 144px;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.98) 39%, rgba(255, 255, 255, 0.78) 63%, rgba(255, 255, 255, 0.26) 100%);
}

body.page-id-31 .wanze-page-hero__backdrop {
	opacity: 0.82;
}

body.page-id-31 .wanze-page-hero__inner {
	max-width: 760px !important;
}

body.page-id-31 .wanze-page-hero__inner::before {
	height: 4px;
	margin-bottom: 18px;
	width: 54px;
}

body.page-id-31 .wanze-page-hero__title {
	font-size: clamp(2.35rem, 4.15vw, 4.6rem);
	letter-spacing: -0.045em;
	line-height: 1.03;
	max-width: 11ch;
}

body.page-id-31 .wanze-page-hero__copy {
	font-size: clamp(1rem, 1.12vw, 1.13rem);
	line-height: 1.7;
	max-width: 51ch;
}

body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	align-items: start;
	background: #ffffff;
	border-bottom: 1px solid #e6edf1;
	column-gap: clamp(38px, 5.5vw, 96px);
	grid-template-columns: minmax(230px, 0.55fr) minmax(0, 1.45fr);
	padding-bottom: clamp(64px, 6vw, 100px);
	padding-top: clamp(64px, 6vw, 100px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	border-left-width: 2px;
	padding: 4px 0 4px clamp(17px, 1.8vw, 26px);
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.72rem;
	font-weight: 750;
	letter-spacing: 0.13em;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	color: #13263d;
	font-size: clamp(1.85rem, 2.25vw, 2.55rem);
	letter-spacing: -0.035em;
	line-height: 1.08;
	max-width: 12ch;
}

body.page-id-31 .wanze-contact__cards {
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 18px;
	box-shadow: none;
	gap: 0;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: #ffffff;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	min-height: 208px;
	padding: clamp(28px, 2.35vw, 38px);
}

body.page-id-31 .wanze-contact__card:nth-child(2),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-left: 1px solid #e0e8ed;
}

body.page-id-31 .wanze-contact__card:nth-child(3),
body.page-id-31 .wanze-contact__card:nth-child(4) {
	border-top: 1px solid #e0e8ed;
}

body.page-id-31 .wanze-contact__card:hover,
body.page-id-31 .wanze-contact__card:nth-child(1):hover {
	background: #fbfcfd;
	box-shadow: inset 0 3px 0 var(--wanze-cta);
	transform: none;
}

body.page-id-31 .wanze-contact__card-icon,
body.page-id-31 .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
	background: #fff3f1;
	border: 1px solid #f5d7d3;
	border-radius: 10px;
	color: var(--wanze-cta);
	height: 42px;
	width: 42px;
}

body.page-id-31 .wanze-contact__card-icon::after {
	height: 19px;
	width: 19px;
}

body.page-id-31 .wanze-contact__card h3,
body.page-id-31 .wanze-contact__card:nth-child(1) h3 {
	color: #183149;
	font-size: 1.04rem;
	font-weight: 730;
	margin-top: 17px !important;
}

body.page-id-31 .wanze-contact__card p,
body.page-id-31 .wanze-contact__card:nth-child(1) p,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #5b6d7e;
	font-size: 0.95rem;
	line-height: 1.65;
	margin-top: 8px !important;
}

body.page-id-31 .wanze-contact__card p a,
body.page-id-31 .wanze-contact__card:nth-child(1) p a {
	color: #1d4b78;
	font-size: 0.96rem;
	font-weight: 650;
}

body.page-id-31 .wanze-contact__quick-link {
	color: var(--wanze-cta);
	font-size: 0.82rem;
	font-weight: 750;
	margin-top: auto;
	padding-top: 14px;
}

body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff;
	border: 0;
	padding-bottom: clamp(72px, 7vw, 112px);
	padding-top: clamp(72px, 7vw, 112px);
}

body.page-id-31 .wanze-contact__form-wrap {
	align-items: start;
	gap: clamp(44px, 6vw, 110px);
	grid-template-columns: minmax(250px, 0.62fr) minmax(0, 1.38fr);
}

body.page-id-31 .wanze-contact__form-info {
	background: transparent;
	border: 0;
	border-left: 2px solid var(--wanze-cta);
	border-radius: 0;
	box-shadow: none;
	min-height: 0;
	padding: 5px 0 5px clamp(20px, 2.1vw, 31px);
}

body.page-id-31 .wanze-contact__form-info h2 {
	font-size: clamp(1.9rem, 2.35vw, 2.7rem);
	letter-spacing: -0.04em;
	line-height: 1.08;
	max-width: 10ch;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	font-size: 1rem;
	line-height: 1.7;
	max-width: 31ch;
}

body.page-id-31 .wanze-contact__form-info .wanze-link--contact {
	display: none;
}

body.page-id-31 .wanze-contact__form-panel {
	background: #f7fafb;
	border: 1px solid #dce6eb;
	border-radius: 18px;
	box-shadow: none;
	padding: clamp(28px, 3vw, 48px);
}

body.page-id-31 .wanze-contact__form-panel .ff-el-group {
	margin-bottom: 18px;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-input--label label {
	color: #334e65;
	font-size: 0.76rem;
	font-weight: 740;
	letter-spacing: 0.04em;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #ffffff;
	border: 1px solid #cfdce4;
	border-radius: 7px;
	color: #183149;
	font-size: 1rem;
	min-height: 48px;
	padding: 11px 13px;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 122px;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control:focus {
	border-color: var(--wanze-cta);
	box-shadow: 0 0 0 3px rgba(229, 58, 62, 0.14);
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit {
	border-radius: 999px;
	font-size: 0.87rem;
	font-weight: 750;
	min-height: 48px;
	padding: 0 25px;
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:hover,
body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:focus-visible {
	transform: translateY(-1px);
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards),
	body.page-id-31 .wanze-contact__form-wrap {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title,
	body.page-id-31 .wanze-contact__form-info h2 {
		max-width: none;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-page-hero {
		align-content: end;
		min-height: 430px;
		padding: 118px 20px 56px;
	}

	body.page-id-31 .wanze-page-hero__title {
		font-size: clamp(2.25rem, 11vw, 3.25rem);
	}

	body.page-id-31 .wanze-contact__cards {
		grid-template-columns: 1fr;
	}

	body.page-id-31 .wanze-contact__card,
	body.page-id-31 .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__card:nth-child(2) {
		min-height: 0;
		padding: 27px 25px;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-left: 0;
	}

	body.page-id-31 .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__card:nth-child(4) {
		border-top: 1px solid #e0e8ed;
	}

	body.page-id-31 .wanze-contact__form-panel {
		border-radius: 14px;
		padding: 25px 20px;
	}
}

/* Contact Us final hero composition and contact rail. */
body .wp-site-blocks > .entry-content:has(.wanze-page-hero) {
	margin-block-start: 0 !important;
}

body.page-id-31 .wanze-page-hero::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.56) 0%, rgba(255, 255, 255, 0.42) 40%, rgba(255, 255, 255, 0.2) 68%, rgba(255, 255, 255, 0.04) 100%) !important;
}

body.page-id-31 .wanze-page-hero + .wanze-section .wanze-contact__cards {
	background: rgba(255, 255, 255, 0.68) !important;
}

@media (min-width: 1181px) {
	body.page-id-31 .wanze-page-hero + .wanze-section.wanze-section:has(.wanze-contact__cards) {
		grid-template-columns: 1fr !important;
		margin-top: clamp(-260px, -12vw, -180px) !important;
	}

	body.page-id-31 .wanze-contact__cards {
		align-self: start !important;
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(4) {
		border: 0 !important;
		border-left: 1px solid rgba(29, 91, 132, 0.14) !important;
		min-height: 176px !important;
		padding: 18px clamp(18px, 1.35vw, 26px) !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card:first-child {
		border-left: 0 !important;
	}
}

body.page-id-31 .wanze-page-hero {
	align-content: start !important;
	box-sizing: border-box !important;
	height: calc(100dvh + 24px) !important;
	margin-top: -24px !important;
	max-height: calc(100dvh + 24px) !important;
	min-height: 0 !important;
	padding: clamp(136px, 12vh, 162px) 24px clamp(132px, 13vh, 168px) !important;
	overflow: hidden !important;
}

body.page-id-31 .wanze-page-hero__backdrop {
	bottom: 0 !important;
	height: 100% !important;
}

body.page-id-31 .wanze-page-hero::after {
	bottom: 0 !important;
}

/* Contact uses the same editorial text frame as the About Us hero. */
body.page-id-31 .wanze-page-hero__inner {
	display: flex !important;
	flex-direction: column !important;
	max-width: none !important;
	min-height: 0 !important;
	padding-right: 0 !important;
	position: static !important;
	width: var(--wanze-layout-width) !important;
}

body.page-id-31 .wanze-page-hero__crumb {
	box-sizing: border-box !important;
	color: #728092 !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.5 !important;
	margin: 0 0 clamp(28px, 3vw, 42px) !important;
	order: -1 !important;
	text-align: left !important;
	width: auto !important;
}

body.page-id-31 .wanze-page-hero__crumb a {
	color: #42556a !important;
	font-weight: 600 !important;
}

body.page-id-31 .wanze-page-hero__crumb span {
	color: #9aa8b6 !important;
	margin: 0 10px !important;
	padding: 0 !important;
}

body.page-id-31 .wanze-page-hero__inner::before {
	height: 5px !important;
	margin-bottom: 24px !important;
	width: 68px !important;
}

body.page-id-31 .wanze-page-hero__eyebrow {
	color: var(--wanze-cta) !important;
	font-family: var(--wanze-font) !important;
	font-size: 0.76rem !important;
	font-weight: 750 !important;
	letter-spacing: 0.12em !important;
	line-height: 1.25 !important;
	margin: 0 !important;
}

body.page-id-31 .wanze-page-hero__title {
	color: #122c49 !important;
	font-size: clamp(3.1rem, 4.4vw, 5.5rem) !important;
	font-weight: 700 !important;
	letter-spacing: -0.064em !important;
	line-height: 0.94 !important;
	margin-top: 24px !important;
	max-width: 660px !important;
}

body.page-id-31 .wanze-page-hero__copy {
	color: #607287 !important;
	font-size: clamp(1rem, 1.08vw, 1.16rem) !important;
	line-height: 1.72 !important;
	margin-top: 30px !important;
	max-width: 660px !important;
}

body.page-id-31 .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__eyebrow,
body.page-id-31 .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__title,
body.page-id-31 .wanze-page-hero__inner.is-layout-constrained > .wanze-page-hero__copy {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
	align-items: stretch !important;
	background: transparent !important;
	border: 0 !important;
	column-gap: clamp(28px, 4vw, 72px) !important;
	grid-template-columns: minmax(220px, 0.62fr) minmax(0, 1.38fr) !important;
	margin: 0 auto !important;
	padding: 0 24px clamp(72px, 6vw, 112px) !important;
	position: relative !important;
	width: min(var(--wanze-layout-width), 100%) !important;
	z-index: 3 !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
	align-self: stretch !important;
	background: rgba(247, 251, 253, 0.82) !important;
	border: 1px solid rgba(29, 91, 132, 0.16) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 30px rgba(35, 79, 109, 0.1) !important;
	justify-content: center !important;
	padding: clamp(30px, 3vw, 48px) !important;
}

body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__title {
	font-size: clamp(2rem, 2.7vw, 3.25rem) !important;
	line-height: 1.03 !important;
	max-width: 9ch !important;
}

body.page-id-31 .wanze-contact__cards {
	backdrop-filter: blur(10px) !important;
	background: rgba(255, 255, 255, 0.82) !important;
	border-color: rgba(29, 91, 132, 0.16) !important;
	border-radius: 8px !important;
	box-shadow: 0 14px 30px rgba(35, 79, 109, 0.1) !important;
}

body.page-id-31 .wanze-contact__card,
body.page-id-31 .wanze-contact__card + .wanze-contact__card,
body.page-id-31 .wanze-contact__card:nth-child(1),
body.page-id-31 .wanze-contact__card:nth-child(2) {
	background: transparent !important;
	min-height: 188px !important;
	padding: clamp(26px, 2.15vw, 36px) !important;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-page-hero__backdrop,
	body.page-id-31 .wanze-page-hero::after {
		bottom: 0 !important;
	}

	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
		background: #ffffff !important;
		grid-template-columns: 1fr !important;
		margin-top: 0 !important;
		padding-bottom: 72px !important;
		padding-top: 72px !important;
		width: 100% !important;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head {
		align-self: auto !important;
		justify-content: initial !important;
	}
}

@media (max-width: 781px) {
	body.page-id-31 .wanze-page-hero {
		height: auto !important;
		margin-top: 0 !important;
		max-height: none !important;
		min-height: 0 !important;
		padding: 112px 20px 116px !important;
	}

	body.page-id-31 .wanze-page-hero + .wanze-section:has(.wanze-contact__cards) {
		padding: 52px 20px 64px !important;
	}

	body.page-id-31 .wanze-section:has(.wanze-contact__cards) .wanze-section__head,
	body.page-id-31 .wanze-contact__cards {
		border-radius: 8px !important;
	}
}

/* Contact rail: compact the four WordPress-managed contact channels on wide screens. */
@media (min-width: 1181px) {
	body.page-id-31 .wanze-contact__cards {
		background: rgba(255, 255, 255, 0.9) !important;
		box-shadow: 0 12px 28px rgba(35, 79, 109, 0.08) !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(2),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(3),
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(4) {
		align-items: center !important;
		justify-content: center !important;
		min-height: 164px !important;
		padding: 20px clamp(18px, 1.45vw, 28px) 18px !important;
		text-align: center !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card-icon,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1) .wanze-contact__card-icon {
		height: 32px !important;
		margin-bottom: 8px !important;
		width: 32px !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card-icon::after {
		height: 18px !important;
		width: 18px !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card h3,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1) h3 {
		font-size: 0.74rem !important;
		letter-spacing: 0.07em !important;
		line-height: 1.3 !important;
		margin: 0 !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__card p,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1) p,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card:nth-child(1) p a,
	body.page-id-31 .wanze-contact__cards .wanze-contact__card p a {
		font-size: 0.91rem !important;
		line-height: 1.52 !important;
		margin-top: 6px !important;
	}

	body.page-id-31 .wanze-contact__cards .wanze-contact__quick-link {
		font-size: 0.77rem !important;
		margin-top: 8px !important;
	}
}

/* Contact form: a calm, full-width Fluent Forms surface with a clear field rhythm. */
body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background: #ffffff !important;
}

body.page-id-31 .wanze-contact__form-wrap {
	align-items: center !important;
	background: #f8fafb !important;
	border: 1px solid #e0e8ed !important;
	border-radius: 8px !important;
	gap: clamp(36px, 5vw, 88px) !important;
	overflow: hidden !important;
}

body.page-id-31 .wanze-contact__form-info {
	border-left-color: var(--wanze-cta) !important;
	padding: clamp(34px, 4vw, 58px) 0 clamp(34px, 4vw, 58px) clamp(24px, 3vw, 42px) !important;
}

body.page-id-31 .wanze-contact__form-panel {
	background: #ffffff !important;
	border: 0 !important;
	border-left: 1px solid #e0e8ed !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: clamp(30px, 3.4vw, 54px) !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-group {
	margin-bottom: 18px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-t-container {
	column-gap: 16px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-input--label label {
	color: #334e65 !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.02em !important;
	margin-bottom: 7px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #f5f7f9 !important;
	border: 1px solid transparent !important;
	border-radius: 6px !important;
	box-shadow: none !important;
	color: #183149 !important;
	font-size: 0.96rem !important;
	min-height: 56px !important;
	padding: 14px 16px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control::placeholder {
	color: #7a8a98 !important;
	opacity: 1 !important;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 154px !important;
	resize: vertical !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control:focus {
	background: #ffffff !important;
	border-color: var(--wanze-cta) !important;
	box-shadow: 0 0 0 3px rgba(229, 58, 62, 0.12) !important;
}

body.page-id-31 .wanze-contact__form-panel .ff_submit_btn_wrapper {
	margin: 24px 0 0 !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit {
	background: var(--wanze-cta) !important;
	border: 1px solid var(--wanze-cta) !important;
	border-radius: 6px !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	min-height: 56px !important;
	padding: 0 24px !important;
	width: 100% !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:hover,
body.page-id-31 .wanze-contact__form-panel .ff-btn-submit:focus-visible {
	background: var(--wanze-cta-hover) !important;
	border-color: var(--wanze-cta-hover) !important;
	transform: none !important;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-contact__form-wrap {
		gap: 0 !important;
	}

	body.page-id-31 .wanze-contact__form-info {
		padding: 36px 28px 30px !important;
	}

	body.page-id-31 .wanze-contact__form-panel {
		border-left: 0 !important;
		border-top: 1px solid #e0e8ed !important;
	}
}

/* Remove all spacing between the contact rail and the adjacent quote section. */
body.page-id-31 main.wanze-inner > section.wanze-section:has(.wanze-contact__cards) {
	margin-bottom: 0 !important;
	padding-bottom: max(0px, calc(clamp(180px, 12vw, 260px) - 202px)) !important;
}

body.page-id-31 main.wanze-inner > section.wanze-section.wanze-section--tint {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

/* Contact request: FAQ and Fluent Forms share one clear two-column surface. */
body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
	background-color: #fbfcfd !important;
	background-image: var(--wanze-contact-world-network, none) !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: cover !important;
	padding-bottom: clamp(42px, 4vw, 64px) !important;
	padding-top: clamp(42px, 4vw, 64px) !important;
	position: relative !important;
	isolation: isolate !important;
}

body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap)::before {
	background: rgba(255, 255, 255, 0.64) !important;
	content: "" !important;
	inset: 0 !important;
	pointer-events: none !important;
	position: absolute !important;
	z-index: 0 !important;
}

body.page-id-31 .wanze-contact__form-wrap {
	align-items: stretch !important;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid #dce6eb !important;
	border-radius: 12px !important;
	box-shadow: 0 18px 44px rgba(28, 53, 75, 0.08) !important;
	display: grid !important;
	gap: 0 !important;
	grid-template-columns: minmax(0, 0.88fr) minmax(420px, 1.12fr) !important;
	overflow: hidden !important;
	position: relative !important;
	z-index: 1 !important;
}

body.page-id-31 .wanze-contact__form-info {
	background: rgba(250, 252, 253, 0.82) !important;
	border: 0 !important;
	border-right: 1px solid #dce6eb !important;
	margin: 0 !important;
	padding: clamp(28px, 3vw, 46px) !important;
}

body.page-id-31 .wanze-contact__form-info h2 {
	color: #2b3540 !important;
	font-size: clamp(1.8rem, 2.1vw, 2.35rem) !important;
	font-weight: 760 !important;
	letter-spacing: 0 !important;
	line-height: 1.12 !important;
	margin: 0 !important;
	max-width: none !important;
}

@media (min-width: 1180px) {
	body.page-id-31 .wanze-contact__form-info h2 {
		white-space: nowrap !important;
	}
}

body.page-id-31 .wanze-contact__form-info .wanze-section__eyebrow {
	color: var(--wanze-cta) !important;
	font-size: 0.72rem !important;
	letter-spacing: 0.14em !important;
	margin-bottom: 14px !important;
}

body.page-id-31 .wanze-contact__form-info > p:not(.wanze-section__eyebrow) {
	color: #405162 !important;
	font-size: clamp(0.96rem, 1vw, 1.06rem) !important;
	line-height: 1.5 !important;
	margin-top: 14px !important;
	max-width: 38ch !important;
}

body.page-id-31 .wanze-contact__form-panel {
	background: #ffffff !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: clamp(28px, 3vw, 46px) !important;
}

body.page-id-31 .wanze-contact__form-panel .wanze-contact__form-heading-source {
	color: #13263d !important;
	font-family: var(--wanze-font) !important;
	font-size: clamp(1.8rem, 2.25vw, 2.45rem) !important;
	font-weight: 760 !important;
	letter-spacing: -0.04em !important;
	line-height: 1.1 !important;
	margin: 0 0 20px !important;
}

body.page-id-31 .wanze-contact__faq {
	display: grid;
	gap: 10px;
	margin-top: 24px;
}

body.page-id-31 .wanze-contact__faq-item {
	background: #ffffff;
	border: 1px solid #dce6eb;
	border-radius: 6px;
	padding: 0 18px;
}

body.page-id-31 .wanze-contact__faq-item[open] {
	border-color: rgba(229, 58, 62, 0.42);
}

body.page-id-31 .wanze-contact__faq-item summary {
	color: #1a3249;
	cursor: pointer;
	font-family: var(--wanze-font);
	font-size: 0.92rem;
	font-weight: 680;
	line-height: 1.4;
	list-style: none;
	padding: 13px 26px 13px 0;
	position: relative;
}

body.page-id-31 .wanze-contact__faq-item summary::-webkit-details-marker {
	display: none;
}

body.page-id-31 .wanze-contact__faq-item summary:focus-visible {
	border-radius: 3px;
	outline: 2px solid var(--wanze-cta);
	outline-offset: 3px;
}

body.page-id-31 .wanze-contact__faq-item summary::after {
	color: var(--wanze-cta);
	content: '+';
	font-size: 1.45rem;
	font-weight: 400;
	line-height: 1;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
}

body.page-id-31 .wanze-contact__faq-item[open] summary::after {
	content: '−';
}

body.page-id-31 .wanze-contact__faq-item p {
	color: #586b7d;
	font-size: 0.92rem;
	line-height: 1.65;
	margin: 0 0 14px !important;
	overflow: hidden;
}

body.page-id-31 .wanze-contact__faq-item[open] p {
	animation: wanze-contact-faq-expand 300ms cubic-bezier(0.22, 1, 0.36, 1) both;
}

body.page-id-31 .wanze-contact__faq-item.is-closing p {
	animation: wanze-contact-faq-collapse 220ms cubic-bezier(0.4, 0, 1, 1) both;
}

@keyframes wanze-contact-faq-expand {
	from {
		max-height: 0;
		opacity: 0;
		transform: translateY(-2px);
	}

	to {
		max-height: 12rem;
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes wanze-contact-faq-collapse {
	from {
		max-height: 12rem;
		opacity: 1;
		transform: translateY(0);
	}

	to {
		max-height: 0;
		opacity: 0;
		transform: translateY(-2px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.page-id-31 .wanze-contact__faq-item[open] p,
	body.page-id-31 .wanze-contact__faq-item.is-closing p {
		animation: none;
	}
}

body.page-id-31 .wanze-contact__form-panel .ff-el-group {
	margin-bottom: 12px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-t-container {
	column-gap: 20px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-input--label label {
	clip: auto !important;
	clip-path: none !important;
	color: #334e65 !important;
	display: block !important;
	font-size: 0.78rem !important;
	font-weight: 700 !important;
	height: auto !important;
	letter-spacing: 0.02em !important;
	margin-bottom: 6px !important;
	overflow: visible !important;
	position: static !important;
	white-space: normal !important;
	width: auto !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-el-form-control {
	background: #f8fafb !important;
	border: 1px solid #d2dde5 !important;
	border-radius: 6px !important;
	min-height: 48px !important;
	padding: 10px 14px !important;
}

body.page-id-31 .wanze-contact__form-panel textarea.ff-el-form-control {
	min-height: 112px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff_submit_btn_wrapper {
	margin-top: 16px !important;
}

body.page-id-31 .wanze-contact__form-panel .ff-btn-submit {
	border-radius: 6px !important;
	min-height: 50px !important;
}

@media (max-width: 1040px) {
	body.page-id-31 .wanze-contact__form-wrap {
		grid-template-columns: 1fr !important;
	}

	body.page-id-31 .wanze-contact__form-info {
		border-bottom: 1px solid #dce6eb !important;
		border-right: 0 !important;
	}
}

@media (max-width: 620px) {
	body.page-id-31 .wanze-section--tint:has(.wanze-contact__form-wrap) {
		padding-bottom: 48px !important;
		padding-top: 48px !important;
	}

	body.page-id-31 .wanze-contact__form-info,
	body.page-id-31 .wanze-contact__form-panel {
		padding: 24px 22px !important;
	}

	body.page-id-31 .wanze-contact__form-info h2,
	body.page-id-31 .wanze-contact__form-panel .wanze-contact__form-heading-source {
		font-size: 1.8rem !important;
	}
}

/* 404: a clear recovery path, framed by a media-library technical linework asset. */
.wanze-not-found {
	background: #ffffff;
	overflow: hidden;
}

.wanze-not-found__stage {
	align-items: center;
	display: grid;
	min-height: min(760px, 100svh);
	overflow: hidden;
	padding: 164px 24px 96px;
	position: relative;
}

.wanze-not-found__visual {
	bottom: -8%;
	margin: 0 !important;
	max-width: none !important;
	opacity: 0.72;
	pointer-events: none;
	position: absolute;
	right: -8%;
	top: 4%;
	width: min(72vw, 1180px);
	z-index: 0;
}

.wanze-not-found__visual img {
	display: block;
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.wanze-not-found__content {
	margin: 0 auto !important;
	max-width: var(--wanze-layout-width) !important;
	position: relative;
	width: 100%;
	z-index: 1;
}

.wanze-not-found__code {
	color: var(--wanze-cta);
	font-size: 0.8rem;
	font-weight: 750;
	letter-spacing: 0.1em;
	margin: 0 0 18px !important;
}

.wanze-not-found__title {
	color: #152a40;
	font-size: clamp(2.75rem, 5.1vw, 5.5rem);
	font-weight: 760;
	letter-spacing: 0;
	line-height: 1.02;
	margin: 0 !important;
	max-width: 9ch;
}

.wanze-not-found__copy {
	color: #51667a;
	font-size: clamp(1rem, 1.22vw, 1.16rem);
	line-height: 1.65;
	margin: 24px 0 0 !important;
	max-width: 48ch;
}

.wanze-not-found__actions {
	gap: 12px;
	margin-top: 34px !important;
}

.wanze-not-found__actions .wp-block-button__link {
	align-items: center;
	border-radius: 6px;
	display: inline-flex;
	font-size: 0.88rem;
	font-weight: 720;
	justify-content: center;
	min-height: 48px;
	padding: 0 22px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
}

.wanze-not-found__actions .is-style-outline .wp-block-button__link {
	background: #ffffff;
	border-color: #cbd8e0;
	color: #244663;
}

.wanze-not-found__actions .is-style-outline .wp-block-button__link:hover,
.wanze-not-found__actions .is-style-outline .wp-block-button__link:focus-visible {
	background: #f2f6f8;
	border-color: #8fa8b8;
}

.wanze-not-found__search {
	margin: 30px 0 0 !important;
	max-width: 440px;
}

.wanze-not-found__search .wp-block-search__inside-wrapper {
	border: 1px solid #d9e3e9;
	border-radius: 6px;
	overflow: hidden;
	padding: 0;
}

.wanze-not-found__search .wp-block-search__input {
	border: 0;
	box-shadow: none;
	min-height: 48px;
	padding: 0 15px;
}

.wanze-not-found__search .wp-block-search__button {
	align-items: center;
	background: #153a68;
	border: 0;
	border-radius: 0;
	display: inline-flex;
	justify-content: center;
	margin: 0;
	min-height: 48px;
	padding: 0 15px;
}

@media (max-width: 780px) {
	.wanze-not-found__stage {
		align-items: start;
		min-height: 0;
		padding: 132px 20px 72px;
	}

	.wanze-not-found__visual {
		opacity: 0.38;
		right: -42%;
		top: 18%;
		width: 142vw;
	}

	.wanze-not-found__title {
		font-size: clamp(2.5rem, 13vw, 3.65rem);
	}

	.wanze-not-found__actions {
		align-items: stretch;
		flex-direction: column;
		max-width: 280px;
	}

	.wanze-not-found__actions .wp-block-button,
	.wanze-not-found__actions .wp-block-button__link {
		width: 100%;
	}
}

/* Factory Profile: a light, product-led hero based on the Quality Control
 * reference. Existing About page content and WordPress-managed stats remain
 * the source; this only changes their presentation. */
.wanze-about__profile {
	background: #ffffff;
	background-image: none;
	overflow: hidden;
	padding-bottom: clamp(176px, 16vw, 248px);
	padding-top: clamp(138px, 11vw, 178px);
}

.wanze-about__profile .wanze-about__breadcrumb {
	margin-bottom: clamp(38px, 5vw, 74px) !important;
	position: relative;
	z-index: 3;
}

.wanze-about__profile .wanze-about__frame {
	display: block;
	min-height: clamp(520px, 39vw, 640px);
	position: relative;
}

.wanze-about__profile .wanze-about__copy {
	background: transparent;
	border: 0;
	box-shadow: none;
	display: block;
	max-width: min(48%, 660px);
	padding: clamp(26px, 3vw, 52px) 0 0;
	position: relative;
	z-index: 2;
}

.wanze-about__profile .wanze-about__copy::before {
	background: var(--wanze-cta);
	height: 5px;
	margin-bottom: 26px;
	width: 72px;
}

.wanze-about__profile .wanze-about__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.79rem;
	letter-spacing: 0.16em;
}

.wanze-about__profile .wanze-about__title {
	color: #122c49;
	font-size: clamp(3.1rem, 4.4vw, 5.5rem);
	letter-spacing: -0.064em;
	line-height: 0.94;
	margin-top: 24px;
}

.wanze-about__profile .wanze-about__title span {
	color: inherit;
}

.wanze-about__profile .wanze-about__body {
	color: #607287;
	font-size: clamp(1rem, 1.08vw, 1.16rem);
	line-height: 1.72;
	margin-top: 30px;
	max-width: 46ch;
}

.wanze-about__profile .wanze-about__body p + p {
	margin-top: 14px;
}

.wanze-about__profile .wanze-about__actions {
	margin-top: 34px;
}

.wanze-about__profile .wanze-about__inquiry .wp-block-button__link {
	border-radius: 999px !important;
	box-shadow: none;
	min-height: 52px;
	min-width: 254px;
}

.wanze-about__profile .wanze-about__visual {
	bottom: 0;
	grid-column: auto;
	grid-row: auto;
	left: 31%;
	min-height: 0;
	position: absolute;
	right: -24px;
	top: 0;
	z-index: 1;
}

.wanze-about__profile .wanze-about__image {
	border: 0;
	box-shadow: none;
	height: 100%;
	min-height: 0;
	width: 100%;
}

.wanze-about__profile .wanze-about__image::after {
	background: linear-gradient(90deg, #ffffff 0%, rgba(255, 255, 255, 0.94) 19%, rgba(255, 255, 255, 0.38) 47%, rgba(255, 255, 255, 0.04) 72%, rgba(255, 255, 255, 0) 100%);
	z-index: 1;
}

.wanze-about__profile .wanze-about__image img {
	filter: saturate(0.72) brightness(1.17) contrast(0.88);
	object-position: 64% center;
}

.wanze-about__profile .wanze-about__culture {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #dce5eb;
	border-left: 0;
	border-radius: 16px;
	bottom: 22px;
	box-shadow: 0 10px 26px rgba(22, 52, 77, 0.1);
	left: auto;
	max-width: 340px;
	padding: 20px 22px;
	right: 28px;
	width: calc(100% - 56px);
}

.wanze-about__profile .wanze-about__culture::before {
	background: var(--wanze-cta);
	display: block;
	height: 3px;
	margin-bottom: 12px;
	width: 34px;
}

.wanze-about__profile .wanze-about__culture h2 {
	color: #193653;
	font-size: 1rem;
}

.wanze-about__profile .wanze-about__culture p {
	color: #647588;
	font-size: 0.84rem;
	line-height: 1.5;
	margin-top: 8px;
}

.wanze-about__profile .wanze-about__learn {
	display: none;
}

/* Surface the existing WordPress-managed factory facts as the hero's bottom
 * stat cards, matching the reference's light floating-card rhythm. */
.wanze-about > .wanze-about__profile + .wanze-section--dark {
	background: transparent;
	background-image: none;
	margin-top: clamp(-126px, -9vw, -92px) !important;
	padding: 0 24px;
	position: relative;
	z-index: 3;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stats {
	background: transparent;
	border: 0;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto !important;
	max-width: 1280px !important;
	width: min(100%, 1280px);
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat {
	background: rgba(255, 255, 255, 0.96);
	border: 1px solid #dce5eb;
	border-radius: 16px;
	box-shadow: 0 10px 24px rgba(22, 52, 77, 0.08);
	margin: 0 !important;
	min-height: 124px;
	padding: 26px 24px 22px;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong {
	color: #163351;
	font-size: clamp(1.52rem, 2vw, 2.08rem);
	line-height: 1;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong::after {
	display: none;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat span {
	color: #6b7b8c;
	font-size: 0.84rem;
	line-height: 1.45;
	margin-top: 10px;
}

@media (max-width: 781px) {
	.wanze-about__profile {
		padding: 112px 20px 116px;
	}

	.wanze-about__profile .wanze-about__frame {
		display: flex;
		flex-direction: column;
		gap: 34px;
		min-height: 0;
	}

	.wanze-about__profile .wanze-about__copy {
		max-width: none;
		order: 0;
		padding: 0;
	}

	.wanze-about__profile .wanze-about__visual {
		left: auto;
		min-height: min(84vw, 480px);
		order: 1;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}

	.wanze-about__profile .wanze-about__image {
		height: min(84vw, 480px);
	}

	.wanze-about__profile .wanze-about__image::after {
		background: linear-gradient(0deg, rgba(255, 255, 255, 0.58), transparent 55%);
	}

	.wanze-about__profile .wanze-about__culture {
		bottom: 14px;
		right: 14px;
		width: calc(100% - 28px);
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark {
		margin-top: -72px !important;
		padding: 0 20px;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stats {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat {
		border-radius: 12px;
		min-height: 112px;
		padding: 20px 16px 16px;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong {
		font-size: 1.42rem;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat span {
		font-size: 0.76rem;
	}
}

/* Thank-you page: page copy, buttons and featured media remain WordPress-managed. */
body:has(.wanze-thank-you) {
	background:
		radial-gradient(circle at 86% 14%, rgba(229, 58, 62, 0.08), transparent 25rem),
		linear-gradient(180deg, #f8fbfd 0%, #ffffff 64%);
	background-attachment: fixed;
}

.wanze-thank-you {
	background: transparent;
	padding: clamp(72px, 9vw, 142px) 24px;
}

body .wp-site-blocks > main.wanze-thank-you {
	margin-top: 92px !important;
}

.wanze-thank-you__card {
	background: #ffffff;
	border: 1px solid #dbe6ee;
	border-radius: clamp(24px, 3.2vw, 42px);
	box-shadow: 0 24px 58px rgba(20, 49, 75, 0.08);
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
	margin: 0 auto;
	max-width: 1320px;
	overflow: hidden;
}

.wanze-thank-you__copy {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(48px, 6vw, 92px) clamp(34px, 6vw, 88px);
}

.wanze-thank-you__mark {
	align-items: center;
	border: 1px solid rgba(229, 58, 62, 0.34);
	border-radius: 50%;
	display: inline-flex;
	height: 52px;
	justify-content: center;
	width: 52px;
}

.wanze-thank-you__mark::after {
	border-bottom: 2px solid var(--wanze-cta);
	border-left: 2px solid var(--wanze-cta);
	content: "";
	height: 9px;
	transform: translateY(-2px) rotate(-45deg);
	width: 18px;
}

.wanze-thank-you__title.wp-block-post-title {
	color: #14365b;
	font-size: clamp(3rem, 5.7vw, 5.6rem);
	font-weight: 760;
	letter-spacing: -0.07em;
	line-height: 0.94;
	margin: 28px 0 0;
	max-width: 8ch;
}

.wanze-thank-you .wp-block-post-content {
	margin: 26px 0 0;
	max-width: 39rem;
	width: 100%;
}

.wanze-thank-you__message {
	margin: 0;
}

.wanze-thank-you__message .wanze-thank-you__eyebrow {
	color: var(--wanze-cta);
	font-size: 0.76rem;
	font-weight: 800;
	letter-spacing: 0.17em;
	line-height: 1.35;
	margin: 0 0 18px;
}

.wanze-thank-you__message p:not(.wanze-thank-you__eyebrow) {
	color: #5c7186;
	font-size: clamp(1rem, 1.25vw, 1.12rem);
	line-height: 1.72;
	margin: 0;
}

.wanze-thank-you__message p + p {
	margin-top: 10px;
}

.wanze-thank-you__actions {
	gap: 12px;
	margin-top: 32px;
}

.wanze-thank-you__actions .wp-block-button__link {
	border: 1px solid var(--wanze-cta);
	border-radius: 999px;
	box-shadow: none;
	font-size: 0.94rem;
	font-weight: 760;
	padding: 14px 22px;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.wanze-thank-you__actions .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wanze-cta);
	color: #ffffff;
}

.wanze-thank-you__actions .wp-block-button.is-style-outline .wp-block-button__link {
	background: #ffffff;
	color: #173a60;
}

.wanze-thank-you__actions .wp-block-button__link:hover,
.wanze-thank-you__actions .wp-block-button__link:focus-visible {
	background: #14365b;
	border-color: #14365b;
	color: #ffffff;
	transform: translateY(-2px);
}

.wanze-thank-you__media {
	background: #e9f0f5;
	min-height: 520px;
	overflow: hidden;
	padding: 18px 18px 18px 0;
}

.wanze-thank-you__media .wanze-thank-you__image {
	clip-path: ellipse(108% 96% at 100% 50%);
	height: 100%;
	margin: 0;
	min-height: 484px;
	width: 100%;
}

.wanze-thank-you__media .wanze-thank-you__image img {
	height: 100%;
	object-fit: cover;
	object-position: center;
	width: 100%;
}

@media (max-width: 900px) {
	.wanze-thank-you {
		padding-inline: 20px;
	}

	.wanze-thank-you__card {
		grid-template-columns: 1fr;
	}

	.wanze-thank-you__copy {
		padding: clamp(42px, 8vw, 66px) clamp(28px, 8vw, 56px);
	}

	.wanze-thank-you__title.wp-block-post-title {
		max-width: 12ch;
	}

	.wanze-thank-you__media {
		min-height: min(70vw, 460px);
		padding: 0 18px 18px;
	}

	.wanze-thank-you__media .wanze-thank-you__image {
		clip-path: none;
		min-height: min(70vw, 442px);
	}
}

@media (max-width: 520px) {
	.wanze-thank-you {
		padding: 48px 16px;
	}

	.wanze-thank-you__card {
		border-radius: 24px;
	}

	.wanze-thank-you__copy {
		padding: 38px 24px 34px;
	}

	.wanze-thank-you__mark {
		height: 46px;
		width: 46px;
	}

	.wanze-thank-you__actions {
		align-items: stretch;
		flex-direction: column;
		width: 100%;
	}

	.wanze-thank-you__actions .wp-block-button,
	.wanze-thank-you__actions .wp-block-button__link {
		width: 100%;
	}

	.wanze-thank-you__media {
		min-height: 270px;
		padding: 0;
	}

	.wanze-thank-you__media .wanze-thank-you__image {
		min-height: 270px;
	}
}


/* About Us: Factory Profile uses an industrial dossier composition, distinct
 * from the light editorial About block on the homepage. */
.wanze-about__profile {
	background: #f4f7f8;
	background-image: linear-gradient(90deg, rgba(21, 58, 104, 0.055) 1px, transparent 1px), linear-gradient(rgba(21, 58, 104, 0.055) 1px, transparent 1px);
	background-size: 52px 52px, 52px 52px;
	color: #152d47;
	padding-bottom: clamp(72px, 7vw, 124px);
	padding-top: clamp(144px, 12vw, 196px);
}

.wanze-about__profile .wanze-about__breadcrumb {
	color: #617386;
	margin-bottom: clamp(34px, 4vw, 58px) !important;
}

.wanze-about__profile .wanze-about__breadcrumb .rank-math-breadcrumb a {
	color: #173855;
}

.wanze-about__profile .wanze-about__breadcrumb .last,
.wanze-about__profile .wanze-about__breadcrumb .separator {
	color: #718397;
}

.wanze-about__profile .wanze-about__frame {
	align-items: stretch;
	column-gap: clamp(28px, 4vw, 72px);
	grid-template-columns: minmax(0, 1.22fr) minmax(360px, 0.78fr);
}

.wanze-about__profile .wanze-about__visual {
	align-self: stretch;
	grid-column: 1;
	grid-row: 1;
	min-height: clamp(560px, 45vw, 720px);
}

.wanze-about__profile .wanze-about__image {
	border: 1px solid #cbd7df;
	border-radius: 0;
	box-shadow: 0 20px 42px rgba(22, 52, 77, 0.13);
	height: 100%;
	min-height: clamp(560px, 45vw, 720px);
}

.wanze-about__profile .wanze-about__image::after {
	background: linear-gradient(90deg, transparent 42%, rgba(229, 58, 62, 0.25)), linear-gradient(0deg, rgba(18, 43, 70, 0.28), transparent 42%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.wanze-about__profile .wanze-about__image img {
	filter: saturate(0.9) contrast(1.02);
	object-position: 65% center;
	transform: none;
}

.wanze-about__profile .wanze-about__copy {
	align-self: stretch;
	background: rgba(255, 255, 255, 0.94);
	border: 1px solid #d5e0e7;
	border-top: 4px solid var(--wanze-cta);
	box-shadow: 0 20px 42px rgba(22, 52, 77, 0.1);
	display: flex;
	flex-direction: column;
	grid-column: 2;
	grid-row: 1;
	justify-content: center;
	max-width: none;
	min-width: 0;
	overflow: hidden;
	padding: clamp(36px, 4vw, 70px);
}

.wanze-about__profile .wanze-about__copy::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0 48px, #b9c8d3 48px 100%);
	content: "";
	display: block;
	height: 2px;
	margin-bottom: 30px;
	width: min(100%, 172px);
}

.wanze-about__profile .wanze-about__eyebrow {
	color: #ff5960;
	font-size: 0.78rem;
	letter-spacing: 0.2em;
}

.wanze-about__profile .wanze-about__title {
	color: #12304f;
	font-size: clamp(3rem, 4.25vw, 5.35rem);
	letter-spacing: -0.052em;
	line-height: 0.95;
	margin-top: 20px;
}

.wanze-about__profile .wanze-about__title span {
	color: var(--wanze-cta);
}

.wanze-about__profile .wanze-about__body {
	color: #52677b;
	font-size: clamp(0.96rem, 1vw, 1.08rem);
	line-height: 1.72;
	margin-top: clamp(32px, 4vw, 58px);
	max-width: 43ch;
}

.wanze-about__profile .wanze-about__actions {
	margin-top: clamp(32px, 4vw, 54px);
}

.wanze-about__profile .wanze-about__inquiry .wp-block-button__link {
	border-radius: 999px !important;
	box-shadow: none;
	min-width: min(100%, 280px);
}

.wanze-about__profile .wanze-about__culture {
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: none;
	border: 1px solid #d7e2e8;
	border-left: 3px solid var(--wanze-cta);
	border-radius: 0;
	bottom: 26px;
	box-shadow: 0 14px 28px rgba(22, 52, 77, 0.14);
	left: 26px;
	max-width: min(420px, calc(100% - 52px));
	padding: 22px 24px;
	top: auto;
	width: auto;
	z-index: 2;
}

.wanze-about__profile .wanze-about__culture::before {
	display: none;
}

.wanze-about__profile .wanze-about__culture h2 {
	color: #12304f;
	font-size: 1.12rem;
}

.wanze-about__profile .wanze-about__culture p {
	color: #52677b;
}

.wanze-about__profile .wanze-about__learn {
	background: #ffffff;
	backdrop-filter: none;
	border: 0;
	border-radius: 0;
	bottom: 0;
	box-shadow: none;
	right: 0;
}

.wanze-about__profile .wanze-about__learn span {
	background: var(--wanze-cta);
	border-radius: 0;
}

.wanze-about__profile .wanze-about__learn:hover,
.wanze-about__profile .wanze-about__learn:focus-visible {
	background: #eef3f6;
	border: 0;
	box-shadow: none;
}

@media (max-width: 1080px) {
	.wanze-about__profile .wanze-about__frame {
		grid-template-columns: minmax(0, 1.06fr) minmax(300px, 0.94fr);
	}

	.wanze-about__profile .wanze-about__copy {
		padding: clamp(30px, 4vw, 48px);
	}
}

@media (max-width: 781px) {
	.wanze-about__profile {
		padding: 120px 20px 56px;
	}

	.wanze-about__profile .wanze-about__frame {
		gap: 0;
	}

	.wanze-about__profile .wanze-about__visual {
		min-height: min(104vw, 580px);
		order: -1;
	}

	.wanze-about__profile .wanze-about__image {
		border-radius: 0;
		height: min(104vw, 580px);
		min-height: 0;
	}

	.wanze-about__profile .wanze-about__culture {
		bottom: 18px;
		left: 18px;
		max-width: calc(100% - 36px);
		padding: 18px 20px;
	}

	.wanze-about__profile .wanze-about__learn {
		display: none;
	}

	.wanze-about__profile .wanze-about__copy {
		border-top-width: 3px;
		padding: 36px 24px 42px;
	}

	.wanze-about__profile .wanze-about__copy::before {
		margin-bottom: 24px;
	}

	.wanze-about__profile .wanze-about__title {
		font-size: clamp(3rem, 14vw, 4.5rem);
	}

	.wanze-about__profile .wanze-about__body {
		margin-top: 30px;
	}

	.wanze-about__profile .wanze-about__actions,
	.wanze-about__profile .wanze-about__actions .wp-block-button,
	.wanze-about__profile .wanze-about__inquiry .wp-block-button__link {
		width: 100%;
	}
}

/* 404: a spacious editorial recovery layout. */
.wp-site-blocks > main.wanze-not-found {
	margin-top: 0 !important;
}

.wanze-not-found__stage {
	background: #ffffff;
	box-sizing: border-box;
	display: block;
	min-height: 65svh;
	padding: 174px 24px 106px;
}

.wanze-not-found__content,
.wanze-not-found__recovery-inner {
	margin: 0 auto !important;
	max-width: var(--wanze-layout-width) !important;
	text-align: center;
	width: 100%;
}

.wanze-not-found__eyebrow {
	align-items: center;
	color: var(--wanze-cta);
	display: flex;
	font-size: 0.78rem;
	font-weight: 750;
	gap: 12px;
	justify-content: center;
	letter-spacing: 0.1em;
	margin: 0 0 20px !important;
}

.wanze-not-found__eyebrow::before {
	background: currentColor;
	content: "";
	display: block;
	height: 2px;
	width: 36px;
}

.wanze-not-found__title {
	color: #172c40;
	font-size: 5.75rem;
	font-weight: 760;
	line-height: 0.98;
	max-width: 100%;
	margin-left: auto !important;
	margin-right: auto !important;
	white-space: nowrap;
}

.wanze-not-found__copy {
	color: #53697c;
	font-size: 1.125rem;
	line-height: 1.7;
	margin-left: auto !important;
	margin-right: auto !important;
	margin-top: 30px !important;
	max-width: 55ch;
}

.wanze-not-found__recovery {
	background: #f0f3f5;
	padding: 66px 24px 72px;
}

.wanze-not-found__search-label {
	color: #263e54;
	font-size: 0.94rem;
	font-weight: 720;
	margin: 0 0 13px !important;
}

.wanze-not-found__search {
	margin: 0 !important;
	max-width: 760px;
}

.wanze-not-found__search .wp-block-search__inside-wrapper {
	background: #ffffff;
	border: 1px solid #d5dde3;
	border-radius: 6px;
	display: flex;
	min-height: 56px;
	overflow: hidden;
}

.wanze-not-found__search .wp-block-search__input {
	color: #273d51;
	font-size: 0.96rem;
	min-height: 54px;
	padding: 0 18px;
}

.wanze-not-found__search .wp-block-search__input::placeholder {
	color: #82909c;
	opacity: 1;
}

.wanze-not-found__search .wp-block-search__button {
	background: var(--wanze-cta);
	border: 0;
	border-radius: 0;
	color: #ffffff;
	font-size: 0.85rem;
	font-weight: 720;
	min-height: 56px;
	padding: 0 27px;
}

.wanze-not-found__search .wp-block-search__button:hover,
.wanze-not-found__search .wp-block-search__button:focus-visible {
	background: #a5212a;
}

.wanze-not-found__actions {
	gap: 12px;
	margin-top: 34px !important;
}

.wanze-not-found__actions .wp-block-button__link {
	background: var(--wanze-cta);
	border: 1px solid var(--wanze-cta);
	border-radius: 6px;
	color: #ffffff;
	min-height: 48px;
	padding: 0 21px;
}

.wanze-not-found__actions .is-style-outline .wp-block-button__link {
	background: #ffffff;
	border-color: #c7d1d8;
	color: #2b455b;
}

.wanze-not-found__actions .is-style-outline .wp-block-button__link:hover,
.wanze-not-found__actions .is-style-outline .wp-block-button__link:focus-visible {
	background: #e4eaee;
	border-color: #9cabb7;
	color: #1b3449;
}

@media (max-width: 780px) {
	.wanze-not-found__stage {
		padding: 146px 20px 84px;
	}

	.wanze-not-found__title {
		font-size: 3.15rem;
		white-space: normal;
	}

	.wanze-not-found__copy {
		font-size: 1rem;
	}

	.wanze-not-found__recovery {
		padding: 48px 20px 56px;
	}

	.wanze-not-found__search .wp-block-search__button {
		padding: 0 18px;
	}

	.wanze-not-found__actions {
		align-items: stretch;
		flex-direction: column;
		max-width: none;
	}
}

/* Factory Profile: mirror the Quality Control hero's light reading order.
 * This final rule set intentionally resets all earlier Factory Profile skins. */
/* Match the Quality Control hero: let the image-led first section run beneath the fixed navigation. */
body .wp-site-blocks > .entry-content:has(.wanze-about__profile) {
	margin-block-start: 0 !important;
}

body.page-id-27 .entry-content > main.wanze-about {
	margin-block-start: 0 !important;
}

.wanze-about__profile {
	background: #ffffff !important;
	background-image: none !important;
	grid-column: 1;
	grid-row: 1;
	left: auto;
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
	overflow: hidden;
	padding-bottom: clamp(176px, 16vw, 238px) !important;
	padding-top: clamp(116px, 8vw, 132px) !important;
	position: relative;
	width: 100% !important;
}

/* The fixed header overlays this hero; keep the complete desktop profile within one viewport. */
@media (min-width: 782px) {
	.wanze-about__profile {
		box-sizing: border-box;
		height: calc(100svh + 24px);
		margin-top: -24px !important;
		max-height: calc(100svh + 24px);
		padding-bottom: clamp(132px, 13vh, 168px) !important;
		padding-top: clamp(136px, 12vh, 162px) !important;
	}

	body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb {
		margin-bottom: clamp(18px, 2.5vh, 28px) !important;
	}

	.wanze-about__profile .wanze-about__frame {
		min-height: 0 !important;
	}
}

body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb {
	/* Exact inherited text metrics and tone of .wanze-page-hero--qc .wanze-page-hero__crumb. */
	color: #728092 !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	line-height: 1.5 !important;
	margin-bottom: clamp(28px, 3vw, 42px) !important;
	position: relative;
	z-index: 3;
}

body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb .rank-math-breadcrumb a {
	color: #42556a !important;
	font-weight: 600 !important;
}

body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb .separator,
body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb .last {
	color: #9aa8b6 !important;
}

body.page-id-27 .wanze-about__profile .wanze-about__breadcrumb .separator {
	margin: 0 10px;
	padding: 0;
}

.wanze-about__profile .wanze-about__frame {
	display: block !important;
	margin-top: 0 !important;
	min-height: clamp(520px, 39vw, 640px);
	position: static;
}

.wanze-about__profile .wanze-about__copy {
	background: transparent !important;
	border: 0 !important;
	border-top: 0 !important;
	box-shadow: none !important;
	display: block !important;
	grid-column: auto !important;
	grid-row: auto !important;
	margin: 0 !important;
	max-width: min(48%, 660px) !important;
	padding: 0 !important;
	position: relative;
	z-index: 2;
}

.wanze-about__profile .wanze-about__copy.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	margin-left: 0 !important;
	margin-right: 0 !important;
	max-width: none !important;
}

.wanze-about__profile .wanze-about__copy::before {
	background: linear-gradient(90deg, var(--wanze-cta) 0%, #f5a33c 100%) !important;
	border-radius: 999px;
	height: 5px;
	margin-bottom: 24px;
	width: 68px;
}

.wanze-about__profile .wanze-about__eyebrow {
	color: var(--wanze-cta) !important;
	font-family: var(--wanze-font);
	font-size: 0.76rem;
	font-weight: 750;
	letter-spacing: 0.12em;
	line-height: 1.25;
	margin: 0 !important;
}

.wanze-about__profile .wanze-about__title,
.wanze-about__profile .wanze-about__title span {
	color: #122c49 !important;
	font-size: clamp(3.1rem, 4.4vw, 5.5rem);
	letter-spacing: -0.064em;
	line-height: 0.94;
	margin-top: 24px;
}

.wanze-about__profile .wanze-about__body {
	color: #607287 !important;
	font-size: clamp(1rem, 1.08vw, 1.16rem);
	line-height: 1.72;
	margin-top: 30px;
	max-width: 46ch;
}

.wanze-about__profile .wanze-about__body p + p {
	margin-top: 14px;
}

.wanze-about__profile .wanze-about__actions {
	margin-top: 34px;
}

.wanze-about__profile .wanze-about__inquiry .wp-block-button__link {
	border-radius: 999px !important;
	box-shadow: none !important;
	min-height: 52px;
	min-width: 0;
	padding: 14px 24px !important;
}

/* The Factory Profile inquiry keeps its native text-only button treatment. */
.wanze-about__profile .wanze-about__inquiry .wp-block-button__link::after {
	content: none !important;
	display: none !important;
}

.wanze-about__profile .wanze-about__visual {
	bottom: 0 !important;
	grid-column: auto !important;
	grid-row: auto !important;
	left: 0 !important;
	max-width: none !important;
	min-height: 0 !important;
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	transform: none;
	width: 100% !important;
	z-index: 1;
}

/* The visual is a constrained-block child; make its desktop canvas viewport-wide. */
@media (min-width: 782px) {
	body.page-id-27 .wanze-about__profile .wanze-about__frame.is-layout-constrained > .wanze-about__visual {
		left: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		right: 0 !important;
		transform: none !important;
		width: 100% !important;
	}
}

.wanze-about__profile .wanze-about__image {
	border: 0 !important;
	box-shadow: none !important;
	height: 100% !important;
	min-height: 0 !important;
	width: 100% !important;
}

/* WordPress constrains the figure inside this constrained group unless it is reset explicitly. */
@media (min-width: 782px) {
	body.page-id-27 .wanze-about__profile .wanze-about__visual.is-layout-constrained > .wanze-about__image {
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		width: 100% !important;
	}
}

.wanze-about__profile .wanze-about__image::after {
	background: linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 19%, rgba(255, 255, 255, 0.38) 47%, rgba(255, 255, 255, 0.04) 72%, rgba(255, 255, 255, 0) 100%) !important;
	z-index: 1;
}

.wanze-about__profile .wanze-about__image img {
	filter: saturate(0.72) brightness(1.17) contrast(0.88) !important;
	object-position: 64% center;
}

.wanze-about__profile .wanze-about__culture {
	display: none !important;
}

.wanze-about__profile .wanze-about__culture::before {
	background: var(--wanze-cta) !important;
	display: block !important;
	height: 3px;
	margin-bottom: 12px;
	width: 34px;
}

.wanze-about__profile .wanze-about__culture h2 {
	color: #193653 !important;
	font-size: 1rem;
}

.wanze-about__profile .wanze-about__culture p {
	color: #647588 !important;
	font-size: 0.84rem;
	line-height: 1.5;
	margin-top: 8px;
}

.wanze-about__profile .wanze-about__learn {
	display: none !important;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark {
	align-self: end;
	background: transparent !important;
	background-image: none !important;
	grid-column: 1;
	grid-row: 1;
	margin-top: 0 !important;
	padding: 0 24px !important;
	position: relative;
	z-index: 3;
}

/* Factory Profile statistics use the same bottom rail model as Quality Control. */
@media (min-width: 782px) {
	.wanze-about > .wanze-about__profile + .wanze-section--dark {
		height: auto !important;
		margin-bottom: 52px;
		min-height: 0 !important;
		overflow: visible !important;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stats {
		transform: none;
	}
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stats {
	background: transparent !important;
	border: 0 !important;
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin: 0 auto !important;
	max-width: 860px !important;
	transform: none;
	width: min(100%, 860px);
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat {
	align-items: center;
	background: rgba(255, 255, 255, 0.96) !important;
	border: 1px solid #dce5eb !important;
	border-radius: 16px !important;
	box-shadow: 0 10px 24px rgba(22, 52, 77, 0.08) !important;
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 !important;
	min-height: 100px;
	padding: 20px 18px 16px !important;
	text-align: center;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

@media (hover: hover) {
	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat:hover {
		border-color: rgba(229, 58, 62, 0.42) !important;
		box-shadow: 0 18px 32px rgba(22, 52, 77, 0.14) !important;
		transform: translateY(-6px);
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat:hover strong {
		color: var(--wanze-cta) !important;
	}
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong {
	color: #163351 !important;
	font-size: clamp(1.32rem, 1.65vw, 1.76rem);
	line-height: 1;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong::after {
	display: none !important;
}

.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat span {
	color: #6b7b8c !important;
	font-size: 0.76rem;
	line-height: 1.45;
	margin-top: 10px;
	text-align: center;
}

@media (max-width: 781px) {
	.wanze-about__profile {
		box-sizing: border-box;
		height: 100dvh;
		isolation: isolate;
		left: auto;
		margin: 0 !important;
		max-height: 100dvh;
		min-height: 0;
		padding: 132px 20px 0 !important;
		position: relative;
		width: 100% !important;
	}

	.wanze-about__profile .wanze-about__breadcrumb {
		margin-bottom: 18px !important;
	}

	.wanze-about__profile .wanze-about__frame {
		display: flex !important;
		flex-direction: column;
		gap: 0;
		min-height: 0;
		z-index: 1;
	}

	.wanze-about__profile .wanze-about__copy {
		max-width: none !important;
		order: 0;
		padding: 0 !important;
	}

	.wanze-about__profile .wanze-about__title,
	.wanze-about__profile .wanze-about__title span {
		font-size: clamp(2.55rem, 11vw, 3.25rem);
		margin-top: 20px;
	}

	.wanze-about__profile .wanze-about__body {
		font-size: 0.96rem;
		line-height: 1.55;
		margin-top: 22px;
	}

	.wanze-about__profile .wanze-about__body p + p {
		margin-top: 10px;
	}

	.wanze-about__profile .wanze-about__actions {
		margin-top: 22px;
	}

	.wanze-about__profile .wanze-about__inquiry .wp-block-button__link {
		min-height: 48px;
		padding: 12px 22px !important;
	}

	.wanze-about__profile .wanze-about__visual {
		inset: 0 !important;
		margin: 0 !important;
		min-height: 0 !important;
		order: unset;
		position: absolute !important;
		transform: none;
		width: 100% !important;
		z-index: 0;
	}

	.wanze-about__profile .wanze-about__image {
		height: 100% !important;
	}

	.wanze-about__profile .wanze-about__image::after {
		background:
			linear-gradient(180deg, rgba(255, 255, 255, 0) 44%, rgba(255, 255, 255, 0.3) 62%, #ffffff 100%),
			linear-gradient(90deg, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.86) 19%, rgba(255, 255, 255, 0.38) 47%, rgba(255, 255, 255, 0.04) 72%, rgba(255, 255, 255, 0) 100%) !important;
	}

	.wanze-about__profile .wanze-about__culture {
		bottom: 14px !important;
		right: 14px !important;
		width: calc(100% - 28px) !important;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark {
		height: auto !important;
		margin-bottom: clamp(24px, calc(43.4vw - 138px), 152px);
		margin-top: 0 !important;
		overflow: visible !important;
		padding: 0 20px !important;
		position: relative;
		z-index: 2;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stats {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		transform: none;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat {
		border-radius: 12px !important;
		min-height: 112px;
		padding: 20px 16px 16px !important;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong {
		font-size: 1.42rem;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat span {
		font-size: 0.76rem;
		line-height: 1.45;
		margin-top: 10px;
	}

	.wanze-about > #wanze-about-timeline {
		background: #ffffff !important;
		margin-block-start: 0 !important;
		position: relative;
		z-index: 1;
	}
}

@media (max-width: 480px) {
	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat {
		min-height: 0;
		padding: 14px 10px 12px !important;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat strong {
		font-size: 1.28rem;
	}

	.wanze-about > .wanze-about__profile + .wanze-section--dark .wanze-qc__stat span {
		font-size: 0.72rem;
		line-height: 1.35;
		margin-top: 8px;
	}
}
