:root {
	--mw-color-midnight: #071b2b;
	--mw-color-deep-navy: #0c2639;
	--mw-color-copper: #f2a47b;
	--mw-color-cloud: #f4f7f8;
	--mw-color-mist: #b8c6d1;
	--mw-color-section-light: #f7f9fb;
	--mw-color-ink: #102231;
	--mw-color-copy: #5c6b78;
	--mw-content-width: 1400px;
	--mw-font-sans: Aptos, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
	--mw-font-heading: "Jost", var(--mw-font-sans);
	--mw-font-body: "Inter", var(--mw-font-sans);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	overflow-x: hidden;
	background: var(--mw-color-midnight);
	color: var(--mw-color-cloud);
	font-family: var(--mw-font-sans);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

.wp-site-blocks {
	padding: 0;
}

.mw-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.mw-carousel {
	position: relative;
	isolation: isolate;
	width: 100%;
	max-width: 100vw;
	overflow: hidden;
	background: #06192a;
	touch-action: pan-y pinch-zoom;
}

.mw-carousel:focus {
	outline: none;
}

.mw-carousel:focus-visible {
	outline: 3px solid var(--mw-color-copper);
	outline-offset: -3px;
}

.mw-carousel__track {
	position: relative;
	width: 100%;
}

.mw-carousel__slide {
	position: relative;
	display: none;
	width: 100%;
	min-height: clamp(620px, 40.625vw, 900px);
	margin: 0;
	overflow: hidden;
}

.mw-carousel__slide.is-active {
	display: block;
	animation: mw-carousel-fade 420ms ease both;
}

.mw-carousel__media {
	position: absolute;
	inset: 0;
	display: block;
}

.mw-carousel__media::after {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(3, 20, 34, 0.72) 0%, rgba(3, 20, 34, 0.4) 30%, rgba(3, 20, 34, 0) 58%);
	content: "";
	pointer-events: none;
}

.mw-carousel__image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: center;
	user-select: none;
	-webkit-user-drag: none;
}

.mw-carousel__content {
	position: absolute;
	top: 52%;
	left: max(7vw, calc((100vw - var(--mw-content-width)) / 2));
	z-index: 2;
	width: min(46vw, 680px);
	max-width: 680px;
	margin: 0;
	color: #ffffff;
	transform: translateY(-45%);
}

.mw-carousel__eyebrow {
	margin: 0 0 14px;
	color: #f2a47b;
	font-family: var(--mw-font-heading);
	font-size: clamp(0.75rem, 0.85vw, 0.9375rem);
	font-weight: 600;
	letter-spacing: 0.14em;
	line-height: 1.3;
	text-transform: uppercase;
}

.mw-carousel__content h2 {
	max-width: 640px;
	margin: 0;
	color: #ffffff;
	font-family: var(--mw-font-heading);
	font-size: clamp(2.45rem, 4vw, 4.4rem);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.04;
	text-wrap: balance;
}

.mw-carousel__title-line {
	display: block;
}

.mw-carousel__title-service {
	font-size: 0.92em;
	white-space: nowrap;
}

.mw-carousel__description {
	max-width: 620px;
	margin: 22px 0 0;
	color: #e7eef4;
	font-family: var(--mw-font-body);
	font-size: clamp(1rem, 1.25vw, 1.25rem);
	line-height: 1.58;
}

.mw-carousel__benefits {
	display: flex;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
	flex-wrap: wrap;
	gap: 10px 22px;
}

.mw-carousel__benefits li {
	position: relative;
	padding-left: 18px;
	color: #ffffff;
	font-family: var(--mw-font-body);
	font-size: clamp(0.78rem, 0.95vw, 0.9375rem);
	font-weight: 500;
	line-height: 1.4;
}

.mw-carousel__benefits li::before {
	position: absolute;
	top: 0.45em;
	left: 0;
	width: 8px;
	height: 8px;
	border: 1px solid #f2a47b;
	border-radius: 50%;
	background: rgba(242, 164, 123, 0.18);
	content: "";
}

.mw-carousel__actions {
	display: flex;
	margin-top: 30px;
	align-items: center;
	flex-wrap: wrap;
	gap: 12px;
}

.mw-carousel__primary,
.mw-carousel__secondary {
	display: inline-flex;
	min-height: 48px;
	padding: 13px 24px;
	border: 1px solid transparent;
	border-radius: 12px;
	font-family: var(--mw-font-heading);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mw-carousel__primary {
	border-color: #f2a47b;
	background: #f2a47b;
	color: #071b2b;
}

.mw-carousel__secondary {
	border-color: rgba(255, 255, 255, 0.62);
	background: rgba(7, 27, 43, 0.34);
	color: #ffffff;
	backdrop-filter: blur(7px);
	-webkit-backdrop-filter: blur(7px);
}

.mw-carousel__primary:hover,
.mw-carousel__primary:focus-visible,
.mw-carousel__secondary:hover,
.mw-carousel__secondary:focus-visible {
	transform: translateY(-2px);
}

.mw-carousel__primary:hover,
.mw-carousel__primary:focus-visible {
	border-color: #ffc2a2;
	background: #ffc2a2;
	color: #071b2b;
}

.mw-carousel__secondary:hover,
.mw-carousel__secondary:focus-visible {
	border-color: #ffffff;
	background: rgba(7, 27, 43, 0.68);
	color: #ffffff;
}

.mw-carousel__primary:focus-visible,
.mw-carousel__secondary:focus-visible {
	outline: 3px solid #ffffff;
	outline-offset: 3px;
}

.mw-carousel__button {
	position: absolute;
	top: 50%;
	z-index: 3;
	display: grid;
	place-items: center;
	width: 50px;
	height: 50px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.28);
	border-radius: 50%;
	background: rgba(7, 27, 43, 0.58);
	color: var(--mw-color-cloud);
	cursor: pointer;
	transform: translateY(-50%);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	transition: background-color 180ms ease, border-color 180ms ease, transform 180ms ease;
}

.mw-carousel__button:hover {
	border-color: rgba(255, 255, 255, 0.72);
	background: rgba(7, 27, 43, 0.82);
	transform: translateY(-50%) scale(1.04);
}

.mw-carousel__button:active {
	transform: translateY(-50%) scale(0.96);
}

.mw-carousel__button:focus-visible,
.mw-carousel__dot:focus-visible {
	outline: 3px solid var(--mw-color-cloud);
	outline-offset: 3px;
}

.mw-carousel__button svg {
	width: 25px;
	height: 25px;
}

.mw-carousel__button--previous {
	left: clamp(12px, 2vw, 32px);
}

.mw-carousel__button--next {
	right: clamp(12px, 2vw, 32px);
}

.mw-carousel__pagination {
	position: absolute;
	right: 0;
	bottom: clamp(12px, 1.8vw, 24px);
	left: 0;
	z-index: 3;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	pointer-events: none;
}

.mw-carousel__dot {
	width: 10px;
	height: 10px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.78);
	border-radius: 50%;
	background: rgba(7, 27, 43, 0.58);
	cursor: pointer;
	pointer-events: auto;
	transition: width 180ms ease, border-radius 180ms ease, background-color 180ms ease;
}

.mw-carousel__dot.is-active {
	width: 28px;
	border-color: var(--mw-color-copper);
	border-radius: 999px;
	background: var(--mw-color-copper);
}

@keyframes mw-carousel-fade {
	from {
		opacity: 0.35;
	}

	to {
		opacity: 1;
	}
}

@media (min-width: 768px) and (max-width: 1023px) {
	.mw-carousel__slide {
		min-height: 620px;
	}

	.mw-carousel__content {
		left: 48px;
		width: min(53vw, 520px);
	}

	.mw-carousel__content h2 {
		font-size: clamp(2.35rem, 5vw, 3.25rem);
	}

	.mw-carousel__description {
		font-size: 1rem;
	}

	.mw-carousel__button {
		width: 46px;
		height: 46px;
	}

	.mw-carousel__button svg {
		width: 23px;
		height: 23px;
	}

	.mw-carousel__pagination {
		bottom: 12px;
	}
}

@media (max-width: 767px) {
	.mw-carousel {
		padding-bottom: 38px;
	}

	.mw-carousel__slide {
		min-height: clamp(680px, 170vw, 760px);
	}

	.mw-carousel__media::after {
		background: linear-gradient(180deg, rgba(3, 20, 34, 0.04) 18%, rgba(3, 20, 34, 0.18) 42%, rgba(3, 20, 34, 0.78) 68%, rgba(3, 20, 34, 0.96) 100%);
	}

	.mw-carousel__content {
		top: auto;
		right: 24px;
		bottom: clamp(32px, 7vw, 48px);
		left: 24px;
		width: auto;
		max-width: none;
		transform: none;
	}

	.mw-carousel__eyebrow {
		margin-bottom: 9px;
		font-size: 0.6875rem;
	}

	.mw-carousel__content h2 {
		max-width: 340px;
		font-size: clamp(1.75rem, 7.7vw, 2rem);
		line-height: 1.06;
	}

	.mw-carousel__description {
		max-width: 350px;
		margin-top: 12px;
		font-size: 0.8125rem;
		line-height: 1.5;
	}

	.mw-carousel__benefits {
		max-width: 360px;
		margin-top: 14px;
		gap: 6px 14px;
	}

	.mw-carousel__benefits li {
		padding-left: 14px;
		font-size: 0.6875rem;
	}

	.mw-carousel__benefits li::before {
		width: 6px;
		height: 6px;
	}

	.mw-carousel__actions {
		margin-top: 16px;
		flex-wrap: nowrap;
		gap: 8px;
	}

	.mw-carousel__primary,
	.mw-carousel__secondary {
		min-height: 44px;
		padding: 11px 14px;
		font-size: 0.75rem;
		white-space: nowrap;
	}

	.mw-carousel__button {
		top: 44%;
		min-width: 44px;
		width: 44px;
		height: 44px;
		border-color: rgba(255, 255, 255, 0.34);
		background: rgba(7, 27, 43, 0.72);
	}

	.mw-carousel__button--previous {
		left: 6px;
	}

	.mw-carousel__button--next {
		right: 6px;
	}

	.mw-carousel__button svg {
		width: 21px;
		height: 21px;
	}

	.mw-carousel__pagination {
		position: relative;
		bottom: auto;
		min-height: 38px;
		margin-bottom: -38px;
		background: #06192a;
	}

	.mw-carousel__dot {
		width: 9px;
		height: 9px;
	}

	.mw-carousel__dot.is-active {
		width: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.mw-carousel__slide.is-active {
		animation: none;
	}
}

/* Homepage shared section system. */
.mw-section {
	position: relative;
	padding: 100px 0;
	overflow: hidden;
}

.mw-section--white,
.mw-section--light {
	color: var(--mw-color-ink);
}

.mw-section--white {
	background: #ffffff;
}

.mw-section--light {
	background: var(--mw-color-section-light);
}

.mw-section--navy {
	background: #00172a;
	color: #ffffff;
}

.mw-section__inner {
	width: min(calc(100% - 48px), var(--mw-content-width));
	margin-inline: auto;
}

.mw-section-kicker {
	margin: 0 0 12px;
	color: #e7a17e !important;
	font-family: var(--mw-font-heading);
	font-size: 0.9375rem !important;
	font-weight: 600;
	letter-spacing: 0.12em;
	line-height: 1.3 !important;
	text-transform: uppercase;
}

.mw-section-header {
	max-width: 800px;
	margin: 0 auto 44px;
	text-align: center;
}

.mw-section-header h2,
.mw-factory-direct__content h2,
.mw-capabilities__content h2,
.mw-factory-gallery__intro h2,
.mw-inquiry__content h2 {
	margin: 0;
	color: var(--mw-color-ink);
	font-family: var(--mw-font-heading);
	font-size: clamp(2rem, 3.4vw, 2.5rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.15;
	text-wrap: balance;
}

.mw-section-header > p:last-child,
.mw-factory-direct__content > p,
.mw-capabilities__content > p,
.mw-factory-gallery__intro > p,
.mw-inquiry__content > p {
	color: var(--mw-color-copy);
	font-family: var(--mw-font-body);
	font-size: 0.9375rem;
	line-height: 1.72;
}

.mw-section-header > p:last-child {
	max-width: 760px;
	margin: 16px auto 0;
}

.mw-section-header--dark h2,
.mw-inquiry__content h2 {
	color: #ffffff;
}

.mw-section-header--dark > p:last-child,
.mw-inquiry__content > p {
	color: #dce5ec;
}

.mw-button {
	display: inline-flex;
	min-height: 48px;
	margin-top: 12px;
	padding: 13px 28px;
	border: 1px solid #165992;
	border-radius: 15px;
	background: #165992;
	color: #ffffff;
	font-family: var(--mw-font-heading);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.3;
	text-decoration: none;
	align-items: center;
	justify-content: center;
	transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mw-button:hover,
.mw-button:focus-visible {
	border-color: #0072d3;
	background: #0072d3;
	color: #ffffff;
	transform: translateY(-2px);
}

.mw-button--copper {
	border-color: #f2a47b;
	background: #f2a47b;
	color: #071b2b;
}

.mw-button--copper:hover,
.mw-button--copper:focus-visible {
	border-color: #ffc2a2;
	background: #ffc2a2;
	color: #071b2b;
}

.mw-button:focus-visible,
.mw-product-line-card a:focus-visible,
.mw-product-model-card a:focus-visible,
.mw-faq__question:focus-visible,
.mw-inquiry-form input:focus-visible,
.mw-inquiry-form textarea:focus-visible {
	outline: 3px solid #e7a17e;
	outline-offset: 3px;
}

/* Factory direct. */
.mw-factory-direct__grid {
	display: grid;
	grid-template-columns: minmax(0, 45fr) minmax(0, 55fr);
	gap: clamp(48px, 7vw, 100px);
	align-items: center;
}

.mw-factory-direct__content > p:not(.mw-section-kicker),
.mw-capabilities__content > p,
.mw-factory-gallery__intro > p,
.mw-inquiry__content > p {
	margin: 16px 0 0;
}

.mw-factory-direct__media {
	width: 100%;
	height: 500px;
	min-height: 500px;
	max-height: 500px;
	margin: 0;
	overflow: hidden;
	border-radius: 15px;
	box-shadow: 0 24px 54px rgba(16, 34, 49, 0.14);
}

.mw-factory-direct__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	object-fit: cover;
	object-position: center;
}

/* Company capability split. */
.mw-capabilities__grid {
	display: grid;
	grid-template-columns: minmax(0, 55fr) minmax(0, 45fr);
	gap: clamp(48px, 7vw, 100px);
	align-items: center;
}

.mw-capabilities__visual {
	display: grid;
	gap: 14px;
}

.mw-capability-card {
	display: grid;
	width: 78%;
	min-height: 116px;
	padding: 18px 22px;
	border: 1px solid rgba(22, 89, 146, 0.42);
	border-radius: 15px;
	background: rgba(0, 42, 82, 0.86);
	box-shadow: 0 12px 26px rgba(2, 25, 45, 0.12);
	grid-template-columns: 72px minmax(0, 1fr);
	gap: 18px;
	align-items: center;
	transition: transform 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.mw-capability-card--offset {
	margin-left: 18%;
}

.mw-capability-card:hover,
.mw-capability-card:focus-within {
	background: #003b6b;
	box-shadow: 0 18px 36px rgba(2, 25, 45, 0.2);
	transform: translateX(18px);
}

.mw-capability-card--offset:hover,
.mw-capability-card--offset:focus-within {
	transform: translateX(-18px);
}

.mw-capability-card img {
	display: block;
	width: 72px;
	height: 72px;
}

.mw-capability-card h3 {
	margin: 0 0 6px;
	color: #ffffff;
	font-family: var(--mw-font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.25;
}

.mw-capability-card p {
	margin: 0;
	color: #dbe6ee;
	font-family: var(--mw-font-body);
	font-size: 0.8125rem;
	line-height: 1.55;
}

/* Three product families. */
.mw-product-lines__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mw-product-line-card {
	overflow: hidden;
	border: 1px solid #b8b8b8;
	border-radius: 15px;
	background: #012f58;
	box-shadow: 0 16px 36px rgba(0, 7, 16, 0.16);
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.mw-product-line-card:hover,
.mw-product-line-card:focus-within {
	border-color: #e7a17e;
	box-shadow: 0 24px 44px rgba(0, 7, 16, 0.28);
	transform: translateY(-10px);
}

.mw-product-line-card > img {
	display: block;
	width: 100%;
	height: 400px;
	max-height: 400px;
	object-fit: cover;
	object-position: center;
}

.mw-product-line-card__body {
	padding: 26px 26px 28px;
}

.mw-product-line-card h3 {
	margin: 0 0 12px;
	color: #ffffff;
	font-family: var(--mw-font-heading);
	font-size: 1.35rem;
	font-weight: 600;
	line-height: 1.25;
}

.mw-product-line-card p {
	margin: 0 0 12px;
	color: #dce5ec;
	font-family: var(--mw-font-body);
	font-size: 0.875rem;
	line-height: 1.62;
}

.mw-product-line-card a,
.mw-product-model-card__links a {
	color: #ffad86;
	font-family: var(--mw-font-heading);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
}

.mw-product-line-card a:hover,
.mw-product-line-card a:focus-visible,
.mw-product-model-card__links a:hover,
.mw-product-model-card__links a:focus-visible {
	color: #ffd0ba;
}

/* Requirement grid. */
.mw-requirements__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.mw-requirement-card {
	min-height: 280px;
	padding: 28px 24px;
	border: 1px solid #d6e0e7;
	border-radius: 15px;
	background: var(--mw-color-section-light);
	text-align: center;
	transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.mw-requirement-card:hover,
.mw-requirement-card:focus-within {
	border-color: rgba(231, 161, 126, 0.8);
	background: #ffffff;
	box-shadow: 0 18px 36px rgba(16, 34, 49, 0.1);
	transform: translateY(-10px);
}

.mw-requirement-card img {
	display: block;
	width: 82px;
	height: 82px;
	margin: 0 auto 16px;
}

.mw-requirement-card h3 {
	margin: 0 0 10px;
	color: var(--mw-color-ink);
	font-family: var(--mw-font-heading);
	font-size: 1.2rem;
	font-weight: 600;
	line-height: 1.25;
}

.mw-requirement-card p {
	margin: 0;
	color: var(--mw-color-copy);
	font-family: var(--mw-font-body);
	font-size: 0.85rem;
	line-height: 1.62;
}

/* B2B sourcing steps. */
.mw-sourcing__steps {
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mw-sourcing-step {
	position: relative;
	min-height: 310px;
	padding: 30px;
	border: 1px solid #cedbe4;
	border-radius: 15px;
	background: #ffffff;
	text-align: center;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.mw-sourcing-step:not(:last-child)::after {
	position: absolute;
	top: 68px;
	right: -25px;
	z-index: 2;
	width: 25px;
	height: 1px;
	background: #b8c6d1;
	content: "";
}

.mw-sourcing-step:hover,
.mw-sourcing-step:focus-within {
	border-color: #e7a17e;
	box-shadow: 0 18px 38px rgba(16, 34, 49, 0.1);
	transform: translateY(-10px);
}

.mw-sourcing-step__number {
	position: absolute;
	top: 18px;
	left: 18px;
	display: grid;
	width: 42px;
	height: 42px;
	border-radius: 999px;
	background: #fac5a8;
	color: #6b321b;
	font-family: var(--mw-font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	place-items: center;
}

.mw-sourcing-step img {
	display: block;
	width: 96px;
	height: 96px;
	margin: 18px auto 20px;
}

.mw-sourcing-step h3 {
	margin: 0 0 10px;
	color: var(--mw-color-ink);
	font-family: var(--mw-font-heading);
	font-size: 1.3rem;
	font-weight: 600;
}

.mw-sourcing-step p {
	margin: 0;
	color: var(--mw-color-copy);
	font-family: var(--mw-font-body);
	font-size: 0.9rem;
	line-height: 1.65;
}

/* WooCommerce selected model cards. */
.mw-product-models {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}

.mw-product-model-card {
	overflow: hidden;
	border: 1px solid #49677d;
	border-radius: 15px;
	background: #183246;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.mw-product-model-card:hover,
.mw-product-model-card:focus-within {
	border-color: #e7a17e;
	box-shadow: 0 22px 42px rgba(0, 8, 18, 0.28);
	transform: translateY(-10px);
}

.mw-product-model-card__image {
	display: block;
	overflow: hidden;
	background: #ffffff;
}

.mw-product-model-card__image img {
	display: block;
	width: 100%;
	height: 350px;
	max-height: 350px;
	object-fit: cover;
	object-position: center;
	transition: transform 300ms ease;
}

.mw-product-model-card:hover .mw-product-model-card__image img {
	transform: scale(1.035);
}

.mw-product-model-card__body {
	padding: 24px;
}

.mw-product-model-card h3 {
	margin: 0 0 14px;
	font-family: var(--mw-font-heading);
	font-size: 1.35rem;
	font-weight: 600;
}

.mw-product-model-card h3 a {
	color: #ffffff;
	text-decoration: none;
}

.mw-product-model-card dl,
.mw-product-model-card dd {
	margin: 0;
}

.mw-product-model-card dl > div {
	padding: 13px 0;
	border-top: 1px solid #3e586b;
}

.mw-product-model-card dt {
	margin-bottom: 5px;
	color: #a9c6dc;
	font-family: var(--mw-font-heading);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.mw-product-model-card dd {
	color: #edf4f7;
	font-family: var(--mw-font-body);
	font-size: 0.875rem;
	line-height: 1.55;
}

.mw-product-model-card__links {
	display: flex;
	margin-top: 14px;
	gap: 12px 18px;
	flex-wrap: wrap;
}

.mw-selected-models__footer {
	margin: 34px 0 0;
	text-align: center;
}

.mw-selected-models__empty {
	padding: 28px;
	border: 1px dashed #698196;
	border-radius: 15px;
	color: #dce5ec;
	text-align: center;
}

/* Factory workflow gallery. */
.mw-factory-gallery__layout {
	display: grid;
	grid-template-columns: minmax(0, 38fr) minmax(0, 62fr);
	gap: clamp(48px, 7vw, 100px);
	align-items: center;
}

.mw-factory-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
}

.mw-factory-card {
	overflow: hidden;
	border: 1px solid #cbd7df;
	border-radius: 15px;
	background: #f7f9fb;
	transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.mw-factory-card:hover,
.mw-factory-card:focus-within {
	border-color: #e7a17e;
	box-shadow: 0 18px 36px rgba(16, 34, 49, 0.12);
	transform: translateY(-8px);
}

.mw-factory-card__media {
	position: relative;
	overflow: hidden;
	background: #e8eef2;
}

.mw-factory-card__media > span {
	position: absolute;
	top: 12px;
	left: 12px;
	z-index: 2;
	display: grid;
	width: 38px;
	height: 30px;
	border-radius: 999px;
	background: #fac5a8;
	color: #6b321b;
	font-family: var(--mw-font-heading);
	font-size: 0.72rem;
	font-weight: 700;
	place-items: center;
}

.mw-factory-card__media img {
	display: block;
	width: 100%;
	height: 450px;
	max-height: 450px;
	object-fit: cover;
	object-position: center;
}

.mw-factory-card__body {
	padding: 20px;
}

.mw-factory-card h3 {
	margin: 0 0 8px;
	color: #a44525;
	font-family: var(--mw-font-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.28;
}

.mw-factory-card p {
	margin: 0;
	color: var(--mw-color-copy);
	font-family: var(--mw-font-body);
	font-size: 0.82rem;
	line-height: 1.55;
}

/* FAQ. */
.mw-faq__inner {
	max-width: 1180px;
}

.mw-faq__list {
	border-top: 1px solid #cbd7df;
}

.mw-faq__item {
	border-bottom: 1px solid #cbd7df;
}

.mw-faq__question {
	position: relative;
	display: block;
	padding: 22px 56px 22px 0;
	color: var(--mw-color-ink);
	font-family: var(--mw-font-heading);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.mw-faq__question::-webkit-details-marker {
	display: none;
}

.mw-faq__question > span,
.mw-faq__question > span::after {
	position: absolute;
	top: 50%;
	right: 6px;
	width: 20px;
	height: 2px;
	background: #d9925d;
	content: "";
	transition: transform 180ms ease;
}

.mw-faq__question > span::after {
	top: 0;
	right: 0;
	transform: rotate(90deg);
}

.mw-faq__item[open] .mw-faq__question > span::after {
	transform: rotate(0deg);
}

.mw-faq__answer {
	max-width: 960px;
	padding: 0 56px 22px 0;
}

.mw-faq__answer p {
	margin: 0;
	color: var(--mw-color-copy);
	font-family: var(--mw-font-body);
	font-size: 0.9375rem;
	line-height: 1.72;
}

/* Homepage inquiry form. */
.mw-inquiry__grid {
	display: grid;
	grid-template-columns: minmax(0, 42fr) minmax(0, 58fr);
	gap: clamp(48px, 7vw, 100px);
	align-items: center;
}

.mw-inquiry__icon {
	display: block;
	width: 92px;
	height: 92px;
	margin-bottom: 18px;
}

.mw-inquiry__panel {
	padding: 32px;
	border: 1px solid #547187;
	border-radius: 15px;
	background: #102b3f;
	box-shadow: 0 24px 54px rgba(0, 7, 16, 0.25);
}

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

.mw-inquiry-form label {
	display: block;
	color: #f4f7f8;
	font-family: var(--mw-font-heading);
	font-size: 0.875rem;
	font-weight: 600;
}

.mw-inquiry-form__full {
	grid-column: 1 / -1;
}

.mw-inquiry-form input,
.mw-inquiry-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #6f8798;
	border-radius: 8px;
	background: #ffffff;
	color: var(--mw-color-ink);
	font-family: var(--mw-font-body);
	font-size: 1rem;
	font-weight: 400;
}

.mw-inquiry-form textarea {
	min-height: 132px;
	resize: vertical;
}

.mw-inquiry-form input,
.mw-inquiry-form textarea {
	margin-top: 7px;
}

.mw-inquiry-form input[aria-invalid="true"],
.mw-inquiry-form textarea[aria-invalid="true"] {
	border-color: #ff7d73;
	box-shadow: 0 0 0 2px rgba(255, 125, 115, 0.2);
}

.mw-inquiry-form__submit {
	width: 100%;
	margin-top: 20px;
	cursor: pointer;
}

.mw-inquiry-form__submit[disabled] {
	cursor: wait;
	opacity: 0.65;
}

.mw-inquiry-form__status {
	min-height: 1.5em;
	margin: 12px 0 0;
	color: #dce5ec;
	font-family: var(--mw-font-body);
	font-size: 0.875rem;
	line-height: 1.5;
}

.mw-inquiry-form__status.is-error {
	color: #ffb1aa;
}

.mw-inquiry-form__status.is-success {
	color: #a9e9c2;
}

.mw-honeypot {
	position: absolute !important;
	left: -10000px !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
}

/* Preserve card hover motion after scroll reveal transforms resolve. */
.mw-theme-ready .mw-product-line-card.is-visible:hover,
.mw-theme-ready .mw-requirement-card.is-visible:hover,
.mw-theme-ready .mw-sourcing-step.is-visible:hover,
.mw-theme-ready .mw-product-model-card.is-visible:hover,
.mw-theme-ready .mw-factory-card.is-visible:hover {
	transform: translateY(-10px);
}

.mw-theme-ready .mw-capability-card.is-visible:hover {
	transform: translateX(18px);
}

.mw-theme-ready .mw-capability-card--offset.is-visible:hover {
	transform: translateX(-18px);
}

@media (max-width: 1023px) {
	.mw-section {
		padding: 76px 0;
	}

	.mw-section__inner {
		width: min(calc(100% - 40px), var(--mw-content-width));
	}

	.mw-factory-direct__grid,
	.mw-capabilities__grid,
	.mw-factory-gallery__layout,
	.mw-inquiry__grid {
		grid-template-columns: 1fr;
		gap: 42px;
	}

	.mw-factory-direct__media {
		height: 500px;
		min-height: 500px;
	}

	.mw-factory-direct__media img {
		min-height: 0;
	}

	.mw-capabilities__content {
		grid-row: 1;
	}

	.mw-capabilities__visual {
		grid-row: 2;
	}

	.mw-product-lines__grid,
	.mw-product-models {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mw-product-line-card:last-child,
	.mw-product-model-card:last-child {
		grid-column: 1 / -1;
		width: calc(50% - 12px);
		justify-self: center;
	}

	.mw-requirements__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mw-factory-gallery__grid {
		max-width: 820px;
		margin-inline: auto;
	}
}

@media (max-width: 767px) {
	.mw-section {
		padding: 56px 0;
	}

	.mw-section__inner {
		width: min(calc(100% - 32px), var(--mw-content-width));
	}

	.mw-section-header {
		margin-bottom: 30px;
	}

	.mw-section-header h2,
	.mw-factory-direct__content h2,
	.mw-capabilities__content h2,
	.mw-factory-gallery__intro h2,
	.mw-inquiry__content h2 {
		font-size: clamp(1.875rem, 8vw, 2.2rem);
		line-height: 1.12;
	}

	.mw-factory-direct__media,
	.mw-factory-direct__media img {
		height: 500px;
		min-height: 500px;
	}

	.mw-capability-card,
	.mw-capability-card--offset {
		width: 100%;
		margin-left: 0;
		padding: 18px;
		grid-template-columns: 60px minmax(0, 1fr);
		gap: 14px;
	}

	.mw-capability-card img {
		width: 60px;
		height: 60px;
	}

	.mw-capability-card:hover,
	.mw-capability-card--offset:hover,
	.mw-theme-ready .mw-capability-card.is-visible:hover,
	.mw-theme-ready .mw-capability-card--offset.is-visible:hover {
		transform: translateY(-4px);
	}

	.mw-product-lines__grid,
	.mw-requirements__grid,
	.mw-product-models,
	.mw-sourcing__steps,
	.mw-factory-gallery__grid,
	.mw-inquiry__grid {
		grid-template-columns: 1fr;
	}

	.mw-product-line-card:last-child,
	.mw-product-model-card:last-child {
		grid-column: auto;
		width: 100%;
	}

	.mw-requirement-card {
		min-height: 0;
	}

	.mw-sourcing-step {
		min-height: 0;
	}

	.mw-sourcing-step:not(:last-child)::after {
		display: none;
	}

	.mw-product-line-card:hover,
	.mw-requirement-card:hover,
	.mw-sourcing-step:hover,
	.mw-product-model-card:hover,
	.mw-factory-card:hover,
	.mw-theme-ready .mw-product-line-card.is-visible:hover,
	.mw-theme-ready .mw-requirement-card.is-visible:hover,
	.mw-theme-ready .mw-sourcing-step.is-visible:hover,
	.mw-theme-ready .mw-product-model-card.is-visible:hover,
	.mw-theme-ready .mw-factory-card.is-visible:hover {
		transform: translateY(-4px);
	}

	.mw-inquiry__panel {
		padding: 22px 18px;
	}

	.mw-inquiry-form__grid {
		grid-template-columns: 1fr;
	}

	.mw-inquiry-form__full {
		grid-column: auto;
	}

	.mw-button {
		min-height: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mw-capability-card:hover,
	.mw-product-line-card:hover,
	.mw-requirement-card:hover,
	.mw-sourcing-step:hover,
	.mw-product-model-card:hover,
	.mw-factory-card:hover,
	.mw-button:hover,
	.mw-theme-ready .mw-capability-card.is-visible:hover,
	.mw-theme-ready .mw-capability-card--offset.is-visible:hover,
	.mw-theme-ready .mw-product-line-card.is-visible:hover,
	.mw-theme-ready .mw-requirement-card.is-visible:hover,
	.mw-theme-ready .mw-sourcing-step.is-visible:hover,
	.mw-theme-ready .mw-product-model-card.is-visible:hover,
	.mw-theme-ready .mw-factory-card.is-visible:hover {
		transform: none;
	}
}

.mw-overview {
	position: relative;
	padding: 50px 0;
	overflow: hidden;
	background: #00172a;
}

.mw-overview__inner {
	width: min(calc(100% - 48px), 1400px);
	margin-inline: auto;
}

.mw-overview__header {
	max-width: 940px;
	margin: 0 auto 32px;
	text-align: center;
}

.mw-overview__header h1 {
	margin: 0;
	color: #ffffff;
	font-family: "Jost", var(--mw-font-sans);
	font-size: clamp(2rem, 3vw, 2.25rem);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.18;
	text-wrap: balance;
}

.mw-overview__header p {
	max-width: 820px;
	margin: 14px auto 0;
	color: #ffffff;
	font-family: "Inter", var(--mw-font-sans);
	font-size: 0.9375rem;
	line-height: 1.65;
}

.mw-overview__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.mw-overview__card {
	display: flex;
	min-height: 248px;
	padding: 28px 26px 26px;
	border: 1px solid #b8b8b8;
	border-radius: 15px;
	background: #012f58;
	color: #ffffff;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: transform 220ms ease, border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease;
}

.mw-overview__card:hover,
.mw-overview__card:focus-within {
	border-color: rgba(242, 164, 123, 0.78);
	background: #07375f;
	box-shadow: 0 18px 36px rgba(0, 8, 18, 0.2);
	transform: translateY(-10px);
}

.mw-overview__icon {
	display: block;
	width: 80px;
	height: 80px;
	margin: 0 auto 16px;
	object-fit: contain;
}

.mw-overview__card h3 {
	margin: 0 0 10px;
	color: #ffffff;
	font-family: "Jost", var(--mw-font-sans);
	font-size: clamp(1.25rem, 1.7vw, 1.5625rem);
	font-weight: 600;
	line-height: 1.2;
}

.mw-overview__card p {
	margin: 0;
	color: #ebebeb;
	font-family: "Inter", var(--mw-font-sans);
	font-size: 0.9375rem;
	line-height: 1.58;
}

.mw-reveal {
	opacity: 1;
	transform: none;
}

.mw-theme-ready .mw-reveal {
	opacity: 0;
	transform: translateY(22px);
	transition: opacity 560ms ease var(--mw-reveal-delay, 0ms), transform 560ms cubic-bezier(0.16, 1, 0.3, 1) var(--mw-reveal-delay, 0ms);
}

.mw-theme-ready .mw-reveal.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.mw-theme-ready .mw-overview__card.is-visible:hover,
.mw-theme-ready .mw-overview__card.is-visible:focus-within {
	transform: translateY(-10px);
}

@media (max-width: 1023px) {
	.mw-overview__inner {
		width: min(calc(100% - 40px), 1400px);
	}

	.mw-overview__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mw-overview__card {
		min-height: 230px;
	}
}

@media (max-width: 767px) {
	.mw-overview {
		padding: 48px 0 56px;
	}

	.mw-overview__inner {
		width: min(calc(100% - 32px), 1400px);
	}

	.mw-overview__header {
		margin-bottom: 28px;
	}

	.mw-overview__header h1 {
		font-size: clamp(1.625rem, 7.1vw, 1.875rem);
		line-height: 1.14;
	}

	.mw-overview__header p {
		font-size: 0.9375rem;
		line-height: 1.62;
	}

	.mw-overview__grid {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.mw-overview__card {
		min-height: 0;
		padding: 26px 22px;
	}

	.mw-overview__card:hover,
	.mw-overview__card:focus-within,
	.mw-theme-ready .mw-overview__card.is-visible:hover,
	.mw-theme-ready .mw-overview__card.is-visible:focus-within {
		transform: translateY(-4px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mw-theme-ready .mw-reveal,
	.mw-theme-ready .mw-reveal.is-visible {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.mw-overview__card:hover,
	.mw-overview__card:focus-within,
	.mw-theme-ready .mw-overview__card.is-visible:hover,
	.mw-theme-ready .mw-overview__card.is-visible:focus-within {
		transform: none;
	}
}

/* About MagiWatch page. */
.mw-about-shell {
	width: min(calc(100% - 48px), 1240px);
	margin-inline: auto;
}

.mw-about-section {
	position: relative;
	padding: clamp(76px, 8.5vw, 126px) 0;
	overflow: hidden;
	background: #ffffff;
	color: #1b2733;
}

.mw-about-section--soft {
	background: #f1f5f8;
}

.mw-about-section h2,
.mw-about-hero h1 {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.06;
	text-wrap: balance;
}

.mw-about-section h2 {
	font-size: clamp(2.25rem, 4vw, 4rem);
}

.mw-about-section h3 {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-size: clamp(1.15rem, 1.55vw, 1.4rem);
	font-weight: 600;
	line-height: 1.25;
	text-wrap: balance;
}

.mw-about-section p,
.mw-about-hero p {
	font-family: var(--mw-font-body);
	font-size: 1rem;
	line-height: 1.75;
	text-wrap: pretty;
}

.mw-about-kicker {
	display: inline-flex;
	margin: 0 0 22px !important;
	color: #a94d2c;
	font-family: var(--mw-font-heading) !important;
	font-size: 0.8rem !important;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3 !important;
	text-transform: uppercase;
	align-items: center;
	gap: 12px;
}

.mw-about-kicker::before {
	width: 34px;
	height: 1px;
	background: currentColor;
	content: "";
}

.mw-about-lead {
	font-size: clamp(1.05rem, 1.35vw, 1.2rem) !important;
}

.mw-about-text-link {
	display: inline-flex;
	min-height: 44px;
	padding: 8px 0;
	border-bottom: 1px solid currentColor;
	color: #8d4024;
	font-family: var(--mw-font-heading);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	align-items: center;
	gap: 8px;
	transition: color 180ms ease, gap 180ms ease;
}

.mw-about-text-link:hover,
.mw-about-text-link:focus-visible {
	color: #c05a34;
	gap: 12px;
}

.mw-about-text-link:focus-visible,
.mw-about-faq summary:focus-visible {
	outline: 3px solid #e7a17e;
	outline-offset: 4px;
}

/* About hero: editorial copy with a static product-sourcing photograph. */
.mw-about-hero {
	position: relative;
	min-height: 650px;
	overflow: hidden;
	border-bottom: 1px solid rgba(27, 39, 51, 0.14);
	background: #f7f9fb;
	color: #1b2733;
}

.mw-about-hero__grid {
	display: grid;
	min-height: 650px;
	grid-template-columns: minmax(0, 1.08fr) minmax(420px, 0.92fr);
	gap: clamp(46px, 6vw, 86px);
	align-items: center;
}

.mw-about-hero__copy {
	padding: 80px 0;
}

.mw-about-hero h1 {
	max-width: 17ch;
	font-size: clamp(2.75rem, 4.25vw, 4.1rem);
}

.mw-about-hero__copy > p:not(.mw-about-kicker) {
	max-width: 60ch;
	margin: 24px 0 0;
	color: #5c6b78;
}

.mw-about-hero__copy .mw-about-text-link {
	margin-top: 28px;
}

.mw-about-hero__media {
	position: relative;
	width: min(100%, 500px);
	margin: 0;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: #00172a;
	justify-self: end;
}

.mw-about-hero__media::after {
	position: absolute;
	inset: 18px;
	border: 1px solid rgba(255, 255, 255, 0.28);
	pointer-events: none;
	content: "";
}

.mw-about-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

/* Who we are. */
.mw-about-who__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.7fr) minmax(0, 1.3fr);
	gap: clamp(64px, 9vw, 130px);
	align-items: start;
}

.mw-about-who__content > p {
	max-width: 70ch;
	margin: 0;
	color: #5c6b78;
}

.mw-about-who__content > p + p {
	margin-top: 22px;
}

.mw-about-scope {
	margin: 44px 0 0;
	border-top: 1px solid rgba(27, 39, 51, 0.22);
}

.mw-about-scope > div {
	display: grid;
	padding: 17px 0;
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
	grid-template-columns: minmax(180px, 1fr) auto;
	gap: 24px;
	align-items: center;
}

.mw-about-scope dt,
.mw-about-scope dd {
	margin: 0;
}

.mw-about-scope dt {
	font-family: var(--mw-font-heading);
	font-size: 1.18rem;
	font-weight: 600;
}

.mw-about-scope dd {
	color: #5c6b78;
	font-family: var(--mw-font-body);
	font-size: 0.85rem;
}

/* Buyer role sequence. */
.mw-about-center-heading {
	max-width: 850px;
	margin: 0 auto 62px;
	text-align: center;
}

.mw-about-center-heading .mw-about-kicker {
	justify-content: center;
}

.mw-about-center-heading > p:last-child {
	max-width: 720px;
	margin: 22px auto 0;
	color: #5c6b78;
}

.mw-about-steps {
	position: relative;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

.mw-about-steps::before {
	position: absolute;
	top: 26px;
	right: 6%;
	left: 6%;
	height: 1px;
	background: #aebbc4;
	content: "";
}

.mw-about-step {
	position: relative;
	padding-top: 76px;
}

.mw-about-step__number {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
	display: grid;
	width: 52px;
	height: 52px;
	border: 1px solid #9dafbb;
	border-radius: 50%;
	background: #f1f5f8;
	color: #00172a;
	font-family: var(--mw-font-heading);
	font-weight: 700;
	place-items: center;
}

.mw-about-step img {
	display: block;
	width: 132px;
	height: 132px;
	margin: 0 0 22px;
	object-fit: contain;
}

.mw-about-step p {
	margin: 14px 0 0;
	color: #5c6b78;
	font-size: 0.94rem;
}

/* Buyer expectations. */
.mw-about-expectations__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(64px, 9vw, 130px);
}

.mw-about-expectations__list {
	border-top: 1px solid #1b2733;
}

.mw-about-expectation {
	display: grid;
	padding: 28px 0 30px;
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
	grid-template-columns: minmax(180px, 0.65fr) minmax(0, 1.35fr);
	gap: 42px;
}

.mw-about-expectation p {
	margin: 0;
	color: #5c6b78;
}

/* Dark GEO manifesto. */
.mw-about-manifesto {
	background: #00172a;
	color: #f7fbff;
}

.mw-about-manifesto::before {
	position: absolute;
	top: -260px;
	right: -190px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(231, 161, 126, 0.22);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(231, 161, 126, 0.035), 0 0 0 160px rgba(231, 161, 126, 0.02);
	content: "";
}

.mw-about-manifesto__heading {
	position: relative;
	max-width: 930px;
	margin: 0 auto;
	text-align: center;
}

.mw-about-manifesto__heading > img {
	display: block;
	width: 190px;
	height: 150px;
	margin: 0 auto 28px;
	object-fit: contain;
}

.mw-about-manifesto .mw-about-kicker {
	color: #f0b596;
}

.mw-about-manifesto h2 {
	font-size: clamp(3.2rem, 7vw, 6rem);
}

.mw-about-manifesto__heading > p:last-child {
	max-width: 790px;
	margin: 30px auto 0;
	color: #d6e0e8;
	font-size: clamp(1.05rem, 1.5vw, 1.24rem);
}

.mw-about-principles {
	position: relative;
	display: grid;
	margin-top: 72px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	border-bottom: 1px solid rgba(255, 255, 255, 0.22);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mw-about-principles article {
	padding: 34px 38px 38px;
}

.mw-about-principles article + article {
	border-left: 1px solid rgba(255, 255, 255, 0.22);
}

.mw-about-principles p {
	margin: 14px 0 0;
	color: #d6e0e8;
}

/* Three-family portfolio. */
.mw-about-portfolio__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
	gap: clamp(52px, 7vw, 94px);
	align-items: center;
}

.mw-about-portfolio__media {
	width: 100%;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 6 / 5;
	background: #f1f5f8;
}

.mw-about-portfolio__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mw-about-portfolio__copy > p:not(.mw-about-kicker) {
	margin: 24px 0 0;
	color: #5c6b78;
}

.mw-about-portfolio__links {
	display: grid;
	margin-top: 26px;
	gap: 8px;
}

.mw-about-portfolio__links .mw-about-text-link {
	width: fit-content;
}

/* Capability exits. */
.mw-about-capability__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 24px;
}

.mw-about-capability__panel {
	overflow: hidden;
	border: 1px solid rgba(27, 39, 51, 0.18);
	background: #ffffff;
}

.mw-about-capability__panel figure {
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: #0e2233;
}

.mw-about-capability__panel figure img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 320ms ease;
}

.mw-about-capability__panel:hover figure img {
	transform: scale(1.025);
}

.mw-about-capability__panel > div {
	padding: 30px;
}

.mw-about-capability__panel p {
	margin: 15px 0 20px;
	color: #5c6b78;
}

/* About FAQ. */
.mw-about-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(58px, 9vw, 120px);
	align-items: start;
}

.mw-about-faq__intro {
	position: sticky;
	top: 36px;
}

.mw-about-faq__intro > p:last-child {
	margin: 22px 0 0;
	color: #5c6b78;
}

.mw-about-faq__list {
	border-top: 1px solid #1b2733;
}

.mw-about-faq details {
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
}

.mw-about-faq summary {
	position: relative;
	min-height: 64px;
	padding: 23px 50px 23px 0;
	color: #1b2733;
	font-family: var(--mw-font-heading);
	font-size: 1.14rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.mw-about-faq summary::-webkit-details-marker {
	display: none;
}

.mw-about-faq summary span,
.mw-about-faq summary span::after {
	position: absolute;
	top: 50%;
	right: 6px;
	width: 20px;
	height: 2px;
	background: #d9925d;
	content: "";
	transition: transform 180ms ease;
}

.mw-about-faq summary span::after {
	top: 0;
	right: 0;
	transform: rotate(90deg);
}

.mw-about-faq details[open] summary span::after {
	transform: rotate(0deg);
}

.mw-about-faq details p {
	max-width: 68ch;
	margin: 0;
	padding: 0 44px 26px 0;
	color: #5c6b78;
}

/* Final About CTA. */
.mw-about-rfq {
	background: #00172a;
	color: #f7fbff;
	text-align: center;
}

.mw-about-rfq__inner {
	max-width: 880px;
}

.mw-about-rfq .mw-about-kicker {
	color: #f0b596;
}

.mw-about-rfq p:not(.mw-about-kicker) {
	max-width: 730px;
	margin: 26px auto 22px;
	color: #d6e0e8;
	font-size: 1.08rem;
}

@media (max-width: 1023px) {
	.mw-about-shell {
		width: min(calc(100% - 40px), 1240px);
	}

	.mw-about-hero__grid,
	.mw-about-who__grid,
	.mw-about-expectations__grid,
	.mw-about-portfolio__grid,
	.mw-about-faq__grid,
	.mw-about-capability__grid {
		grid-template-columns: 1fr;
	}

	.mw-about-hero__grid {
		padding: 72px 0;
		gap: 42px;
	}

	.mw-about-hero__copy {
		padding: 0;
	}

	.mw-about-hero__media {
		width: min(100%, 680px);
		justify-self: start;
	}

	.mw-about-steps {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mw-about-steps::before {
		top: 26px;
		bottom: 24px;
		left: 25px;
		width: 1px;
		height: auto;
	}

	.mw-about-step {
		min-height: 150px;
		padding: 0 0 42px 84px;
	}

	.mw-about-step img {
		width: 108px;
		height: 108px;
	}

	.mw-about-principles {
		grid-template-columns: 1fr;
	}

	.mw-about-principles article + article {
		border-top: 1px solid rgba(255, 255, 255, 0.22);
		border-left: 0;
	}

	.mw-about-faq__intro {
		position: static;
	}
}

@media (max-width: 767px) {
	.mw-about-shell {
		width: min(calc(100% - 32px), 1240px);
	}

	.mw-about-section {
		padding: 64px 0;
	}

	.mw-about-section h2 {
		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.mw-about-hero {
		min-height: 0;
	}

	.mw-about-hero__grid {
		min-height: 0;
		padding: 58px 0 0;
		gap: 34px;
	}

	.mw-about-hero h1 {
		max-width: none;
		font-size: clamp(2.15rem, 9.5vw, 2.65rem);
		line-height: 1.08;
	}

	.mw-about-hero__media {
		width: calc(100% + 32px);
		margin-left: -16px;
		aspect-ratio: 4 / 5;
	}

	.mw-about-scope > div,
	.mw-about-expectation {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.mw-about-center-heading {
		margin-bottom: 42px;
		text-align: left;
	}

	.mw-about-center-heading .mw-about-kicker {
		justify-content: flex-start;
	}

	.mw-about-center-heading > p:last-child {
		margin-left: 0;
	}

	.mw-about-step {
		padding-left: 76px;
	}

	.mw-about-step img {
		width: 96px;
		height: 96px;
	}

	.mw-about-manifesto__heading {
		text-align: left;
	}

	.mw-about-manifesto__heading > img {
		margin-left: 0;
	}

	.mw-about-manifesto h2 {
		font-size: clamp(3rem, 15vw, 4.25rem);
	}

	.mw-about-principles {
		margin-top: 52px;
	}

	.mw-about-principles article {
		padding: 28px 0;
	}

	.mw-about-portfolio__media {
		aspect-ratio: 5 / 4;
	}

	.mw-about-capability__grid {
		grid-template-columns: 1fr;
	}

	.mw-about-capability__panel > div {
		padding: 24px;
	}

	.mw-about-faq summary {
		min-height: 60px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.mw-about-faq details p {
		padding-right: 24px;
	}

	.mw-about-rfq .mw-button {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mw-about-text-link,
	.mw-about-capability__panel figure img {
		transition: none;
	}

	.mw-about-capability__panel:hover figure img {
		transform: none;
	}
}

/* Our Factory page: immersive production journey. */
.mw-factory-page-shell {
	width: min(calc(100% - 48px), 1240px);
	margin-inline: auto;
}

.mw-factory-page-section {
	position: relative;
	padding: clamp(78px, 8.6vw, 128px) 0;
	overflow: hidden;
	background: #ffffff;
	color: #1b2733;
}

.mw-factory-page-section h2,
.mw-factory-page-process h2,
.mw-factory-page-hero h1 {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-weight: 600;
	letter-spacing: -0.035em;
	line-height: 1.06;
	text-wrap: balance;
}

.mw-factory-page-section h2,
.mw-factory-page-process h2 {
	font-size: clamp(2.25rem, 4vw, 4rem);
}

.mw-factory-page-section h3,
.mw-factory-page-process h3 {
	margin: 0;
	font-family: var(--mw-font-heading);
	font-size: clamp(1.15rem, 1.5vw, 1.4rem);
	font-weight: 600;
	line-height: 1.3;
	text-wrap: balance;
}

.mw-factory-page-section p,
.mw-factory-page-process p,
.mw-factory-page-hero p {
	font-family: var(--mw-font-body);
	font-size: 1rem;
	line-height: 1.75;
	text-wrap: pretty;
}

.mw-factory-page-kicker {
	display: inline-flex;
	margin: 0 0 22px !important;
	color: #a94d2c;
	font-family: var(--mw-font-heading) !important;
	font-size: 0.8rem !important;
	font-weight: 700;
	letter-spacing: 0.13em;
	line-height: 1.3 !important;
	text-transform: uppercase;
	align-items: center;
	gap: 12px;
}

.mw-factory-page-kicker::before {
	width: 34px;
	height: 1px;
	background: currentColor;
	content: "";
}

.mw-factory-page-lead {
	font-size: clamp(1.05rem, 1.35vw, 1.2rem) !important;
}

.mw-factory-page-centered {
	max-width: 860px;
	margin: 0 auto 62px;
	text-align: center;
}

.mw-factory-page-centered .mw-factory-page-kicker {
	justify-content: center;
}

.mw-factory-page-centered > p:last-child {
	max-width: 740px;
	margin: 22px auto 0;
	color: #5c6b78;
}

.mw-factory-page-text-link {
	display: inline-flex;
	min-height: 44px;
	padding: 8px 0;
	border-bottom: 1px solid currentColor;
	color: #8d4024;
	font-family: var(--mw-font-heading);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.35;
	text-decoration: none;
	align-items: center;
	gap: 8px;
	transition: color 180ms ease, gap 180ms ease;
}

.mw-factory-page-text-link:hover,
.mw-factory-page-text-link:focus-visible {
	color: #c05a34;
	gap: 12px;
}

.mw-factory-page-text-link:focus-visible,
.mw-factory-page-workflow a:focus-visible,
.mw-factory-page-faq summary:focus-visible {
	outline: 3px solid #e7a17e;
	outline-offset: 4px;
}

/* Full-bleed factory hero. */
.mw-factory-page-hero {
	position: relative;
	isolation: isolate;
	display: grid;
	min-height: clamp(680px, 72vw, 760px);
	overflow: hidden;
	background: #00172a;
	color: #ffffff;
	align-items: center;
}

.mw-factory-page-hero__media,
.mw-factory-page-hero__overlay {
	position: absolute;
	inset: 0;
	margin: 0;
}

.mw-factory-page-hero__media {
	z-index: -2;
}

.mw-factory-page-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

.mw-factory-page-hero__overlay {
	z-index: -1;
	background: linear-gradient(90deg, rgba(0, 23, 42, 0.97) 0%, rgba(0, 23, 42, 0.87) 39%, rgba(0, 23, 42, 0.4) 68%, rgba(0, 23, 42, 0.12) 100%);
}

.mw-factory-page-hero__inner {
	display: flex;
	min-height: inherit;
	padding: 90px 0;
	align-items: center;
}

.mw-factory-page-hero__copy {
	max-width: 720px;
}

.mw-factory-page-hero .mw-factory-page-kicker {
	color: #f0b596;
}

.mw-factory-page-hero h1 {
	max-width: 14ch;
	font-size: clamp(3rem, 5vw, 5.25rem);
	text-shadow: 0 3px 24px rgba(0, 0, 0, 0.26);
}

.mw-factory-page-hero__copy > p:not(.mw-factory-page-kicker) {
	max-width: 62ch;
	margin: 24px 0 0;
	color: #e2eaf0;
}

.mw-factory-page-hero .mw-button {
	margin-top: 30px;
}

/* Factory role and ruled scope. */
.mw-factory-page-role__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.74fr) minmax(0, 1.26fr);
	gap: clamp(64px, 9vw, 130px);
	align-items: start;
}

.mw-factory-page-role__content > p {
	max-width: 70ch;
	margin: 0;
	color: #5c6b78;
}

.mw-factory-page-role__content > p + p {
	margin-top: 22px;
}

.mw-factory-page-ruled-list {
	margin: 44px 0 0;
	border-top: 1px solid rgba(27, 39, 51, 0.22);
}

.mw-factory-page-ruled-list > div {
	display: grid;
	padding: 17px 0;
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
	grid-template-columns: minmax(180px, 0.72fr) minmax(0, 1.28fr);
	gap: 28px;
	align-items: center;
}

.mw-factory-page-ruled-list dt,
.mw-factory-page-ruled-list dd {
	margin: 0;
}

.mw-factory-page-ruled-list dt {
	font-family: var(--mw-font-heading);
	font-size: 1.12rem;
	font-weight: 600;
}

.mw-factory-page-ruled-list dd {
	color: #5c6b78;
	font-family: var(--mw-font-body);
	font-size: 0.9rem;
	line-height: 1.6;
}

/* Workflow index. */
.mw-factory-page-workflow {
	background: #f1f5f8;
}

.mw-factory-page-workflow__stages {
	position: relative;
	display: grid;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 30px;
}

.mw-factory-page-workflow__stages::before {
	position: absolute;
	top: 27px;
	right: 5%;
	left: 5%;
	height: 1px;
	background: #aebbc4;
	content: "";
}

.mw-factory-page-workflow__stages li {
	position: relative;
}

.mw-factory-page-workflow__stages a {
	display: block;
	color: #1b2733;
	text-decoration: none;
}

.mw-factory-page-workflow__stages a > span {
	position: relative;
	z-index: 1;
	display: grid;
	width: 54px;
	height: 54px;
	margin-bottom: 22px;
	border: 1px solid #9dafbb;
	border-radius: 50%;
	background: #f1f5f8;
	font-family: var(--mw-font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	place-items: center;
	transition: background-color 180ms ease, color 180ms ease, border-color 180ms ease;
}

.mw-factory-page-workflow__stages a:hover > span,
.mw-factory-page-workflow__stages a:focus-visible > span {
	border-color: #e7a17e;
	background: #e7a17e;
	color: #00172a;
}

.mw-factory-page-workflow__stages strong {
	display: block;
	max-width: 15ch;
	font-family: var(--mw-font-heading);
	font-size: 1.16rem;
	line-height: 1.3;
}

/* Four alternating process chapters. */
.mw-factory-page-process {
	background: #ffffff;
	color: #1b2733;
}

.mw-factory-page-process__chapter {
	padding: clamp(72px, 7.8vw, 116px) 0;
	border-bottom: 1px solid rgba(27, 39, 51, 0.14);
}

.mw-factory-page-process__chapter:nth-child(even) {
	background: #f7f9fb;
}

.mw-factory-page-process__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
	gap: clamp(54px, 8vw, 112px);
	align-items: center;
}

.mw-factory-page-process__chapter--reverse .mw-factory-page-process__media {
	grid-column: 2;
}

.mw-factory-page-process__chapter--reverse .mw-factory-page-process__copy {
	grid-row: 1;
	grid-column: 1;
}

.mw-factory-page-process__media {
	position: relative;
	margin: 0;
	overflow: hidden;
	aspect-ratio: 16 / 10;
	background: #e6edf2;
}

.mw-factory-page-process__media::after {
	position: absolute;
	inset: 16px;
	border: 1px solid rgba(255, 255, 255, 0.42);
	pointer-events: none;
	content: "";
}

.mw-factory-page-process__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 480ms cubic-bezier(0.16, 1, 0.3, 1);
}

.mw-factory-page-process__chapter:hover .mw-factory-page-process__media img {
	transform: scale(1.025);
}

.mw-factory-page-process__copy > p:not(.mw-factory-page-kicker) {
	margin: 22px 0 0;
	color: #5c6b78;
}

/* Dark technical quality review. */
.mw-factory-page-quality {
	background: #00172a;
	color: #f7fbff;
}

.mw-factory-page-quality::before {
	position: absolute;
	top: -260px;
	right: -200px;
	width: 560px;
	height: 560px;
	border: 1px solid rgba(231, 161, 126, 0.2);
	border-radius: 50%;
	box-shadow: 0 0 0 80px rgba(231, 161, 126, 0.035), 0 0 0 160px rgba(231, 161, 126, 0.02);
	content: "";
}

.mw-factory-page-quality .mw-factory-page-kicker {
	color: #f0b596;
}

.mw-factory-page-quality__heading {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
	column-gap: clamp(52px, 8vw, 112px);
	align-items: end;
}

.mw-factory-page-quality__heading .mw-factory-page-kicker {
	grid-column: 1 / -1;
}

.mw-factory-page-quality__heading > p:last-child {
	margin: 0;
	color: #d6e0e8;
}

.mw-factory-page-quality__list {
	position: relative;
	display: grid;
	margin-top: 66px;
	border-top: 1px solid rgba(255, 255, 255, 0.22);
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mw-factory-page-quality__list article {
	display: grid;
	padding: 28px 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	grid-template-columns: minmax(170px, 0.7fr) minmax(0, 1.3fr);
	gap: 28px;
}

.mw-factory-page-quality__list article:nth-child(odd) {
	padding-right: 34px;
}

.mw-factory-page-quality__list article:nth-child(even) {
	padding-left: 34px;
	border-left: 1px solid rgba(255, 255, 255, 0.2);
}

.mw-factory-page-quality__list p {
	margin: 0;
	color: #d6e0e8;
	font-size: 0.92rem;
}

.mw-factory-page-quality__boundary {
	position: relative;
	max-width: 850px;
	margin: 34px 0 0;
	color: #aebfcb;
	font-size: 0.9rem !important;
}

/* Pre-production confirmation. */
.mw-factory-page-confirmation {
	background: #f1f5f8;
}

.mw-factory-page-confirmation__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(62px, 9vw, 126px);
	align-items: start;
}

.mw-factory-page-confirmation header > p:last-child {
	margin: 22px 0 0;
	color: #5c6b78;
}

.mw-factory-page-confirmation__list {
	margin: 0;
	border-top: 1px solid #1b2733;
}

.mw-factory-page-confirmation__list > div {
	display: grid;
	padding: 24px 0;
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
	grid-template-columns: minmax(190px, 0.75fr) minmax(0, 1.25fr);
	gap: 36px;
}

.mw-factory-page-confirmation__list dt,
.mw-factory-page-confirmation__list dd {
	margin: 0;
}

.mw-factory-page-confirmation__list dt {
	font-family: var(--mw-font-heading);
	font-size: 1.08rem;
	font-weight: 600;
}

.mw-factory-page-confirmation__list dd {
	color: #5c6b78;
	font-family: var(--mw-font-body);
	font-size: 0.94rem;
	line-height: 1.65;
}

/* Product-family production scope. */
.mw-factory-page-products__grid {
	display: grid;
	border-top: 1px solid #1b2733;
	border-bottom: 1px solid rgba(27, 39, 51, 0.22);
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mw-factory-page-products__grid article {
	display: flex;
	min-height: 380px;
	padding: 34px 36px 38px;
	flex-direction: column;
}

.mw-factory-page-products__grid article + article {
	border-left: 1px solid rgba(27, 39, 51, 0.2);
}

.mw-factory-page-products__grid article > span {
	margin-bottom: 50px;
	color: #c56e47;
	font-family: var(--mw-font-heading);
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.1em;
}

.mw-factory-page-products__grid article > p {
	margin: 16px 0 22px;
	color: #5c6b78;
}

.mw-factory-page-products__grid .mw-factory-page-text-link {
	margin-top: auto;
	align-self: flex-start;
}

/* GEO direct answer. */
.mw-factory-page-answer {
	background: #e9eff3;
}

.mw-factory-page-answer__grid {
	display: grid;
	grid-template-columns: minmax(180px, 0.36fr) minmax(0, 1.64fr);
	gap: clamp(48px, 8vw, 110px);
	align-items: start;
}

.mw-factory-page-answer__number {
	margin: 0;
	color: rgba(0, 23, 42, 0.18);
	font-family: var(--mw-font-heading) !important;
	font-size: clamp(3.5rem, 7vw, 6.5rem) !important;
	font-weight: 600;
	letter-spacing: -0.06em;
	line-height: 0.92 !important;
}

.mw-factory-page-answer__grid > div > p:last-child {
	max-width: 76ch;
	margin: 26px 0 0;
	color: #3f5362;
}

/* Factory FAQ. */
.mw-factory-page-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.72fr) minmax(0, 1.28fr);
	gap: clamp(58px, 9vw, 120px);
	align-items: start;
}

.mw-factory-page-faq__intro {
	position: sticky;
	top: 36px;
}

.mw-factory-page-faq__intro > p:last-child {
	margin: 22px 0 0;
	color: #5c6b78;
}

.mw-factory-page-faq__list {
	border-top: 1px solid #1b2733;
}

.mw-factory-page-faq details {
	border-bottom: 1px solid rgba(27, 39, 51, 0.18);
}

.mw-factory-page-faq summary {
	position: relative;
	min-height: 64px;
	padding: 23px 50px 23px 0;
	color: #1b2733;
	font-family: var(--mw-font-heading);
	font-size: 1.14rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	list-style: none;
}

.mw-factory-page-faq summary::-webkit-details-marker {
	display: none;
}

.mw-factory-page-faq summary span,
.mw-factory-page-faq summary span::after {
	position: absolute;
	top: 50%;
	right: 6px;
	width: 20px;
	height: 2px;
	background: #d9925d;
	content: "";
	transition: transform 180ms ease;
}

.mw-factory-page-faq summary span::after {
	top: 0;
	right: 0;
	transform: rotate(90deg);
}

.mw-factory-page-faq details[open] summary span::after {
	transform: rotate(0deg);
}

.mw-factory-page-faq details p {
	max-width: 68ch;
	margin: 0;
	padding: 0 44px 26px 0;
	color: #5c6b78;
}

/* Final factory CTA. */
.mw-factory-page-rfq {
	background: #00172a;
	color: #f7fbff;
	text-align: center;
}

.mw-factory-page-rfq__inner {
	max-width: 900px;
}

.mw-factory-page-rfq .mw-factory-page-kicker {
	color: #f0b596;
}

.mw-factory-page-rfq__inner > p:not(.mw-factory-page-kicker) {
	max-width: 760px;
	margin: 26px auto 22px;
	color: #d6e0e8;
	font-size: 1.08rem;
}

@media (max-width: 1023px) {
	.mw-factory-page-shell {
		width: min(calc(100% - 40px), 1240px);
	}

	.mw-factory-page-role__grid,
	.mw-factory-page-quality__heading,
	.mw-factory-page-confirmation__grid,
	.mw-factory-page-answer__grid,
	.mw-factory-page-faq__grid {
		grid-template-columns: 1fr;
	}

	.mw-factory-page-quality__heading {
		gap: 28px;
	}

	.mw-factory-page-quality__heading .mw-factory-page-kicker {
		grid-column: auto;
	}

	.mw-factory-page-process__grid,
	.mw-factory-page-process__chapter--reverse .mw-factory-page-process__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.mw-factory-page-process__chapter--reverse .mw-factory-page-process__media,
	.mw-factory-page-process__chapter--reverse .mw-factory-page-process__copy {
		grid-row: auto;
		grid-column: auto;
	}

	.mw-factory-page-quality__list {
		grid-template-columns: 1fr;
	}

	.mw-factory-page-quality__list article:nth-child(odd),
	.mw-factory-page-quality__list article:nth-child(even) {
		padding-right: 0;
		padding-left: 0;
		border-left: 0;
	}

	.mw-factory-page-products__grid {
		grid-template-columns: 1fr;
	}

	.mw-factory-page-products__grid article {
		min-height: 0;
	}

	.mw-factory-page-products__grid article + article {
		border-top: 1px solid rgba(27, 39, 51, 0.2);
		border-left: 0;
	}

	.mw-factory-page-products__grid article > span {
		margin-bottom: 26px;
	}

	.mw-factory-page-faq__intro {
		position: static;
	}
}

@media (max-width: 767px) {
	.mw-factory-page-shell {
		width: min(calc(100% - 32px), 1240px);
	}

	.mw-factory-page-section {
		padding: 64px 0;
	}

	.mw-factory-page-section h2,
	.mw-factory-page-process h2 {
		font-size: clamp(2rem, 10vw, 2.75rem);
	}

	.mw-factory-page-centered {
		margin-bottom: 42px;
		text-align: left;
	}

	.mw-factory-page-centered .mw-factory-page-kicker {
		justify-content: flex-start;
	}

	.mw-factory-page-centered > p:last-child {
		margin-left: 0;
	}

	.mw-factory-page-hero {
		min-height: 690px;
	}

	.mw-factory-page-hero__media img {
		object-position: 58% center;
	}

	.mw-factory-page-hero__overlay {
		background: linear-gradient(180deg, rgba(0, 23, 42, 0.74) 0%, rgba(0, 23, 42, 0.92) 48%, rgba(0, 23, 42, 0.99) 100%);
	}

	.mw-factory-page-hero__inner {
		padding: 72px 0 58px;
		align-items: end;
	}

	.mw-factory-page-hero h1 {
		max-width: none;
		font-size: clamp(2.35rem, 11vw, 3rem);
		line-height: 1.06;
	}

	.mw-factory-page-hero__copy > p:not(.mw-factory-page-kicker) {
		font-size: 1rem;
		line-height: 1.68;
	}

	.mw-factory-page-hero .mw-button,
	.mw-factory-page-rfq .mw-button {
		width: 100%;
	}

	.mw-factory-page-ruled-list > div,
	.mw-factory-page-confirmation__list > div,
	.mw-factory-page-quality__list article {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.mw-factory-page-workflow__stages {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.mw-factory-page-workflow__stages::before {
		top: 27px;
		bottom: 27px;
		left: 27px;
		width: 1px;
		height: auto;
	}

	.mw-factory-page-workflow__stages li {
		min-height: 96px;
	}

	.mw-factory-page-workflow__stages a {
		display: grid;
		grid-template-columns: 54px minmax(0, 1fr);
		gap: 22px;
		align-items: center;
	}

	.mw-factory-page-workflow__stages a > span {
		margin-bottom: 0;
	}

	.mw-factory-page-workflow__stages strong {
		max-width: none;
	}

	.mw-factory-page-process__chapter {
		padding: 64px 0;
	}

	.mw-factory-page-process__media {
		aspect-ratio: 4 / 3;
	}

	.mw-factory-page-quality__list {
		margin-top: 44px;
	}

	.mw-factory-page-quality__list article {
		padding: 24px 0 !important;
	}

	.mw-factory-page-products__grid article {
		padding: 28px 0 32px;
	}

	.mw-factory-page-answer__number {
		font-size: 4rem !important;
	}

	.mw-factory-page-faq summary {
		min-height: 60px;
		padding-top: 20px;
		padding-bottom: 20px;
	}

	.mw-factory-page-faq details p {
		padding-right: 24px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mw-factory-page-process__media img,
	.mw-factory-page-workflow__stages a > span,
	.mw-factory-page-text-link {
		transition: none;
	}

	.mw-factory-page-process__chapter:hover .mw-factory-page-process__media img {
		transform: none;
	}
}
