/* Kevin 2026-09-24: English Home, About, Contacts, Why Integrated. */

html:not(#vm-kx) body.vm-cvi.vm-k24-page .ast-container,
html:not(#vm-kx) body.vm-cvi.home.vm-k24-page .ast-container,
html:not(#vm-kx) body.vm-cvi.vm-k24-page .entry-content {
	max-width: none;
	padding: 0;
	background: #000;
}

html:not(#vm-kx) body.vm-cvi.vm-k24-page article.ast-article-single > .entry-header,
html:not(#vm-kx) body.vm-cvi.vm-k24-page .ast-single-entry-banner,
html:not(#vm-kx) body.vm-cvi.vm-lang-en .ast-footer-copyright {
	display: none !important;
}

html:not(#vm-kx) body.vm-cvi.vm-k24-page .entry-content h2,
html:not(#vm-kx) body.vm-cvi.vm-k24-page .entry-content h3,
html:not(#vm-kx) body.vm-cvi .vm-k24 h2,
html:not(#vm-kx) body.vm-cvi .vm-k24 h3 {
	margin: 0;
	padding: 0;
	border: 0;
	max-width: none;
}

html:not(#vm-kx) body.vm-cvi.vm-k24-page .entry-content h2::before,
html:not(#vm-kx) body.vm-cvi .vm-k24 h2::before {
	display: none;
}

html:not(#vm-kx) .vm-k24 {
	color: #303638;
	font-family: Inter, Arial, sans-serif;
	overflow-x: clip;
}

html:not(#vm-kx) .vm-k24-wrap {
	margin-inline: auto;
	width: min(1320px, calc(100% - clamp(20px, 4vw, 128px)));
}

html:not(#vm-kx) .vm-k24 h1,
html:not(#vm-kx) .vm-k24 h2,
html:not(#vm-kx) .vm-k24 h3,
html:not(#vm-kx) .vm-k24-eye,
html:not(#vm-kx) .vm-k24-card h3,
html:not(#vm-kx) .vm-k24-person h3,
html:not(#vm-kx) .vm-k24-route__label,
html:not(#vm-kx) .vm-k24-route__num,
html:not(#vm-kx) .vm-k24-num {
	font-weight: 800;
	letter-spacing: -0.03em;
	line-height: 1.02;
	text-transform: uppercase;
}

html:not(#vm-kx) .vm-k24 h1 em,
html:not(#vm-kx) .vm-k24 h2 em,
html:not(#vm-kx) .vm-k24-oem {
	font-style: normal;
}

html:not(#vm-kx) .vm-k24 h1 em {
	color: #ff6a00;
}

html:not(#vm-kx) .vm-k24-oem {
	text-transform: none;
}

html:not(#vm-kx) .vm-k24-line {
	display: block;
}

html:not(#vm-kx) .vm-k24-eye {
	color: #3ecdbf;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.08em;
	margin: 0 0 12px;
}

html:not(#vm-kx) .vm-k24 h1 {
	color: #fff;
	font-size: clamp(40px, 4vw, 58px);
	margin: 0 0 16px;
	max-width: 14ch;
}

html:not(#vm-kx) .vm-k24-hero p,
html:not(#vm-kx) .vm-k24-lead,
html:not(#vm-kx) .vm-k24 p {
	font-size: 18px;
	line-height: 1.45;
}

html:not(#vm-kx) .vm-k24-hero {
	position: relative;
	display: grid;
	height: 560px;
	align-items: center;
	overflow: hidden;
	background: #041614;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-hero > * {
	grid-area: 1 / 1;
	min-height: 0;
	min-width: 0;
}

html:not(#vm-kx) .vm-k24-hero--about {
	height: 500px;
}

html:not(#vm-kx) .vm-k24--why .vm-k24-hero,
html:not(#vm-kx) .vm-k24-hero--draw {
	height: 480px;
	background: #06211f;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-hero__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	object-fit: cover;
	object-position: right center;
}

html:not(#vm-kx) .vm-k24-hero__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 18, 17, 0.92) 0%, rgba(0, 18, 17, 0.72) 42%, rgba(0, 18, 17, 0.18) 72%, rgba(0, 18, 17, 0.08) 100%);
}

html:not(#vm-kx) .vm-k24-hero__copy {
	position: relative;
	z-index: 1;
	padding-block: 64px;
	max-width: 760px;
}

html:not(#vm-kx) .vm-k24-hero__copy > p {
	max-width: 38rem;
	color: #f1f4f3;
	margin: 0 0 24px;
}

html:not(#vm-kx) .vm-k24-drawing {
	position: absolute;
	right: -2%;
	top: -8%;
	width: min(46%, 560px);
	height: auto;
	opacity: 0.28;
	pointer-events: none;
}

html:not(#vm-kx) .vm-k24-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 22px;
	border-radius: 8px;
	border: 2px solid transparent;
	font: 700 15px/1 Inter, Arial, sans-serif;
	letter-spacing: 0.04em;
	text-transform: none;
	text-decoration: none !important;
	cursor: pointer;
	text-transform: none;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-btn--orange,
html:not(#vm-kx) body.vm-cvi .vm-k24-btn--orange:hover {
	background: #ff6a00 !important;
	border-color: #ff6a00 !important;
	color: #000 !important;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-btn--line,
html:not(#vm-kx) body.vm-cvi .vm-k24-btn--line:hover {
	background: transparent !important;
	border-color: #3ecdbf !important;
	color: #3ecdbf !important;
}

html:not(#vm-kx) .vm-k24-facts,
html:not(#vm-kx) .vm-k24-proof {
	display: grid;
	list-style: none;
	margin: 0;
	padding: 0;
	background: #0b4d4a;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-facts--4,
html:not(#vm-kx) .vm-k24-proof {
	grid-template-columns: repeat(4, 1fr);
}

html:not(#vm-kx) .vm-k24-facts--3 {
	grid-template-columns: repeat(3, 1fr);
}

html:not(#vm-kx) .vm-k24-facts li,
html:not(#vm-kx) .vm-k24-proof li {
	min-height: 136px;
	padding: 28px 32px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 6px;
	border-left: 1px solid rgba(255, 255, 255, 0.16);
}

html:not(#vm-kx) .vm-k24-facts li:first-child,
html:not(#vm-kx) .vm-k24-proof li:first-child {
	border-left: 0;
}

html:not(#vm-kx) .vm-k24-facts strong,
html:not(#vm-kx) .vm-k24-proof strong {
	font-size: 22px;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-facts span,
html:not(#vm-kx) .vm-k24-proof span,
html:not(#vm-kx) .vm-k24-facts a,
html:not(#vm-kx) .vm-k24-proof a {
	color: #f1f4f3;
	font-size: 16px;
	text-decoration: none;
}

html:not(#vm-kx) .vm-k24-facts--left li {
	align-items: flex-start;
	text-align: left;
}

html:not(#vm-kx) .vm-k24-facts:not(.vm-k24-facts--left) li {
	align-items: center;
	text-align: center;
}

html:not(#vm-kx) .vm-k24-facts__main {
	font-size: 20px !important;
	font-weight: 700;
}

html:not(#vm-kx) .vm-k24-facts .vm-k24-more {
	margin-top: 4px;
}

html:not(#vm-kx) .vm-k24-proof li {
	flex-direction: row;
	align-items: center;
	gap: 14px;
	text-align: left;
}

html:not(#vm-kx) .vm-k24-proof strong,
html:not(#vm-kx) .vm-k24-proof span {
	display: block;
}

html:not(#vm-kx) .vm-k24-band {
	padding-block: 72px;
}

html:not(#vm-kx) .vm-k24-band--black {
	padding-block: 36px;
}

html:not(#vm-kx) .vm-k24-integrated {
	padding-block: 16px;
}

html:not(#vm-kx) .vm-k24-band--paper {
	background: #f1f4f3;
}

html:not(#vm-kx) .vm-k24-band--black {
	background: #000;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-band--black .vm-k24-eye {
	color: #3ecdbf;
}

html:not(#vm-kx) .vm-k24-center {
	text-align: center;
}

html:not(#vm-kx) .vm-k24-center h2,
html:not(#vm-kx) .vm-k24-band h2 {
	font-size: clamp(32px, 3vw, 46px);
	color: #0b4d4a;
}

html:not(#vm-kx) .vm-k24-band--black h2,
html:not(#vm-kx) .vm-k24-cta h2,
html:not(#vm-kx) .vm-k24-certs h2,
html:not(#vm-kx) .vm-k24-typical h2,
html:not(#vm-kx) .vm-k24-office h2 {
	color: #fff;
}

html:not(#vm-kx) .vm-k24-lead {
	margin: 14px auto 28px;
	max-width: 46rem;
	color: #4a4f55;
}

html:not(#vm-kx) .vm-k24-band--black .vm-k24-lead,
html:not(#vm-kx) .vm-k24-band--black p {
	color: #f1f4f3;
}

html:not(#vm-kx) .vm-k24-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	text-align: left;
	margin-bottom: 28px;
}

html:not(#vm-kx) .vm-k24-card {
	display: flex;
	flex-direction: column;
	background: #071614;
	border-radius: 16px;
	overflow: hidden;
	min-height: 100%;
}

html:not(#vm-kx) .vm-k24-card img,
html:not(#vm-kx) .vm-k24-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

html:not(#vm-kx) .vm-k24-card img {
	aspect-ratio: 3 / 2;
}

html:not(#vm-kx) .vm-k24-card div,
html:not(#vm-kx) .vm-k24-person div {
	padding: 18px 18px 20px;
}

html:not(#vm-kx) .vm-k24-card h3,
html:not(#vm-kx) .vm-k24-person h3 {
	color: #fff;
	font-size: 18px;
	margin-bottom: 8px;
}

html:not(#vm-kx) .vm-k24-card p,
html:not(#vm-kx) .vm-k24-person p,
html:not(#vm-kx) .vm-k24-person a {
	color: #f1f4f3;
	font-size: 15px;
	line-height: 1.4;
	margin: 0;
}

html:not(#vm-kx) .vm-k24-more {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: #0b4d4a;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: none;
	font-size: 14px;
}

html:not(#vm-kx) .vm-k24-band--black .vm-k24-more,
html:not(#vm-kx) .vm-k24-quality .vm-k24-more,
html:not(#vm-kx) .vm-k24-facts .vm-k24-more,
html:not(#vm-kx) .vm-k24-typical .vm-k24-more,
html:not(#vm-kx) .vm-k24-cta .vm-k24-more {
	color: #3ecdbf;
}

html:not(#vm-kx) .vm-k24-more--orange {
	color: #ff6a00;
}

html:not(#vm-kx) .vm-k24-more svg {
	width: 18px;
	height: 18px;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

html:not(#vm-kx) .vm-k24-integrated .vm-k24-wrap,
html:not(#vm-kx) .vm-k24-split,
html:not(#vm-kx) .vm-k24-cta__row,
html:not(#vm-kx) .vm-k24-certs .vm-k24-wrap,
html:not(#vm-kx) .vm-k24-typical .vm-k24-wrap,
html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap,
html:not(#vm-kx) .vm-k24-story,
html:not(#vm-kx) .vm-k24-faq,
html:not(#vm-kx) .vm-k24-office {
	display: grid;
	gap: 32px;
	align-items: center;
}

html:not(#vm-kx) .vm-k24-integrated .vm-k24-wrap {
	grid-template-columns: 0.9fr 1.1fr;
}

html:not(#vm-kx) .vm-k24-integrated h2,
html:not(#vm-kx) .vm-k24-band--black h2 {
	font-size: clamp(30px, 3vw, 42px);
	margin-bottom: 10px;
}

html:not(#vm-kx) .vm-k24-integrated p {
	margin: 0 0 16px;
}

html:not(#vm-kx) .vm-k24-route {
	display: flex;
	list-style: none;
	margin: 22px 0 0;
	padding: 0;
	gap: 0;
}

html:not(#vm-kx) .vm-k24-route li {
	position: relative;
	flex: 1 1 0;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 8px;
}

html:not(#vm-kx) .vm-k24-route__node {
	width: 68px;
	height: 68px;
	border: 1.5px solid #3ecdbf;
	border-radius: 50%;
	display: grid;
	place-items: center;
	color: #3ecdbf;
	background: transparent;
	position: relative;
	z-index: 1;
}

html:not(#vm-kx) .vm-k24-route__node svg {
	width: 30px;
	height: 30px;
}

html:not(#vm-kx) .vm-k24-route__node span,
html:not(#vm-kx) .vm-k24-num {
	color: #ff6a00;
	font-size: 16px;
}

html:not(#vm-kx) .vm-k24-route--orange .vm-k24-route__node,
html:not(#vm-kx) .vm-k24-route--orange .vm-k24-route__join {
	border-color: #ff6a00;
	color: #ff6a00;
}

html:not(#vm-kx) .vm-k24-route--orange .vm-k24-route__join::after {
	border-color: #ff6a00;
}

html:not(#vm-kx) .vm-k24-route__join {
	position: absolute;
	top: 33px;
	left: calc(50% + 36px);
	width: calc(100% - 72px);
	border-top: 1.5px solid #3ecdbf;
}

html:not(#vm-kx) .vm-k24-route__join::after {
	content: "";
	position: absolute;
	right: 0;
	top: -4px;
	width: 7px;
	height: 7px;
	border-right: 1.5px solid #3ecdbf;
	border-top: 1.5px solid #3ecdbf;
	transform: rotate(45deg);
}

html:not(#vm-kx) .vm-k24-route__label,
html:not(#vm-kx) .vm-k24-route__sub {
	display: block;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 1.25;
	max-width: 12rem;
}

html:not(#vm-kx) .vm-k24-route--tiny .vm-k24-route__node {
	width: 48px;
	height: 48px;
}

html:not(#vm-kx) .vm-k24-route--tiny .vm-k24-route__node svg {
	width: 22px;
	height: 22px;
}

html:not(#vm-kx) .vm-k24-route--tiny .vm-k24-route__join {
	top: 23px;
	left: calc(50% + 26px);
	width: calc(100% - 52px);
}

html:not(#vm-kx) .vm-k24-route--labels .vm-k24-route__label {
	font-size: 13px;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
}

html:not(#vm-kx) .vm-k24-split {
	grid-template-columns: 1fr 1fr;
}

html:not(#vm-kx) .vm-k24-photo {
	margin: 0;
	min-height: 360px;
	height: 100%;
}

html:not(#vm-kx) .vm-k24-photo img {
	min-height: 360px;
	border-radius: 16px;
}

html:not(#vm-kx) .vm-k24-bleed .vm-k24-photo img,
html:not(#vm-kx) .vm-k24-office .vm-k24-photo img {
	border-radius: 0;
	min-height: 460px;
}

html:not(#vm-kx) .vm-k24-pad {
	padding: 48px clamp(20px, 4vw, 64px);
}

html:not(#vm-kx) .vm-k24-pad h2,
html:not(#vm-kx) .vm-k24-story h2,
html:not(#vm-kx) .vm-k24-faq h2 {
	color: #0b4d4a;
	font-size: clamp(32px, 3vw, 46px);
	margin-bottom: 14px;
}

html:not(#vm-kx) .vm-k24-points,
html:not(#vm-kx) .vm-k24-grid2,
html:not(#vm-kx) .vm-k24-scope {
	list-style: none;
	margin: 18px 0 0;
	padding: 0;
	display: grid;
	gap: 18px;
}

html:not(#vm-kx) .vm-k24-points li,
html:not(#vm-kx) .vm-k24-grid2 li,
html:not(#vm-kx) .vm-k24-scope article {
	display: grid;
	grid-template-columns: 48px 1fr;
	gap: 12px;
	align-items: start;
}

html:not(#vm-kx) .vm-k24-ico {
	width: 44px;
	height: 44px;
	color: #3ecdbf;
	display: grid;
	place-items: center;
}

html:not(#vm-kx) .vm-k24-ico svg {
	width: 34px;
	height: 34px;
}

html:not(#vm-kx) .vm-k24-points h3,
html:not(#vm-kx) .vm-k24-grid2 h3,
html:not(#vm-kx) .vm-k24-scope h3 {
	font-size: 16px;
	color: #0b4d4a;
	margin-bottom: 4px;
}

html:not(#vm-kx) .vm-k24-points p,
html:not(#vm-kx) .vm-k24-grid2 p,
html:not(#vm-kx) .vm-k24-scope p,
html:not(#vm-kx) .vm-k24-prose p,
html:not(#vm-kx) .vm-k24-pad p {
	margin: 0;
	color: #4a4f55;
	font-size: 16px;
}

html:not(#vm-kx) .vm-k24-num {
	width: 44px;
	height: 44px;
	border: 1.5px solid #3ecdbf;
	border-radius: 50%;
	display: grid;
	place-items: center;
	font-size: 14px;
}

html:not(#vm-kx) .vm-k24-quality,
html:not(#vm-kx) .vm-k24-certs,
html:not(#vm-kx) .vm-k24-typical,
html:not(#vm-kx) .vm-k24-qstrip {
	background: #0b4d4a;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-quality {
	padding-block: 28px;
}

html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap,
html:not(#vm-kx) .vm-k24-certs .vm-k24-wrap {
	grid-template-columns: 1.1fr 0.9fr;
}

html:not(#vm-kx) .vm-k24-quality h2,
html:not(#vm-kx) .vm-k24-certs h2,
html:not(#vm-kx) .vm-k24-typical h2 {
	font-size: clamp(28px, 2.6vw, 36px);
	margin-bottom: 8px;
}

html:not(#vm-kx) .vm-k24-quality p,
html:not(#vm-kx) .vm-k24-certs p,
html:not(#vm-kx) .vm-k24-typical p {
	margin: 0;
	color: #f1f4f3;
}

html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap > div:last-child {
	border-left: 1px solid rgba(255, 255, 255, 0.2);
	padding-left: 32px;
}

html:not(#vm-kx) .vm-k24-cta {
	background: #000;
	color: #fff;
	padding-block: 32px;
}

html:not(#vm-kx) .vm-k24-cta--center {
	text-align: center;
}

html:not(#vm-kx) .vm-k24-cta--center .vm-k24-wrap {
	display: grid;
	justify-items: center;
}

html:not(#vm-kx) .vm-k24-cta--teal {
	background: #0b4d4a;
}

html:not(#vm-kx) .vm-k24-cta h2 {
	font-size: clamp(30px, 3vw, 42px);
	margin-bottom: 8px;
}

html:not(#vm-kx) .vm-k24-cta p {
	margin: 0;
	color: #f1f4f3;
}

html:not(#vm-kx) .vm-k24-cta__row {
	grid-template-columns: 1.1fr 1fr auto;
}

html:not(#vm-kx) .vm-k24-story {
	grid-template-columns: 0.8fr 1.2fr;
	align-items: start;
}

html:not(#vm-kx) .vm-k24-prose {
	display: grid;
	gap: 14px;
}

html:not(#vm-kx) .vm-k24-timeline,
html:not(#vm-kx) .vm-k24-certs ul,
html:not(#vm-kx) .vm-k24-qstrip ul {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	list-style: none;
	margin: 32px 0 0;
	padding: 0;
}

html:not(#vm-kx) .vm-k24-timeline li {
	padding: 0 18px;
	border-left: 1px solid #3ecdbf;
}

html:not(#vm-kx) .vm-k24-timeline li:first-child {
	border-left: 0;
	padding-left: 0;
}

html:not(#vm-kx) .vm-k24-timeline strong,
html:not(#vm-kx) .vm-k24-certs li strong,
html:not(#vm-kx) .vm-k24-facts--ink strong {
	display: block;
	color: #0b4d4a;
	font-size: 18px;
	margin-bottom: 6px;
}

html:not(#vm-kx) .vm-k24-certs ul {
	margin: 0;
	gap: 12px;
}

html:not(#vm-kx) .vm-k24-certs li {
	border: 1.5px solid #3ecdbf;
	border-radius: 12px;
	min-height: 130px;
	padding: 18px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

html:not(#vm-kx) .vm-k24-certs li strong,
html:not(#vm-kx) .vm-k24-certs li span,
html:not(#vm-kx) .vm-k24-qstrip strong,
html:not(#vm-kx) .vm-k24-qstrip span,
html:not(#vm-kx) .vm-k24-qstrip li {
	color: #fff;
}

html:not(#vm-kx) .vm-k24-facts--ink {
	background: transparent;
	margin-top: 22px;
}

html:not(#vm-kx) .vm-k24-facts--ink li {
	min-height: 0;
	border-left-color: #d9dee3;
	padding-inline: 18px;
}

html:not(#vm-kx) .vm-k24-facts--ink span {
	color: #4a4f55;
}

html:not(#vm-kx) .vm-k24-routes {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 18px;
	text-align: left;
}

html:not(#vm-kx) .vm-k24-routes article {
	background: #fff;
	border-left: 3px solid #3ecdbf;
	border-top: 3px solid #3ecdbf;
	padding: 22px 20px 18px;
	min-height: 210px;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

html:not(#vm-kx) .vm-k24-routes h3 {
	font-size: 18px;
	color: #0b4d4a;
}

html:not(#vm-kx) .vm-k24-routes p {
	flex: 1;
	margin: 0;
	color: #4a4f55;
	font-size: 16px;
}

html:not(#vm-kx) .vm-k24-office {
	grid-template-columns: 1fr 1fr;
	background: #0b4d4a;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-office > div:first-child {
	padding: 56px clamp(20px, 4vw, 72px);
}

html:not(#vm-kx) .vm-k24-office h2 {
	font-size: 40px;
	margin-bottom: 18px;
}

html:not(#vm-kx) .vm-k24-office dl {
	display: grid;
	grid-template-columns: 180px 1fr;
	gap: 10px 16px;
	margin: 0 0 22px;
}

html:not(#vm-kx) .vm-k24-office dt {
	font-size: 13px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #8fe7db;
}

html:not(#vm-kx) .vm-k24-office dd,
html:not(#vm-kx) .vm-k24-office a {
	margin: 0;
	color: #fff;
	text-decoration: none;
}

html:not(#vm-kx) .vm-k24-team {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px;
}

html:not(#vm-kx) .vm-k24-person {
	display: grid;
	grid-template-columns: 118px 1fr;
	background: #071614;
	border-radius: 12px;
	overflow: hidden;
	min-height: 168px;
}

html:not(#vm-kx) .vm-k24-person img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 18%;
}

html:not(#vm-kx) .vm-k24-person div {
	display: flex;
	flex-direction: column;
	gap: 4px;
	justify-content: center;
}

html:not(#vm-kx) .vm-k24-person a {
	color: #3ecdbf;
	text-decoration: none;
	font-size: 14px;
}

html:not(#vm-kx) .vm-k24-langs {
	margin-top: 6px !important;
	letter-spacing: 0.06em;
	font-size: 12px !important;
	text-transform: uppercase;
}

html:not(#vm-kx) .vm-k24-compare {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 18px;
	margin-top: 28px;
}

html:not(#vm-kx) .vm-k24-compare article {
	border-radius: 16px;
	padding: 22px 16px 18px;
}

html:not(#vm-kx) .vm-k24-compare h3 {
	text-align: center;
	margin-bottom: 8px;
	font-size: 16px;
}

html:not(#vm-kx) .vm-k24-compare__old {
	background: #fff;
	color: #303638;
}

html:not(#vm-kx) .vm-k24-compare__old h3,
html:not(#vm-kx) .vm-k24-compare__old .vm-k24-route__label {
	color: #0b4d4a;
}

html:not(#vm-kx) .vm-k24-compare__new {
	background: #0b4d4a;
	color: #fff;
}

html:not(#vm-kx) .vm-k24-compare p {
	text-align: center;
	margin: 12px 0 0;
	font-size: 15px;
}

html:not(#vm-kx) .vm-k24-grid2 {
	grid-template-columns: 1fr 1fr;
	gap: 22px 32px;
	margin-top: 28px;
}

html:not(#vm-kx) .vm-k24-typical {
	padding-block: 56px;
}

html:not(#vm-kx) .vm-k24-typical .vm-k24-wrap {
	grid-template-columns: 0.7fr 1.3fr;
}

html:not(#vm-kx) .vm-k24-scope {
	grid-template-columns: 1fr 1fr;
	margin: 22px 0;
}

html:not(#vm-kx) .vm-k24-scope article {
	background: #fff;
	border-radius: 14px;
	padding: 18px;
}

html:not(#vm-kx) .vm-k24-qstrip {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	gap: 18px;
	align-items: center;
	border-radius: 12px;
	padding: 18px 20px;
}

html:not(#vm-kx) .vm-k24-qstrip > div strong,
html:not(#vm-kx) .vm-k24-qstrip > div span {
	display: block;
}

html:not(#vm-kx) .vm-k24-qstrip ul {
	grid-template-columns: repeat(3, 1fr);
	margin: 0;
}

html:not(#vm-kx) .vm-k24-qstrip li {
	text-align: center;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	font-weight: 800;
	letter-spacing: 0.04em;
}

html:not(#vm-kx) .vm-k24-faq {
	grid-template-columns: 0.6fr 1.4fr;
	align-items: start;
}

html:not(#vm-kx) .vm-k24-faq__item + .vm-k24-faq__item {
	margin-top: 8px;
}

html:not(#vm-kx) .vm-k24-faq button {
	width: 100%;
	display: flex;
	justify-content: space-between;
	gap: 16px;
	align-items: center;
	text-align: left;
	background: #fff !important;
	color: #0b4d4a !important;
	border: 0 !important;
	border-radius: 8px;
	min-height: 58px;
	padding: 14px 16px;
	font: 700 16px/1.3 Inter, Arial, sans-serif;
	cursor: pointer;
}

html:not(#vm-kx) .vm-k24-faq [hidden] {
	display: none;
}

html:not(#vm-kx) .vm-k24-faq__item div {
	background: #fff;
	padding: 0 16px 14px;
	border-radius: 0 0 8px 8px;
}

html:not(#vm-kx) .vm-k24-faq__item div p {
	margin: 0;
	color: #4a4f55;
	font-size: 16px;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-foot {
	padding: 36px 0 18px;
	background: #000;
	color: #f1f4f3;
}

html:not(#vm-kx) .vm-k24-foot__grid {
	display: grid;
	grid-template-columns: 1.1fr 0.8fr auto 0.8fr 1.15fr;
	gap: 28px;
	align-items: start;
}

html:not(#vm-kx) .vm-k24-foot h3 {
	color: #fff;
	font-size: 13px;
	letter-spacing: 0.08em;
	margin: 0 0 12px;
}

html:not(#vm-kx) .vm-k24-foot ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 6px;
}

html:not(#vm-kx) .vm-k24-foot a,
html:not(#vm-kx) .vm-k24-foot li,
html:not(#vm-kx) .vm-k24-foot span {
	color: #f1f4f3;
	text-decoration: none;
	font-size: 15px;
}

html:not(#vm-kx) .vm-k24-foot__logo {
	display: grid;
	place-items: center;
	padding-top: 18px;
}

html:not(#vm-kx) .vm-k24-foot__logo img {
	width: min(180px, 22vw);
	height: auto;
	filter: invert(1) sepia(49%) saturate(96%) hue-rotate(168deg) brightness(181%);
}

html:not(#vm-kx) .vm-k24-foot__contact {
	margin-bottom: 16px;
}

html:not(#vm-kx) .vm-k24-foot__base {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-top: 28px;
	padding-top: 14px;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: #c7cfce;
	font-size: 13px;
}

html:not(#vm-kx) .vm-k24-foot__base p {
	margin: 0;
}

@media (min-width: 1100px) {
	html:not(#vm-kx) body.vm-cvi .vm-k24-hero h1 {
		max-width: none;
		font-size: 52px;
	}

	html:not(#vm-kx) body.vm-cvi .vm-k24-hero h1 .vm-k24-line {
		white-space: nowrap;
	}
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h1 {
	font-size: clamp(40px, 3.6vw, 56px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	hyphens: manual;
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h2 {
	font-size: clamp(30px, 2.5vw, 42px);
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: -0.03em;
	text-transform: uppercase;
	hyphens: manual;
	margin: 0 0 10px;
	padding: 0;
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h3 {
	font-size: 16px;
	font-weight: 800;
	line-height: 1.25;
	text-transform: uppercase;
	hyphens: manual;
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h2.vm-k24-oem {
	text-transform: none;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-integrated h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-quality h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-cta h2 {
	font-size: clamp(28px, 2.2vw, 36px);
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h1,
html:not(#vm-kx) body.vm-cvi .vm-k24-hero p,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts strong,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts span,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts a,
html:not(#vm-kx) body.vm-cvi .vm-k24-proof,
html:not(#vm-kx) body.vm-cvi .vm-k24-proof strong,
html:not(#vm-kx) body.vm-cvi .vm-k24-proof span,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--black,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--black h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--black p,
html:not(#vm-kx) body.vm-cvi .vm-k24-cta,
html:not(#vm-kx) body.vm-cvi .vm-k24-cta h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-cta p,
html:not(#vm-kx) body.vm-cvi .vm-k24-quality,
html:not(#vm-kx) body.vm-cvi .vm-k24-quality h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-quality p,
html:not(#vm-kx) body.vm-cvi .vm-k24-certs,
html:not(#vm-kx) body.vm-cvi .vm-k24-certs h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-certs p,
html:not(#vm-kx) body.vm-cvi .vm-k24-certs strong,
html:not(#vm-kx) body.vm-cvi .vm-k24-certs span,
html:not(#vm-kx) body.vm-cvi .vm-k24-typical,
html:not(#vm-kx) body.vm-cvi .vm-k24-typical h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-typical p,
html:not(#vm-kx) body.vm-cvi .vm-k24-office,
html:not(#vm-kx) body.vm-cvi .vm-k24-office h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-office dd,
html:not(#vm-kx) body.vm-cvi .vm-k24-office a,
html:not(#vm-kx) body.vm-cvi .vm-k24-card h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-card p,
html:not(#vm-kx) body.vm-cvi .vm-k24-person h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-person p,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__new,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__new h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__new p,
html:not(#vm-kx) body.vm-cvi .vm-k24-qstrip,
html:not(#vm-kx) body.vm-cvi .vm-k24-qstrip strong,
html:not(#vm-kx) body.vm-cvi .vm-k24-qstrip span,
html:not(#vm-kx) body.vm-cvi .vm-k24-qstrip li,
html:not(#vm-kx) body.vm-cvi .vm-k24-route__label,
html:not(#vm-kx) body.vm-cvi .vm-k24-route__sub {
	color: #f1f4f3;
}

html:not(#vm-kx) body.vm-cvi .vm-k24 h1 em {
	color: #ff6a00;
}

html:not(#vm-kx) body.vm-cvi .vm-k24 .vm-k24-eye {
	color: #3ecdbf;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-compare__old .vm-k24-route__label,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__old .vm-k24-route__sub {
	color: #0b4d4a;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-story h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-pad h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-faq h2,
html:not(#vm-kx) body.vm-cvi .vm-k24-routes h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__old h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-scope h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-grid2 h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-points h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-timeline strong,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts--ink strong {
	color: #0b4d4a;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper p,
html:not(#vm-kx) body.vm-cvi .vm-k24-prose p,
html:not(#vm-kx) body.vm-cvi .vm-k24-pad p,
html:not(#vm-kx) body.vm-cvi .vm-k24-routes p,
html:not(#vm-kx) body.vm-cvi .vm-k24-points p,
html:not(#vm-kx) body.vm-cvi .vm-k24-grid2 p,
html:not(#vm-kx) body.vm-cvi .vm-k24-scope p,
html:not(#vm-kx) body.vm-cvi .vm-k24-faq p,
html:not(#vm-kx) body.vm-cvi .vm-k24-compare__old p,
html:not(#vm-kx) body.vm-cvi .vm-k24-facts--ink span,
html:not(#vm-kx) body.vm-cvi .vm-k24-timeline span {
	color: #4a4f55;
}

@media (max-width: 767px) {
	html:not(#vm-kx) body.vm-cvi .vm-k24-hero__shade {
		background: linear-gradient(180deg, rgba(0, 14, 13, 0.82) 0%, rgba(0, 14, 13, 0.68) 62%, rgba(0, 14, 13, 0.45) 100%);
	}
}

@media (max-width: 1199px) {
	html:not(#vm-kx) .vm-k24-cards,
	html:not(#vm-kx) .vm-k24-team,
	html:not(#vm-kx) .vm-k24-routes {
		grid-template-columns: 1fr 1fr;
	}

	html:not(#vm-kx) .vm-k24-facts--4,
	html:not(#vm-kx) .vm-k24-proof,
	html:not(#vm-kx) .vm-k24-foot__grid,
	html:not(#vm-kx) .vm-k24-compare,
	html:not(#vm-kx) .vm-k24-cta__row,
	html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-certs .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-typical .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-integrated .vm-k24-wrap {
		grid-template-columns: 1fr 1fr;
	}

	html:not(#vm-kx) .vm-k24-foot__logo {
		grid-column: 1 / -1;
		order: -1;
	}
}

@media (max-width: 767px) {
	html:not(#vm-kx) .vm-k24-hero,
	html:not(#vm-kx) .vm-k24-hero--about,
	html:not(#vm-kx) .vm-k24--why .vm-k24-hero,
	html:not(#vm-kx) .vm-k24-hero--draw {
		height: auto;
		min-height: 440px;
	}

	html:not(#vm-kx) .vm-k24 h1 {
		max-width: none;
		font-size: 40px;
	}

	html:not(#vm-kx) .vm-k24-hero {
		min-height: 0;
	}

	html:not(#vm-kx) .vm-k24-hero__copy {
		padding-block: 48px;
	}

	html:not(#vm-kx) .vm-k24-actions,
	html:not(#vm-kx) .vm-k24-actions .vm-k24-btn {
		width: 100%;
	}

	html:not(#vm-kx) .vm-k24-facts--4,
	html:not(#vm-kx) .vm-k24-facts--3,
	html:not(#vm-kx) .vm-k24-proof,
	html:not(#vm-kx) .vm-k24-cards,
	html:not(#vm-kx) .vm-k24-team,
	html:not(#vm-kx) .vm-k24-routes,
	html:not(#vm-kx) .vm-k24-split,
	html:not(#vm-kx) .vm-k24-story,
	html:not(#vm-kx) .vm-k24-compare,
	html:not(#vm-kx) .vm-k24-grid2,
	html:not(#vm-kx) .vm-k24-scope,
	html:not(#vm-kx) .vm-k24-faq,
	html:not(#vm-kx) .vm-k24-cta__row,
	html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-certs .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-typical .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-integrated .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-office,
	html:not(#vm-kx) .vm-k24-qstrip,
	html:not(#vm-kx) .vm-k24-timeline,
	html:not(#vm-kx) .vm-k24-foot__grid,
	html:not(#vm-kx) .vm-k24-foot__base {
		grid-template-columns: 1fr;
		display: grid;
	}

	html:not(#vm-kx) .vm-k24-facts--4 {
		grid-template-columns: 1fr 1fr;
	}

	html:not(#vm-kx) .vm-k24-facts li,
	html:not(#vm-kx) .vm-k24-proof li {
		border-left: 0;
		border-top: 1px solid rgba(255, 255, 255, 0.16);
		min-height: 0;
	}

	html:not(#vm-kx) .vm-k24-quality .vm-k24-wrap > div:last-child,
	html:not(#vm-kx) .vm-k24-timeline li {
		border-left: 0;
		padding-left: 0;
	}

	html:not(#vm-kx) .vm-k24-route {
		flex-direction: column;
		align-items: flex-start;
		gap: 14px;
	}

	html:not(#vm-kx) .vm-k24-route li {
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: flex-start;
		text-align: left;
		width: 100%;
	}

	html:not(#vm-kx) .vm-k24-route__join {
		display: none;
	}

	html:not(#vm-kx) .vm-k24-drawing {
		display: none;
	}

	html:not(#vm-kx) .vm-k24-photo img,
	html:not(#vm-kx) .vm-k24-bleed .vm-k24-photo img,
	html:not(#vm-kx) .vm-k24-office .vm-k24-photo img {
		min-height: 220px;
		border-radius: 0;
	}

	html:not(#vm-kx) .vm-k24-office dl {
		grid-template-columns: 1fr;
	}

	html:not(#vm-kx) .vm-k24-band {
		padding-block: 52px;
	}
}

/* 2026-09-24 pm: shared fixes found while building Kevin's seven follow-up pages. */

/* The black canvas above is for the homepage only; other pages keep their white article canvas. */
html:not(#vm-kx) body.vm-cvi.vm-k24-page:not(.home) .entry-content {
	background: #fff;
}

/* Hero copy sits on the shared page grid (left), as in every concept; only the text measure is limited. */
html:not(#vm-kx) .vm-k24-wrap.vm-k24-hero__copy {
	max-width: none;
}

html:not(#vm-kx) .vm-k24-hero__copy > :not(h1) {
	max-width: 760px;
}

/* Active top-level navigation item: turquoise underline, as in the concepts (desktop header, English). */
@media (min-width: 922px) {
	html:not(#vm-kx) body.vm-cvi.vm-lang-en #masthead .main-header-menu > .current-menu-item:not(.vm-menu-cta):not(.vm-langs) > .menu-link,
	html:not(#vm-kx) body.vm-cvi.vm-lang-en #masthead .main-header-menu > .current-menu-ancestor:not(.vm-menu-cta):not(.vm-langs) > .menu-link {
		position: relative;
	}

	html:not(#vm-kx) body.vm-cvi.vm-lang-en #masthead .main-header-menu > .current-menu-item:not(.vm-menu-cta):not(.vm-langs) > .menu-link::after,
	html:not(#vm-kx) body.vm-cvi.vm-lang-en #masthead .main-header-menu > .current-menu-ancestor:not(.vm-menu-cta):not(.vm-langs) > .menu-link::after {
		content: "";
		position: absolute;
		left: 0.7rem;
		right: 0.7rem;
		bottom: 24px;
		height: 2px;
		background: #3ecdbf;
	}
}

/* Metal-to-plastic (1551) sits under both Subcontracting and Value in the menu; Kevin's prompt wants only VALUE active. */
html:not(#vm-kx) body.vm-cvi.vm-lang-en.page-id-1551 #masthead .main-header-menu > .vm-mega.current-menu-ancestor:not(.vm-menu-cta) > .menu-link:not(:hover):not(:focus-visible) {
	color: var(--vm-white) !important;
}

html:not(#vm-kx) body.vm-cvi.vm-lang-en.page-id-1551 #masthead .main-header-menu > .vm-mega.current-menu-ancestor:not(.vm-menu-cta) > .menu-link::after {
	display: none;
}

/* Shared English footer: readable headings and links, thin column dividers (concepts). */
html:not(#vm-kx) .vm-k24-foot h3 {
	font-weight: 800;
	line-height: 1.2;
	text-transform: uppercase;
}

html:not(#vm-kx) .vm-k24-foot a:hover,
html:not(#vm-kx) .vm-k24-foot a:focus-visible {
	color: #3ecdbf;
}

@media (min-width: 1200px) {
	html:not(#vm-kx) .vm-k24-foot__grid > div + div {
		align-self: stretch;
		border-left: 1px solid rgba(255, 255, 255, 0.16);
		padding-left: 28px;
	}
}

/* Numbered routes (About, Contacts, Why, Nearshoring, Metal-to-plastic concepts): label and sub-label sit to the
   right of each circle, with a short arrow in the gap before the next step. Icon routes keep labels below. */
html:not(#vm-kx) .vm-k24-route--nums {
	align-items: center;
}

html:not(#vm-kx) .vm-k24-route--nums li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	grid-template-rows: auto auto;
	align-content: center;
	align-items: center;
	justify-items: start;
	column-gap: 12px;
	row-gap: 3px;
	padding-right: 46px;
	text-align: left;
}

html:not(#vm-kx) .vm-k24-route--nums li:last-child {
	padding-right: 0;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__node {
	grid-row: 1 / span 2;
	width: 62px;
	height: 62px;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__node span {
	font-size: 20px;
	font-weight: 700;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__label {
	grid-column: 2;
	align-self: end;
	font-size: 14px;
	max-width: none;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__label:last-child {
	grid-row: 1 / span 2;
	align-self: center;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__sub {
	grid-column: 2;
	align-self: start;
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	max-width: none;
}

html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__join {
	top: 50%;
	left: auto;
	right: 10px;
	width: 26px;
}

@media (max-width: 767px) {
	html:not(#vm-kx) .vm-k24-route--nums li {
		padding-right: 0;
	}
}

/* FAQ rows as in the concepts: light grey rows on white, regular-weight questions, plus sign on the right. */
html:not(#vm-kx) .vm-k24-band:has(.vm-k24-faq) {
	background: #fff;
}

html:not(#vm-kx) .vm-k24-faq__item + .vm-k24-faq__item {
	margin-top: 6px;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-faq button {
	min-height: 46px;
	padding: 11px 18px;
	border-radius: 3px;
	background: #eef1f3 !important;
	color: #173044 !important;
	font: 400 16px/1.35 Inter, Arial, sans-serif;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-faq button span:last-child {
	font-size: 22px;
	font-weight: 400;
	line-height: 1;
}

html:not(#vm-kx) .vm-k24-faq__item div {
	background: #eef1f3;
	border-radius: 0 0 3px 3px;
	padding: 0 18px 14px;
}

/* A two-part CTA (heading + text | buttons) keeps the heading on one line, text below, buttons right. */
html:not(#vm-kx) .vm-k24-cta__row:has(> :last-child:nth-child(2)) {
	grid-template-columns: minmax(0, 1fr) auto;
}

/* Quality strip (Why, Metal-to-plastic): icon | title + text | three certification labels, in one row. */
html:not(#vm-kx) .vm-k24-qstrip {
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 20px;
	border-radius: 6px;
	padding: 18px 24px;
}

html:not(#vm-kx) .vm-k24-qstrip > div strong {
	margin-bottom: 4px;
	font-size: 18px;
	font-weight: 800;
	letter-spacing: 0.02em;
	line-height: 1.2;
	text-transform: uppercase;
}

html:not(#vm-kx) .vm-k24-qstrip ul {
	min-width: 440px;
}

html:not(#vm-kx) .vm-k24-qstrip li {
	padding: 6px 18px;
	font-size: 17px;
}

@media (min-width: 768px) and (max-width: 1199px) {
	html:not(#vm-kx) .vm-k24-qstrip {
		grid-template-columns: auto minmax(0, 1fr);
	}

	html:not(#vm-kx) .vm-k24-qstrip ul {
		grid-column: 1 / -1;
		min-width: 0;
	}
}

@media (max-width: 767px) {
	html:not(#vm-kx) .vm-k24-qstrip ul {
		min-width: 0;
	}

	html:not(#vm-kx) .vm-k24-qstrip li:first-child {
		border-left: 0;
	}
}

/* Capability cards sit on a paper band but are dark: keep their text light (was dark teal on near-black). */
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-card h3 {
	color: #fff;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-card p {
	color: #d6dcdb;
}

/* Fact strips are left-aligned in every concept (Home, Nearshoring, Services, Injection, Quality, Sustainability, Certificates). */
html:not(#vm-kx) .vm-k24-facts li,
html:not(#vm-kx) .vm-k24-facts:not(.vm-k24-facts--left) li {
	align-items: flex-start;
	text-align: left;
}

/* Icon lists (Home "Built for industrial OEMs"): icons at the concept's size. */
html:not(#vm-kx) .vm-k24-points .vm-k24-ico {
	width: 56px;
	height: 56px;
	flex: 0 0 56px;
}

html:not(#vm-kx) .vm-k24-points .vm-k24-ico svg {
	width: 44px;
	height: 44px;
}

html:not(#vm-kx) .vm-k24-points li:has(> .vm-k24-ico) {
	grid-template-columns: 56px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
}

/* Phones: the one-row quality strip and the two-part CTA stack into a single column. */
@media (max-width: 767px) {
	html:not(#vm-kx) .vm-k24-qstrip,
	html:not(#vm-kx) .vm-k24-cta__row:has(> :last-child:nth-child(2)) {
		grid-template-columns: 1fr;
	}
}

/* Dark components placed inside paper bands keep light text (team cards on Contacts, integrated-route card on Why). */
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-person h3,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-compare__new h3 {
	color: #fff;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-person p,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-person .vm-k24-langs,
html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-compare__new p {
	color: #d6dcdb;
}

/* Icon routes: the pictogram fills about 60 % of its circle, as in the concepts (was ~30 %). */
html:not(#vm-kx) .vm-k24-route--icons:not(.vm-k24-route--tiny) .vm-k24-route__node svg {
	width: 40px;
	height: 40px;
}

/* Contacts, Taavi 2026-09-28: two sales contacts by market, text cards without portraits. */
html:not(#vm-kx) .vm-k24-team--markets {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 880px;
}

html:not(#vm-kx) .vm-k24-person--text {
	grid-template-columns: 1fr;
	min-height: 0;
}

html:not(#vm-kx) .vm-k24-person--text div {
	padding: 24px 26px 26px;
}

html:not(#vm-kx) body.vm-cvi .vm-k24-band--paper .vm-k24-person p.vm-k24-person__market {
	color: #3ecdbf;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 6px;
}

@media (max-width: 767px) {
	html:not(#vm-kx) .vm-k24-team--markets {
		grid-template-columns: 1fr;
	}
}

/* 2026-09-28: the Contacts post body contains block-editor markup, so Astra adds
   data-ast-blocks-layout and caps every direct child at the 1200px content width.
   Kevin's page layouts are full-bleed (as on the other pages), so lift the cap. */
html:not(#vm-kx) .entry-content[data-ast-blocks-layout] > .vm-k24 {
	max-width: none;
	width: 100%;
	margin-left: 0;
	margin-right: 0;
}

/* 2026-09-28 responsive QA at Kevin's widths (1920/1440/1024/768/430/390/375/360/320). */
@media (max-width: 767px) {
	/* One-column stacks must not grow to the min-content width of their children
	   (About: the Quality & compliance band ran 70 px past a 360 px screen). */
	html:not(#vm-kx) .vm-k24-certs .vm-k24-wrap,
	html:not(#vm-kx) .vm-k24-certs ul {
		grid-template-columns: minmax(0, 1fr);
	}

	/* About 40 px as briefed, but never wider than the longest word on small phones
	   ("MANUFACTURIN / G" at 360 px). */
	html:not(#vm-kx) .vm-k24 h1 {
		font-size: min(40px, 9.8vw);
	}

	html:not(#vm-kx) .vm-k24 :is(h1, h2) {
		text-wrap: balance;
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	/* Numbered routes (About, Contacts …): 3 + 2 rows on tablets instead of five squeezed
	   steps whose labels ran over the arrows and past the screen edge (Kevin: "wrap into
	   multiple rows"). */
	html:not(#vm-kx) .vm-k24-route--nums {
		flex-wrap: wrap;
		row-gap: 22px;
	}

	html:not(#vm-kx) .vm-k24-route--nums li {
		flex: 0 0 33.333%;
		padding-right: 16px;
	}

	html:not(#vm-kx) .vm-k24-route--nums .vm-k24-route__join {
		display: none;
	}

}

/* Fact strips: balanced lines instead of a lone last word ("FROM ABOUT 1 / G"). */
html:not(#vm-kx) .vm-k24-facts strong {
	text-wrap: balance;
}

@media (min-width: 768px) and (max-width: 1199px) {
	/* Why integrated: the two route cards stack on tablets (the second card was cut off at
	   768 px, and the Finnish labels ran past 1024 px). */
	html:not(#vm-kx) .vm-k24-compare {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 767px) {
	/* Fact strips stay 2 × 2 but never grow past the screen (About at 320 px). */
	html:not(#vm-kx) .vm-k24-facts--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 430px) {
	html:not(#vm-kx) .vm-k24-facts--4 li {
		padding-inline: 16px;
	}
}

/* Phones 320–430 px: nothing may be cut off. A word is split only when it alone is wider
   than its box (long compounds in narrow two-column strips and cards), which the
   overflow:hidden sections otherwise clipped. */
@media (max-width: 430px) {
	html:not(#vm-kx) :is(.vm-k24, .vm-hub-content, .entry-header) :is(h1, h2, h3, h4, p, li, dt, dd, td, th, strong, b, span, a, figcaption, label) {
		overflow-wrap: anywhere;
	}
}

@media (max-width: 375px) {
	html:not(#vm-kx) .vm-k24 :is(.vm-k24-facts, [class*="-strip"]) strong {
		font-size: 17px;
	}
}
