@font-face {
	font-display: swap;
	font-family: "Cairo";
	font-style: normal;
	font-weight: 200 1000;
	src: url("../fonts/cairo-arabic.woff2") format("woff2");
	unicode-range: U+0600-06FF, U+0750-077F, U+0870-0891, U+0897-08FF, U+200C-200E, U+FB50-FDFF, U+FE70-FEFC;
}

@font-face {
	font-display: swap;
	font-family: "Cairo";
	font-style: normal;
	font-weight: 200 1000;
	src: url("../fonts/cairo-latin.woff2") format("woff2");
	unicode-range: U+0000-024F, U+2000-206F, U+20AC, U+2122, U+2190-21FF, U+2212, U+2215, U+FEFF, U+FFFD;
}

.zf-onepage {
	--zf-bg: #050507;
	--zf-surface: #1b1515;
	--zf-text: #eff3f6;
	--zf-muted: #9ea3a8;
	--zf-accent: #d31924;
	--zf-max: 1480px;
	--zf-section-space: 156px;
	--zf-radius: 18px;
	--zf-line: rgba(239, 243, 246, 0.14);
	--zf-soft-line: rgba(239, 243, 246, 0.075);
	--zf-panel-border: rgba(239, 243, 246, 0.14);
	--zf-panel-bg: rgba(11, 10, 12, 0.96);
	--zf-panel-shadow: 0.55;
	--zf-image-radius: 0px;
	--zf-header-height: 86px;
	--zf-header-bg: rgba(5, 5, 7, 0.9);
	--zf-header-blur: 18px;
	--zf-glow-opacity: 0.9;
	--zf-grid-opacity: 0.45;
	--zf-hero-min-height: 100svh;
	--zf-hero-copy-width: 820px;
	--zf-hero-overlay: 0.82;
	--zf-hero-red: 0.72;
	--zf-hero-brightness: 72%;
	--zf-hero-saturation: 84%;
	--zf-hero-text: #eff3f6;
	--zf-accent-soft: rgba(211, 25, 36, 0.18);
	--zf-accent-faint: rgba(211, 25, 36, 0.08);
	--zf-ease: cubic-bezier(0.16, 1, 0.3, 1);
	--zf-page-progress: 0;
	--zf-scroll-velocity: 0;
	--zf-cursor-x: 50%;
	--zf-cursor-y: 50%;
	background: var(--zf-bg);
	color: var(--zf-text);
	font-family: Poppins, Cairo, Arial, sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	margin-left: calc(50% - 50vw);
	max-width: none;
	min-height: 100vh;
	overflow: clip;
	position: relative;
	width: 100vw;
	isolation: isolate;
}

.zf-onepage,
.zf-onepage * {
	box-sizing: border-box;
}

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

.zf-onepage img {
	display: block;
	max-width: 100%;
}

.zf-onepage button,
.zf-onepage a {
	font: inherit;
}

.zf-onepage button {
	color: inherit;
}

.zf-onepage a {
	color: inherit;
	text-decoration: none;
}

.zf-onepage button:focus-visible,
.zf-onepage a:focus-visible {
	outline: 2px solid var(--zf-text);
	outline-offset: 4px;
}

.zf-onepage ::selection {
	background: var(--zf-accent);
	color: var(--zf-text);
}

.zf-wrap {
	margin: 0 auto;
	max-width: var(--zf-max);
	padding-inline: clamp(24px, 4vw, 72px);
	position: relative;
	width: 100%;
}

.zf-section {
	background: var(--zf-bg);
	padding-block: var(--zf-section-space);
	position: relative;
	z-index: 2;
}

.zf-skip {
	background: var(--zf-text);
	color: var(--zf-bg) !important;
	font-size: 12px;
	font-weight: 700;
	left: 20px;
	letter-spacing: 0.12em;
	padding: 12px 16px;
	position: fixed;
	top: -80px;
	z-index: 1000;
}

.zf-skip:focus {
	top: 20px;
}

/* Ambient brand field */
.zf-ambient {
	inset: 0;
	pointer-events: none;
	position: fixed;
	z-index: 0;
}

.zf-ambient__red {
	background:
		radial-gradient(circle at var(--zf-cursor-x) var(--zf-cursor-y), rgba(211, 25, 36, 0.18), transparent 22%),
		radial-gradient(circle at 82% 10%, rgba(211, 25, 36, 0.16), transparent 26%),
		radial-gradient(circle at 12% 70%, rgba(211, 25, 36, 0.08), transparent 24%);
	filter: saturate(1.18);
	inset: 0;
	opacity: var(--zf-glow-opacity);
	position: absolute;
	transition: opacity 0.6s ease;
}

.zf-inspectable {
	cursor: default;
}

.zf-inspection-cursor {
	display: none;
}

.zf-ambient__grid {
	background-image:
		linear-gradient(var(--zf-soft-line) 1px, transparent 1px),
		linear-gradient(90deg, var(--zf-soft-line) 1px, transparent 1px);
	background-size: 80px 80px;
	inset: 0;
	mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.6), transparent 75%);
	opacity: var(--zf-grid-opacity);
	position: absolute;
	transform: perspective(700px) rotateX(60deg) scale(1.7) translateY(12%);
	transform-origin: center bottom;
}

.zf-ambient__noise {
	background-image: url("../images/zero-fault-noise.webp");
	background-repeat: repeat;
	background-size: 96px 96px;
	inset: 0;
	mix-blend-mode: normal;
	opacity: 0.018;
	position: absolute;
}

/* Header */
.zf-header {
	align-items: center;
	backdrop-filter: blur(var(--zf-header-blur));
	background: var(--zf-header-bg);
	background: linear-gradient(to bottom, var(--zf-header-bg), color-mix(in srgb, var(--zf-header-bg), transparent 30%));
	border-bottom: 1px solid transparent;
	display: grid;
	grid-template-columns: minmax(170px, 0.9fr) auto minmax(420px, 1.5fr);
	inset: 0 0 auto;
	min-height: var(--zf-header-height);
	padding: 0 clamp(24px, 4vw, 72px);
	position: fixed;
	transition: min-height 0.4s var(--zf-ease), border-color 0.4s ease, background 0.4s ease;
	z-index: 100;
}

.zf-header.is-scrolled {
	background: var(--zf-header-bg);
	border-color: var(--zf-line);
	min-height: 68px;
}

.zf-logo {
	display: inline-flex;
	max-width: 190px;
	position: relative;
	z-index: 3;
}

.zf-logo img {
	height: auto;
	max-height: 46px;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.zf-wordmark {
	display: inline-flex;
	flex-direction: column;
	line-height: 1;
}

.zf-wordmark strong {
	font-size: 21px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.07em;
}

.zf-wordmark strong span {
	color: var(--zf-accent);
}

.zf-wordmark small {
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.32em;
	margin-top: 7px;
}

.zf-header__status {
	align-items: center;
	color: var(--zf-muted);
	display: flex;
	font-size: 9px;
	font-weight: 600;
	gap: 10px;
	justify-self: center;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.zf-header__status i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 5px var(--zf-accent-faint), 0 0 18px var(--zf-accent);
	height: 5px;
	width: 5px;
}

.zf-nav {
	align-items: stretch;
	display: flex;
	height: 100%;
	justify-content: flex-end;
}

.zf-nav a {
	align-items: center;
	border-left: 1px solid var(--zf-soft-line);
	color: var(--zf-muted);
	display: flex;
	font-size: 10px;
	font-weight: 600;
	gap: 9px;
	letter-spacing: 0.1em;
	min-width: 112px;
	padding: 0 18px;
	position: relative;
	text-transform: uppercase;
	transition: color 0.3s ease, background 0.3s ease;
}

.zf-nav a:last-child {
	border-right: 1px solid var(--zf-soft-line);
}

.zf-nav a::after {
	background: var(--zf-accent);
	bottom: -1px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.4s var(--zf-ease);
	width: 100%;
}

.zf-nav a span {
	color: var(--zf-accent);
	font-size: 8px;
}

.zf-nav a:hover,
.zf-nav a.is-active {
	background: rgba(255, 255, 255, 0.025);
	color: var(--zf-text);
}

.zf-nav a.is-active::after {
	transform: scaleX(1);
}

.zf-menu-toggle {
	background: none;
	border: 0;
	cursor: pointer;
	display: none;
	height: 46px;
	padding: 0;
	position: relative;
	width: 46px;
	z-index: 4;
}

.zf-menu-toggle span {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.zf-menu-toggle i {
	background: currentColor;
	height: 1px;
	left: 10px;
	position: absolute;
	transition: transform 0.35s var(--zf-ease), top 0.35s var(--zf-ease);
	width: 26px;
}

.zf-menu-toggle i:nth-of-type(1) { top: 18px; }
.zf-menu-toggle i:nth-of-type(2) { top: 27px; }
.zf-menu-toggle[aria-expanded="true"] i:nth-of-type(1) { top: 23px; transform: rotate(45deg); }
.zf-menu-toggle[aria-expanded="true"] i:nth-of-type(2) { top: 23px; transform: rotate(-45deg); }

/* Global progress */
.zf-progress {
	align-items: center;
	bottom: 28px;
	display: flex;
	gap: 12px;
	left: 28px;
	pointer-events: none;
	position: fixed;
	z-index: 90;
}

.zf-progress__ring {
	align-items: center;
	background: rgba(5, 5, 7, 0.76);
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	display: flex;
	height: 58px;
	justify-content: center;
	position: relative;
	width: 58px;
}

.zf-progress__ring::before {
	background: conic-gradient(var(--zf-accent) calc(var(--zf-page-progress) * 1turn), var(--zf-line) 0);
	border-radius: inherit;
	content: "";
	inset: -1px;
	mask: radial-gradient(circle, transparent 64%, #000 66%);
	position: absolute;
}

.zf-progress__ring b {
	font-size: 10px;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	letter-spacing: 0.08em;
}

.zf-progress > span {
	color: var(--zf-muted);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

/* Type and controls */
.zf-kicker {
	align-items: center;
	color: var(--zf-muted);
	display: flex;
	font-size: 10px;
	font-weight: 600;
	gap: 14px;
	letter-spacing: 0.18em;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.zf-kicker span {
	align-items: center;
	border: 1px solid rgba(211, 25, 36, 0.42);
	border-radius: 50%;
	color: var(--zf-accent);
	display: inline-flex;
	font-size: 8px;
	height: 28px;
	justify-content: center;
	letter-spacing: 0;
	width: 28px;
}

.zf-display,
.zf-section-title,
.zf-panel-title {
	color: var(--zf-text);
	font-family: Poppins, Cairo, Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.055em;
	line-height: 0.96;
	margin: 0;
	text-transform: uppercase;
}

.zf-display {
	font-size: clamp(52px, 6.25vw, 112px);
	max-width: 900px;
}

.zf-section-title {
	font-size: clamp(44px, 5vw, 84px);
}

.zf-panel-title {
	font-size: clamp(34px, 3.4vw, 58px);
	line-height: 1;
}

.zf-lead,
.zf-section-head > p,
.zf-service-panel__content > p,
.zf-marque-panel__caption p,
.zf-vault-panel__copy p,
.zf-location-panel__copy p,
.zf-footer__copy > p {
	color: var(--zf-muted);
	font-size: clamp(14px, 1.2vw, 18px);
	line-height: 1.8;
}

.zf-section-head {
	align-items: end;
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.5fr);
	margin-bottom: clamp(62px, 8vw, 116px);
}

.zf-section-head > p {
	border-left: 1px solid var(--zf-line);
	margin: 0;
	padding-left: 28px;
}

.zf-actions,
.zf-footer__direct {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.zf-button {
	align-items: center;
	border: 1px solid var(--zf-line);
	display: inline-flex;
	font-size: 10px;
	font-weight: 700;
	gap: 40px;
	justify-content: space-between;
	letter-spacing: 0.12em;
	min-height: 58px;
	min-width: 220px;
	overflow: hidden;
	padding: 0 22px;
	position: relative;
	text-transform: uppercase;
	transition: border-color 0.35s ease, color 0.35s ease, transform 0.35s var(--zf-ease);
}

.zf-button::before {
	background: var(--zf-accent);
	content: "";
	inset: 0;
	position: absolute;
	transform: translateX(-103%);
	transition: transform 0.5s var(--zf-ease);
}

.zf-button span,
.zf-button i {
	position: relative;
	z-index: 1;
}

.zf-button i {
	font-size: 15px;
	font-style: normal;
	transition: transform 0.35s var(--zf-ease);
}

.zf-button:hover {
	border-color: var(--zf-accent);
	color: var(--zf-text);
	transform: translateY(-2px);
}

.zf-button:hover::before,
.zf-button--primary::before {
	transform: translateX(0);
}

.zf-button--primary:hover::before {
	transform: translateX(103%);
}

.zf-button:hover i {
	transform: rotate(45deg);
}

.zf-button--primary {
	border-color: var(--zf-accent);
}

/* Media and placeholders */
.zf-cover,
.zf-contain {
	height: 100%;
	width: 100%;
}

img.zf-cover { object-fit: cover; }
img.zf-contain { object-fit: contain; }

.zf-placeholder {
	align-items: center;
	background:
		linear-gradient(135deg, transparent 0 44%, rgba(211, 25, 36, 0.22) 44.2% 44.7%, transparent 45%),
		repeating-linear-gradient(90deg, rgba(255, 255, 255, 0.025) 0 1px, transparent 1px 52px),
		linear-gradient(145deg, #151114, #08080a 68%);
	border: 1px solid var(--zf-line);
	color: rgba(239, 243, 246, 0.58);
	display: flex;
	font-size: 9px;
	font-weight: 600;
	height: 100%;
	justify-content: center;
	letter-spacing: 0.18em;
	min-height: 260px;
	overflow: hidden;
	position: relative;
	text-align: center;
	text-transform: uppercase;
	width: 100%;
}

.zf-placeholder::before,
.zf-placeholder::after {
	border: 1px solid rgba(211, 25, 36, 0.28);
	border-radius: 50%;
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.zf-placeholder::before { height: 52%; width: 52%; }
.zf-placeholder::after { height: 32%; width: 32%; }

.zf-placeholder > span:not(.zf-placeholder__index) {
	background: rgba(5, 5, 7, 0.76);
	border: 1px solid var(--zf-line);
	max-width: 240px;
	padding: 11px 16px;
	position: relative;
	z-index: 2;
}

.zf-placeholder__index {
	color: rgba(211, 25, 36, 0.22);
	font-size: clamp(100px, 14vw, 220px);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.1em;
	position: absolute;
	right: 5%;
	top: 50%;
	transform: translateY(-50%);
}

.zf-placeholder i {
	background: var(--zf-accent);
	height: 1px;
	left: 12%;
	position: absolute;
	right: 12%;
	top: 50%;
	transform: scaleX(0.35);
}

.zf-inspectable {
	--zf-lens-x: 50%;
	--zf-lens-y: 50%;
	cursor: crosshair;
	position: relative;
}

.zf-inspection-cursor {
	align-items: center;
	backdrop-filter: contrast(1.08) saturate(0.8);
	background: rgba(211, 25, 36, 0.08);
	border: 1px solid rgba(239, 243, 246, 0.55);
	border-radius: 50%;
	display: flex;
	height: 118px;
	justify-content: center;
	left: var(--zf-lens-x);
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: var(--zf-lens-y);
	transform: translate(-50%, -50%) scale(0.72);
	transition: opacity 0.25s ease, transform 0.3s var(--zf-ease);
	width: 118px;
	z-index: 8;
}

.zf-inspection-cursor::before,
.zf-inspection-cursor::after {
	background: rgba(239, 243, 246, 0.44);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.zf-inspection-cursor::before { height: 1px; width: 132%; }
.zf-inspection-cursor::after { height: 132%; width: 1px; }

.zf-inspection-cursor span {
	background: var(--zf-bg);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.16em;
	padding: 4px 7px;
	position: relative;
	z-index: 1;
}

.zf-inspectable:hover .zf-inspection-cursor,
.zf-inspectable.is-touching .zf-inspection-cursor {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Gauge language */
.zf-gauge {
	--zf-angle: -136deg;
	aspect-ratio: 5 / 3;
	position: relative;
	width: 100%;
}

.zf-gauge__arc {
	filter: drop-shadow(0 0 18px rgba(211, 25, 36, 0.22));
	inset: 0;
	overflow: visible;
	position: absolute;
	width: 100%;
}

.zf-gauge__track,
.zf-gauge__segments,
.zf-gauge__hot {
	fill: none;
	stroke-linecap: butt;
}

.zf-gauge__track {
	stroke: rgba(239, 243, 246, 0.12);
	stroke-width: 2;
}

.zf-gauge__segments {
	stroke: var(--zf-accent);
	stroke-dasharray: 5.4 2.9;
	stroke-width: 15;
}

.zf-gauge__hot {
	stroke: var(--zf-text);
	stroke-dasharray: 1.2 98.8;
	stroke-dashoffset: calc(-1 * var(--zf-page-progress) * 100);
	stroke-width: 19;
}

.zf-gauge__needle {
	bottom: 13.8%;
	height: 2px;
	left: 50%;
	position: absolute;
	transform: rotate(var(--zf-angle));
	transform-origin: left center;
	transition: transform 0.85s var(--zf-ease);
	width: 39%;
	z-index: 3;
}

.zf-gauge__needle span {
	background: linear-gradient(90deg, var(--zf-text), var(--zf-accent) 72%);
	clip-path: polygon(0 36%, 100% 0, 100% 100%, 0 64%);
	display: block;
	height: 100%;
	width: 100%;
}

.zf-gauge__needle::after {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 15px var(--zf-accent);
	content: "";
	height: 7px;
	position: absolute;
	right: -2px;
	top: -2.5px;
	width: 7px;
}

.zf-gauge__hub {
	align-items: center;
	background: var(--zf-bg);
	border: 1px solid var(--zf-text);
	border-radius: 50%;
	bottom: 10.4%;
	display: flex;
	height: 30px;
	justify-content: center;
	left: calc(50% - 15px);
	position: absolute;
	width: 30px;
	z-index: 4;
}

.zf-gauge__hub i {
	background: var(--zf-accent);
	border-radius: 50%;
	height: 8px;
	width: 8px;
}

.zf-gauge__zero,
.zf-gauge__max,
.zf-gauge__label {
	color: var(--zf-muted);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.14em;
	position: absolute;
	text-transform: uppercase;
}

.zf-gauge__zero { bottom: 4%; left: 4%; }
.zf-gauge__max { bottom: 4%; right: 4%; }
.zf-gauge__label { bottom: 1%; left: 50%; transform: translateX(-50%); white-space: nowrap; }

.zf-gauge--compact .zf-gauge__segments { stroke-width: 11; }
.zf-gauge--compact .zf-gauge__needle { width: 38%; }
.zf-gauge--compact .zf-gauge__hub { height: 22px; left: calc(50% - 11px); width: 22px; }

/* Hero */
.zf-hero {
	align-items: center;
	display: flex;
	min-height: 100svh;
	padding-block: 138px 92px;
}

.zf-hero::after {
	background: linear-gradient(90deg, transparent, var(--zf-accent), transparent);
	bottom: 0;
	content: "";
	height: 1px;
	left: 6%;
	opacity: 0.65;
	position: absolute;
	right: 6%;
	transform: scaleX(calc(0.2 + var(--zf-page-progress) * 0.8));
}

.zf-hero__layout {
	align-items: center;
	display: grid;
	gap: clamp(36px, 5vw, 84px);
	grid-template-columns: minmax(390px, 0.82fr) minmax(540px, 1.18fr);
}

.zf-hero__copy {
	position: relative;
	z-index: 4;
}

.zf-hero__copy .zf-display {
	font-size: clamp(56px, 5.55vw, 100px);
}

.zf-hero__copy .zf-lead {
	max-width: 650px;
	margin: 32px 0 38px;
}

.zf-hero__machine {
	aspect-ratio: 1.02;
	position: relative;
}

.zf-hero__machine > .zf-gauge {
	left: -4%;
	position: absolute;
	top: 5%;
	width: 108%;
	z-index: 4;
}

.zf-hero__portal {
	background: var(--zf-surface);
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	box-shadow: 0 44px 120px rgba(0, 0, 0, 0.72), inset 0 0 0 13px rgba(255, 255, 255, 0.025);
	clip-path: circle(50% at 50% 50%);
	height: 72%;
	left: 14%;
	overflow: hidden;
	position: absolute;
	top: 18%;
	width: 72%;
}

.zf-hero__image {
	height: 100%;
	position: relative;
	transform: scale(calc(1 + var(--zf-scroll-velocity) * 0.012));
	transition: transform 0.5s var(--zf-ease);
	width: 100%;
}

.zf-hero__image::after {
	background: linear-gradient(130deg, transparent 38%, rgba(211, 25, 36, 0.22) 58%, transparent 72%);
	content: "";
	inset: 0;
	mix-blend-mode: screen;
	position: absolute;
}

.zf-hero__scan {
	background: linear-gradient(to bottom, transparent, rgba(211, 25, 36, 0.28), var(--zf-accent), rgba(211, 25, 36, 0.16), transparent);
	filter: blur(0.2px);
	height: 50px;
	left: 0;
	opacity: 0.62;
	position: absolute;
	top: -12%;
	width: 100%;
}

.zf-onepage[data-zf-motion="1"] .zf-hero__scan {
	animation: zf-scan 5.8s ease-in-out infinite;
}

.zf-reading-strip {
	align-items: center;
	background: rgba(5, 5, 7, 0.88);
	border: 1px solid var(--zf-line);
	display: flex;
	gap: 13px;
	left: 50%;
	padding: 10px 14px;
	position: absolute;
	top: 86%;
	transform: translateX(-50%);
	white-space: nowrap;
	z-index: 8;
}

.zf-reading-strip span {
	color: var(--zf-muted);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.zf-reading-strip b {
	font-size: 11px;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.zf-reading-strip b:first-of-type { color: var(--zf-accent); }
.zf-reading-strip i { background: var(--zf-line); height: 18px; width: 1px; }

.zf-scroll-cue {
	align-items: center;
	bottom: 28px;
	color: var(--zf-muted);
	display: flex;
	font-size: 7px;
	font-weight: 600;
	gap: 12px;
	letter-spacing: 0.16em;
	position: absolute;
	right: clamp(24px, 4vw, 72px);
}

.zf-scroll-cue i {
	background: var(--zf-line);
	height: 34px;
	overflow: hidden;
	position: relative;
	width: 1px;
}

.zf-scroll-cue i::after {
	background: var(--zf-accent);
	content: "";
	height: 14px;
	left: 0;
	position: absolute;
	top: -14px;
	width: 1px;
}

.zf-onepage[data-zf-motion="1"] .zf-scroll-cue i::after {
	animation: zf-scroll-cue 2s ease-in-out infinite;
}

/* Hero v1.1 — vehicle-first redline composition */
.zf-hero {
	color: var(--zf-hero-text);
	display: block;
	min-height: var(--zf-hero-min-height);
	overflow: hidden;
	padding: 0;
}

.zf-hero::before {
	background:
		linear-gradient(90deg, rgba(239, 243, 246, 0.22) 1px, transparent 1px),
		linear-gradient(rgba(239, 243, 246, 0.14) 1px, transparent 1px);
	background-size: 14.285% 100%, 100% 25%;
	content: "";
	inset: 0;
	mask-image: linear-gradient(to right, #000, transparent 72%);
	opacity: 0.1;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.zf-hero__backdrop {
	background: #0a090b;
	inset: 0;
	overflow: hidden;
	position: absolute;
	z-index: 0;
}

.zf-hero__backdrop > img,
.zf-hero__backdrop > .zf-placeholder {
	filter: brightness(var(--zf-hero-brightness)) saturate(var(--zf-hero-saturation));
	height: 100%;
	object-fit: cover;
	transform: scale(calc(1.02 + var(--zf-page-progress) * 0.035));
	transform-origin: center;
	transition: transform 0.4s linear;
	width: 100%;
}

.zf-hero__backdrop > .zf-placeholder {
	filter: none;
	min-height: 100%;
}

.zf-hero__image-grid {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.zf-hero__image-grid i {
	border-right: 1px solid rgba(239, 243, 246, 0.09);
	position: relative;
	transform: translateY(calc(var(--zf-scroll-velocity) * 0.7px));
	transition: transform 0.45s var(--zf-ease);
}

.zf-hero__image-grid i:nth-child(even) {
	transform: translateY(calc(var(--zf-scroll-velocity) * -0.7px));
}

.zf-hero__image-grid i::after {
	background: var(--zf-accent);
	content: "";
	height: 2px;
	left: 0;
	opacity: 0.5;
	position: absolute;
	top: calc(18% + var(--zf-page-progress) * 64%);
	width: 14px;
}

.zf-hero__shade {
	background:
		linear-gradient(90deg, rgba(5, 5, 7, var(--zf-hero-overlay)) 0%, rgba(5, 5, 7, calc(var(--zf-hero-overlay) * 0.88)) 32%, rgba(5, 5, 7, 0.35) 62%, rgba(5, 5, 7, 0.18) 100%),
		linear-gradient(180deg, rgba(5, 5, 7, 0.72), transparent 28%, transparent 66%, rgba(5, 5, 7, 0.92)),
		radial-gradient(circle at 78% 44%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 38%);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.zf-hero__redline {
	bottom: 0;
	left: 0;
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 0;
	z-index: 5;
}

.zf-hero__redline::before {
	background: linear-gradient(90deg, transparent, var(--zf-accent) 18%, var(--zf-accent) 62%, transparent);
	box-shadow: 0 0 24px rgba(211, 25, 36, 0.6);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: calc(74% - var(--zf-page-progress) * 9%);
	transform: scaleX(calc(0.35 + var(--zf-page-progress) * 0.65));
	transform-origin: left;
	width: 100%;
}

.zf-hero__redline::after {
	background: var(--zf-accent);
	box-shadow: 0 0 20px rgba(211, 25, 36, 0.75);
	content: "";
	height: 8px;
	left: calc(9% + var(--zf-page-progress) * 77%);
	position: absolute;
	top: calc(74% - var(--zf-page-progress) * 9% - 4px);
	transform: rotate(45deg);
	width: 8px;
}

.zf-hero__redline i {
	border: 1px solid rgba(211, 25, 36, 0.32);
	border-radius: 50%;
	height: 54vw;
	max-height: 820px;
	max-width: 820px;
	position: absolute;
	right: -12%;
	top: 9%;
	width: 54vw;
}

.zf-hero__redline i::before,
.zf-hero__redline i::after {
	border: 1px dashed rgba(239, 243, 246, 0.12);
	border-radius: 50%;
	content: "";
	inset: 9%;
	position: absolute;
}

.zf-hero__redline i::after {
	border-color: rgba(211, 25, 36, 0.24);
	inset: 23%;
}

.zf-hero__redline span {
	background: linear-gradient(to bottom, transparent, var(--zf-accent), transparent);
	height: 54%;
	position: absolute;
	right: 15%;
	top: 21%;
	transform: rotate(calc(-34deg + var(--zf-page-progress) * 72deg));
	transform-origin: center bottom;
	transition: transform 0.25s linear;
	width: 1px;
}

.zf-hero__zero {
	color: rgba(239, 243, 246, 0.055);
	font-size: clamp(360px, 47vw, 800px);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.16em;
	line-height: 0.7;
	pointer-events: none;
	position: absolute;
	right: -2%;
	top: 49%;
	transform: translateY(-50%);
	z-index: 3;
}

.zf-hero__frame {
	display: grid;
	grid-template-areas:
		"copy instrument"
		"status status";
	grid-template-columns: minmax(0, 1.22fr) minmax(380px, 0.78fr);
	grid-template-rows: minmax(620px, 1fr) auto;
	min-height: var(--zf-hero-min-height);
	padding-bottom: 34px;
	padding-top: calc(var(--zf-header-height) + 46px);
	position: relative;
	z-index: 7;
}

.zf-hero__copy {
	align-self: center;
	grid-area: copy;
	max-width: var(--zf-hero-copy-width);
	padding-bottom: 72px;
	position: relative;
	z-index: 4;
}

.zf-hero__copy::before {
	background: linear-gradient(to bottom, var(--zf-accent), transparent);
	content: "";
	height: 118px;
	left: -28px;
	position: absolute;
	top: 4px;
	width: 2px;
}

.zf-hero__copy .zf-display {
	color: var(--zf-hero-text);
	font-size: clamp(64px, 6.6vw, 124px);
	max-width: var(--zf-hero-copy-width);
	text-shadow: 0 18px 65px rgba(0, 0, 0, 0.48);
}

.zf-hero__copy .zf-lead {
	color: color-mix(in srgb, var(--zf-hero-text), transparent 32%);
	margin: 30px 0 36px;
	max-width: 660px;
}

.zf-hero__instrument {
	align-self: end;
	backdrop-filter: blur(14px);
	background: linear-gradient(145deg, rgba(5, 5, 7, 0.72), rgba(27, 21, 21, 0.32));
	border: 1px solid rgba(239, 243, 246, 0.16);
	clip-path: polygon(0 0, calc(100% - 28px) 0, 100% 28px, 100% 100%, 28px 100%, 0 calc(100% - 28px));
	grid-area: instrument;
	justify-self: end;
	margin-bottom: 94px;
	max-width: 580px;
	padding: 24px 28px 18px;
	position: relative;
	width: 100%;
	z-index: 5;
}

.zf-hero__instrument::before {
	background: var(--zf-accent);
	content: "";
	height: 2px;
	left: 28px;
	position: absolute;
	top: -1px;
	width: 36%;
}

.zf-hero__instrument-label {
	align-items: center;
	color: var(--zf-muted);
	display: flex;
	font-size: 7px;
	font-weight: 600;
	gap: 12px;
	justify-content: flex-end;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.zf-hero__instrument-label i {
	background: var(--zf-accent);
	box-shadow: 0 0 12px var(--zf-accent);
	height: 6px;
	width: 6px;
}

.zf-hero__instrument .zf-gauge {
	margin-top: -12px;
}

.zf-hero__instrument .zf-reading-strip {
	bottom: 20px;
	left: 50%;
	top: auto;
}

.zf-hero__status-rail {
	backdrop-filter: blur(10px);
	background: rgba(5, 5, 7, 0.62);
	border: 1px solid rgba(239, 243, 246, 0.14);
	display: grid;
	grid-area: status;
	grid-template-columns: repeat(3, 1fr);
	min-height: 70px;
	overflow: hidden;
}

.zf-hero__status-rail > div {
	align-items: center;
	border-right: 1px solid rgba(239, 243, 246, 0.1);
	display: grid;
	gap: 14px;
	grid-template-columns: 24px 1fr 8px;
	padding: 0 24px;
}

.zf-hero__status-rail > div:last-child {
	border-right: 0;
}

.zf-hero__status-rail span {
	color: var(--zf-accent);
	font-size: 8px;
	font-weight: 600;
}

.zf-hero__status-rail b {
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}

.zf-hero__status-rail i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 14px var(--zf-accent);
	height: 6px;
	width: 6px;
}

.zf-hero > .zf-scroll-cue {
	z-index: 9;
}

/* Alternate hero compositions */
.zf-hero-layout-editorial .zf-hero__backdrop {
	clip-path: polygon(17% 0, 100% 0, 100% 100%, 0 100%);
	left: 41%;
	width: 59%;
}

.zf-hero-layout-editorial .zf-hero__shade {
	background:
		linear-gradient(90deg, var(--zf-bg) 0 42%, rgba(5, 5, 7, 0.82) 58%, rgba(5, 5, 7, 0.2) 100%),
		radial-gradient(circle at 78% 52%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 42%);
}

.zf-hero-layout-editorial .zf-hero__frame {
	grid-template-columns: minmax(0, 0.92fr) minmax(420px, 1.08fr);
}

.zf-hero-layout-editorial .zf-hero__instrument {
	margin-bottom: 74px;
	max-width: 500px;
}

.zf-hero-layout-centered .zf-hero__backdrop {
	border: 1px solid rgba(239, 243, 246, 0.14);
	clip-path: polygon(5% 0, 100% 0, 100% 92%, 95% 100%, 0 100%, 0 8%);
	inset: 12% 3% 10%;
}

.zf-hero-layout-centered .zf-hero__shade {
	background:
		linear-gradient(180deg, rgba(5, 5, 7, 0.8), rgba(5, 5, 7, 0.28) 50%, rgba(5, 5, 7, 0.9)),
		radial-gradient(circle at 50% 52%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 42%);
}

.zf-hero-layout-centered .zf-hero__frame {
	grid-template-areas:
		"copy copy"
		"instrument status";
	grid-template-columns: minmax(360px, 0.78fr) minmax(420px, 1.22fr);
	grid-template-rows: 1fr auto;
}

.zf-hero-layout-centered .zf-hero__copy {
	align-self: end;
	justify-self: center;
	padding-bottom: 42px;
	text-align: center;
}

.zf-hero-layout-centered .zf-hero__copy::before {
	display: none;
}

.zf-hero-layout-centered .zf-hero__copy .zf-lead {
	margin-inline: auto;
}

.zf-hero-layout-centered .zf-actions {
	justify-content: center;
}

.zf-hero-layout-centered .zf-hero__instrument {
	margin: 0;
	max-width: 500px;
}

.zf-hero-layout-centered .zf-hero__status-rail {
	min-height: 122px;
}

.zf-hide-section-numbers .zf-kicker > span {
	display: none;
}

/* Capabilities */
.zf-capabilities {
	background:
		linear-gradient(180deg, rgba(211, 25, 36, 0.025), transparent 22%),
		var(--zf-bg);
}

.zf-service-dial {
	background: var(--zf-panel-bg);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	box-shadow: 0 42px 100px rgba(0, 0, 0, var(--zf-panel-shadow));
	display: grid;
	grid-template-columns: minmax(230px, 0.34fr) minmax(0, 1.66fr);
	min-height: 720px;
	overflow: hidden;
	position: relative;
}

.zf-service-dial::before {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	top: 0;
	width: 36%;
	z-index: 5;
}

.zf-service-dial__controls {
	background: rgba(255, 255, 255, 0.018);
	border-right: 1px solid var(--zf-line);
	display: flex;
	flex-direction: column;
	padding: 28px;
	position: relative;
}

.zf-service-tab {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--zf-soft-line);
	cursor: pointer;
	display: grid;
	gap: 13px;
	grid-template-columns: 26px 1fr 18px;
	min-height: 62px;
	padding: 0 4px;
	position: relative;
	text-align: left;
	text-transform: uppercase;
}

.zf-service-tab span {
	color: var(--zf-accent);
	font-size: 8px;
	font-weight: 600;
}

.zf-service-tab b {
	color: var(--zf-muted);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.08em;
	transition: color 0.3s ease, transform 0.35s var(--zf-ease);
}

.zf-service-tab i {
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	height: 10px;
	position: relative;
	transition: border-color 0.3s ease, background 0.3s ease;
	width: 10px;
}

.zf-service-tab.is-active b,
.zf-service-tab:hover b {
	color: var(--zf-text);
	transform: translateX(4px);
}

.zf-service-tab.is-active i {
	background: var(--zf-accent);
	border-color: var(--zf-accent);
	box-shadow: 0 0 14px var(--zf-accent);
}

.zf-service-dial__meter {
	bottom: 22px;
	left: 22px;
	position: absolute;
	right: 22px;
}

.zf-service-dial__panels {
	min-width: 0;
	position: relative;
}

.zf-service-panel {
	animation: zf-panel-in 0.75s var(--zf-ease) both;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(310px, 0.8fr);
	height: 100%;
	min-height: 718px;
}

.zf-service-panel[hidden] { display: none; }

.zf-service-panel__media {
	background: #0b0a0c;
	border-radius: var(--zf-image-radius);
	min-height: 620px;
	overflow: hidden;
	position: relative;
}

.zf-service-panel__base,
.zf-service-panel__detail {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.zf-service-panel__base::after {
	background: linear-gradient(90deg, transparent 55%, rgba(5, 5, 7, 0.72));
	content: "";
	inset: 0;
	position: absolute;
}

.zf-service-panel__detail {
	clip-path: circle(0 at var(--zf-lens-x) var(--zf-lens-y));
	filter: contrast(1.08) saturate(0.78);
	transition: clip-path 0.35s var(--zf-ease);
	z-index: 3;
}

.zf-service-panel__media:hover .zf-service-panel__detail,
.zf-service-panel__media.is-touching .zf-service-panel__detail {
	clip-path: circle(112px at var(--zf-lens-x) var(--zf-lens-y));
}

.zf-media-reticle {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

.zf-media-reticle::before,
.zf-media-reticle::after {
	border-color: rgba(239, 243, 246, 0.28);
	border-style: solid;
	content: "";
	height: 34px;
	position: absolute;
	width: 34px;
}

.zf-media-reticle::before { border-width: 1px 0 0 1px; left: 22px; top: 22px; }
.zf-media-reticle::after { border-width: 0 1px 1px 0; bottom: 22px; right: 22px; }
.zf-media-reticle i { background: rgba(239, 243, 246, 0.2); position: absolute; }
.zf-media-reticle i:first-child { height: 1px; left: 50%; top: 22px; width: 42px; }
.zf-media-reticle i:nth-child(2) { height: 42px; left: 22px; top: 50%; width: 1px; }
.zf-media-reticle span { background: rgba(5, 5, 7, 0.72); bottom: 20px; font-size: 7px; left: 20px; letter-spacing: 0.14em; padding: 6px 8px; position: absolute; text-transform: uppercase; }

.zf-service-panel__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(34px, 4vw, 70px);
	position: relative;
}

.zf-panel-index {
	align-items: end;
	color: rgba(239, 243, 246, 0.09);
	display: flex;
	font-size: clamp(80px, 8vw, 148px);
	font-style: italic;
	font-weight: 800;
	justify-content: space-between;
	letter-spacing: -0.09em;
	line-height: 0.7;
	margin-bottom: 48px;
}

.zf-panel-index span {
	color: var(--zf-accent);
	font-size: 8px;
	font-style: normal;
	letter-spacing: 0.15em;
	line-height: 1;
}

.zf-service-panel__content > p {
	margin: 28px 0;
}

.zf-tech-list {
	border-top: 1px solid var(--zf-line);
	list-style: none;
	margin: 0;
	padding: 0;
}

.zf-tech-list li {
	align-items: center;
	border-bottom: 1px solid var(--zf-soft-line);
	color: var(--zf-muted);
	display: flex;
	font-size: 10px;
	gap: 12px;
	letter-spacing: 0.06em;
	min-height: 40px;
	text-transform: uppercase;
}

.zf-tech-list li i {
	background: var(--zf-accent);
	height: 1px;
	width: 12px;
}

.zf-verified {
	align-items: center;
	display: flex;
	gap: 11px;
	margin-top: 30px;
}

.zf-verified i {
	border: 1px solid var(--zf-accent);
	border-radius: 50%;
	height: 24px;
	position: relative;
	width: 24px;
}

.zf-verified i::after {
	background: var(--zf-accent);
	content: "";
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(-38deg);
	width: 9px;
}

.zf-verified span {
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.18em;
}

/* Marque orbit */
.zf-marques {
	background: linear-gradient(180deg, var(--zf-bg), #080709 45%, var(--zf-bg));
}

.zf-marque-orbit {
	min-height: 920px;
	position: relative;
}

.zf-marque-orbit__ring {
	border-radius: 50%;
	height: 800px;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translateX(-50%);
	width: 800px;
}

.zf-marque-orbit__track {
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	inset: 0;
	position: absolute;
}

.zf-marque-orbit__track::before,
.zf-marque-orbit__track::after,
.zf-marque-orbit__track i {
	border: 1px solid var(--zf-soft-line);
	border-radius: 50%;
	content: "";
	position: absolute;
}

.zf-marque-orbit__track::before { inset: 9%; }
.zf-marque-orbit__track::after { inset: 18%; }
.zf-marque-orbit__track i:first-child { inset: -10px; border-color: rgba(211, 25, 36, 0.18); border-left-color: var(--zf-accent); }
.zf-marque-orbit__track i:nth-child(2) { background: var(--zf-accent); border: 0; height: 6px; left: calc(50% - 3px); top: -3px; width: 6px; }
.zf-marque-orbit__track i:nth-child(3) { background: linear-gradient(90deg, transparent, var(--zf-line), transparent); border: 0; border-radius: 0; height: 1px; left: -20%; right: -20%; top: 50%; }

.zf-onepage[data-zf-motion="1"] .zf-marque-orbit__track i:first-child {
	animation: zf-rotate 28s linear infinite;
}

.zf-marque-logo {
	align-items: center;
	background: rgba(5, 5, 7, 0.88);
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	height: 96px;
	justify-content: center;
	left: 50%;
	padding: 20px;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%) rotate(var(--zf-orbit-angle, 0deg)) translateY(-400px) rotate(calc(-1 * var(--zf-orbit-angle, 0deg)));
	transition: border-color 0.35s ease, background 0.35s ease, box-shadow 0.35s ease, transform 0.65s var(--zf-ease);
	width: 96px;
	z-index: 4;
}

.zf-marque-logo img {
	filter: brightness(0) invert(1);
	max-height: 42px;
	object-fit: contain;
	transition: filter 0.35s ease, transform 0.35s var(--zf-ease);
	width: 100%;
}

.zf-marque-logo > span {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 4px;
	line-height: 1;
}

.zf-marque-logo > span b { color: var(--zf-muted); font-size: 9px; letter-spacing: 0.12em; }
.zf-marque-logo > span small { color: var(--zf-muted); font-size: 6px; line-height: 1.2; max-width: 64px; text-align: center; }

.zf-marque-logo:hover,
.zf-marque-logo.is-active {
	background: var(--zf-text);
	border-color: var(--zf-text);
	box-shadow: 0 0 0 7px rgba(239, 243, 246, 0.045), 0 0 38px rgba(211, 25, 36, 0.2);
}

.zf-marque-logo:hover img,
.zf-marque-logo.is-active img {
	filter: brightness(0) saturate(100%) invert(15%) sepia(87%) saturate(4904%) hue-rotate(351deg) brightness(91%) contrast(91%);
	transform: scale(1.06);
}

.zf-marque-logo.is-active > span b,
.zf-marque-logo.is-active > span small { color: var(--zf-accent); }

.zf-marque-orbit__centre {
	height: 650px;
	left: 50%;
	position: absolute;
	top: 74px;
	transform: translateX(-50%);
	width: 650px;
}

.zf-marque-orbit__centre > .zf-gauge {
	left: -5%;
	position: absolute;
	top: 8%;
	width: 110%;
	z-index: 4;
}

.zf-marque-panels {
	background: #0b0a0c;
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	box-shadow: 0 50px 120px rgba(0, 0, 0, 0.75), inset 0 0 0 12px rgba(255, 255, 255, 0.018);
	height: 76%;
	left: 12%;
	overflow: hidden;
	position: absolute;
	top: 21%;
	width: 76%;
}

.zf-marque-panel {
	animation: zf-radial-in 0.82s var(--zf-ease) both;
	height: 100%;
	position: relative;
	width: 100%;
}

.zf-marque-panel[hidden] { display: none; }
.zf-marque-panel__image { height: 100%; overflow: hidden; }
.zf-marque-panel__image::after { background: linear-gradient(to top, rgba(5, 5, 7, 0.9), transparent 58%); content: ""; inset: 0; position: absolute; }

.zf-marque-panel__slices {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.zf-marque-panel__slices i {
	border-right: 1px solid rgba(239, 243, 246, 0.09);
	transform: translateY(calc(var(--zf-scroll-velocity) * 0.8px));
	transition: transform 0.45s var(--zf-ease);
}

.zf-marque-panel__slices i:nth-child(even) { transform: translateY(calc(var(--zf-scroll-velocity) * -0.8px)); }

.zf-marque-panel__caption {
	bottom: 36px;
	left: 50%;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: 72%;
	z-index: 5;
}

.zf-marque-panel__caption span {
	color: var(--zf-text);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.zf-marque-panel__caption p {
	font-size: 11px;
	line-height: 1.5;
	margin: 8px 0 0;
}

.zf-legal {
	border-top: 1px solid var(--zf-line);
	color: var(--zf-muted);
	font-size: 8px;
	letter-spacing: 0.05em;
	margin: 0;
	padding-top: 18px;
	text-align: center;
}

/* Genuine parts vault */
.zf-parts {
	background:
		radial-gradient(circle at 70% 52%, rgba(211, 25, 36, 0.11), transparent 30%),
		var(--zf-bg);
}

.zf-vault {
	background: var(--zf-panel-bg);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	box-shadow: 0 42px 100px rgba(0, 0, 0, var(--zf-panel-shadow));
	display: grid;
	grid-template-columns: minmax(240px, 0.34fr) minmax(0, 1.66fr);
	min-height: 680px;
	overflow: hidden;
}

.zf-vault__rail {
	background: rgba(255, 255, 255, 0.018);
	border-right: 1px solid var(--zf-line);
	display: flex;
	flex-direction: column;
	overflow: auto;
	padding: 24px;
}

.zf-vault-tab {
	align-items: center;
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--zf-soft-line);
	cursor: pointer;
	display: grid;
	gap: 14px;
	grid-template-columns: 26px 1fr;
	min-height: 58px;
	padding: 0 5px;
	text-align: left;
}

.zf-vault-tab span {
	color: var(--zf-accent);
	font-size: 8px;
	font-weight: 600;
}

.zf-vault-tab b {
	color: var(--zf-muted);
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: color 0.3s ease, transform 0.35s var(--zf-ease);
}

.zf-vault-tab:hover b,
.zf-vault-tab.is-active b { color: var(--zf-text); transform: translateX(4px); }

.zf-vault__stage {
	min-width: 0;
	position: relative;
}

.zf-vault__rings {
	aspect-ratio: 1;
	left: 8%;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: min(52vw, 600px);
}

.zf-vault__rings i {
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	inset: 0;
	position: absolute;
}

.zf-vault__rings i:first-child { border-color: rgba(211, 25, 36, 0.38); border-left-color: transparent; }
.zf-vault__rings i:nth-child(2) { inset: 13%; border-style: dashed; }
.zf-vault__rings i:nth-child(3) { inset: 27%; border-color: rgba(211, 25, 36, 0.28); border-right-color: transparent; }

.zf-onepage[data-zf-motion="1"] .zf-vault__rings i:first-child { animation: zf-rotate 24s linear infinite; }
.zf-onepage[data-zf-motion="1"] .zf-vault__rings i:nth-child(2) { animation: zf-rotate-reverse 34s linear infinite; }

.zf-vault__rings span {
	color: rgba(239, 243, 246, 0.035);
	font-size: clamp(120px, 14vw, 220px);
	font-style: italic;
	font-weight: 800;
	left: 50%;
	letter-spacing: -0.1em;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.zf-vault-panel {
	align-items: center;
	animation: zf-part-in 0.8s var(--zf-ease) both;
	display: grid;
	gap: 40px;
	grid-template-columns: minmax(300px, 1fr) minmax(280px, 0.75fr);
	height: 100%;
	min-height: 680px;
	padding: 58px;
	position: relative;
}

.zf-vault-panel[hidden] { display: none; }

.zf-vault-panel__image {
	aspect-ratio: 1;
	border-radius: var(--zf-image-radius);
	filter: drop-shadow(0 28px 50px rgba(0, 0, 0, 0.65));
	position: relative;
	z-index: 2;
}

.zf-vault-panel__image .zf-placeholder { background: transparent; border: 0; }

.zf-vault-panel__copy {
	position: relative;
	z-index: 3;
}

.zf-vault-panel__copy > span,
.zf-location-panel__copy > span {
	color: var(--zf-accent);
	display: block;
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.16em;
	margin-bottom: 24px;
	text-transform: uppercase;
}

.zf-vault-panel__copy p {
	margin: 28px 0;
}

.zf-part-spec {
	align-items: center;
	border-bottom: 1px solid var(--zf-line);
	border-top: 1px solid var(--zf-line);
	display: grid;
	font-size: 8px;
	grid-template-columns: 1fr auto 8px;
	letter-spacing: 0.12em;
	min-height: 52px;
}

.zf-part-spec span { color: var(--zf-muted); }
.zf-part-spec b { font-weight: 600; }
.zf-part-spec i { background: var(--zf-accent); border-radius: 50%; box-shadow: 0 0 12px var(--zf-accent); height: 6px; margin-left: 10px; width: 6px; }

.zf-parts-line {
	align-items: center;
	display: grid;
	font-size: 9px;
	font-weight: 600;
	gap: 24px;
	grid-template-columns: 1fr auto 1fr;
	letter-spacing: 0.16em;
	margin-top: 54px;
	text-transform: uppercase;
}

.zf-parts-line i { background: linear-gradient(90deg, transparent, var(--zf-accent)); height: 1px; }
.zf-parts-line i:last-child { transform: scaleX(-1); }

/* Standard */
.zf-standard {
	background: linear-gradient(120deg, #080709, var(--zf-bg) 52%);
}

.zf-standard__layout {
	align-items: center;
	display: grid;
	gap: clamp(52px, 8vw, 140px);
	grid-template-columns: minmax(440px, 1.08fr) minmax(380px, 0.92fr);
}

.zf-standard__visual {
	min-height: 720px;
	position: relative;
}

.zf-standard__image {
	border: 1px solid var(--zf-line);
	border-radius: var(--zf-radius);
	clip-path: polygon(0 0, 86% 0, 100% 15%, 100% 100%, 14% 100%, 0 85%);
	height: 650px;
	overflow: hidden;
	position: relative;
	width: 84%;
}

.zf-standard__image::after {
	background: linear-gradient(135deg, transparent 45%, rgba(211, 25, 36, 0.28));
	content: "";
	inset: 0;
	position: absolute;
}

.zf-certification {
	align-items: center;
	background: rgba(5, 5, 7, 0.9);
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	bottom: 8px;
	display: flex;
	height: 260px;
	justify-content: center;
	position: absolute;
	right: 0;
	width: 260px;
	z-index: 5;
}

.zf-certification svg {
	animation: zf-rotate 32s linear infinite;
	inset: 14px;
	position: absolute;
}

.zf-certification text {
	fill: var(--zf-muted);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 2.6px;
	text-transform: uppercase;
}

.zf-certification > span {
	color: var(--zf-accent);
	font-size: 70px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.1em;
}

.zf-certification > i {
	background: var(--zf-text);
	height: 1px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: rotate(-38deg);
	transform-origin: left;
	width: 38%;
}

.zf-richtext {
	color: var(--zf-muted);
	font-size: clamp(14px, 1.2vw, 18px);
	line-height: 1.85;
	margin-top: 38px;
	max-width: 620px;
}

.zf-richtext p { margin: 0 0 18px; }

.zf-signature-line {
	align-items: center;
	display: flex;
	font-size: 8px;
	font-weight: 600;
	gap: 16px;
	letter-spacing: 0.18em;
	margin-top: 44px;
}

.zf-signature-line i { background: var(--zf-accent); height: 1px; position: relative; width: 92px; }
.zf-signature-line i::after { background: var(--zf-accent); border-radius: 50%; content: ""; height: 7px; position: absolute; right: 0; top: -3px; width: 7px; }

/* Locations */
.zf-locations {
	background:
		linear-gradient(180deg, transparent, rgba(211, 25, 36, 0.035) 56%, transparent),
		var(--zf-bg);
}

.zf-location-compass {
	background: var(--zf-panel-bg);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	box-shadow: 0 42px 100px rgba(0, 0, 0, var(--zf-panel-shadow));
	overflow: hidden;
	position: relative;
}

.zf-location-compass__map {
	background:
		repeating-linear-gradient(90deg, transparent 0 79px, var(--zf-soft-line) 80px),
		repeating-linear-gradient(0deg, transparent 0 79px, var(--zf-soft-line) 80px),
		linear-gradient(145deg, rgba(27, 21, 21, 0.48), var(--zf-bg));
	border-bottom: 1px solid var(--zf-line);
	height: 300px;
	position: relative;
}

.zf-location-compass__map svg {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.zf-route-base,
.zf-route-live {
	fill: none;
	stroke-width: 2;
}

.zf-route-base { stroke: var(--zf-line); }
.zf-route-live { stroke: var(--zf-accent); stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--zf-route-progress, 0) * 100); transition: stroke-dashoffset 1.2s var(--zf-ease); }

.zf-location-pin {
	align-items: center;
	background: var(--zf-bg);
	border: 1px solid var(--zf-accent);
	border-radius: 50% 50% 50% 0;
	display: flex;
	height: 42px;
	justify-content: center;
	position: absolute;
	transform: rotate(-45deg);
	width: 42px;
	z-index: 3;
}

.zf-location-pin span { font-size: 8px; font-style: normal; font-weight: 600; transform: rotate(45deg); }
.zf-location-pin--one { bottom: 56px; left: calc(10% - 21px); }
.zf-location-pin--two { right: calc(10% - 21px); top: 54px; }

.zf-location-needle {
	background: rgba(5, 5, 7, 0.88);
	border: 1px solid var(--zf-line);
	border-radius: 50%;
	height: 112px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 112px;
}

.zf-location-needle::before { border: 1px dashed rgba(239, 243, 246, 0.16); border-radius: 50%; content: ""; inset: 10px; position: absolute; }
.zf-location-needle i { background: linear-gradient(90deg, var(--zf-accent) 50%, var(--zf-muted) 50%); height: 2px; left: 50%; position: absolute; top: 50%; transform: rotate(var(--zf-location-angle, -28deg)); transform-origin: left; transition: transform 0.9s var(--zf-ease); width: 42%; }

.zf-location-compass__tabs {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
}

.zf-location-tab {
	align-items: center;
	background: rgba(255, 255, 255, 0.014);
	border: 0;
	border-bottom: 1px solid var(--zf-line);
	border-right: 1px solid var(--zf-line);
	cursor: pointer;
	display: grid;
	gap: 20px;
	grid-template-columns: 40px 1fr;
	min-height: 92px;
	padding: 0 34px;
	text-align: left;
}

.zf-location-tab:last-child { border-right: 0; }
.zf-location-tab span { color: var(--zf-accent); font-size: 9px; }
.zf-location-tab b { color: var(--zf-muted); font-size: 12px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; transition: color 0.3s ease; }
.zf-location-tab.is-active { background: var(--zf-accent-faint); }
.zf-location-tab.is-active b,
.zf-location-tab:hover b { color: var(--zf-text); }

.zf-location-panel {
	animation: zf-panel-in 0.78s var(--zf-ease) both;
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(380px, 0.8fr);
	min-height: 520px;
}

.zf-location-panel[hidden] { display: none; }
.zf-location-panel__image { min-height: 520px; overflow: hidden; position: relative; }
.zf-location-panel__image::after { background: linear-gradient(90deg, transparent 54%, rgba(5, 5, 7, 0.82)); content: ""; inset: 0; position: absolute; }
.zf-location-panel__map {
	background: #111115;
	border-radius: var(--zf-image-radius);
	min-height: 560px;
	overflow: hidden;
	position: relative;
}

.zf-location-panel__map iframe {
	border: 0;
	filter: grayscale(1) invert(0.92) contrast(1.18) brightness(0.72);
	height: 100%;
	inset: 0;
	position: absolute;
	transition: filter 0.4s ease, transform 0.8s var(--zf-ease);
	width: 100%;
}

.zf-location-panel__map:hover iframe {
	filter: none !important;
	transform: scale(1.012);
}

.zf-location-panel__map-overlay {
	background:
		linear-gradient(90deg, transparent 54%, rgba(5, 5, 7, 0.84)),
		linear-gradient(180deg, rgba(5, 5, 7, 0.28), transparent 35%, rgba(5, 5, 7, 0.46));
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 2;
}

.zf-location-panel__map-overlay span {
	background: rgba(5, 5, 7, 0.82);
	border: 1px solid rgba(239, 243, 246, 0.18);
	font-size: 7px;
	font-weight: 600;
	left: 22px;
	letter-spacing: 0.14em;
	padding: 8px 10px;
	position: absolute;
	top: 22px;
}

.zf-location-panel__map-overlay i {
	border: 1px solid rgba(239, 243, 246, 0.25);
	border-width: 1px 0 0 1px;
	height: 32px;
	left: 20px;
	position: absolute;
	top: 64px;
	width: 32px;
}

.zf-map-placeholder {
	align-items: center;
	background:
		radial-gradient(circle at 42% 48%, rgba(211, 25, 36, 0.2), transparent 12%),
		repeating-linear-gradient(32deg, transparent 0 45px, rgba(239, 243, 246, 0.055) 46px 47px),
		repeating-linear-gradient(-28deg, transparent 0 60px, rgba(239, 243, 246, 0.04) 61px 62px),
		#0b0a0c;
	display: flex;
	height: 100%;
	inset: 0;
	justify-content: center;
	min-height: inherit;
	position: absolute;
	width: 100%;
}

.zf-map-placeholder span {
	background: rgba(5, 5, 7, 0.86);
	border: 1px solid var(--zf-line);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.14em;
	padding: 12px 15px;
	position: relative;
	z-index: 2;
}

.zf-map-placeholder b {
	color: rgba(239, 243, 246, 0.045);
	font-size: clamp(120px, 18vw, 280px);
	font-style: italic;
	font-weight: 800;
	position: absolute;
}

.zf-map-placeholder i {
	border: 1px solid var(--zf-accent);
	border-radius: 50% 50% 50% 0;
	height: 44px;
	left: 42%;
	position: absolute;
	top: 48%;
	transform: rotate(-45deg);
	width: 44px;
}
.zf-location-panel__copy { display: flex; flex-direction: column; justify-content: center; padding: clamp(38px, 5vw, 78px); }
.zf-location-panel__copy p { margin: 28px 0 38px; }
.zf-location-actions { border-top: 1px solid var(--zf-line); display: flex; flex-direction: column; }

.zf-mini-action {
	align-items: center;
	border-bottom: 1px solid var(--zf-soft-line);
	display: flex;
	font-size: 9px;
	font-weight: 600;
	justify-content: space-between;
	letter-spacing: 0.12em;
	min-height: 48px;
	text-transform: uppercase;
	transition: color 0.3s ease, padding 0.35s var(--zf-ease);
}

.zf-mini-action i { font-style: normal; }
.zf-mini-action:hover { color: var(--zf-accent); padding-left: 8px; }

/* Footer */
.zf-footer {
	background:
		radial-gradient(circle at 22% 52%, rgba(211, 25, 36, 0.14), transparent 30%),
		var(--zf-bg);
	min-height: 850px;
	padding-bottom: 72px;
}

.zf-footer__layout {
	align-items: center;
	display: grid;
	gap: clamp(50px, 8vw, 130px);
	grid-template-columns: minmax(440px, 1fr) minmax(420px, 1fr);
}

.zf-footer__gauge {
	position: relative;
}

.zf-footer__gauge .zf-gauge__segments { stroke: var(--zf-text); }
.zf-footer__gauge .zf-gauge { --zf-angle: -136deg; }

.zf-footer__zero {
	color: rgba(239, 243, 246, 0.055);
	font-size: clamp(220px, 26vw, 430px);
	font-style: italic;
	font-weight: 800;
	left: 50%;
	letter-spacing: -0.12em;
	line-height: 0.7;
	position: absolute;
	top: 52%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.zf-footer__copy > p { margin: 34px 0; }
.zf-footer__direct .zf-button { min-width: 0; width: calc(50% - 6px); }
.zf-socials { display: flex; flex-wrap: wrap; gap: 14px 20px; margin-top: 30px; }
.zf-social-link { align-items: center; color: var(--zf-muted); display: inline-flex; font-size: 8px; gap: 8px; letter-spacing: 0.14em; text-transform: uppercase; }
.zf-social-link i { font-style: normal; }
.zf-social-link:hover { color: var(--zf-text); }

.zf-footer__bar {
	align-items: center;
	border-top: 1px solid var(--zf-line);
	bottom: 0;
	color: var(--zf-muted);
	display: flex;
	font-size: 7px;
	justify-content: space-between;
	left: clamp(24px, 4vw, 72px);
	letter-spacing: 0.12em;
	min-height: 72px;
	position: absolute;
	right: clamp(24px, 4vw, 72px);
	text-transform: uppercase;
}

/* Motion states */
.zf-onepage[data-zf-motion="1"] [data-zf-reveal] {
	clip-path: inset(0 0 18% 0);
	opacity: 0;
	transform: translateY(calc(42px * var(--zf-strength, 0.72)));
	transition: opacity 0.85s ease, transform 1.05s var(--zf-ease), clip-path 1.05s var(--zf-ease);
}

.zf-progress {
	align-items: center;
	background: rgba(5, 5, 7, 0.8);
	border: 1px solid var(--zf-line);
	border-radius: 0;
	display: grid;
	gap: 10px;
	grid-template-columns: auto 96px 32px;
	left: 22px;
	padding: 10px 12px;
}

.zf-progress__line {
	background: var(--zf-line);
	height: 2px;
	overflow: hidden;
}

.zf-progress__line i {
	background: var(--zf-accent);
	display: block;
	height: 100%;
	transform: scaleX(var(--zf-page-progress));
	transform-origin: left;
}

.zf-progress > b {
	font-size: 8px;
	font-variant-numeric: tabular-nums;
	font-weight: 600;
	text-align: right;
}

.zf-onepage[data-zf-motion="1"] [data-zf-reveal].is-inview {
	clip-path: inset(0 0 0 0);
	opacity: 1;
	transform: translateY(0);
}

.zf-onepage[data-zf-motion="0"] [data-zf-reveal] {
	clip-path: none;
	opacity: 1;
	transform: none;
}

@keyframes zf-scan {
	0%, 14% { transform: translateY(-40px); opacity: 0; }
	28% { opacity: 0.74; }
	72% { opacity: 0.52; }
	88%, 100% { transform: translateY(680px); opacity: 0; }
}

@keyframes zf-scroll-cue {
	0% { transform: translateY(0); }
	70%, 100% { transform: translateY(50px); }
}

@keyframes zf-panel-in {
	0% { clip-path: inset(0 0 0 100%); opacity: 0; transform: translateX(24px); }
	100% { clip-path: inset(0); opacity: 1; transform: translateX(0); }
}

@keyframes zf-radial-in {
	0% { clip-path: circle(0 at 50% 50%); opacity: 0; transform: scale(1.08); }
	100% { clip-path: circle(72% at 50% 50%); opacity: 1; transform: scale(1); }
}

@keyframes zf-part-in {
	0% { opacity: 0; transform: rotate(-2deg) scale(0.94); }
	100% { opacity: 1; transform: rotate(0) scale(1); }
}

@keyframes zf-rotate { to { transform: rotate(360deg); } }
@keyframes zf-rotate-reverse { to { transform: rotate(-360deg); } }

/* Elementor editor */
body.elementor-editor-active .zf-onepage {
	margin-left: 0;
	width: 100%;
}

body.elementor-editor-active .zf-onepage .zf-header {
	position: absolute;
}

body.elementor-editor-active .zf-onepage .zf-progress {
	display: none;
}

/* Responsive */
@media (max-width: 1260px) {
	.zf-header { grid-template-columns: 180px auto 1fr; }
	.zf-header__status { display: none; }
	.zf-nav a { min-width: 96px; padding-inline: 13px; }
	.zf-hero__layout { grid-template-columns: minmax(330px, 0.84fr) minmax(460px, 1.16fr); }
	.zf-service-panel { grid-template-columns: minmax(0, 1.05fr) minmax(300px, 0.95fr); }
	.zf-service-panel__content { padding: 42px; }
	.zf-marque-orbit__ring { height: 720px; width: 720px; }
	.zf-marque-logo { transform: translate(-50%, -50%) rotate(var(--zf-orbit-angle, 0deg)) translateY(-360px) rotate(calc(-1 * var(--zf-orbit-angle, 0deg))); }
	.zf-marque-orbit__centre { height: 590px; top: 66px; width: 590px; }
	.zf-marque-orbit { min-height: 830px; }
}

@media (max-width: 1024px) {
	.zf-header { display: flex; justify-content: space-between; }
	.zf-menu-toggle { display: block; }
	.zf-nav {
		background: rgba(5, 5, 7, 0.98);
		border-bottom: 1px solid var(--zf-line);
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		height: auto;
		left: 0;
		opacity: 0;
		padding: 84px 24px 28px;
		pointer-events: none;
		position: absolute;
		right: 0;
		top: 0;
		transform: translateY(-20px);
		transition: opacity 0.35s ease, transform 0.45s var(--zf-ease);
	}
	.zf-nav.is-open { opacity: 1; pointer-events: auto; transform: translateY(0); }
	.zf-nav a { border: 1px solid var(--zf-soft-line); min-height: 64px; }
	.zf-hero { min-height: auto; }
	.zf-hero__layout { grid-template-columns: 1fr; }
	.zf-hero__copy .zf-display { max-width: 780px; }
	.zf-hero__machine { margin: 0 auto; max-width: 760px; width: 100%; }
	.zf-service-dial { grid-template-columns: 1fr; }
	.zf-service-dial__controls { border-bottom: 1px solid var(--zf-line); border-right: 0; display: grid; grid-template-columns: repeat(3, 1fr); }
	.zf-service-tab { padding-inline: 12px; }
	.zf-service-dial__meter { display: none; }
	.zf-service-panel { min-height: 760px; }
	.zf-marque-orbit__ring { height: 650px; width: 650px; }
	.zf-marque-logo { height: 82px; padding: 16px; transform: translate(-50%, -50%) rotate(var(--zf-orbit-angle, 0deg)) translateY(-325px) rotate(calc(-1 * var(--zf-orbit-angle, 0deg))); width: 82px; }
	.zf-marque-orbit__centre { height: 530px; top: 60px; width: 530px; }
	.zf-marque-orbit { min-height: 750px; }
	.zf-vault { grid-template-columns: 1fr; }
	.zf-vault__rail { border-bottom: 1px solid var(--zf-line); border-right: 0; display: grid; grid-template-columns: repeat(3, 1fr); max-height: 240px; }
	.zf-vault-tab { padding-inline: 10px; }
	.zf-vault__rings { width: 540px; }
	.zf-standard__layout { grid-template-columns: 1fr; }
	.zf-standard__visual { margin: 0 auto; max-width: 760px; width: 100%; }
	.zf-standard__copy { max-width: 760px; }
	.zf-footer__layout { grid-template-columns: 1fr; }
	.zf-footer__gauge { margin: 0 auto; max-width: 720px; width: 100%; }
}

@media (max-width: 767px) {
	.zf-onepage { --zf-section-space: 96px; font-size: 15px; }
	.zf-wrap { padding-inline: 20px; }
	.zf-header { min-height: 68px; padding-inline: 20px; }
	.zf-logo { max-width: 150px; }
	.zf-nav { grid-template-columns: 1fr; padding-inline: 20px; }
	.zf-nav a { min-height: 56px; }
	.zf-progress { bottom: 14px; left: 14px; }
	.zf-progress > span { display: none; }
	.zf-progress__ring { height: 48px; width: 48px; }
	.zf-section-head { align-items: start; gap: 28px; grid-template-columns: 1fr; margin-bottom: 52px; }
	.zf-section-head > p { border-left: 0; border-top: 1px solid var(--zf-line); padding: 22px 0 0; }
	.zf-display { font-size: clamp(45px, 14vw, 70px); }
	.zf-section-title { font-size: clamp(40px, 12.5vw, 66px); }
	.zf-panel-title { font-size: clamp(31px, 9vw, 48px); }
	.zf-hero { padding-block: 106px 80px; }
	.zf-hero__layout { gap: 46px; }
	.zf-hero__copy .zf-display { font-size: clamp(45px, 14vw, 70px); }
	.zf-hero__copy .zf-lead { margin: 25px 0 30px; }
	.zf-button { min-width: 0; width: 100%; }
	.zf-hero__machine { aspect-ratio: 0.98; }
	.zf-hero__portal { height: 70%; left: 12%; top: 18%; width: 76%; }
	.zf-reading-strip { top: 86%; }
	.zf-scroll-cue { display: none; }
	.zf-service-dial { border-radius: 12px; }
	.zf-service-dial__controls { display: flex; flex-direction: row; overflow-x: auto; padding: 16px; scrollbar-width: none; }
	.zf-service-dial__controls::-webkit-scrollbar { display: none; }
	.zf-service-tab { flex: 0 0 148px; grid-template-columns: 22px 1fr; min-height: 58px; }
	.zf-service-tab i { display: none; }
	.zf-service-panel { display: flex; flex-direction: column; min-height: 0; }
	.zf-service-panel[hidden] { display: none; }
	.zf-service-panel__media { min-height: 420px; }
	.zf-service-panel__content { padding: 34px 24px 40px; }
	.zf-panel-index { font-size: 92px; margin-bottom: 38px; }
	.zf-inspection-cursor { height: 86px; width: 86px; }
	.zf-service-panel__media:hover .zf-service-panel__detail,
	.zf-service-panel__media.is-touching .zf-service-panel__detail { clip-path: circle(84px at var(--zf-lens-x) var(--zf-lens-y)); }
	.zf-marque-orbit { min-height: auto; }
	.zf-marque-orbit__ring { display: flex; gap: 10px; height: auto; left: auto; overflow-x: auto; padding: 8px 2px 20px; position: relative; top: auto; transform: none; width: 100%; }
	.zf-marque-orbit__track { display: none; }
	.zf-marque-logo { flex: 0 0 76px; height: 76px; left: auto; padding: 14px; position: relative; top: auto; transform: none !important; width: 76px; }
	.zf-marque-orbit__centre { height: auto; left: auto; position: relative; top: auto; transform: none; width: 100%; }
	.zf-marque-orbit__centre > .zf-gauge { left: -5%; top: -2%; }
	.zf-marque-panels { aspect-ratio: 1; height: auto; left: 8%; position: relative; top: 42px; width: 84%; }
	.zf-legal { margin-top: 82px; text-align: left; }
	.zf-vault { border-radius: 12px; }
	.zf-vault__rail { display: flex; flex-direction: row; max-height: none; overflow-x: auto; padding: 14px; }
	.zf-vault-tab { flex: 0 0 158px; }
	.zf-vault-panel { display: flex; flex-direction: column; min-height: 640px; padding: 30px 22px 44px; }
	.zf-vault-panel[hidden] { display: none; }
	.zf-vault-panel__image { max-width: 360px; width: 100%; }
	.zf-vault__rings { left: 50%; top: 40px; transform: translateX(-50%); width: 420px; }
	.zf-parts-line { font-size: 8px; gap: 12px; }
	.zf-standard__visual { min-height: 580px; }
	.zf-standard__image { height: 520px; width: 92%; }
	.zf-certification { bottom: 0; height: 190px; width: 190px; }
	.zf-certification > span { font-size: 52px; }
	.zf-location-compass__map { height: 220px; }
	.zf-location-needle { height: 84px; width: 84px; }
	.zf-location-compass__tabs { grid-template-columns: 1fr; }
	.zf-location-tab { border-right: 0; min-height: 70px; padding-inline: 22px; }
	.zf-location-panel { display: flex; flex-direction: column; }
	.zf-location-panel[hidden] { display: none; }
	.zf-location-panel__image { min-height: 360px; }
	.zf-location-panel__copy { padding: 34px 24px 42px; }
	.zf-footer { min-height: auto; padding-bottom: 88px; }
	.zf-footer__direct .zf-button { width: 100%; }
	.zf-footer__bar { align-items: flex-start; flex-direction: column; justify-content: center; left: 20px; right: 20px; }
}

/* Responsive overrides for the rebuilt hero and Google Maps */
@media (max-width: 1024px) {
	.zf-hero {
		min-height: var(--zf-hero-min-height);
		padding: 0;
	}

	.zf-hero__frame {
		grid-template-areas:
			"copy copy"
			"instrument instrument"
			"status status";
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
		min-height: var(--zf-hero-min-height);
		padding-bottom: 30px;
		padding-top: calc(var(--zf-header-height) + 86px);
	}

	.zf-hero__copy {
		align-self: start;
		padding-bottom: 46px;
	}

	.zf-hero__instrument {
		justify-self: end;
		margin: 0 0 34px;
		max-width: 540px;
	}

	.zf-hero__status-rail {
		width: 100%;
	}

	.zf-hero-layout-editorial .zf-hero__backdrop {
		clip-path: polygon(24% 0, 100% 0, 100% 100%, 0 100%);
		left: 27%;
		width: 73%;
	}

	.zf-hero-layout-centered .zf-hero__frame {
		grid-template-areas:
			"copy"
			"instrument"
			"status";
		grid-template-columns: 1fr;
		grid-template-rows: auto auto auto;
	}

	.zf-hero-layout-centered .zf-hero__copy {
		align-self: start;
	}

	.zf-hero-layout-centered .zf-hero__instrument {
		justify-self: center;
	}
}

@media (max-width: 767px) {
	.zf-hero {
		min-height: max(820px, var(--zf-hero-min-height));
		padding: 0;
	}

	.zf-hero__backdrop,
	.zf-hero-layout-editorial .zf-hero__backdrop,
	.zf-hero-layout-centered .zf-hero__backdrop {
		border: 0;
		clip-path: none;
		inset: 0;
		left: 0;
		width: 100%;
	}

	.zf-hero__shade,
	.zf-hero-layout-editorial .zf-hero__shade,
	.zf-hero-layout-centered .zf-hero__shade {
		background:
			linear-gradient(180deg, rgba(5, 5, 7, 0.72), rgba(5, 5, 7, 0.38) 30%, rgba(5, 5, 7, 0.72) 58%, rgba(5, 5, 7, 0.98) 86%),
			radial-gradient(circle at 68% 42%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 52%);
	}

	.zf-hero__frame,
	.zf-hero-layout-centered .zf-hero__frame {
		display: flex;
		flex-direction: column;
		min-height: max(820px, var(--zf-hero-min-height));
		padding-bottom: 20px;
		padding-top: calc(var(--zf-header-height) + 58px);
	}

	.zf-hero__copy,
	.zf-hero-layout-centered .zf-hero__copy {
		align-self: stretch;
		max-width: 100%;
		padding-bottom: 38px;
		text-align: left;
	}

	.zf-hero__copy::before {
		height: 76px;
		left: -12px;
	}

	.zf-hero__copy .zf-display {
		font-size: clamp(46px, 14vw, 70px);
		max-width: 100%;
	}

	.zf-hero-layout-centered .zf-hero__copy .zf-lead {
		margin-inline: 0;
	}

	.zf-hero-layout-centered .zf-actions {
		justify-content: flex-start;
	}

	.zf-hero__instrument,
	.zf-hero-layout-editorial .zf-hero__instrument,
	.zf-hero-layout-centered .zf-hero__instrument {
		align-self: stretch;
		clip-path: polygon(0 0, calc(100% - 18px) 0, 100% 18px, 100% 100%, 18px 100%, 0 calc(100% - 18px));
		margin: auto 0 18px;
		max-width: none;
		padding: 16px 16px 12px;
		width: 100%;
	}

	.zf-hero__instrument-label {
		justify-content: flex-start;
	}

	.zf-hero__instrument .zf-reading-strip {
		bottom: 12px;
	}

	.zf-hero__status-rail,
	.zf-hero-layout-centered .zf-hero__status-rail {
		grid-template-columns: 1fr;
		min-height: 0;
	}

	.zf-hero__status-rail > div {
		border-bottom: 1px solid rgba(239, 243, 246, 0.1);
		border-right: 0;
		min-height: 46px;
		padding-inline: 15px;
	}

	.zf-hero__status-rail > div:last-child {
		border-bottom: 0;
	}

	.zf-hero__zero {
		font-size: 430px;
		right: -18%;
		top: 38%;
	}

	.zf-hero__redline i {
		height: 104vw;
		right: -44%;
		top: 18%;
		width: 104vw;
	}

	.zf-hero__redline span {
		right: 20%;
		top: 28%;
	}

	.zf-location-panel__map {
		min-height: 420px;
	}

	.zf-location-panel__map-overlay {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.24), transparent 60%, rgba(5, 5, 7, 0.72));
	}
}

@media (prefers-reduced-motion: reduce) {
	.zf-onepage *,
	.zf-onepage *::before,
	.zf-onepage *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}

	.zf-onepage [data-zf-reveal] {
		clip-path: none !important;
		opacity: 1 !important;
		transform: none !important;
	}

	.zf-ambient__red {
		background: radial-gradient(circle at 82% 10%, rgba(211, 25, 36, 0.12), transparent 28%);
	}
}

[dir="rtl"] .zf-onepage {
	font-family: Cairo, Poppins, Arial, sans-serif;
}

[dir="rtl"] .zf-section-head > p {
	border-left: 0;
	border-right: 1px solid var(--zf-line);
	padding-left: 0;
	padding-right: 28px;
}

[dir="rtl"] .zf-service-tab,
[dir="rtl"] .zf-vault-tab,
[dir="rtl"] .zf-location-tab {
	text-align: right;
}

/* v1.2 — lightweight precision direction */
.zf-onepage {
	--zf-header-blur: 8px;
	--zf-hero-min-height: 88svh;
	--zf-hero-copy-width: 690px;
	--zf-hero-overlay: 0.68;
	--zf-hero-red: 0.42;
	--zf-hero-brightness: 88%;
	--zf-hero-saturation: 96%;
	--zf-hero-media-start: 42%;
}

.zf-ambient__red {
	background:
		radial-gradient(circle at 84% 12%, rgba(211, 25, 36, 0.14), transparent 28%),
		radial-gradient(circle at 12% 78%, rgba(211, 25, 36, 0.06), transparent 26%);
	filter: none;
}

.zf-onepage[data-zf-motion="1"] [data-zf-reveal] {
	clip-path: none;
	transform: translateY(calc(20px * var(--zf-strength, 0.48)));
	transition: opacity 0.65s ease, transform 0.75s var(--zf-ease);
}

/* Lightweight hero: one image, one cutline, one compact technical layer. */
.zf-hero {
	background: #050507;
	min-height: var(--zf-hero-min-height);
}

.zf-hero::before {
	display: none;
}

.zf-hero-lite__media {
	background: #0a090b;
	clip-path: polygon(9% 0, 100% 0, 100% 100%, 0 100%);
	inset: 0 0 0 var(--zf-hero-media-start);
	overflow: hidden;
	position: absolute;
	z-index: 0;
}

.zf-hero-lite__media > img,
.zf-hero-lite__media > .zf-placeholder {
	filter: brightness(var(--zf-hero-brightness)) saturate(var(--zf-hero-saturation));
	height: 100%;
	min-height: 100%;
	object-fit: cover;
	width: 100%;
}

.zf-hero-lite__media > .zf-placeholder {
	filter: none;
}

.zf-hero-lite__wash {
	background:
		linear-gradient(90deg, #050507 0 38%, rgba(5, 5, 7, calc(var(--zf-hero-overlay) * 0.86)) 55%, rgba(5, 5, 7, 0.12) 100%),
		linear-gradient(180deg, rgba(5, 5, 7, 0.48), transparent 34%, transparent 70%, rgba(5, 5, 7, 0.9)),
		radial-gradient(circle at 78% 48%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 42%);
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 1;
}

.zf-hero-lite__cutline {
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	position: absolute;
	z-index: 3;
}

.zf-hero-lite__cutline i {
	background: linear-gradient(to bottom, transparent, var(--zf-accent) 18%, var(--zf-accent) 82%, transparent);
	box-shadow: 0 0 18px rgba(211, 25, 36, 0.38);
	height: 150%;
	left: 54%;
	position: absolute;
	top: -25%;
	transform: rotate(14deg);
	width: 1px;
}

.zf-hero-lite__mark {
	bottom: 36px;
	color: rgba(239, 243, 246, 0.09);
	font-size: clamp(54px, 7.2vw, 126px);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.08em;
	pointer-events: none;
	position: absolute;
	right: clamp(24px, 4vw, 72px);
	z-index: 2;
}

.zf-hero-lite__frame,
.zf-hero-layout-editorial .zf-hero-lite__frame,
.zf-hero-layout-centered .zf-hero-lite__frame {
	display: grid;
	grid-template-areas: "copy technical";
	grid-template-columns: minmax(0, 1.08fr) minmax(300px, 0.72fr);
	grid-template-rows: 1fr;
	min-height: var(--zf-hero-min-height);
	padding-bottom: clamp(62px, 7vw, 108px);
	padding-top: calc(var(--zf-header-height) + clamp(46px, 6vw, 86px));
}

.zf-hero .zf-hero__copy,
.zf-hero-layout-centered .zf-hero__copy {
	align-self: center;
	grid-area: copy;
	justify-self: stretch;
	max-width: var(--zf-hero-copy-width);
	padding-bottom: 0;
	text-align: left;
}

.zf-hero .zf-hero__copy::before {
	height: 72px;
	left: -22px;
}

.zf-hero .zf-hero__copy .zf-display {
	font-size: clamp(54px, 5.45vw, 102px);
	line-height: 0.96;
	text-shadow: none;
}

.zf-hero .zf-hero__copy .zf-lead {
	margin: 26px 0 32px;
	max-width: 580px;
}

.zf-hero-layout-centered .zf-actions {
	justify-content: flex-start;
}

.zf-hero-lite__technical {
	align-self: end;
	background: rgba(5, 5, 7, 0.78);
	border: 1px solid rgba(239, 243, 246, 0.14);
	grid-area: technical;
	justify-self: end;
	max-width: 420px;
	padding: 22px;
	width: 100%;
}

.zf-hero-lite__vehicle,
.zf-contact__signal {
	align-items: center;
	display: grid;
	font-size: 8px;
	font-weight: 600;
	gap: 14px;
	grid-template-columns: auto 1fr;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.zf-hero-lite__vehicle i,
.zf-contact__signal i {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	height: 1px;
}

.zf-precision-bar {
	align-items: center;
	display: grid;
	gap: 12px;
	grid-template-columns: 1fr 8px auto;
	margin-top: 22px;
}

.zf-precision-bar span {
	background: var(--zf-line);
	height: 3px;
	overflow: hidden;
	position: relative;
}

.zf-precision-bar span::after {
	background: linear-gradient(90deg, rgba(211, 25, 36, 0.18), var(--zf-accent));
	content: "";
	inset: 0;
	position: absolute;
	transform: scaleX(var(--zf-page-progress));
	transform-origin: left;
}

.zf-precision-bar i {
	background: var(--zf-accent);
	box-shadow: 0 0 10px rgba(211, 25, 36, 0.6);
	height: 7px;
	width: 7px;
}

.zf-precision-bar b {
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.zf-hero-lite__status {
	border-top: 1px solid var(--zf-line);
	display: grid;
	gap: 8px;
	grid-template-columns: repeat(3, 1fr);
	margin-top: 20px;
	padding-top: 16px;
}

.zf-hero-lite__status span {
	color: var(--zf-muted);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.45;
	text-transform: uppercase;
}

.zf-hero-layout-editorial .zf-hero-lite__media {
	clip-path: polygon(0 0, 91% 0, 100% 100%, 0 100%);
	inset: 0 var(--zf-hero-media-start) 0 0;
}

.zf-hero-layout-editorial .zf-hero-lite__wash {
	background:
		linear-gradient(90deg, rgba(5, 5, 7, 0.14), rgba(5, 5, 7, 0.76) 48%, #050507 66%),
		radial-gradient(circle at 25% 50%, rgba(211, 25, 36, var(--zf-hero-red)), transparent 42%);
}

.zf-hero-layout-editorial .zf-hero-lite__frame {
	grid-template-columns: minmax(300px, 0.72fr) minmax(0, 1.08fr);
}

.zf-hero-layout-editorial .zf-hero__copy {
	grid-column: 2;
}

.zf-hero-layout-editorial .zf-hero-lite__technical {
	grid-column: 1;
	justify-self: start;
}

.zf-hero-layout-centered .zf-hero-lite__media {
	clip-path: none;
	inset: 0;
}

.zf-hero-layout-centered .zf-hero-lite__wash {
	background: linear-gradient(180deg, rgba(5, 5, 7, 0.78), rgba(5, 5, 7, 0.4) 48%, rgba(5, 5, 7, 0.92));
}

.zf-hero-layout-centered .zf-hero-lite__frame {
	grid-template-areas: "copy" "technical";
	grid-template-columns: 1fr;
	grid-template-rows: 1fr auto;
}

.zf-hero-layout-centered .zf-hero__copy {
	justify-self: center;
	text-align: center;
}

.zf-hero-layout-centered .zf-hero__copy .zf-lead {
	margin-inline: auto;
}

.zf-hero-layout-centered .zf-actions {
	justify-content: center;
}

.zf-hero-layout-centered .zf-hero-lite__technical {
	justify-self: center;
	max-width: 640px;
}

/* Vehicle marques: editorial feature stage with logo rail. */
.zf-marque-stage {
	background: var(--zf-panel-bg);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	overflow: hidden;
}

.zf-marque-feature {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(330px, 0.75fr);
	min-height: 620px;
}

.zf-marque-feature[hidden] {
	display: none;
}

.zf-onepage[data-zf-motion="1"] .zf-marque-feature.is-active {
	animation: zf-feature-in 0.52s var(--zf-ease) both;
}

.zf-marque-feature__image {
	min-height: 620px;
	overflow: hidden;
	position: relative;
}

.zf-marque-feature__image::after {
	background: linear-gradient(90deg, transparent 58%, rgba(5, 5, 7, 0.76));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.zf-marque-feature__image > img,
.zf-marque-feature__image > .zf-placeholder {
	height: 100%;
	min-height: 620px;
	object-fit: cover;
	width: 100%;
}

.zf-marque-feature__image > span {
	bottom: 18px;
	color: rgba(239, 243, 246, 0.3);
	font-size: clamp(86px, 10vw, 170px);
	font-style: italic;
	font-weight: 800;
	left: 24px;
	letter-spacing: -0.08em;
	line-height: 0.72;
	position: absolute;
	z-index: 2;
}

.zf-marque-feature__copy {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(38px, 5vw, 78px);
	position: relative;
}

.zf-marque-feature__copy::before {
	background: var(--zf-accent);
	content: "";
	height: 62px;
	left: 0;
	position: absolute;
	top: 12%;
	width: 2px;
}

.zf-marque-feature__logo {
	align-items: center;
	display: flex;
	height: 70px;
	margin-bottom: 36px;
	max-width: 180px;
}

.zf-marque-feature__logo img {
	filter: grayscale(1) brightness(2.4);
	max-height: 62px;
	object-fit: contain;
	object-position: left center;
	width: auto;
}

.zf-marque-feature__logo strong {
	font-size: 18px;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.zf-marque-feature__copy > span {
	color: var(--zf-accent);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.13em;
	text-transform: uppercase;
}

.zf-marque-feature__copy h3 {
	font-size: clamp(42px, 4.2vw, 72px);
	font-style: italic;
	letter-spacing: -0.055em;
	line-height: 0.96;
	margin: 14px 0 24px;
	text-transform: uppercase;
}

.zf-marque-feature__copy p {
	color: var(--zf-muted);
	font-size: 14px;
	margin: 0;
	max-width: 400px;
}

.zf-marque-feature__line {
	align-items: center;
	display: grid;
	gap: 14px;
	grid-template-columns: 1fr auto;
	margin-top: 42px;
}

.zf-marque-feature__line i {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	height: 1px;
}

.zf-marque-feature__line b {
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.12em;
}

.zf-marque-rail {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.zf-marque-rail__item {
	align-items: center;
	background: rgba(255, 255, 255, 0.012);
	border: 0;
	border-right: 1px solid var(--zf-soft-line);
	border-top: 1px solid var(--zf-line);
	cursor: pointer;
	display: flex;
	height: 92px;
	justify-content: center;
	padding: 18px;
	position: relative;
	transition: background 0.25s ease, color 0.25s ease;
}

.zf-marque-rail__item::after {
	background: var(--zf-accent);
	bottom: -1px;
	content: "";
	height: 3px;
	left: 50%;
	position: absolute;
	transform: translateX(-50%) scaleX(0);
	transition: transform 0.35s var(--zf-ease);
	width: 48%;
}

.zf-marque-rail__item.is-active,
.zf-marque-rail__item:hover {
	background: var(--zf-accent-faint);
}

.zf-marque-rail__item.is-active::after {
	transform: translateX(-50%) scaleX(1);
}

.zf-marque-rail__item img {
	filter: grayscale(1) brightness(1.8);
	max-height: 42px;
	max-width: 112px;
	object-fit: contain;
	opacity: 0.6;
	transition: filter 0.25s ease, opacity 0.25s ease;
}

.zf-marque-rail__item.is-active img,
.zf-marque-rail__item:hover img {
	filter: none;
	opacity: 1;
}

.zf-marque-rail__item span {
	font-size: 9px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-align: center;
	text-transform: uppercase;
}

/* Genuine Parts: an assurance story, never a sales catalogue. */
.zf-parts-proof {
	background: var(--zf-panel-bg);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	display: grid;
	grid-template-columns: minmax(0, 1.18fr) minmax(380px, 0.82fr);
	overflow: hidden;
}

.zf-parts-proof__image {
	min-height: 650px;
	overflow: hidden;
	position: relative;
}

.zf-parts-proof__image::after {
	background: linear-gradient(90deg, transparent 60%, rgba(5, 5, 7, 0.7));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.zf-parts-proof__image > img,
.zf-parts-proof__image > .zf-placeholder {
	height: 100%;
	min-height: 650px;
	object-fit: cover;
	width: 100%;
}

.zf-parts-proof__seal {
	align-items: center;
	background: rgba(5, 5, 7, 0.86);
	border: 1px solid rgba(239, 243, 246, 0.24);
	bottom: 28px;
	display: flex;
	flex-direction: column;
	height: 112px;
	justify-content: center;
	left: 28px;
	position: absolute;
	width: 112px;
	z-index: 2;
}

.zf-parts-proof__seal::before {
	border: 1px solid var(--zf-accent);
	content: "";
	inset: 8px;
	position: absolute;
}

.zf-parts-proof__seal span {
	font-size: 29px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.08em;
}

.zf-parts-proof__seal b {
	color: var(--zf-accent);
	font-size: 7px;
	letter-spacing: 0.14em;
}

.zf-parts-proof__assurances {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(32px, 4vw, 68px);
}

.zf-parts-proof__statement {
	border-bottom: 1px solid var(--zf-line);
	display: flex;
	flex-direction: column;
	margin-bottom: 8px;
	padding-bottom: 28px;
}

.zf-parts-proof__statement span {
	color: var(--zf-accent);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.14em;
}

.zf-parts-proof__statement strong {
	font-size: clamp(24px, 2.4vw, 38px);
	font-style: italic;
	letter-spacing: -0.04em;
	line-height: 1.05;
	margin-top: 10px;
}

.zf-parts-proof__assurances article {
	border-bottom: 1px solid var(--zf-soft-line);
	display: grid;
	gap: 22px;
	grid-template-columns: 28px 1fr;
	padding: 27px 0;
}

.zf-parts-proof__assurances article > span {
	color: var(--zf-accent);
	font-size: 9px;
	font-weight: 600;
}

.zf-parts-proof__assurances h3 {
	font-size: 13px;
	letter-spacing: 0.1em;
	margin: 0 0 8px;
}

.zf-parts-proof__assurances p {
	color: var(--zf-muted);
	font-size: 13px;
	line-height: 1.65;
	margin: 0;
}

/* Contact form and WordPress submission channel. */
.zf-contact {
	background:
		linear-gradient(135deg, rgba(211, 25, 36, 0.07), transparent 34%),
		#080709;
}

.zf-contact__layout {
	align-items: start;
	display: grid;
	gap: clamp(50px, 7vw, 110px);
	grid-template-columns: minmax(320px, 0.7fr) minmax(520px, 1.3fr);
}

.zf-contact__intro {
	position: sticky;
	top: calc(var(--zf-header-height) + 40px);
}

.zf-contact__intro > p {
	color: var(--zf-muted);
	margin: 30px 0 28px;
	max-width: 480px;
}

.zf-contact__direct {
	display: grid;
	gap: 0;
	margin: 0 0 34px;
	max-width: 480px;
}

.zf-contact__direct .zf-mini-action {
	border-top: 1px solid var(--zf-soft-line);
	min-width: 0;
	overflow-wrap: anywhere;
}

.zf-contact__signal {
	grid-template-columns: auto 1fr auto;
}

.zf-contact__signal b {
	color: var(--zf-accent);
	font-size: 8px;
}

.zf-contact-form {
	background: #0b0a0c;
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.22);
	padding: 54px;
	position: relative;
}

.zf-contact-form::before {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: -1px;
	width: 38%;
}

.zf-contact-form__grid {
	display: grid;
	gap: 25px 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.zf-contact-field {
	display: flex;
	flex-direction: column;
	gap: 9px;
}

.zf-contact-field--wide {
	grid-column: 1 / -1;
}

.zf-contact-field > span {
	color: var(--zf-muted);
	font-size: 8px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.zf-contact-field input,
.zf-contact-field select,
.zf-contact-field textarea {
	appearance: none;
	background: #050507;
	border: 1px solid rgba(239, 243, 246, 0.18);
	border-radius: 6px;
	color: var(--zf-text);
	font: inherit;
	font-size: 14px;
	min-height: 58px;
	outline: none;
	padding: 15px 17px;
	transition: border-color 0.25s ease, box-shadow 0.25s ease;
	width: 100%;
}

.zf-contact-field select {
	background-image: linear-gradient(45deg, transparent 50%, var(--zf-muted) 50%), linear-gradient(135deg, var(--zf-muted) 50%, transparent 50%);
	background-position: calc(100% - 20px) 25px, calc(100% - 15px) 25px;
	background-repeat: no-repeat;
	background-size: 5px 5px, 5px 5px;
	padding-right: 40px;
}

.zf-contact-field select option {
	background: #050507;
	color: var(--zf-text);
}

.zf-contact-field textarea {
	min-height: 148px;
	resize: vertical;
}

.zf-contact-field input:focus,
.zf-contact-field select:focus,
.zf-contact-field textarea:focus {
	border-color: var(--zf-accent);
	box-shadow: 0 0 0 3px rgba(211, 25, 36, 0.1);
}

.zf-contact-field textarea::placeholder {
	color: color-mix(in srgb, var(--zf-muted), transparent 24%);
}

.zf-contact-consent {
	cursor: pointer;
	display: block;
	margin: 26px 0;
}

.zf-contact-consent input {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

.zf-contact-consent > span {
	align-items: flex-start;
	color: var(--zf-muted);
	display: flex;
	font-size: 11px;
	gap: 12px;
	line-height: 1.55;
}

.zf-contact-consent i {
	border: 1px solid var(--zf-line);
	flex: 0 0 18px;
	height: 18px;
	position: relative;
}

.zf-contact-consent input:checked + span i {
	background: var(--zf-accent);
	border-color: var(--zf-accent);
}

.zf-contact-consent input:checked + span i::after {
	border: solid #fff;
	border-width: 0 2px 2px 0;
	content: "";
	height: 9px;
	left: 6px;
	position: absolute;
	top: 3px;
	transform: rotate(45deg);
	width: 4px;
}

.zf-contact-consent input:focus-visible + span i {
	outline: 2px solid var(--zf-text);
	outline-offset: 3px;
}

.zf-contact-form__footer {
	align-items: center;
	border-top: 1px solid var(--zf-soft-line);
	display: grid;
	gap: 20px;
	grid-template-columns: auto 1fr;
	padding-top: 28px;
}

.zf-contact-form__footer .zf-button {
	border: 0;
	cursor: pointer;
}

.zf-contact-form__footer .zf-button:disabled {
	cursor: wait;
	opacity: 0.58;
}

.zf-contact-status {
	color: var(--zf-muted);
	font-size: 10px;
	line-height: 1.45;
}

.zf-contact-status.is-success {
	color: #7fe0a1;
}

.zf-contact-status.is-error {
	color: #ff7c84;
}

.zf-contact-honeypot {
	clip: rect(0 0 0 0);
	clip-path: inset(50%);
	height: 1px;
	overflow: hidden;
	position: absolute;
	white-space: nowrap;
	width: 1px;
}

/* Typographic close; the dial is now reserved for capabilities only. */
.zf-footer {
	min-height: 660px;
}

.zf-footer__word {
	display: grid;
	grid-template-columns: 1fr;
	position: relative;
}

.zf-footer__word span,
.zf-footer__word b {
	font-size: clamp(92px, 13vw, 210px);
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.1em;
	line-height: 0.72;
}

.zf-footer__word b {
	color: var(--zf-accent);
	font-weight: 800;
	justify-self: end;
}

.zf-footer__word i {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	height: 2px;
	margin: 26px 0 32px;
	width: 74%;
}

@keyframes zf-feature-in {
	from { opacity: 0; transform: translateY(12px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1100px) {
	.zf-hero-lite__frame,
	.zf-hero-layout-editorial .zf-hero-lite__frame {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 0.55fr);
	}

	.zf-marque-feature {
		grid-template-columns: minmax(0, 1.15fr) minmax(300px, 0.85fr);
	}

	.zf-parts-proof {
		grid-template-columns: 1fr 1fr;
	}

	.zf-contact__layout {
		gap: 50px;
		grid-template-columns: minmax(280px, 0.75fr) minmax(470px, 1.25fr);
	}
}

@media (max-width: 820px) {
	.zf-hero-lite__media,
	.zf-hero-layout-editorial .zf-hero-lite__media,
	.zf-hero-layout-centered .zf-hero-lite__media {
		clip-path: none;
		inset: 0;
	}

	.zf-hero-lite__wash,
	.zf-hero-layout-editorial .zf-hero-lite__wash,
	.zf-hero-layout-centered .zf-hero-lite__wash {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.64), rgba(5, 5, 7, 0.78) 54%, #050507 92%);
	}

	.zf-hero-lite__frame,
	.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-hero-layout-centered .zf-hero-lite__frame {
		grid-template-areas: "copy" "technical";
		grid-template-columns: 1fr;
		grid-template-rows: 1fr auto;
		min-height: max(780px, var(--zf-hero-min-height));
	}

	.zf-hero-layout-editorial .zf-hero__copy,
	.zf-hero-layout-editorial .zf-hero-lite__technical {
		grid-column: auto;
	}

	.zf-hero .zf-hero__copy,
	.zf-hero-layout-centered .zf-hero__copy {
		align-self: end;
		justify-self: start;
		text-align: left;
	}

	.zf-hero-layout-centered .zf-actions {
		justify-content: flex-start;
	}

	.zf-hero-lite__technical {
		justify-self: start;
		max-width: 100%;
	}

	.zf-marque-feature,
	.zf-parts-proof,
	.zf-contact__layout {
		grid-template-columns: 1fr;
	}

	.zf-marque-feature__image,
	.zf-marque-feature__image > img,
	.zf-marque-feature__image > .zf-placeholder {
		min-height: 460px;
	}

	.zf-marque-rail {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.zf-parts-proof__image,
	.zf-parts-proof__image > img,
	.zf-parts-proof__image > .zf-placeholder {
		min-height: 500px;
	}

	.zf-contact__intro {
		position: static;
	}
}

@media (max-width: 560px) {
	.zf-hero-lite__frame,
	.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-hero-layout-centered .zf-hero-lite__frame {
		min-height: max(760px, var(--zf-hero-min-height));
		padding-bottom: 64px;
	}

	.zf-hero .zf-hero__copy .zf-display {
		font-size: clamp(44px, 14vw, 68px);
	}

	.zf-hero-lite__status {
		grid-template-columns: 1fr;
	}

	.zf-hero-lite__cutline i {
		left: 72%;
	}

	.zf-marque-feature__image,
	.zf-marque-feature__image > img,
	.zf-marque-feature__image > .zf-placeholder {
		min-height: 340px;
	}

	.zf-marque-feature__copy {
		padding: 34px 24px 42px;
	}

	.zf-marque-rail {
		display: flex;
		overflow-x: auto;
	}

	.zf-marque-rail__item {
		flex: 0 0 132px;
	}

	.zf-parts-proof__image,
	.zf-parts-proof__image > img,
	.zf-parts-proof__image > .zf-placeholder {
		min-height: 360px;
	}

	.zf-contact-form {
		padding: 28px 20px;
	}

	.zf-contact-form__grid,
	.zf-contact-form__footer {
		grid-template-columns: 1fr;
	}

	.zf-contact-field--wide {
		grid-column: auto;
	}

	.zf-footer__layout {
		grid-template-columns: 1fr;
	}
}

[dir="rtl"] .zf-hero .zf-hero__copy,
[dir="rtl"] .zf-marque-feature__copy,
[dir="rtl"] .zf-contact-field {
	text-align: right;
}

[dir="rtl"] .zf-marque-feature__logo img {
	object-position: right center;
}

/* v1.3 — dependable before/after motion and refined visual systems. */
.zf-onepage-v13 {
	--zf-hero-zoom: 1.04;
	--zf-hero-frame-radius: 12px;
	--zf-hero-pointer-x: 0;
	--zf-hero-pointer-y: 0;
	--zf-service-reveal-speed: 480ms;
	--zf-parts-image-size: 600px;
}

/* Hero: cinematic framed image with lightweight pointer depth. */
.zf-onepage-v13 .zf-hero {
	background:
		radial-gradient(circle at 74% 42%, rgba(211, 25, 36, 0.12), transparent 30%),
		linear-gradient(115deg, #050507 0 52%, #0a080a 100%);
}

.zf-onepage-v13 .zf-hero-lite__media {
	border: 1px solid rgba(239, 243, 246, 0.17);
	border-radius: var(--zf-hero-frame-radius);
	box-shadow: 0 38px 90px rgba(0, 0, 0, 0.5);
	clip-path: none;
	inset: calc(var(--zf-header-height) + 28px) clamp(24px, 3.2vw, 62px) clamp(46px, 5vh, 76px) var(--zf-hero-media-start);
}

.zf-onepage-v13 .zf-hero-lite__media::after {
	background:
		linear-gradient(110deg, transparent 52%, rgba(211, 25, 36, 0.17)),
		linear-gradient(180deg, transparent 58%, rgba(5, 5, 7, 0.62));
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.zf-onepage-v13 .zf-hero-lite__media > img {
	transform: translate3d(
		calc(var(--zf-hero-pointer-x) * -10px),
		calc(var(--zf-hero-pointer-y) * -7px),
		0
	) scale(var(--zf-hero-zoom));
	transition: transform 0.8s var(--zf-ease), filter 0.35s ease;
}

.zf-onepage-v13 .zf-hero-lite__wash {
	background:
		linear-gradient(90deg, #050507 0 34%, rgba(5, 5, 7, 0.88) 43%, rgba(5, 5, 7, 0.18) 70%, rgba(5, 5, 7, 0.36)),
		linear-gradient(180deg, rgba(5, 5, 7, 0.32), transparent 38%, rgba(5, 5, 7, 0.72));
}

.zf-onepage-v13 .zf-hero-lite__cutline i {
	background: linear-gradient(to bottom, transparent, var(--zf-accent) 22%, var(--zf-accent) 76%, transparent);
	height: 130%;
	left: calc(var(--zf-hero-media-start) + 2.5%);
	top: -15%;
	transform: rotate(8deg);
}

.zf-hero-lite__aperture {
	border: 1px solid rgba(239, 243, 246, 0.15);
	border-radius: var(--zf-hero-frame-radius);
	inset: calc(var(--zf-header-height) + 28px) clamp(24px, 3.2vw, 62px) clamp(46px, 5vh, 76px) var(--zf-hero-media-start);
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

.zf-hero-lite__aperture i {
	border-color: var(--zf-accent);
	border-style: solid;
	height: 32px;
	position: absolute;
	width: 32px;
}

.zf-hero-lite__aperture i:nth-child(1) { border-width: 2px 0 0 2px; left: -1px; top: -1px; }
.zf-hero-lite__aperture i:nth-child(2) { border-width: 2px 2px 0 0; right: -1px; top: -1px; }
.zf-hero-lite__aperture i:nth-child(3) { border-width: 0 0 2px 2px; bottom: -1px; left: -1px; }
.zf-hero-lite__aperture i:nth-child(4) { border-width: 0 2px 2px 0; bottom: -1px; right: -1px; }

.zf-hero-lite__index {
	align-items: center;
	background: rgba(5, 5, 7, 0.82);
	border: 1px solid rgba(239, 243, 246, 0.15);
	bottom: clamp(62px, 7vh, 96px);
	display: flex;
	gap: 16px;
	left: calc(var(--zf-hero-media-start) + 22px);
	max-width: 420px;
	padding: 11px 14px;
	pointer-events: none;
	position: absolute;
	z-index: 5;
}

.zf-hero-lite__index span {
	color: var(--zf-accent);
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.14em;
	white-space: nowrap;
}

.zf-hero-lite__index b {
	border-left: 1px solid var(--zf-line);
	color: var(--zf-muted);
	font-size: 7px;
	font-weight: 600;
	letter-spacing: 0.1em;
	overflow: hidden;
	padding-left: 16px;
	text-overflow: ellipsis;
	text-transform: uppercase;
	white-space: nowrap;
}

.zf-onepage-v13 .zf-hero-lite__mark {
	color: rgba(239, 243, 246, 0.055);
	font-size: clamp(74px, 9vw, 160px);
	right: 1.5vw;
	top: 18%;
	writing-mode: vertical-rl;
}

.zf-onepage-v13.zf-hero-layout-editorial .zf-hero-lite__media {
	inset: calc(var(--zf-header-height) + 28px) var(--zf-hero-media-start) clamp(46px, 5vh, 76px) clamp(24px, 3.2vw, 62px);
}

.zf-onepage-v13.zf-hero-layout-editorial .zf-hero-lite__aperture {
	inset: calc(var(--zf-header-height) + 28px) var(--zf-hero-media-start) clamp(46px, 5vh, 76px) clamp(24px, 3.2vw, 62px);
}

.zf-onepage-v13.zf-hero-layout-editorial .zf-hero-lite__index {
	left: clamp(46px, 5vw, 86px);
}

.zf-onepage-v13.zf-hero-layout-centered .zf-hero-lite__media,
.zf-onepage-v13.zf-hero-layout-centered .zf-hero-lite__aperture {
	inset: calc(var(--zf-header-height) + 24px) clamp(20px, 3vw, 54px) 44px;
}

.zf-onepage-v13.zf-hero-layout-centered .zf-hero-lite__index {
	left: clamp(42px, 5vw, 86px);
}

/* Services: horizontal 3:2 media and full-frame fault-to-repair reveal. */
.zf-onepage-v13 .zf-service-dial {
	grid-template-columns: minmax(220px, 0.32fr) minmax(0, 1.68fr);
	min-height: 0;
}

.zf-onepage-v13 .zf-service-panel {
	align-items: center;
	grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
	height: auto;
	min-height: 0;
}

.zf-onepage-v13 .zf-service-panel__media {
	aspect-ratio: 3 / 2;
	align-self: center;
	box-shadow: inset 0 0 0 1px rgba(239, 243, 246, 0.12);
	cursor: default;
	height: auto;
	min-height: 0 !important;
	outline: none;
	width: 100%;
}

.zf-onepage-v13 .zf-service-panel__media.has-repair {
	cursor: pointer;
}

.zf-onepage-v13 .zf-service-panel__base,
.zf-onepage-v13 .zf-service-panel__detail,
.zf-onepage-v13 .zf-service-panel__base > img,
.zf-onepage-v13 .zf-service-panel__detail > img,
.zf-onepage-v13 .zf-service-panel__base > .zf-placeholder,
.zf-onepage-v13 .zf-service-panel__detail > .zf-placeholder {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.zf-onepage-v13 .zf-service-panel__base::after {
	background: linear-gradient(90deg, transparent 68%, rgba(5, 5, 7, 0.36));
}

.zf-onepage-v13 .zf-service-panel__detail {
	clip-path: none;
	filter: none;
	opacity: 0;
	transform: scale(1.025);
	transition:
		opacity var(--zf-service-reveal-speed) ease,
		transform calc(var(--zf-service-reveal-speed) + 140ms) var(--zf-ease);
	z-index: 3;
}

.zf-onepage-v13 .zf-service-panel__media:hover .zf-service-panel__detail,
.zf-onepage-v13 .zf-service-panel__media:focus .zf-service-panel__detail,
.zf-onepage-v13 .zf-service-panel__media.is-revealed .zf-service-panel__detail {
	clip-path: none;
	opacity: 1;
	transform: scale(1);
}

.zf-service-image-label {
	align-items: center;
	background: rgba(5, 5, 7, 0.84);
	border: 1px solid rgba(239, 243, 246, 0.18);
	display: inline-flex;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.16em;
	min-height: 28px;
	padding: 0 11px;
	position: absolute;
	right: 20px;
	top: 20px;
	z-index: 6;
}

.zf-service-image-label--fault { color: var(--zf-text); }
.zf-service-image-label--repair { border-color: rgba(211, 25, 36, 0.55); color: var(--zf-accent); }

.zf-service-reveal-hint {
	align-items: center;
	background: rgba(5, 5, 7, 0.78);
	bottom: 20px;
	display: flex;
	font-size: 7px;
	font-weight: 600;
	gap: 9px;
	letter-spacing: 0.12em;
	padding: 7px 10px;
	position: absolute;
	right: 20px;
	z-index: 7;
}

.zf-service-reveal-hint i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(211, 25, 36, 0.7);
	height: 6px;
	width: 6px;
}

.zf-onepage-v13 .zf-service-panel__media:hover .zf-service-reveal-hint,
.zf-onepage-v13 .zf-service-panel__media:focus .zf-service-reveal-hint,
.zf-onepage-v13 .zf-service-panel__media.is-revealed .zf-service-reveal-hint {
	opacity: 0;
}

/* Theme-proof title colors. */
.zf-onepage-v13 .zf-panel-title,
.zf-onepage-v13 .zf-section-title,
.zf-onepage-v13 .zf-marque-feature__copy h3,
.zf-onepage-v13 .zf-marque-feature__logo strong,
.zf-onepage-v13 .zf-marque-rail__item span,
.zf-onepage-v13 .zf-parts-orbit__item h3,
.zf-onepage-v13 .zf-parts-orbit__statement strong {
	color: var(--zf-text) !important;
}

.zf-onepage-v13 .zf-marque-rail {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.zf-onepage-v13 .zf-marque-rail__item span {
	line-height: 1.35;
}

/* Parts: centre image with assurances arranged around it. */
.zf-parts-orbit {
	background:
		radial-gradient(circle at 50% 48%, rgba(211, 25, 36, 0.08), transparent 28%),
		linear-gradient(145deg, rgba(255, 255, 255, 0.018), transparent 52%);
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	min-height: 820px;
	overflow: hidden;
	position: relative;
}

.zf-parts-orbit::before,
.zf-parts-orbit::after {
	background: linear-gradient(90deg, transparent, rgba(239, 243, 246, 0.1), transparent);
	content: "";
	height: 1px;
	left: 8%;
	position: absolute;
	right: 8%;
	top: 50%;
}

.zf-parts-orbit::after {
	left: 50%;
	right: auto;
	top: 8%;
	transform: rotate(90deg);
	transform-origin: left center;
	width: 84%;
}

.zf-parts-orbit__core {
	aspect-ratio: 1;
	left: 50%;
	position: absolute;
	top: 47%;
	transform: translate(-50%, -50%);
	width: min(var(--zf-parts-image-size), 58%);
	z-index: 2;
}

.zf-parts-orbit__image {
	background: radial-gradient(circle, rgba(18, 20, 23, 0.72), rgba(5, 5, 7, 0.2) 68%, transparent 72%);
	border-radius: 50%;
	height: 100%;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.zf-parts-orbit__image::after {
	background: radial-gradient(circle, transparent 48%, rgba(5, 5, 7, 0.72) 78%);
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.zf-parts-orbit__image > img,
.zf-parts-orbit__image > .zf-placeholder {
	height: 100%;
	min-height: 0;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 1;
}

.zf-parts-orbit__rings,
.zf-parts-orbit__rings i {
	border: 1px solid rgba(239, 243, 246, 0.14);
	border-radius: 50%;
	inset: -5%;
	pointer-events: none;
	position: absolute;
}

.zf-parts-orbit__rings i:first-child { border-color: rgba(211, 25, 36, 0.26); inset: 8%; }
.zf-parts-orbit__rings i:nth-child(2) { border-style: dashed; inset: 18%; }
.zf-parts-orbit__rings i:nth-child(3) { border-color: rgba(211, 25, 36, 0.18); inset: 31%; }

.zf-onepage[data-zf-motion="1"] .zf-parts-orbit__rings {
	animation: zf-rotate 38s linear infinite;
}

.zf-onepage[data-zf-motion="1"] .zf-parts-orbit__rings i:nth-child(2) {
	animation: zf-rotate-reverse 26s linear infinite;
}

.zf-parts-orbit__statement {
	background: rgba(5, 5, 7, 0.9);
	border: 1px solid rgba(239, 243, 246, 0.18);
	bottom: -20px;
	left: 50%;
	max-width: 310px;
	padding: 18px 22px;
	position: absolute;
	text-align: center;
	transform: translateX(-50%);
	width: 70%;
	z-index: 5;
}

.zf-parts-orbit__statement span {
	color: var(--zf-accent);
	display: block;
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.16em;
	margin-bottom: 8px;
}

.zf-parts-orbit__statement strong {
	display: block;
	font-size: clamp(18px, 1.8vw, 28px);
	font-style: italic;
	letter-spacing: -0.035em;
	line-height: 1.05;
}

.zf-parts-orbit__assurances {
	inset: 0;
	pointer-events: none;
	position: absolute;
	z-index: 4;
}

.zf-parts-orbit__item {
	background: rgba(5, 5, 7, 0.88);
	border: 1px solid rgba(239, 243, 246, 0.14);
	display: grid;
	gap: 16px;
	grid-template-columns: 28px 1fr;
	padding: 22px;
	pointer-events: auto;
	position: absolute;
	transition: border-color 0.3s ease, transform 0.35s var(--zf-ease);
	width: min(300px, 24%);
}

.zf-parts-orbit__item:hover {
	border-color: rgba(211, 25, 36, 0.6);
	transform: translateY(-4px);
}

.zf-parts-orbit__item > span {
	color: var(--zf-accent);
	font-size: 9px;
	font-weight: 700;
}

.zf-parts-orbit__item h3 {
	font-size: 12px;
	letter-spacing: 0.1em;
	margin: 0 0 8px;
}

.zf-parts-orbit__item p {
	color: var(--zf-muted);
	font-size: 12px;
	line-height: 1.62;
	margin: 0;
}

.zf-parts-orbit__item > i {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	height: 1px;
	position: absolute;
	top: 50%;
	width: 82px;
}

.zf-parts-orbit__item--1 { left: 4%; top: 11%; }
.zf-parts-orbit__item--1 > i { right: -82px; }
.zf-parts-orbit__item--2 { right: 4%; top: 20%; }
.zf-parts-orbit__item--2 > i { left: -82px; transform: scaleX(-1); }
.zf-parts-orbit__item--3 { bottom: 10%; left: 7%; }
.zf-parts-orbit__item--3 > i { right: -82px; }
.zf-parts-orbit__item--4 { bottom: 8%; right: 6%; }
.zf-parts-orbit__item--4 > i { left: -82px; transform: scaleX(-1); }

/* Replaceable ZF marks. */
.zf-certification__logo {
	height: auto;
	max-height: 92px;
	object-fit: contain;
	position: relative;
	width: auto;
	z-index: 2;
}

.zf-certification__fallback {
	color: var(--zf-accent);
	font-size: 70px;
	font-style: italic;
	font-weight: 800;
	letter-spacing: -0.1em;
}

.zf-footer__brand {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 320px;
	position: relative;
}

.zf-footer__brand::before {
	border: 1px solid rgba(239, 243, 246, 0.1);
	border-radius: 50%;
	content: "";
	height: min(34vw, 460px);
	position: absolute;
	width: min(34vw, 460px);
}

.zf-footer__brand::after {
	background: linear-gradient(90deg, transparent, var(--zf-accent), transparent);
	content: "";
	height: 1px;
	position: absolute;
	width: 90%;
}

.zf-footer__logo {
	filter: drop-shadow(0 18px 45px rgba(0, 0, 0, 0.48));
	height: auto;
	object-fit: contain;
	position: relative;
	width: 100%;
	z-index: 2;
}

.zf-onepage-v13 .zf-footer {
	min-height: 680px;
}

@media (max-width: 1100px) {
	.zf-parts-orbit { min-height: 760px; }
	.zf-parts-orbit__core { width: min(var(--zf-parts-image-size), 54%); }
	.zf-parts-orbit__item { padding: 18px; width: 27%; }
	.zf-parts-orbit__item > i { width: 48px; }
	.zf-parts-orbit__item--1 > i,
	.zf-parts-orbit__item--3 > i { right: -48px; }
	.zf-parts-orbit__item--2 > i,
	.zf-parts-orbit__item--4 > i { left: -48px; }
}

@media (max-width: 820px) {
	.zf-onepage-v13 .zf-hero-lite__media,
	.zf-onepage-v13.zf-hero-layout-editorial .zf-hero-lite__media,
	.zf-onepage-v13.zf-hero-layout-centered .zf-hero-lite__media {
		border: 0;
		border-radius: 0;
		inset: 0;
	}

	.zf-onepage-v13 .zf-hero-lite__media > img { transform: scale(var(--zf-hero-zoom)); }
	.zf-hero-lite__aperture,
	.zf-hero-lite__index { display: none; }

	.zf-onepage-v13 .zf-service-dial { grid-template-columns: 1fr; }
	.zf-onepage-v13 .zf-service-panel {
		display: flex;
		flex-direction: column;
	}
	.zf-onepage-v13 .zf-service-panel[hidden] { display: none; }
	.zf-onepage-v13 .zf-service-panel__media { aspect-ratio: 3 / 2; }
	.zf-onepage-v13 .zf-service-panel__content { width: 100%; }

	.zf-onepage-v13 .zf-marque-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.zf-parts-orbit {
		min-height: 0 !important;
		overflow: visible;
		padding: 42px 24px 28px;
	}
	.zf-parts-orbit::before,
	.zf-parts-orbit::after { display: none; }
	.zf-parts-orbit__core {
		left: auto;
		margin: 0 auto 70px;
		position: relative;
		top: auto;
		transform: none;
		width: min(var(--zf-parts-image-size), 92%);
	}
	.zf-parts-orbit__assurances {
		display: grid;
		gap: 12px;
		grid-template-columns: 1fr;
		position: static;
	}
	.zf-parts-orbit__item,
	.zf-parts-orbit__item--1,
	.zf-parts-orbit__item--2,
	.zf-parts-orbit__item--3,
	.zf-parts-orbit__item--4 {
		bottom: auto;
		left: auto;
		position: relative;
		right: auto;
		top: auto;
		width: 100%;
	}
	.zf-parts-orbit__item > i { display: none; }

	.zf-footer__brand { min-height: 220px; }
	.zf-footer__brand::before { height: min(72vw, 430px); width: min(72vw, 430px); }
}

@media (max-width: 560px) {
	.zf-onepage-v13 .zf-service-panel__media { aspect-ratio: 4 / 3; }
	.zf-service-image-label { right: 14px; top: 14px; }
	.zf-service-reveal-hint { bottom: 14px; right: 14px; }
	.zf-onepage-v13 .zf-marque-rail { display: flex; }
	.zf-parts-orbit { padding-inline: 16px; }
	.zf-parts-orbit__statement { width: 84%; }
}

@media (prefers-reduced-motion: reduce) {
	.zf-onepage-v13 .zf-hero-lite__media > img { transform: scale(var(--zf-hero-zoom)); }
}

/* v1.4 — stable responsive composition, cursor repair lens and connected journeys. */
.zf-onepage-v14 {
	--zf-service-lens-size: 190px;
}

/* A calmer, image-led hero with no oversized frame or diagonal collision. */
.zf-onepage-v14 .zf-hero {
	background: #050507;
	min-height: max(720px, var(--zf-hero-min-height));
	overflow: hidden;
}

.zf-onepage-v14 .zf-hero-lite__media,
.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__media,
.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__media {
	border: 0;
	border-left: 1px solid rgba(211, 25, 36, 0.54);
	border-radius: 0;
	box-shadow: none;
	clip-path: none;
	inset: 0 0 0 max(44%, var(--zf-hero-media-start));
}

.zf-onepage-v14 .zf-hero-lite__media::after {
	background:
		linear-gradient(90deg, rgba(5, 5, 7, 0.72), transparent 34%),
		linear-gradient(180deg, rgba(5, 5, 7, 0.12), transparent 46%, rgba(5, 5, 7, 0.76));
}

.zf-onepage-v14 .zf-hero-lite__wash,
.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__wash,
.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__wash {
	background:
		linear-gradient(90deg, #050507 0 37%, rgba(5, 5, 7, 0.93) 43%, rgba(5, 5, 7, 0.18) 67%, rgba(5, 5, 7, 0.18)),
		radial-gradient(circle at 67% 46%, rgba(211, 25, 36, 0.11), transparent 32%);
}

.zf-onepage-v14 .zf-hero-lite__cutline,
.zf-onepage-v14 .zf-hero-lite__mark,
.zf-onepage-v14 .zf-hero-lite__aperture,
.zf-onepage-v14 .zf-hero-lite__index {
	display: none;
}

.zf-onepage-v14 .zf-hero-lite__frame,
.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__frame,
.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__frame {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.58fr);
	min-height: max(720px, var(--zf-hero-min-height));
	padding-bottom: 92px;
	padding-top: calc(var(--zf-header-height) + 88px);
}

.zf-onepage-v14 .zf-hero .zf-hero__copy,
.zf-onepage-v14.zf-hero-layout-editorial .zf-hero__copy,
.zf-onepage-v14.zf-hero-layout-centered .zf-hero__copy {
	align-self: center;
	grid-column: 1;
	justify-self: start;
	max-width: min(760px, 100%);
	padding-right: clamp(24px, 4vw, 76px);
	text-align: left;
}

.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-display {
	font-size: clamp(52px, 4.55vw, 86px) !important;
	letter-spacing: -0.064em;
	line-height: 0.93;
	max-width: 760px;
}

.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-lead {
	font-size: clamp(16px, 1.25vw, 22px);
	line-height: 1.65;
	max-width: 690px;
}

.zf-onepage-v14 .zf-hero-lite__technical,
.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__technical,
.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__technical {
	align-self: end;
	background: rgba(5, 5, 7, 0.82);
	border: 1px solid rgba(239, 243, 246, 0.16);
	grid-column: 2;
	justify-self: end;
	margin-bottom: 8px;
	max-width: 460px;
	padding: 20px;
	width: 100%;
}

.zf-onepage-v14 .zf-hero-lite__status {
	gap: 8px;
}

@media (min-width: 821px) {
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__media {
		border-left: 0;
		border-right: 1px solid rgba(211, 25, 36, 0.54);
		inset: 0 max(44%, var(--zf-hero-media-start)) 0 0;
	}

	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, rgba(5, 5, 7, 0.16) 0 32%, rgba(5, 5, 7, 0.9) 55%, #050507 78%),
			radial-gradient(circle at 32% 46%, rgba(211, 25, 36, 0.1), transparent 32%);
	}

	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__frame {
		grid-template-columns: minmax(320px, 0.58fr) minmax(0, 0.92fr);
	}

	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero__copy {
		grid-column: 2;
		padding-left: clamp(24px, 4vw, 76px);
		padding-right: 0;
	}

	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__technical {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__media {
		border: 0;
		inset: 0;
	}

	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__wash {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.5), rgba(5, 5, 7, 0.58)), radial-gradient(circle at 50% 50%, transparent 0 25%, rgba(5, 5, 7, 0.68) 80%);
	}

	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__frame {
		display: flex;
		justify-content: center;
	}

	.zf-onepage-v14.zf-hero-layout-centered .zf-hero__copy {
		align-self: center;
		max-width: 920px;
		padding: 0;
		text-align: center;
	}

	.zf-onepage-v14.zf-hero-layout-centered .zf-actions { justify-content: center; }
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__technical { display: none; }
}

/* Services: the image fills the panel and the repaired image appears only under the cursor. */
.zf-onepage-v14 .zf-capabilities .zf-section-head .zf-kicker > span,
.zf-onepage-v14 .zf-service-tab > span,
.zf-onepage-v14 .zf-panel-index,
.zf-onepage-v14 .zf-service-dial__meter,
.zf-onepage-v14 .zf-capabilities .zf-placeholder__index {
	display: none !important;
}

.zf-onepage-v14 .zf-service-dial {
	display: block;
	min-height: 0;
}

.zf-onepage-v14 .zf-service-dial__controls {
	border-right: 0;
	border-bottom: 1px solid var(--zf-panel-border);
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	padding: 0;
	position: relative;
}

.zf-onepage-v14 .zf-service-tab {
	border-bottom: 0;
	border-right: 1px solid var(--zf-panel-border);
	grid-template-columns: 1fr 12px;
	min-height: 78px;
	padding: 16px 18px;
}

.zf-onepage-v14 .zf-service-tab:last-of-type {
	border-right: 0;
}

.zf-onepage-v14 .zf-service-tab b {
	font-size: 11px;
	letter-spacing: 0.1em;
}

.zf-onepage-v14 .zf-service-dial__panels {
	min-width: 0;
}

.zf-onepage-v14 .zf-service-panel {
	align-items: stretch;
	display: grid;
	grid-template-columns: minmax(0, 1.32fr) minmax(330px, 0.68fr);
	height: auto;
	min-height: 640px;
}

.zf-onepage-v14 .zf-service-panel[hidden] {
	display: none;
}

.zf-onepage-v14 .zf-service-panel__media {
	--zf-lens-x: 50%;
	--zf-lens-y: 50%;
	align-self: stretch;
	aspect-ratio: auto !important;
	height: 100%;
	min-height: 640px !important;
	overflow: hidden;
	width: 100%;
}

.zf-onepage-v14 .zf-service-panel__base,
.zf-onepage-v14 .zf-service-panel__detail,
.zf-onepage-v14 .zf-service-panel__base > img,
.zf-onepage-v14 .zf-service-panel__detail > img,
.zf-onepage-v14 .zf-service-panel__base > .zf-placeholder,
.zf-onepage-v14 .zf-service-panel__detail > .zf-placeholder {
	height: 100%;
	inset: 0;
	object-fit: cover;
	position: absolute;
	width: 100%;
}

.zf-onepage-v14 .zf-service-panel__detail {
	clip-path: circle(0 at var(--zf-lens-x) var(--zf-lens-y));
	filter: none;
	opacity: 1;
	transform: none;
	transition: clip-path 130ms linear;
	z-index: 3;
}

.zf-onepage-v14 .zf-service-panel__media:hover .zf-service-panel__detail,
.zf-onepage-v14 .zf-service-panel__media:focus .zf-service-panel__detail,
.zf-onepage-v14 .zf-service-panel__media.is-revealed .zf-service-panel__detail {
	clip-path: circle(calc(var(--zf-service-lens-size) / 2) at var(--zf-lens-x) var(--zf-lens-y));
	opacity: 1;
	transform: none;
}

.zf-service-reveal-lens {
	align-items: center;
	border: 1px solid rgba(239, 243, 246, 0.72);
	border-radius: 50%;
	display: flex;
	height: var(--zf-service-lens-size);
	justify-content: center;
	left: var(--zf-lens-x);
	opacity: 0;
	pointer-events: none;
	position: absolute;
	top: var(--zf-lens-y);
	transform: translate(-50%, -50%) scale(0.86);
	transition: opacity 0.16s ease, transform 0.2s var(--zf-ease);
	width: var(--zf-service-lens-size);
	z-index: 8;
}

.zf-service-reveal-lens::before,
.zf-service-reveal-lens::after {
	background: rgba(239, 243, 246, 0.68);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.zf-service-reveal-lens::before { height: 1px; width: 26px; }
.zf-service-reveal-lens::after { height: 26px; width: 1px; }

.zf-service-reveal-lens i {
	border: 1px solid var(--zf-accent);
	border-radius: 50%;
	height: 14px;
	width: 14px;
}

.zf-service-reveal-lens span {
	background: rgba(5, 5, 7, 0.86);
	bottom: 16px;
	color: var(--zf-text);
	font-size: 7px;
	font-weight: 700;
	letter-spacing: 0.15em;
	padding: 5px 8px;
	position: absolute;
}

.zf-onepage-v14 .zf-service-panel__media:hover .zf-service-reveal-lens,
.zf-onepage-v14 .zf-service-panel__media:focus .zf-service-reveal-lens,
.zf-onepage-v14 .zf-service-panel__media.is-revealed .zf-service-reveal-lens {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

.zf-onepage-v14 .zf-service-panel__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(36px, 4.2vw, 74px);
}

.zf-onepage-v14 .zf-service-panel__content .zf-panel-title {
	font-size: clamp(40px, 3.6vw, 68px);
}

.zf-onepage-v14 .zf-media-reticle {
	display: none;
}

/* Brand carousel controls: no visual numbering, with arrows and autoplay status. */
.zf-onepage-v14 .zf-marque-feature__image > span {
	display: none !important;
}

.zf-onepage-v14 .zf-marques .zf-kicker > span,
.zf-onepage-v14 .zf-marques .zf-placeholder__index {
	display: none !important;
}

.zf-marque-stage__nav {
	align-items: center;
	border: 1px solid var(--zf-panel-border);
	border-top: 0;
	display: grid;
	grid-template-columns: 64px 1fr 64px;
	margin-top: -1px;
}

.zf-marque-stage__nav button {
	align-items: center;
	background: transparent;
	border: 0;
	color: var(--zf-text);
	cursor: pointer;
	display: flex;
	font-size: 22px;
	height: 58px;
	justify-content: center;
	transition: background 0.25s ease, color 0.25s ease;
}

.zf-marque-stage__nav button:first-child { border-right: 1px solid var(--zf-panel-border); }
.zf-marque-stage__nav button:last-child { border-left: 1px solid var(--zf-panel-border); }
.zf-marque-stage__nav button:hover,
.zf-marque-stage__nav button:focus-visible { background: var(--zf-accent); color: #fff; }

.zf-marque-stage__nav > span {
	color: var(--zf-muted);
	font-size: 8px;
	font-weight: 700;
	letter-spacing: 0.16em;
	text-align: center;
}

/* Door-to-door collection journey. */
.zf-collection {
	background:
		radial-gradient(circle at 76% 50%, rgba(211, 25, 36, 0.1), transparent 32%),
		#080709;
}

.zf-collection__layout {
	align-items: center;
	display: grid;
	gap: clamp(60px, 8vw, 130px);
	grid-template-columns: minmax(320px, 0.82fr) minmax(0, 1.18fr);
}

.zf-collection__copy > p,
.zf-app__copy > p {
	color: var(--zf-muted);
	font-size: clamp(16px, 1.3vw, 21px);
	line-height: 1.75;
	margin: 30px 0;
	max-width: 660px;
}

.zf-collection__areas {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 30px;
}

.zf-collection__areas span {
	align-items: center;
	border: 1px solid var(--zf-panel-border);
	color: var(--zf-text);
	display: inline-flex;
	font-size: 9px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: 0.14em;
	min-height: 40px;
	padding: 0 14px;
}

.zf-collection__areas i,
.zf-app__note i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 12px rgba(211, 25, 36, 0.72);
	height: 6px;
	width: 6px;
}

.zf-collection-route {
	background:
		linear-gradient(rgba(239, 243, 246, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(239, 243, 246, 0.035) 1px, transparent 1px),
		rgba(5, 5, 7, 0.72);
	background-size: 48px 48px;
	border: 1px solid var(--zf-panel-border);
	border-radius: var(--zf-radius);
	display: grid;
	grid-template-columns: 132px 1fr 132px;
	min-height: 430px;
	padding: 70px 54px;
	position: relative;
}

.zf-collection-route__node {
	align-items: center;
	align-self: center;
	background: rgba(10, 9, 11, 0.94);
	border: 1px solid var(--zf-panel-border);
	border-radius: 50%;
	display: flex;
	flex-direction: column;
	gap: 12px;
	height: 132px;
	justify-content: center;
	position: relative;
	width: 132px;
	z-index: 2;
}

.zf-collection-route__node svg { fill: var(--zf-text); height: 34px; width: 34px; }
.zf-collection-route__node span { color: var(--zf-muted); font-size: 8px; font-weight: 700; letter-spacing: 0.14em; }
.zf-collection-route__node--workshop { border-color: rgba(211, 25, 36, 0.62); }

.zf-collection-route__track {
	align-self: center;
	border-top: 1px dashed rgba(239, 243, 246, 0.35);
	height: 1px;
	position: relative;
}

.zf-collection-route__track i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 0 8px rgba(211, 25, 36, 0.12), 0 0 26px rgba(211, 25, 36, 0.68);
	height: 12px;
	left: 0;
	position: absolute;
	top: -6px;
	width: 12px;
}

.zf-collection-route__track b {
	align-items: center;
	background: var(--zf-accent);
	border-radius: 50%;
	color: #fff;
	display: flex;
	font-size: 12px;
	height: 42px;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 0;
	transform: translate(-50%, -50%);
	width: 42px;
}

.zf-onepage[data-zf-motion="1"] .zf-collection-route.is-inview .zf-collection-route__track i {
	animation: zf-collection-trip 4.6s var(--zf-ease) infinite;
}

@keyframes zf-collection-trip {
	0%, 8% { left: 0; opacity: 0; }
	18%, 74% { opacity: 1; }
	86%, 100% { left: calc(100% - 12px); opacity: 0; }
}

.zf-collection-route__steps {
	bottom: 34px;
	display: flex;
	justify-content: space-between;
	left: 54px;
	position: absolute;
	right: 54px;
}

.zf-collection-route__steps span { color: var(--zf-muted); font-size: 8px; font-weight: 700; letter-spacing: 0.14em; }

/* Location pins directly activate their matching branch cards and map. */
.zf-onepage-v14 .zf-location-compass__map {
	overflow: visible;
}

.zf-onepage-v14 .zf-location-pin {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--zf-text);
	cursor: pointer;
	display: flex;
	font-style: normal;
	gap: 12px;
	height: auto;
	padding: 0;
	transform: none;
	width: auto;
}

.zf-onepage-v14 .zf-location-pin i {
	background: rgba(5, 5, 7, 0.98);
	border: 2px solid var(--zf-accent);
	border-radius: 50% 50% 50% 0;
	display: block;
	height: 44px;
	position: relative;
	transform: rotate(-45deg);
	width: 44px;
}

.zf-onepage-v14 .zf-location-pin i::after {
	background: var(--zf-accent);
	border-radius: 50%;
	content: "";
	height: 9px;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 9px;
}

.zf-onepage-v14 .zf-location-pin span {
	background: rgba(5, 5, 7, 0.9);
	border: 1px solid var(--zf-panel-border);
	color: var(--zf-muted);
	font-size: 8px;
	font-style: normal;
	font-weight: 700;
	letter-spacing: 0.12em;
	max-width: 190px;
	padding: 9px 11px;
	transform: none;
}

.zf-onepage-v14 .zf-location-pin--one { bottom: 38px; left: calc(10% - 22px); }
.zf-onepage-v14 .zf-location-pin--two { right: calc(10% - 22px); top: 36px; }
.zf-onepage-v14 .zf-location-pin--two { flex-direction: row-reverse; }

.zf-onepage-v14 .zf-location-pin.is-active i {
	background: var(--zf-accent);
	box-shadow: 0 0 0 10px rgba(211, 25, 36, 0.12), 0 0 28px rgba(211, 25, 36, 0.48);
}

.zf-onepage-v14 .zf-location-pin.is-active i::after { background: #fff; }
.zf-onepage-v14 .zf-location-pin.is-active span { border-color: rgba(211, 25, 36, 0.62); color: var(--zf-text); }

.zf-onepage[data-zf-motion="1"] .zf-location-pin.is-active i {
	animation: zf-pin-pulse 1.8s ease-in-out infinite;
}

@keyframes zf-pin-pulse {
	50% { box-shadow: 0 0 0 17px rgba(211, 25, 36, 0), 0 0 38px rgba(211, 25, 36, 0.74); }
}

.zf-onepage-v14 .zf-location-tab {
	grid-template-columns: 1fr;
}

/* Mobile app download feature. */
.zf-app {
	background:
		radial-gradient(circle at 74% 50%, rgba(211, 25, 36, 0.13), transparent 31%),
		#080709;
	overflow: hidden;
}

.zf-app__layout {
	align-items: center;
	display: grid;
	gap: clamp(60px, 9vw, 150px);
	grid-template-columns: minmax(320px, 0.86fr) minmax(340px, 0.72fr);
}

.zf-app__stores {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 34px 0 20px;
}

.zf-store-button {
	align-items: center;
	background: #0d0d10;
	border: 1px solid rgba(239, 243, 246, 0.24);
	color: var(--zf-text) !important;
	display: flex;
	gap: 13px;
	min-height: 68px;
	padding: 10px 18px;
	text-decoration: none !important;
	transition: border-color 0.25s ease, transform 0.3s var(--zf-ease);
}

.zf-store-button:hover { border-color: var(--zf-accent); transform: translateY(-3px); }
.zf-store-button svg { fill: currentColor; height: 28px; width: 28px; }
.zf-store-button span { display: flex; flex-direction: column; }
.zf-store-button small { font-size: 7px; letter-spacing: 0.1em; }
.zf-store-button b { font-size: 13px; font-weight: 600; margin-top: 3px; }

.zf-app__note {
	align-items: center;
	color: var(--zf-muted);
	display: flex;
	font-size: 8px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: 0.14em;
}

.zf-app__visual {
	align-items: center;
	display: flex;
	justify-content: center;
	min-height: 650px;
	position: relative;
}

.zf-app-phone {
	background: #08080a;
	border: 2px solid rgba(239, 243, 246, 0.3);
	border-radius: 44px;
	box-shadow: 0 50px 100px rgba(0, 0, 0, 0.55), 0 0 70px rgba(211, 25, 36, 0.12);
	height: 590px;
	padding: 13px;
	position: relative;
	transform: rotate(4deg);
	width: min(310px, 72vw);
	z-index: 2;
}

.zf-app-phone__speaker {
	background: #050507;
	border-radius: 20px;
	height: 25px;
	left: 50%;
	position: absolute;
	top: 20px;
	transform: translateX(-50%);
	width: 92px;
	z-index: 4;
}

.zf-app-phone__screen {
	background: radial-gradient(circle at 50% 42%, rgba(211, 25, 36, 0.2), transparent 38%), #0b0a0c;
	border-radius: 33px;
	height: 100%;
	overflow: hidden;
	width: 100%;
}

.zf-app-phone__screen > img { height: 100%; object-fit: cover; width: 100%; }
.zf-app-phone__fallback { align-items: center; display: flex; flex-direction: column; gap: 40px; height: 100%; justify-content: center; padding: 34px; }
.zf-app-phone__fallback > img { height: auto; max-width: 100%; }
.zf-app-phone__fallback .zf-wordmark { text-align: center; }
.zf-app-phone__fallback > span { color: var(--zf-muted); font-size: 8px; letter-spacing: 0.15em; }

.zf-app__orbit,
.zf-app__orbit i {
	border: 1px solid rgba(239, 243, 246, 0.12);
	border-radius: 50%;
	inset: 6%;
	pointer-events: none;
	position: absolute;
}

.zf-app__orbit i:first-child { border-color: rgba(211, 25, 36, 0.24); inset: 12%; }
.zf-app__orbit i:nth-child(2) { border-style: dashed; inset: 24%; }
.zf-app__orbit i:nth-child(3) { border-color: rgba(211, 25, 36, 0.16); inset: 36%; }
.zf-onepage[data-zf-motion="1"] .zf-app__orbit { animation: zf-rotate 42s linear infinite; }

/* Contact phone country selector and form spacing. */
.zf-phone-field {
	display: grid;
	grid-template-columns: minmax(108px, 0.38fr) minmax(0, 1fr);
}

.zf-contact-field .zf-phone-field select,
.zf-contact-field .zf-phone-field input {
	width: 100%;
}

.zf-contact-field .zf-phone-field select {
	border-right: 0;
	padding-left: 12px;
	padding-right: 30px;
}

/* Footer breathing room and clean logo field. */
.zf-onepage-v14 .zf-footer {
	min-height: 0;
	padding-bottom: 0;
}

.zf-onepage-v14 .zf-footer__layout {
	align-items: center;
	min-height: 650px;
	padding-bottom: 132px;
	padding-top: 108px;
}

.zf-onepage-v14 .zf-footer__brand::after {
	display: none;
}

.zf-onepage-v14 .zf-footer__bar {
	bottom: 0;
	min-height: 72px;
	padding-bottom: 18px;
	padding-top: 18px;
}

@media (max-width: 1100px) {
	.zf-onepage-v14 .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__frame {
		grid-template-columns: minmax(0, 1fr) minmax(260px, 0.48fr);
		padding-top: calc(var(--zf-header-height) + 72px);
	}

	.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-display { font-size: clamp(52px, 6.6vw, 72px) !important; }
	.zf-onepage-v14 .zf-hero-lite__technical { max-width: 360px; }

	.zf-onepage-v14 .zf-service-dial__controls {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.zf-onepage-v14 .zf-service-tab:nth-child(3) { border-right: 0; }
	.zf-onepage-v14 .zf-service-tab:nth-child(-n+3) { border-bottom: 1px solid var(--zf-panel-border); }
	.zf-onepage-v14 .zf-service-panel { grid-template-columns: minmax(0, 1.08fr) minmax(310px, 0.92fr); min-height: 580px; }
	.zf-onepage-v14 .zf-service-panel__media { min-height: 580px !important; }

	.zf-collection__layout,
	.zf-app__layout { gap: 58px; grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr); }
	.zf-collection-route { grid-template-columns: 104px 1fr 104px; padding: 52px 34px; }
	.zf-collection-route__node { height: 104px; width: 104px; }
	.zf-collection-route__steps { left: 34px; right: 34px; }
}

@media (max-width: 820px) {
	.zf-onepage-v14 .zf-hero,
	.zf-onepage-v14 .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__frame {
		min-height: 780px;
	}

	.zf-onepage-v14 .zf-hero-lite__media,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__media,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__media {
		border: 0;
		inset: 0;
	}

	.zf-onepage-v14 .zf-hero-lite__wash,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__wash,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__wash {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.42), rgba(5, 5, 7, 0.56) 32%, #050507 82%);
	}

	.zf-onepage-v14 .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero-lite__frame {
		display: flex;
		justify-content: flex-end;
		padding-bottom: 64px;
		padding-top: calc(var(--zf-header-height) + 72px);
	}

	.zf-onepage-v14 .zf-hero .zf-hero__copy,
	.zf-onepage-v14.zf-hero-layout-editorial .zf-hero__copy,
	.zf-onepage-v14.zf-hero-layout-centered .zf-hero__copy {
		align-self: flex-end;
		max-width: 700px;
		padding-right: 0;
	}

	.zf-onepage-v14 .zf-hero-lite__technical { display: none; }
	.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-display { font-size: clamp(44px, 10.2vw, 68px) !important; }
	.zf-onepage-v14 .zf-scroll-cue { display: none; }

	.zf-onepage-v14 .zf-service-dial__controls {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x proximity;
	}

	.zf-onepage-v14 .zf-service-tab,
	.zf-onepage-v14 .zf-service-tab:nth-child(-n+3) {
		border-bottom: 0;
		border-right: 1px solid var(--zf-panel-border);
		flex: 0 0 155px;
		scroll-snap-align: start;
	}

	.zf-onepage-v14 .zf-service-panel { grid-template-columns: 1fr; min-height: 0; }
	.zf-onepage-v14 .zf-service-panel__media {
		aspect-ratio: 16 / 10 !important;
		height: auto;
		min-height: 0 !important;
	}
	.zf-onepage-v14 .zf-service-panel__content { padding: 42px 32px 50px; }
	.zf-onepage-v14 .zf-service-panel__content .zf-panel-title { font-size: clamp(38px, 8vw, 58px); }

	.zf-onepage-v14 .zf-marque-rail { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.zf-marque-stage__nav { grid-template-columns: 56px 1fr 56px; }

	.zf-collection__layout,
	.zf-app__layout { grid-template-columns: 1fr; }
	.zf-collection-route { min-height: 380px; }
	.zf-app__visual { min-height: 590px; }
	.zf-app-phone { height: 530px; width: min(280px, 68vw); }

	.zf-onepage-v14 .zf-location-pin span { max-width: 128px; }
	.zf-onepage-v14 .zf-footer__layout { min-height: 0; padding-bottom: 128px; }
}

@media (max-width: 560px) {
	.zf-onepage-v14 .zf-hero,
	.zf-onepage-v14 .zf-hero-lite__frame { min-height: 720px; }
	.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-display { font-size: clamp(40px, 12vw, 56px) !important; }
	.zf-onepage-v14 .zf-hero .zf-hero__copy .zf-lead { font-size: 15px; }
	.zf-onepage-v14 .zf-hero .zf-actions { align-items: stretch; flex-direction: column; }
	.zf-onepage-v14 .zf-hero .zf-button { min-width: 0; width: 100%; }

	.zf-onepage-v14 .zf-service-tab { flex-basis: 138px; min-height: 68px; padding: 13px; }
	.zf-onepage-v14 .zf-service-panel__media { aspect-ratio: 4 / 3 !important; }
	.zf-onepage-v14 .zf-service-panel__content { padding: 34px 20px 42px; }
	.zf-service-reveal-hint { max-width: calc(100% - 28px); }

	.zf-onepage-v14 .zf-marque-rail { display: flex; }
	.zf-marque-stage__nav > span { font-size: 7px; letter-spacing: 0.1em; }

	.zf-collection-route {
		grid-template-columns: 76px 1fr 76px;
		min-height: 300px;
		padding: 44px 18px 72px;
	}
	.zf-collection-route__node { gap: 7px; height: 76px; width: 76px; }
	.zf-collection-route__node svg { height: 24px; width: 24px; }
	.zf-collection-route__node span { font-size: 6px; letter-spacing: 0.08em; }
	.zf-collection-route__track b { font-size: 9px; height: 34px; width: 34px; }
	.zf-collection-route__steps { bottom: 25px; left: 18px; right: 18px; }
	.zf-collection-route__steps span { font-size: 6px; }

	.zf-onepage-v14 .zf-location-compass__map { min-height: 300px; }
	.zf-onepage-v14 .zf-location-pin { flex-direction: column !important; gap: 6px; }
	.zf-onepage-v14 .zf-location-pin i { height: 34px; width: 34px; }
	.zf-onepage-v14 .zf-location-pin span { font-size: 6px; max-width: 105px; padding: 6px 7px; }
	.zf-onepage-v14 .zf-location-pin--one { bottom: 42px; left: 6%; }
	.zf-onepage-v14 .zf-location-pin--two { right: 5%; top: 42px; }

	.zf-app__stores { flex-direction: column; }
	.zf-store-button { width: 100%; }
	.zf-app__visual { min-height: 500px; }
	.zf-app-phone { height: 470px; width: min(250px, 72vw); }

	.zf-phone-field { grid-template-columns: 102px minmax(0, 1fr); }
	.zf-onepage-v14 .zf-footer__layout { padding-bottom: 154px; padding-top: 82px; }
	.zf-onepage-v14 .zf-footer__bar { align-items: flex-start; flex-direction: column; gap: 7px; min-height: 98px; }
}

@media (prefers-reduced-motion: reduce) {
	.zf-onepage-v14 .zf-collection-route__track i,
	.zf-onepage-v14 .zf-location-pin i,
	.zf-onepage-v14 .zf-app__orbit { animation: none !important; }
}

/* v1.5 — creative inspection lens, embedded marque controls and concierge route. */
.zf-onepage-v15 {
	--zf-service-lens-size: 270px;
}

/* Larger red diagnostic lens with calibrated rotating rings. */
.zf-onepage-v15 .zf-service-panel__detail {
	transition: clip-path var(--zf-service-reveal-speed, 240ms) cubic-bezier(0.16, 1, 0.3, 1);
}

.zf-onepage-v15 .zf-service-reveal-lens {
	background: radial-gradient(circle, transparent 0 59%, rgba(211, 25, 36, 0.07) 60% 69%, transparent 70%);
	border: 2px solid rgba(224, 28, 40, 0.92);
	box-shadow:
		0 0 0 7px rgba(211, 25, 36, 0.08),
		inset 0 0 42px rgba(211, 25, 36, 0.1),
		0 0 46px rgba(211, 25, 36, 0.3);
	transform: translate(-50%, -50%) scale(0.72) rotate(-7deg);
	transition: opacity 0.18s ease, transform 0.42s cubic-bezier(0.16, 1, 0.3, 1);
}

.zf-onepage-v15 .zf-service-reveal-lens::before {
	background: transparent;
	border: 1px dashed rgba(255, 55, 67, 0.8);
	border-radius: 50%;
	content: "";
	height: auto;
	inset: 13px;
	left: 13px;
	position: absolute;
	top: 13px;
	transform: none;
	width: auto;
}

.zf-onepage-v15 .zf-service-reveal-lens::after {
	background: transparent;
	border: 2px solid rgba(211, 25, 36, 0.78);
	border-bottom-color: transparent;
	border-left-color: transparent;
	border-radius: 50%;
	content: "";
	height: auto;
	inset: -11px;
	left: -11px;
	position: absolute;
	top: -11px;
	transform: rotate(24deg);
	width: auto;
}

.zf-onepage-v15 .zf-service-reveal-lens > i {
	background: rgba(5, 5, 7, 0.44);
	border: 1px solid rgba(255, 255, 255, 0.82);
	box-shadow: 0 0 0 7px rgba(211, 25, 36, 0.18);
	height: 18px;
	position: relative;
	width: 18px;
}

.zf-onepage-v15 .zf-service-reveal-lens > i::before,
.zf-onepage-v15 .zf-service-reveal-lens > i::after {
	background: rgba(255, 255, 255, 0.72);
	content: "";
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
}

.zf-onepage-v15 .zf-service-reveal-lens > i::before { height: 1px; width: 42px; }
.zf-onepage-v15 .zf-service-reveal-lens > i::after { height: 42px; width: 1px; }

.zf-onepage-v15 .zf-service-reveal-lens span {
	border: 1px solid rgba(211, 25, 36, 0.65);
	bottom: 24px;
	box-shadow: 0 10px 24px rgba(0, 0, 0, 0.35);
	font-size: 8px;
	padding: 7px 11px;
}

.zf-onepage-v15 .zf-service-panel__media:hover .zf-service-reveal-lens,
.zf-onepage-v15 .zf-service-panel__media:focus .zf-service-reveal-lens,
.zf-onepage-v15 .zf-service-panel__media.is-revealed .zf-service-reveal-lens {
	transform: translate(-50%, -50%) scale(1) rotate(0);
	will-change: transform;
}

.zf-onepage-v15 .zf-service-panel__media.is-revealed .zf-service-panel__detail,
.zf-onepage-v15 .zf-service-panel__media:hover .zf-service-panel__detail {
	will-change: clip-path;
}

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-service-panel__media.is-revealed .zf-service-reveal-lens::before,
.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-service-panel__media:hover .zf-service-reveal-lens::before {
	animation: zf-lens-calibrate 9s linear infinite;
}

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-service-panel__media.is-revealed .zf-service-reveal-lens::after,
.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-service-panel__media:hover .zf-service-reveal-lens::after {
	animation: zf-lens-calibrate-reverse 5.5s linear infinite;
}

@keyframes zf-lens-calibrate {
	to { transform: rotate(360deg); }
}

@keyframes zf-lens-calibrate-reverse {
	to { transform: rotate(-336deg); }
}

/* The brand arrows now live inside the information side of the feature box. */
.zf-onepage-v15 .zf-marque-stage__panels {
	position: relative;
}

.zf-onepage-v15 .zf-marque-feature__copy {
	padding-bottom: clamp(124px, 10vw, 152px);
}

.zf-onepage-v15 .zf-marque-stage__nav {
	background: rgba(5, 5, 7, 0.88);
	border: 1px solid rgba(239, 243, 246, 0.18);
	bottom: clamp(38px, 4.2vw, 66px);
	grid-template-columns: 58px 1fr 58px;
	margin: 0;
	position: absolute;
	right: clamp(34px, 4.8vw, 76px);
	width: clamp(245px, 25vw, 370px);
	z-index: 7;
}

.zf-onepage-v15 .zf-marque-stage__nav button {
	height: 54px;
}

.zf-onepage-v15 .zf-marque-stage__nav > span {
	color: var(--zf-text);
	font-size: 7px;
}

/* Door-to-door concierge console. */
.zf-onepage-v15 .zf-collection {
	background:
		radial-gradient(circle at 75% 44%, rgba(211, 25, 36, 0.13), transparent 28%),
		linear-gradient(135deg, #070608, #0a080a 58%, #050507);
}

.zf-collection-console {
	background:
		linear-gradient(rgba(239, 243, 246, 0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(239, 243, 246, 0.035) 1px, transparent 1px),
		rgba(5, 5, 7, 0.78);
	background-size: 42px 42px;
	border: 1px solid rgba(239, 243, 246, 0.16);
	border-radius: var(--zf-radius);
	box-shadow: 0 36px 90px rgba(0, 0, 0, 0.38);
	overflow: hidden;
	position: relative;
}

.zf-collection-console::before {
	background: linear-gradient(90deg, var(--zf-accent), transparent);
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	top: 0;
	width: 42%;
	z-index: 5;
}

.zf-collection-console__bar {
	align-items: center;
	background: rgba(255, 255, 255, 0.018);
	border-bottom: 1px solid rgba(239, 243, 246, 0.12);
	display: flex;
	justify-content: space-between;
	min-height: 58px;
	padding: 0 24px;
}

.zf-collection-console__bar span,
.zf-collection-console__bar b {
	align-items: center;
	color: var(--zf-muted);
	display: flex;
	font-size: 7px;
	font-weight: 700;
	gap: 9px;
	letter-spacing: 0.14em;
}

.zf-collection-console__bar b { color: var(--zf-text); }
.zf-collection-console__bar span i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 13px rgba(211, 25, 36, 0.78);
	height: 7px;
	width: 7px;
}

.zf-collection-console__map {
	height: 330px;
	overflow: hidden;
	position: relative;
}

.zf-collection-console__map::after {
	background: linear-gradient(180deg, transparent, rgba(5, 5, 7, 0.64));
	content: "";
	inset: 55% 0 0;
	pointer-events: none;
	position: absolute;
}

.zf-collection-console__map > svg {
	height: 100%;
	inset: 0;
	position: absolute;
	width: 100%;
}

.zf-concierge-route,
.zf-concierge-return {
	fill: none;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.zf-concierge-route--shadow { stroke: rgba(239, 243, 246, 0.16); stroke-width: 2; }
.zf-concierge-route--live {
	stroke: var(--zf-accent);
	stroke-dasharray: 7 9;
	stroke-width: 3;
}

.zf-concierge-return {
	stroke: rgba(239, 243, 246, 0.23);
	stroke-dasharray: 2 10;
	stroke-width: 1;
}

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-concierge-route--live {
	animation: zf-route-dash 2.1s linear infinite;
}

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-concierge-return {
	animation: zf-route-dash-reverse 3.2s linear infinite;
}

@keyframes zf-route-dash { to { stroke-dashoffset: -32; } }
@keyframes zf-route-dash-reverse { to { stroke-dashoffset: 36; } }

.zf-collection-console__point {
	align-items: center;
	display: flex;
	flex-direction: column;
	gap: 9px;
	position: absolute;
	z-index: 4;
}

.zf-collection-console__point--home { bottom: 48px; left: 6.5%; }
.zf-collection-console__point--workshop { right: 5.5%; top: 36px; }

.zf-collection-console__point > i {
	align-items: center;
	background: rgba(5, 5, 7, 0.95);
	border: 1px solid rgba(239, 243, 246, 0.28);
	border-radius: 50%;
	display: flex;
	height: 66px;
	justify-content: center;
	position: relative;
	width: 66px;
}

.zf-collection-console__point--workshop > i {
	background: var(--zf-accent);
	border-color: var(--zf-accent);
	box-shadow: 0 0 0 10px rgba(211, 25, 36, 0.1), 0 0 34px rgba(211, 25, 36, 0.28);
}

.zf-collection-console__point svg { fill: var(--zf-text); height: 27px; width: 27px; }
.zf-collection-console__point b { color: #fff; font-size: 14px; letter-spacing: -0.05em; }
.zf-collection-console__point span { color: var(--zf-text); font-size: 7px; font-weight: 700; letter-spacing: 0.13em; }

.zf-collection-console__vehicle {
	filter: drop-shadow(0 8px 14px rgba(0, 0, 0, 0.55));
	left: 12%;
	position: absolute;
	top: 61%;
	z-index: 6;
}

.zf-collection-console__vehicle svg {
	fill: var(--zf-accent);
	height: 34px;
	overflow: visible;
	stroke: rgba(255, 255, 255, 0.72);
	stroke-width: 0.7;
	width: 72px;
}

.zf-collection-console__vehicle circle { fill: #08080a; stroke: var(--zf-text); stroke-width: 2; }

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-collection-console__vehicle {
	animation: zf-concierge-vehicle 6.8s cubic-bezier(0.45, 0, 0.55, 1) infinite;
}

@keyframes zf-concierge-vehicle {
	0%, 7% { left: 10%; opacity: 0; top: 61%; transform: rotate(-24deg) scale(0.86); }
	15% { opacity: 1; }
	42% { left: 46%; top: 53%; transform: rotate(8deg) scale(1); }
	72% { left: 68%; top: 31%; transform: rotate(-18deg) scale(1); }
	90%, 100% { left: 84%; opacity: 0; top: 17%; transform: rotate(-18deg) scale(0.84); }
}

.zf-collection-console__radar {
	align-items: center;
	border: 1px solid rgba(211, 25, 36, 0.28);
	border-radius: 50%;
	display: flex;
	height: 126px;
	justify-content: center;
	left: 50%;
	position: absolute;
	top: 48%;
	transform: translate(-50%, -50%);
	width: 126px;
	z-index: 2;
}

.zf-collection-console__radar > i {
	border: 1px dashed rgba(239, 243, 246, 0.16);
	border-radius: 50%;
	inset: 10px;
	position: absolute;
}

.zf-collection-console__radar > i:nth-child(2) { inset: 28px; }
.zf-collection-console__radar b { color: rgba(239, 243, 246, 0.48); font-size: 7px; letter-spacing: 0.12em; line-height: 1.5; text-align: center; }

.zf-onepage[data-zf-motion="1"] .zf-section.is-near-viewport .zf-collection-console__radar > i:first-child {
	animation: zf-rotate 14s linear infinite;
}

.zf-collection-console__steps {
	border-top: 1px solid rgba(239, 243, 246, 0.12);
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.zf-collection-console__steps article {
	align-items: flex-start;
	background: rgba(255, 255, 255, 0.012);
	border-right: 1px solid rgba(239, 243, 246, 0.1);
	display: grid;
	gap: 13px;
	grid-template-columns: 12px 1fr;
	min-height: 126px;
	padding: 24px 20px;
	transition: background 0.3s ease, transform 0.35s var(--zf-ease);
}

.zf-collection-console__steps article:last-child { border-right: 0; }
.zf-collection-console__steps article:hover { background: rgba(211, 25, 36, 0.065); transform: translateY(-3px); }
.zf-collection-console__steps article > i { background: var(--zf-accent); box-shadow: 0 0 12px rgba(211, 25, 36, 0.6); height: 7px; margin-top: 4px; width: 7px; }
.zf-collection-console__steps h3 { color: var(--zf-text) !important; font-size: 10px; letter-spacing: 0.12em; margin: 0 0 8px; }
.zf-collection-console__steps p { color: var(--zf-muted); font-size: 10px; line-height: 1.5; margin: 0; }

/* Four proof cards now balance the parts image from every corner. */
.zf-onepage-v15 .zf-parts-orbit__item--4 {
	bottom: 8%;
	right: 6%;
}

/* Footer logo defaults smaller, while Elementor retains responsive width and height controls. */
.zf-onepage-v15 .zf-footer__logo {
	height: auto;
	max-height: var(--zf-footer-logo-height, 210px);
	max-width: 100%;
	width: min(var(--zf-footer-logo-width, 420px), 100%);
}

/* Render off-screen sections only when needed and pause invisible infinite motion. */
body:not(.elementor-editor-active) .zf-onepage-v15 .zf-section:not(.zf-hero) {
	contain-intrinsic-size: auto 900px;
	content-visibility: auto;
}

.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-parts-orbit__rings,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-app__orbit,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-location-pin i,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-collection-console__vehicle,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-concierge-route,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-concierge-return,
.zf-onepage-v15 [data-zf-section]:not(.is-near-viewport) .zf-collection-console__radar i {
	animation-play-state: paused !important;
}

@media (max-width: 1100px) {
	.zf-onepage-v15 .zf-marque-stage__nav {
		right: 34px;
		width: clamp(230px, 31vw, 310px);
	}

	.zf-collection-console__map { height: 300px; }
	.zf-collection-console__steps article { min-height: 138px; padding: 22px 16px; }
}

@media (max-width: 820px) {
	.zf-onepage-v15 { --zf-service-lens-size: 230px; }
	.zf-onepage-v15 .zf-marque-feature__copy { padding-bottom: 48px; }
	.zf-onepage-v15 .zf-marque-stage__nav {
		border-left: 0;
		border-right: 0;
		bottom: auto;
		position: relative;
		right: auto;
		width: 100%;
	}

	.zf-collection-console__map { height: 310px; }
	.zf-collection-console__steps article { min-height: 120px; }
	.zf-onepage-v15 .zf-footer__logo { width: min(var(--zf-footer-logo-width, 360px), 82vw); }
}

@media (max-width: 560px) {
	.zf-onepage-v15 { --zf-service-lens-size: 190px; }
	.zf-onepage-v15 .zf-service-reveal-lens span { bottom: 15px; }
	.zf-collection-console__bar { align-items: flex-start; flex-direction: column; gap: 8px; justify-content: center; padding: 12px 16px; }
	.zf-collection-console__map { height: 270px; }
	.zf-collection-console__point > i { height: 48px; width: 48px; }
	.zf-collection-console__point--home { bottom: 40px; left: 4%; }
	.zf-collection-console__point--workshop { right: 4%; top: 30px; }
	.zf-collection-console__point span { font-size: 6px; }
	.zf-collection-console__vehicle svg { height: 27px; width: 56px; }
	.zf-collection-console__radar { height: 92px; width: 92px; }
	.zf-collection-console__steps { grid-template-columns: 1fr; }
	.zf-collection-console__steps article { border-bottom: 1px solid rgba(239, 243, 246, 0.1); border-right: 0; min-height: 0; padding: 18px 16px; }
	.zf-collection-console__steps article:last-child { border-bottom: 0; }
	.zf-onepage-v15 .zf-footer__logo { max-height: var(--zf-footer-logo-height, 170px); width: min(var(--zf-footer-logo-width, 300px), 78vw); }
}

@media (prefers-reduced-motion: reduce) {
	.zf-onepage-v15 .zf-service-reveal-lens::before,
	.zf-onepage-v15 .zf-service-reveal-lens::after,
	.zf-onepage-v15 .zf-concierge-route,
	.zf-onepage-v15 .zf-concierge-return,
	.zf-onepage-v15 .zf-collection-console__vehicle,
	.zf-onepage-v15 .zf-collection-console__radar i { animation: none !important; }
}

/* v1.6 — immediate background paint, controllable marque media and reachable mobile navigation. */
.zf-onepage-v16 {
	--zf-marque-image-height: 620px;
}

/* Replace the live SVG turbulence filter with a tiny decoded texture tile. */
.zf-onepage-v16 .zf-ambient {
	contain: strict;
	transform: translateZ(0);
}

.zf-onepage-v16 .zf-ambient__red {
	backface-visibility: hidden;
	transform: translateZ(0);
}

.zf-onepage-v16 .zf-ambient__noise {
	background-image: url("../images/zero-fault-noise.webp");
	background-repeat: repeat;
	background-size: 96px 96px;
	mix-blend-mode: normal;
	opacity: 0.018;
}

/* Avoid the delayed section-paint flash while retaining layout isolation. */
body:not(.elementor-editor-active) .zf-onepage-v16 .zf-section:not(.zf-hero) {
	contain: layout style;
	contain-intrinsic-size: none;
	content-visibility: visible;
}

.zf-onepage-v16 .zf-marque-feature__image {
	height: var(--zf-marque-image-height);
	min-height: 0;
}

.zf-onepage-v16 .zf-marque-feature__image > img,
.zf-onepage-v16 .zf-marque-feature__image > .zf-placeholder {
	height: 100%;
	min-height: 0;
}

.zf-onepage-v16 .zf-marque-stage__nav > span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.zf-onepage-v16 .zf-footer__logo {
	height: auto;
	max-height: var(--zf-footer-logo-height, 210px);
	max-width: 100%;
	width: min(var(--zf-footer-logo-width, 420px), 100%);
}

@media (max-width: 820px) {
	.zf-onepage-v16 {
		--zf-marque-image-height: 460px;
	}

	.zf-onepage-v16 .zf-header {
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		background: rgba(5, 5, 7, 0.98);
	}

	.zf-onepage-v16 .zf-marque-feature {
		min-height: 0 !important;
	}

	.zf-onepage-v16 .zf-marque-feature__image,
	.zf-onepage-v16 .zf-marque-feature__image > img,
	.zf-onepage-v16 .zf-marque-feature__image > .zf-placeholder {
		height: var(--zf-marque-image-height) !important;
		min-height: 0 !important;
	}

	/* The controls sit on the image edge, so changing brands never requires a down/up scroll loop. */
	.zf-onepage-v16 .zf-marque-stage__nav {
		-webkit-backdrop-filter: blur(10px);
		backdrop-filter: blur(10px);
		background: rgba(5, 5, 7, 0.88);
		border: 1px solid rgba(239, 243, 246, 0.24);
		border-radius: 10px;
		bottom: auto;
		box-shadow: 0 16px 36px rgba(0, 0, 0, 0.34);
		grid-template-columns: 58px minmax(0, 1fr) 58px;
		left: 16px;
		overflow: hidden;
		position: absolute;
		right: 16px;
		top: calc(var(--zf-marque-image-height) - 70px);
		width: auto;
	}

	.zf-onepage-v16 .zf-marque-stage__nav button {
		height: 54px;
	}

	.zf-onepage-v16 .zf-marque-feature__copy {
		padding-bottom: 46px;
		padding-top: 42px;
	}

	.zf-onepage-v16 .zf-footer__logo {
		width: min(var(--zf-footer-logo-width, 360px), 88vw);
	}
}

@media (max-width: 560px) {
	.zf-onepage-v16 {
		--zf-marque-image-height: 320px;
	}

	.zf-onepage-v16 .zf-marque-stage__nav {
		grid-template-columns: 54px minmax(0, 1fr) 54px;
		left: 12px;
		right: 12px;
		top: calc(var(--zf-marque-image-height) - 64px);
	}

	.zf-onepage-v16 .zf-marque-stage__nav button {
		height: 50px;
	}

	.zf-onepage-v16 .zf-marque-stage__nav > span {
		font-size: 7px;
		letter-spacing: 0.1em;
	}

	.zf-onepage-v16 .zf-marque-feature__copy {
		padding: 38px 22px 42px;
	}

	.zf-onepage-v16 .zf-footer__logo {
		max-height: var(--zf-footer-logo-height, 170px);
		width: min(var(--zf-footer-logo-width, 300px), 86vw);
	}
}

/* v1.8 — bilingual precision system, local Cairo and a cleaner page surface. */
.zf-onepage-v18 .zf-progress {
	display: none !important;
}

.zf-header__tools {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-self: center;
}

.zf-language-switcher {
	align-items: center;
	background: rgba(5, 5, 7, 0.76);
	border: 1px solid rgba(239, 243, 246, 0.2);
	border-radius: 999px;
	direction: ltr;
	display: inline-flex;
	flex: 0 0 auto;
	height: 38px;
	isolation: isolate;
	overflow: hidden;
	padding: 3px;
	position: relative;
	z-index: 105;
}

.zf-language-switcher::before {
	background: linear-gradient(90deg, transparent, rgba(211, 25, 36, 0.74), transparent);
	content: "";
	height: 1px;
	left: -46%;
	opacity: 0.72;
	position: absolute;
	top: 0;
	transform: translateX(0);
	width: 46%;
}

.zf-onepage[data-zf-motion="1"] .zf-language-switcher::before {
	animation: zf-language-scan 3.8s ease-in-out infinite;
}

.zf-language-switcher button {
	align-items: center;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: var(--zf-muted);
	cursor: pointer;
	display: inline-flex;
	font-family: Poppins, Arial, sans-serif;
	font-size: 9px;
	font-weight: 700;
	height: 30px;
	justify-content: center;
	letter-spacing: 0.08em;
	min-width: 36px;
	padding: 0 10px;
	transition: background 0.28s ease, color 0.28s ease, box-shadow 0.28s ease;
}

.zf-language-switcher button[data-zf-language="ar"] {
	font-family: Cairo, Arial, sans-serif;
	font-size: 10px;
	letter-spacing: 0;
}

.zf-language-switcher button:hover {
	color: var(--zf-text);
}

.zf-language-switcher button.is-active {
	background: var(--zf-accent);
	box-shadow: 0 0 22px rgba(211, 25, 36, 0.26);
	color: #fff;
}

.zf-language-switcher > i {
	background: var(--zf-accent);
	border-radius: 50%;
	box-shadow: 0 0 10px rgba(211, 25, 36, 0.72);
	height: 4px;
	opacity: 0.8;
	width: 4px;
}

.zf-language-switcher-minimal .zf-language-switcher {
	background: transparent;
	border-color: transparent;
	border-radius: 0;
	gap: 5px;
	overflow: visible;
	padding-inline: 0;
}

.zf-language-switcher-minimal .zf-language-switcher::before,
.zf-language-switcher-minimal .zf-language-switcher > i {
	display: none;
}

.zf-language-switcher-minimal .zf-language-switcher button {
	border-radius: 0;
	min-width: 34px;
	padding-inline: 5px;
	position: relative;
}

.zf-language-switcher-minimal .zf-language-switcher button.is-active {
	background: transparent;
	box-shadow: none;
	color: var(--zf-text);
}

.zf-language-switcher-minimal .zf-language-switcher button.is-active::after {
	background: var(--zf-accent);
	bottom: 0;
	content: "";
	height: 2px;
	left: 5px;
	position: absolute;
	right: 5px;
}

.zf-language-switcher--floating {
	position: fixed;
	right: clamp(18px, 3vw, 44px);
	top: clamp(18px, 3vw, 38px);
}

@keyframes zf-language-scan {
	0%, 24% { transform: translateX(0); }
	58%, 100% { transform: translateX(320%); }
}

/* Arabic typography and direction live inside the widget, never across the host theme. */
.zf-onepage-v18[dir="rtl"] {
	direction: rtl;
	font-family: Cairo, Arial, sans-serif;
	text-align: right;
}

.zf-onepage-v18[dir="rtl"] button,
.zf-onepage-v18[dir="rtl"] input,
.zf-onepage-v18[dir="rtl"] select,
.zf-onepage-v18[dir="rtl"] textarea {
	font-family: Cairo, Arial, sans-serif;
}

.zf-onepage-v18[dir="rtl"] .zf-display,
.zf-onepage-v18[dir="rtl"] .zf-section-title,
.zf-onepage-v18[dir="rtl"] .zf-panel-title {
	font-family: Cairo, Arial, sans-serif;
	font-weight: 800;
	letter-spacing: -0.025em;
	line-height: 1.14;
	text-transform: none;
}

.zf-onepage-v18[dir="rtl"] .zf-kicker,
.zf-onepage-v18[dir="rtl"] .zf-header__status,
.zf-onepage-v18[dir="rtl"] .zf-nav a,
.zf-onepage-v18[dir="rtl"] .zf-button,
.zf-onepage-v18[dir="rtl"] .zf-mini-action,
.zf-onepage-v18[dir="rtl"] .zf-social-link,
.zf-onepage-v18[dir="rtl"] .zf-tech-list,
.zf-onepage-v18[dir="rtl"] .zf-service-image-label,
.zf-onepage-v18[dir="rtl"] .zf-service-reveal-hint,
.zf-onepage-v18[dir="rtl"] .zf-marque-feature__line,
.zf-onepage-v18[dir="rtl"] .zf-parts-line,
.zf-onepage-v18[dir="rtl"] .zf-app__note,
.zf-onepage-v18[dir="rtl"] .zf-footer__bar {
	letter-spacing: 0;
	text-transform: none;
}

.zf-onepage-v18[dir="rtl"] .zf-header__status,
.zf-onepage-v18[dir="rtl"] .zf-kicker,
.zf-onepage-v18[dir="rtl"] .zf-actions,
.zf-onepage-v18[dir="rtl"] .zf-contact__direct,
.zf-onepage-v18[dir="rtl"] .zf-footer__direct,
.zf-onepage-v18[dir="rtl"] .zf-socials,
.zf-onepage-v18[dir="rtl"] .zf-app__stores,
.zf-onepage-v18[dir="rtl"] .zf-collection__areas {
	justify-content: flex-start;
}

.zf-onepage-v18[dir="rtl"] .zf-logo img {
	object-position: right center;
}

.zf-onepage-v18[dir="rtl"] .zf-nav {
	justify-content: flex-start;
}

.zf-onepage-v18[dir="rtl"] .zf-nav a {
	border-left: 0;
	border-right: 1px solid var(--zf-soft-line);
}

.zf-onepage-v18[dir="rtl"] .zf-nav a:last-child {
	border-left: 1px solid var(--zf-soft-line);
}

.zf-onepage-v18[dir="rtl"] .zf-nav a::after {
	left: auto;
	right: 0;
	transform-origin: right;
}

.zf-onepage-v18[dir="rtl"] .zf-section-head > p {
	border-left: 0;
	border-right: 1px solid var(--zf-line);
	padding-left: 0;
	padding-right: 28px;
}

.zf-onepage-v18[dir="rtl"] .zf-hero .zf-hero__copy,
.zf-onepage-v18[dir="rtl"] .zf-marque-feature__copy,
.zf-onepage-v18[dir="rtl"] .zf-service-panel__content,
.zf-onepage-v18[dir="rtl"] .zf-parts-orbit__item,
.zf-onepage-v18[dir="rtl"] .zf-standard__copy,
.zf-onepage-v18[dir="rtl"] .zf-collection__copy,
.zf-onepage-v18[dir="rtl"] .zf-location-panel__copy,
.zf-onepage-v18[dir="rtl"] .zf-app__copy,
.zf-onepage-v18[dir="rtl"] .zf-contact__intro,
.zf-onepage-v18[dir="rtl"] .zf-contact-field,
.zf-onepage-v18[dir="rtl"] .zf-footer__copy {
	text-align: right;
}

.zf-onepage-v18[dir="rtl"] .zf-tech-list li,
.zf-onepage-v18[dir="rtl"] .zf-contact-consent > span,
.zf-onepage-v18[dir="rtl"] .zf-collection-console__steps article {
	text-align: right;
}

.zf-onepage-v18[dir="rtl"] .zf-marque-feature__logo img {
	object-position: right center;
}

.zf-onepage-v18[dir="rtl"] .zf-contact-field input,
.zf-onepage-v18[dir="rtl"] .zf-contact-field select,
.zf-onepage-v18[dir="rtl"] .zf-contact-field textarea {
	direction: rtl;
	text-align: right;
}

.zf-onepage-v18[dir="rtl"] .zf-contact-field input[type="email"],
.zf-onepage-v18[dir="rtl"] .zf-contact-field input[type="tel"],
.zf-onepage-v18[dir="rtl"] .zf-phone-field select {
	direction: ltr;
	text-align: left;
}

.zf-onepage-v18[dir="rtl"] .zf-language-switcher {
	direction: ltr;
}

@media (min-width: 821px) {
	.zf-onepage-v18[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__media {
		border-left: 0;
		border-right: 1px solid rgba(211, 25, 36, 0.54);
		inset: 0 max(44%, var(--zf-hero-media-start)) 0 0;
	}

	.zf-onepage-v18[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, rgba(5, 5, 7, 0.16) 0 32%, rgba(5, 5, 7, 0.9) 55%, #050507 78%),
			radial-gradient(circle at 32% 46%, rgba(211, 25, 36, 0.1), transparent 32%);
	}

	.zf-onepage-v18[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__frame {
		grid-template-columns: minmax(320px, 0.58fr) minmax(0, 0.92fr);
	}

	.zf-onepage-v18[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero__copy {
		grid-column: 2;
		justify-self: end;
		padding-left: clamp(24px, 4vw, 76px);
		padding-right: 0;
	}

	.zf-onepage-v18[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__technical {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
	}

	.zf-onepage-v18[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__media {
		border-left: 1px solid rgba(211, 25, 36, 0.54);
		border-right: 0;
		inset: 0 0 0 max(44%, var(--zf-hero-media-start));
	}

	.zf-onepage-v18[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, #050507 0 37%, rgba(5, 5, 7, 0.93) 43%, rgba(5, 5, 7, 0.18) 67%, rgba(5, 5, 7, 0.18)),
			radial-gradient(circle at 67% 46%, rgba(211, 25, 36, 0.11), transparent 32%);
	}

	.zf-onepage-v18[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__frame {
		grid-template-columns: minmax(0, 0.92fr) minmax(360px, 0.58fr);
	}

	.zf-onepage-v18[dir="rtl"].zf-hero-layout-editorial .zf-hero__copy {
		grid-column: 1;
		justify-self: start;
		padding-left: 0;
		padding-right: clamp(24px, 4vw, 76px);
	}

	.zf-onepage-v18[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__technical {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
	}
}

@media (max-width: 1260px) {
	.zf-header__tools {
		justify-self: end;
	}
}

@media (max-width: 1024px) {
	.zf-header__tools {
		margin-inline-start: auto;
	}

	.zf-onepage-v18 .zf-nav {
		direction: inherit;
	}

	.zf-onepage-v18[dir="rtl"] .zf-nav a {
		border: 1px solid var(--zf-soft-line);
	}
}

@media (max-width: 767px) {
	.zf-header__tools {
		gap: 8px;
	}

	.zf-language-switcher {
		height: 34px;
	}

	.zf-language-switcher button {
		height: 26px;
		min-width: 32px;
		padding-inline: 8px;
	}

	.zf-onepage-v18[dir="rtl"] .zf-section-head > p {
		border-right: 0;
		border-top: 1px solid var(--zf-line);
		padding: 22px 0 0;
	}

	.zf-onepage-v18[dir="rtl"] .zf-display {
		font-size: clamp(42px, 12vw, 62px) !important;
	}

	.zf-onepage-v18[dir="rtl"] .zf-section-title {
		font-size: clamp(38px, 10.5vw, 58px);
	}
}

@media (max-width: 420px) {
	.zf-onepage-v18 .zf-logo {
		max-width: 128px;
	}

	.zf-language-switcher button {
		min-width: 29px;
		padding-inline: 6px;
	}

	.zf-language-switcher > i {
		display: none;
	}
}

/* v1.8.1 — stable hero framing, complete contact localisation and a 3px title refinement. */
.zf-onepage-v19 .zf-display {
	font-size: clamp(49px, calc(6.25vw - 3px), 109px);
}

.zf-onepage-v19 .zf-section-title {
	font-size: clamp(41px, calc(5vw - 3px), 81px);
}

.zf-onepage-v19 .zf-panel-title {
	font-size: clamp(31px, calc(3.4vw - 3px), 55px);
}

.zf-onepage-v14.zf-onepage-v19 .zf-hero .zf-hero__copy .zf-display {
	font-size: clamp(49px, calc(4.55vw - 3px), 83px) !important;
	overflow-wrap: anywhere;
}

.zf-onepage-v19 .zf-contact .zf-section-title {
	max-width: 760px;
}

/* Keep the hero's physical composition fixed in Arabic; only the copy reads RTL. */
.zf-onepage-v18.zf-onepage-v19[dir="rtl"] .zf-hero-lite__frame {
	direction: ltr;
}

.zf-onepage-v18.zf-onepage-v19[dir="rtl"] .zf-hero__copy,
.zf-onepage-v18.zf-onepage-v19[dir="rtl"] .zf-hero-lite__technical {
	direction: rtl;
}

.zf-onepage-v19 .zf-hero-lite__media > img {
	height: 100%;
	max-width: none;
	min-height: 100%;
	min-width: 100%;
	object-fit: cover;
	transform-origin: center;
	width: 100%;
}

@media (min-width: 821px) {
	.zf-onepage-v19 .zf-hero {
		isolation: isolate;
		min-height: max(720px, var(--zf-hero-min-height));
		overflow: hidden;
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__media {
		border: 1px solid rgba(239, 243, 246, 0.16);
		border-radius: var(--zf-hero-frame-radius);
		box-shadow: 0 34px 88px rgba(0, 0, 0, 0.48);
		clip-path: none;
		inset: calc(var(--zf-header-height) + 32px) clamp(24px, 3.2vw, 62px) clamp(52px, 5vh, 76px) max(50%, var(--zf-hero-media-start));
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__media::after {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.06), transparent 58%, rgba(5, 5, 7, 0.62));
		content: "";
		inset: 0;
		pointer-events: none;
		position: absolute;
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, #050507 0 36%, rgba(5, 5, 7, 0.96) 43%, rgba(5, 5, 7, 0.28) 63%, rgba(5, 5, 7, 0.08) 100%),
			radial-gradient(circle at 72% 46%, rgba(211, 25, 36, 0.13), transparent 34%);
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__frame {
		grid-template-areas: "copy technical";
		grid-template-columns: minmax(0, 0.94fr) minmax(340px, 0.56fr);
		min-height: max(720px, var(--zf-hero-min-height));
		padding-bottom: clamp(72px, 7vw, 104px);
		padding-top: calc(var(--zf-header-height) + clamp(58px, 6vw, 88px));
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero__copy {
		grid-column: 1;
		justify-self: start;
		max-width: min(720px, 100%);
		min-width: 0;
		padding-left: 0;
		padding-right: clamp(26px, 4vw, 72px);
	}

	.zf-onepage-v19:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__technical {
		grid-column: 2;
		grid-row: 1;
		justify-self: end;
		max-width: 400px;
	}

	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__media {
		border: 1px solid rgba(239, 243, 246, 0.16);
		border-radius: var(--zf-hero-frame-radius);
		box-shadow: 0 34px 88px rgba(0, 0, 0, 0.48);
		clip-path: none;
		inset: calc(var(--zf-header-height) + 32px) max(50%, var(--zf-hero-media-start)) clamp(52px, 5vh, 76px) clamp(24px, 3.2vw, 62px);
	}

	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, rgba(5, 5, 7, 0.08), rgba(5, 5, 7, 0.28) 37%, rgba(5, 5, 7, 0.96) 57%, #050507 66%),
			radial-gradient(circle at 28% 46%, rgba(211, 25, 36, 0.13), transparent 34%);
	}

	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__frame {
		grid-template-areas: "technical copy";
		grid-template-columns: minmax(340px, 0.56fr) minmax(0, 0.94fr);
	}

	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero__copy {
		grid-column: 2;
		justify-self: end;
		padding-left: clamp(26px, 4vw, 72px);
		padding-right: 0;
	}

	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__technical {
		grid-column: 1;
		grid-row: 1;
		justify-self: start;
		max-width: 400px;
	}

	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__media {
		border: 1px solid rgba(239, 243, 246, 0.16);
		border-radius: var(--zf-hero-frame-radius);
		inset: calc(var(--zf-header-height) + 24px) clamp(22px, 3vw, 54px) 42px;
	}

	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__wash {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.52), rgba(5, 5, 7, 0.48) 48%, rgba(5, 5, 7, 0.78));
	}

	/* Arabic keeps the same physical split as English: copy left, image right. */
	.zf-onepage-v18.zf-onepage-v19[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__media {
		inset: calc(var(--zf-header-height) + 32px) clamp(24px, 3.2vw, 62px) clamp(52px, 5vh, 76px) max(50%, var(--zf-hero-media-start));
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, #050507 0 36%, rgba(5, 5, 7, 0.96) 43%, rgba(5, 5, 7, 0.28) 63%, rgba(5, 5, 7, 0.08) 100%),
			radial-gradient(circle at 72% 46%, rgba(211, 25, 36, 0.13), transparent 34%);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__frame {
		grid-template-areas: "copy technical";
		grid-template-columns: minmax(0, 0.94fr) minmax(340px, 0.56fr);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero__copy {
		grid-column: 1;
		justify-self: start;
		padding-left: 0;
		padding-right: clamp(26px, 4vw, 72px);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"]:not(.zf-hero-layout-editorial):not(.zf-hero-layout-centered) .zf-hero-lite__technical {
		grid-column: 2;
		justify-self: end;
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__media {
		inset: calc(var(--zf-header-height) + 32px) max(50%, var(--zf-hero-media-start)) clamp(52px, 5vh, 76px) clamp(24px, 3.2vw, 62px);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__wash {
		background:
			linear-gradient(90deg, rgba(5, 5, 7, 0.08), rgba(5, 5, 7, 0.28) 37%, rgba(5, 5, 7, 0.96) 57%, #050507 66%),
			radial-gradient(circle at 28% 46%, rgba(211, 25, 36, 0.13), transparent 34%);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__frame {
		grid-template-areas: "technical copy";
		grid-template-columns: minmax(340px, 0.56fr) minmax(0, 0.94fr);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"].zf-hero-layout-editorial .zf-hero__copy {
		grid-column: 2;
		justify-self: end;
		padding-left: clamp(26px, 4vw, 72px);
		padding-right: 0;
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"].zf-hero-layout-editorial .zf-hero-lite__technical {
		grid-column: 1;
		justify-self: start;
	}
}

@media (max-width: 820px) {
	.zf-onepage-v19 .zf-hero,
	.zf-onepage-v19 .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__frame {
		min-height: 0;
	}

	.zf-onepage-v19 .zf-hero-lite__media,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__media,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__media {
		border: 1px solid rgba(239, 243, 246, 0.16);
		border-radius: var(--zf-hero-frame-radius);
		box-shadow: 0 24px 58px rgba(0, 0, 0, 0.42);
		clip-path: none;
		height: clamp(270px, 42svh, 410px);
		inset: calc(var(--zf-header-height) + 18px) 16px auto;
	}

	.zf-onepage-v19 .zf-hero-lite__wash,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__wash,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__wash {
		background: linear-gradient(180deg, rgba(5, 5, 7, 0.08), rgba(5, 5, 7, 0.08) 36%, rgba(5, 5, 7, 0.78) 58%, #050507 76%);
	}

	.zf-onepage-v19 .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__frame {
		display: block;
		padding-bottom: 68px;
		padding-top: calc(var(--zf-header-height) + clamp(330px, 48svh, 470px));
	}

	.zf-onepage-v19 .zf-hero .zf-hero__copy,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero__copy,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero__copy {
		max-width: 700px;
		padding: 0;
		text-align: inherit;
	}

	.zf-onepage-v19 .zf-hero-lite__technical {
		display: none;
	}

	.zf-onepage-v14.zf-onepage-v19 .zf-hero .zf-hero__copy .zf-display {
		font-size: clamp(41px, calc(10.2vw - 3px), 65px) !important;
	}
}

@media (max-width: 767px) {
	.zf-onepage-v19 .zf-section-title {
		font-size: clamp(37px, calc(12.5vw - 3px), 63px);
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"] .zf-display {
		font-size: clamp(39px, calc(12vw - 3px), 59px) !important;
	}

	.zf-onepage-v18.zf-onepage-v19[dir="rtl"] .zf-section-title {
		font-size: clamp(35px, calc(10.5vw - 3px), 55px);
	}
}

@media (max-width: 560px) {
	.zf-onepage-v19 .zf-hero-lite__media,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__media,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__media {
		height: clamp(245px, 38svh, 330px);
	}

	.zf-onepage-v19 .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-editorial .zf-hero-lite__frame,
	.zf-onepage-v19.zf-hero-layout-centered .zf-hero-lite__frame {
		padding-top: calc(var(--zf-header-height) + clamp(295px, 44svh, 390px));
	}

	.zf-onepage-v14.zf-onepage-v19 .zf-hero .zf-hero__copy .zf-display {
		font-size: clamp(37px, calc(12vw - 3px), 53px) !important;
	}
}
