/* MST Showroom — front-end styles.
   Tokens read Elementor's global colors when they exist, so the Site Settings palette drives everything. */

body {
	--mst-bg: var(--e-global-color-mstbg, #0d0c0c);
	--mst-surface: var(--e-global-color-secondary, #161515);
	--mst-surface-2: var(--e-global-color-mstsurface2, #201e1e);
	--mst-ink: var(--e-global-color-primary, #f4f1ee);
	--mst-muted: var(--e-global-color-text, #a8a29d);
	--mst-accent: var(--e-global-color-accent, #c8102e);
	--mst-line: var(--e-global-color-mstline, rgba(244, 241, 238, 0.12));
	--mst-bone: var(--e-global-color-mstbone, #ece8e3);
	--mst-bone-ink: var(--e-global-color-mstboneink, #161414);
	--mst-display: "Archivo Expanded", "Archivo", system-ui, sans-serif;
	--mst-text: "Archivo", system-ui, sans-serif;
	--mst-ease: cubic-bezier(0.2, 0.7, 0.1, 1);
	--mst-ease-in-out: cubic-bezier(0.7, 0, 0.2, 1);
	--mst-gutter: clamp(20px, 4vw, 56px);
}

body.mst-site {
	overflow-x: clip;
	font-kerning: normal;
	background-color: var(--mst-bg);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

html { scrollbar-color: #3a3535 #0d0c0c; }
/* Balanced headings: no single orphan word on the last line. */
.mst-site .elementor-heading-title { text-wrap: balance; hyphens: none; }
.mst-site .elementor-widget-text-editor p { text-wrap: pretty; }
.mst-site .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
::selection { background: var(--mst-accent); color: #fff; }

html.lenis, html.lenis body { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }

.mst-icon { width: 1.25em; height: 1.25em; flex: none; display: inline-block; vertical-align: middle; }

/* ------------------------------------------------------------------ Buttons */

.mst-site .mst-btn {
	--mst-btn-bg: transparent;
	--mst-btn-color: var(--mst-ink);
	--mst-btn-border: rgba(244, 241, 238, 0.3);
	--mst-btn-hover-bg: var(--mst-ink);
	--mst-btn-hover-color: var(--mst-bg);
	--mst-btn-radius: 999px;
	position: relative;
	isolation: isolate;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8em;
	padding: 1.2em 1.9em;
	margin: 0;
	border: 1px solid var(--mst-btn-border);
	border-radius: var(--mst-btn-radius);
	background: var(--mst-btn-bg);
	color: var(--mst-btn-color);
	font-family: var(--mst-text);
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: color 0.45s var(--mst-ease), border-color 0.45s var(--mst-ease), transform 0.2s ease;
	-webkit-tap-highlight-color: transparent;
}
.mst-site .mst-btn::before {
	content: "";
	position: absolute;
	inset: -1px;
	z-index: -1;
	background: var(--mst-btn-hover-bg);
	border-radius: inherit;
	transform: translateY(102%);
	transition: transform 0.55s var(--mst-ease);
}
.mst-site .mst-btn:hover,
.mst-site .mst-btn:focus-visible {
	color: var(--mst-btn-hover-color);
	border-color: var(--mst-btn-hover-bg);
	background: var(--mst-btn-bg);
}
.mst-site .mst-btn:hover::before,
.mst-site .mst-btn:focus-visible::before { transform: translateY(0); }
.mst-site .mst-btn:active { transform: scale(0.98); }
.mst-site .mst-btn:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 3px; }
.mst-btn__icon { display: inline-flex; transition: transform 0.45s var(--mst-ease); }
.mst-btn__icon .mst-icon { width: 1.35em; height: 1.35em; }
.mst-btn > .mst-icon { width: 1.4em; height: 1.4em; }
.mst-btn:hover .mst-btn__icon { transform: translateX(4px); }

.mst-site .mst-btn--primary {
	--mst-btn-bg: var(--mst-accent);
	--mst-btn-border: var(--mst-accent);
	--mst-btn-color: #fff;
	--mst-btn-hover-bg: var(--mst-ink);
	--mst-btn-hover-color: var(--mst-bg);
}
.mst-site .mst-btn--glass {
	--mst-btn-bg: rgba(13, 12, 12, 0.55);
	--mst-btn-border: rgba(244, 241, 238, 0.25);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
}
.mst-site .mst-btn--small { padding: 0.95em 1.3em; font-size: 0.7rem; }
.mst-site .mst-btn--link {
	--mst-btn-border: transparent;
	padding: 0.6em 0;
	border: 0;
	border-radius: 0;
	overflow: visible;
}
.mst-site .mst-btn--link::before {
	inset: auto 0 0 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0.35);
	transform-origin: left;
}
.mst-site .mst-btn--link:hover { color: var(--mst-ink); }
.mst-site .mst-btn--link:hover::before { transform: scaleX(1); }

.mst-site :is(.mst-round, .mst-header__burger, .mst-cg__tile, .mst-cg__thumb, .mst-lb button) {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	color: inherit;
	font: inherit;
	cursor: pointer;
	box-shadow: none;
}
.mst-site .elementor-button { transition: background-color 0.45s var(--mst-ease), color 0.45s var(--mst-ease), border-color 0.45s var(--mst-ease), transform 0.2s ease; }
.mst-site .elementor-button:active { transform: scale(0.98); }
.mst-site .elementor-button:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 3px; }

.mst-site .mst-round {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 52px;
	border: 1px solid rgba(244, 241, 238, 0.28);
	border-radius: 50%;
	color: var(--mst-ink);
	background: transparent;
	transition: background 0.35s var(--mst-ease), color 0.35s var(--mst-ease), border-color 0.35s, opacity 0.3s;
}
.mst-site .mst-round:hover { background: var(--mst-ink); color: var(--mst-bg); border-color: var(--mst-ink); }
.mst-site .mst-round[disabled] { opacity: 0.3; pointer-events: none; }
.mst-site .mst-round--small { width: 40px; height: 40px; }
.mst-site .mst-round:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 3px; }

/* ------------------------------------------------------------------ Hero */

.mst-hero {
	--mst-hero-h: 100vh;
	--mst-shade: 0.55;
	position: relative;
	display: flex;
	height: var(--mst-hero-h);
	min-height: 560px;
	overflow: hidden;
	color: var(--mst-ink);
	background: #070707;
}
@supports (height: 100svh) {
	.mst-hero { min-height: min(560px, 100svh); }
}
.mst-hero__media { position: absolute; inset: 0; will-change: transform; transform-origin: 50% 60%; }
.mst-hero__media picture { display: contents; }
.mst-hero .mst-hero__img { display: block; width: 100% !important; height: 100% !important; max-width: none; object-fit: cover; object-position: var(--mst-focus, center); }
.mst-hero__shade {
	position: absolute;
	inset: 0;
	pointer-events: none;
	background:
		linear-gradient(180deg, rgba(13, 12, 12, calc(var(--mst-shade) * 0.9)) 0%, rgba(13, 12, 12, 0) 28%),
		linear-gradient(0deg, rgba(13, 12, 12, calc(var(--mst-shade) * 1.7)) 0%, rgba(13, 12, 12, calc(var(--mst-shade) * 0.5)) 42%, rgba(13, 12, 12, 0) 72%),
		linear-gradient(90deg, rgba(13, 12, 12, calc(var(--mst-shade) * 0.9)) 0%, rgba(13, 12, 12, 0) 62%);
}
.mst-hero__inner {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	width: 100%;
	padding: 140px var(--mst-gutter) clamp(56px, 10vh, 120px);
}
.mst-hero--middle-left .mst-hero__inner { align-items: center; }
.mst-hero--center .mst-hero__inner { align-items: center; justify-content: center; text-align: center; }
.mst-hero--center .mst-hero__actions { justify-content: center; }
.mst-hero--center .mst-hero__text { margin-inline: auto; }
.mst-hero__content { max-width: 1180px; will-change: transform, opacity; }
.mst-hero__eyebrow {
	margin: 0 0 1.6em;
	font-family: var(--mst-text);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(244, 241, 238, 0.82);
}
.mst-hero__title {
	margin: 0 0 0.42em;
	font-family: var(--mst-display);
	font-size: clamp(2.3rem, 5vw, 5rem);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.035em;
	color: var(--mst-ink);
	text-wrap: balance;
}
.mst-hero__title em { font-style: normal; color: var(--mst-accent); }
.mst-hero__text {
	max-width: 34em;
	margin: 0 0 2.4em;
	font-size: clamp(1rem, 1.15vw, 1.15rem);
	line-height: 1.6;
	color: rgba(244, 241, 238, 0.8);
}
.mst-hero__actions { display: flex; flex-wrap: wrap; gap: 14px; }
@media (max-width: 767px) {
	.mst-hero__title { font-size: clamp(2rem, 9vw, 2.6rem); }
	.mst-hero__title br { display: none; }
	.mst-hero__eyebrow { font-size: 0.66rem; letter-spacing: 0.14em; text-wrap: balance; }
	.mst-hero .mst-hero__img { object-position: var(--mst-focus-m, var(--mst-focus, center)); }
	/* Portrait screens: the photo takes the top of the hero and fades into the ground, text sits below it. */
	.mst-hero__media {
		bottom: auto;
		height: 66%;
		-webkit-mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
		mask-image: linear-gradient(180deg, #000 70%, transparent 100%);
	}
	.mst-hero__shade {
		background:
			linear-gradient(180deg, rgba(13, 12, 12, calc(var(--mst-shade) * 0.9)) 0%, rgba(13, 12, 12, 0) 22%),
			linear-gradient(0deg, rgba(13, 12, 12, 0.92) 0%, rgba(13, 12, 12, 0.6) 34%, rgba(13, 12, 12, 0) 58%);
	}
	.mst-hero__inner { padding-top: 110px; }
}

/* ------------------------------------------------------------------ Spotlight (featured car) */
/* Desktop: text column + uncropped 4:3 photo bleeding to the right edge. Phones/tablets: photo on top. */

.mst-spot {
	--mst-spot-interval: 6s;
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	align-items: center;
	gap: clamp(40px, 5vw, 96px);
	padding: clamp(72px, 11vh, 132px) 0 clamp(72px, 11vh, 132px) max(var(--mst-gutter), calc((100% - 1320px) / 2));
	overflow: hidden;
	color: var(--mst-ink);
}
.mst-spot__slides {
	position: relative;
	grid-column: 2;
	grid-row: 1;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 4px 0 0 4px;
	background: var(--mst-surface);
}
.mst-spot__slide {
	position: absolute;
	inset: 0;
	margin: 0;
	opacity: 0;
	transition: opacity 1.6s var(--mst-ease-in-out);
}
.mst-spot__slide.is-active { opacity: 1; z-index: 1; }
.mst-spot .mst-spot__slide img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transform: scale(1.06);
	transition: transform calc(var(--mst-spot-interval) + 1.6s) var(--mst-ease);
}
/* Slow pull-back: each photo settles at its full frame. */
.mst-spot__slide.is-active img { transform: scale(1); }
.mst-spot__inner {
	position: relative;
	grid-column: 1;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	gap: 40px;
	min-width: 0;
}
.mst-spot__cars { position: relative; display: grid; }
.mst-spot__car {
	grid-area: 1 / 1;
	align-self: end;
	opacity: 0;
	visibility: hidden;
	transform: translateY(16px);
	transition: opacity 0.8s var(--mst-ease), transform 1s var(--mst-ease), visibility 0s linear 0.8s;
}
.mst-spot__car.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity 1s 0.3s var(--mst-ease), transform 1.2s 0.3s var(--mst-ease), visibility 0s; }
.mst-spot__label {
	margin: 0 0 22px;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--mst-accent);
}
.mst-site .mst-spot__name {
	margin: 0 0 40px;
	font-family: var(--mst-display);
	font-size: clamp(2.6rem, 4.6vw, 5rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.04em;
	color: var(--mst-ink);
	text-wrap: balance;
}
.mst-spot__name span { color: var(--mst-muted); }
.mst-spot__meta { display: flex; flex-direction: column; gap: 32px; padding-top: 28px; border-top: 1px solid var(--mst-line); }
.mst-spot__specs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 32px; margin: 0; }
.mst-spot__specs dt { margin-bottom: 6px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mst-muted); }
.mst-spot__specs dd { margin: 0; font-family: var(--mst-display); font-size: 1.1rem; font-weight: 400; font-variant-numeric: tabular-nums; }
.mst-spot__buy { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 20px 28px; }
.mst-spot__price { font-family: var(--mst-display); font-size: clamp(1.6rem, 2.4vw, 2.3rem); font-weight: 300; letter-spacing: -0.02em; white-space: nowrap; }
.mst-spot__nav { display: flex; gap: 10px; }
.mst-site .mst-spot__dot {
	appearance: none;
	position: relative;
	width: 36px;
	height: 3px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 3px;
	background: rgba(244, 241, 238, 0.22);
	box-shadow: none;
	cursor: pointer;
	overflow: hidden;
}
/* Taller hit area without changing the visible bar. */
.mst-site .mst-spot__dot::after { content: ""; position: absolute; inset: -14px 0; }
.mst-spot__dot span { position: absolute; top: 0; bottom: 0; left: 0; width: 0; background: var(--mst-ink); }
.mst-spot__dot.is-active span { animation: mst-spot-progress var(--mst-spot-interval) linear forwards; }
.mst-spot.is-paused .mst-spot__dot.is-active span { animation-play-state: paused; }
.mst-site .mst-spot__dot:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 4px; }
@keyframes mst-spot-progress { from { width: 0; } to { width: 100%; } }
@media (max-width: 1024px) {
	.mst-spot { grid-template-columns: minmax(0, 1fr); gap: 32px; padding: 0 0 72px; }
	.mst-spot__slides { grid-column: 1; grid-row: 1; border-radius: 0; }
	.mst-spot__inner { grid-column: 1; grid-row: 2; padding: 0 var(--mst-gutter); }
	.mst-spot__nav { order: -1; }
}
@media (max-width: 767px) {
	.mst-spot__specs dd { font-size: 1rem; }
	.mst-spot__buy { justify-content: space-between; }
}

/* ------------------------------------------------------------------ Film grain */

.mst-grain::after {
	content: "";
	position: fixed;
	inset: -50%;
	z-index: 99980;
	pointer-events: none;
	opacity: 0.045;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ------------------------------------------------------------------ Cards */

.mst-card {
	--mst-card-ratio: 4/3;
	--mst-card-radius: 4px;
	--mst-card-bg: transparent;
	position: relative;
	height: 100%;
	background: var(--mst-card-bg);
	border-radius: var(--mst-card-radius);
}
.mst-card__link { display: flex; flex-direction: column; height: 100%; color: inherit; text-decoration: none; }
.mst-card__link:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 4px; border-radius: var(--mst-card-radius); }
.mst-card__media {
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--mst-card-ratio);
	border-radius: var(--mst-card-radius);
	background: var(--mst-surface);
	transform: translateZ(0);
}
.mst-card__img {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform 1.4s var(--mst-ease), opacity 0.7s var(--mst-ease);
}
.mst-card__img--alt { opacity: 0; }
.mst-card__placeholder { position: absolute; inset: 0; background: linear-gradient(135deg, var(--mst-surface), var(--mst-surface-2)); }
@media (hover: hover) {
	.mst-card:hover .mst-card__img--alt { opacity: 1; }
	.mst-card__link:hover .mst-card__img { transform: scale(1.045); }
	.mst-hover-zoom-no .mst-card__link:hover .mst-card__img { transform: none; }
}
.mst-card__badge {
	position: absolute;
	top: 14px;
	left: 14px;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(13, 12, 12, 0.72);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	color: var(--mst-ink);
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.mst-card--vendido .mst-card__img { filter: grayscale(0.85) brightness(0.8); }
.mst-card__body { display: flex; flex-direction: column; flex: 1; padding: 20px 2px 0; }
.mst-card__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.mst-card__titles { min-width: 0; }
.mst-card__brand {
	display: block;
	margin-bottom: 8px;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mst-muted);
}
.mst-site .mst-card__title {
	margin: 0;
	font-family: var(--mst-display);
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--mst-ink);
	transition: color 0.3s;
}
.mst-card__title span {
	background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px;
	transition: background-size 0.7s var(--mst-ease);
	padding-bottom: 2px;
}
@media (hover: hover) {
	.mst-card__link:hover .mst-card__title span { background-size: 100% 1px; }
}
.mst-card__version { display: block; margin-top: 5px; font-size: 0.88rem; line-height: 1.4; color: var(--mst-muted); }
.mst-card__price {
	flex: none;
	font-family: var(--mst-display);
	font-size: 1.05rem;
	font-weight: 400;
	line-height: 1.2;
	text-align: right;
	white-space: nowrap;
	color: var(--mst-ink);
}
.mst-price__old { display: block; font-size: 0.72em; font-weight: 400; color: var(--mst-muted); }
.mst-card__head { margin-bottom: 18px; }
/* Specs row pinned to the card bottom so it lines up across every card in a row. */
.mst-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-height: 46px;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--mst-line);
}
.mst-card__specs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 0;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.82rem;
	color: var(--mst-muted);
}
.mst-card__go {
	display: inline-flex;
	flex: none;
	color: var(--mst-ink);
	opacity: 0;
	transform: translateX(-8px);
	transition: opacity 0.5s var(--mst-ease), transform 0.6s var(--mst-ease);
}
.mst-card__go .mst-icon { width: 18px; height: 18px; }
@media (hover: hover) {
	.mst-card__link:hover .mst-card__go,
	.mst-card__link:focus-visible .mst-card__go { opacity: 1; transform: none; }
}
/* Photos fade in as they load instead of popping in (only while motion is active). */
.mst-motion .mst-card__img:not(.mst-card__img--alt):not(.is-loaded) { opacity: 0; }
.mst-price, .mst-card__specs, .mst-cp__value, .mst-specs dd, .mst-inv__count strong, .mst-ct__chips,
.elementor-counter-number-wrapper, .mst-brands__count, .mst-cg__counter, .mst-lb__count {
	font-variant-numeric: tabular-nums lining-nums;
}
.mst-card__specs li { display: inline-flex; align-items: center; }
.mst-card__specs li + li::before {
	content: "";
	width: 1px;
	height: 11px;
	margin: 0 12px;
	background: currentColor;
	opacity: 0.45;
}
.mst-card__cta { display: none; }

.mst-grid-cards,
.mst-showcase--grid .mst-showcase__track {
	--mst-cols: 3;
	--mst-gap: 32px;
	display: grid;
	grid-template-columns: repeat(var(--mst-cols), minmax(0, 1fr));
	gap: calc(var(--mst-gap) * 1.5) var(--mst-gap);
}

/* ------------------------------------------------------------------ Showcase */

.mst-showcase { --mst-cols: 3; --mst-gap: 28px; position: relative; container-type: inline-size; }
.mst-showcase--carousel .mst-showcase__viewport,
.mst-showcase--pinned .mst-showcase__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	overscroll-behavior-x: contain;
	cursor: grab;
}
.mst-showcase__viewport::-webkit-scrollbar { display: none; }
.mst-showcase__viewport.is-dragging { cursor: grabbing; scroll-snap-type: none; }
.mst-showcase__viewport.is-dragging a { pointer-events: none; }
.mst-showcase--carousel .mst-showcase__track,
.mst-showcase--pinned .mst-showcase__track {
	display: flex;
	gap: var(--mst-gap);
}
.mst-showcase--carousel .mst-showcase__item,
.mst-showcase--pinned .mst-showcase__item {
	/* Sized from the content column (cqi), not the scroller, so bleeding never changes card size. */
	flex: 0 0 calc((100cqi - var(--mst-gap) * (var(--mst-cols) - 1)) / (var(--mst-cols) + 0.25));
	scroll-snap-align: start;
	min-width: 0;
}
/* Carousel bleeds past the content column to the right edge of the screen. */
/* Full-bleed carousel: the scroller spans the whole screen, cards start and end aligned with the content column.
   Gutters are measured in JS (--mst-bleed-l / -r) so the scrollbar width never skews the alignment. */
.mst-showcase.is-bleed .mst-showcase__viewport {
	margin-left: calc(var(--mst-bleed-l, 0px) * -1);
	margin-right: calc(var(--mst-bleed-r, 0px) * -1);
	scroll-padding-left: var(--mst-bleed-l, 0px);
	scroll-padding-right: var(--mst-bleed-r, 0px);
}
.mst-showcase.is-bleed .mst-showcase__track {
	width: max-content;
	padding-left: var(--mst-bleed-l, 0px);
	padding-right: var(--mst-bleed-r, 0px);
}
.mst-showcase.is-pinned .mst-showcase__viewport {
	overflow: hidden;
	margin-right: calc((100% - 100vw) / 2);
	scroll-snap-type: none;
	cursor: default;
}
.mst-showcase.is-pinned .mst-showcase__track { will-change: transform; }
.mst-showcase__foot {
	display: flex;
	align-items: center;
	gap: 28px;
	margin-top: 40px;
}
.mst-showcase--grid .mst-showcase__foot { justify-content: flex-start; margin-top: 56px; }
.mst-showcase__progress {
	position: relative;
	flex: 1;
	height: 24px;
	cursor: grab;
	touch-action: none;
	outline: none;
}
.mst-showcase__progress::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	height: 1px;
	background: var(--mst-line);
}
.mst-showcase__thumb {
	position: absolute;
	left: 0;
	top: 50%;
	height: 2px;
	margin-top: -1px;
	border-radius: 2px;
	background: var(--mst-ink);
	transition: height 0.25s var(--mst-ease), margin 0.25s var(--mst-ease), background 0.25s;
	will-change: transform;
}
.mst-showcase__progress:hover .mst-showcase__thumb,
.mst-showcase__progress.is-dragging .mst-showcase__thumb,
.mst-showcase__progress:focus-visible .mst-showcase__thumb { height: 4px; margin-top: -2px; }
.mst-showcase__progress.is-dragging { cursor: grabbing; }
.mst-showcase__progress:focus-visible::before { background: var(--mst-accent); }
.mst-showcase__nav { display: flex; gap: 10px; }
@media (max-width: 767px) {
	.mst-showcase__foot { flex-wrap: wrap; gap: 14px 18px; margin-top: 28px; }
	.mst-showcase__progress { flex: 0 0 100%; }
	.mst-showcase__foot .mst-btn--link { margin-left: auto; }
}
.mst-showcase.is-pinned .mst-showcase__nav { display: none; }
.mst-empty { padding: 40px 0; color: var(--mst-muted); }

/* Photo rail: every photo at one height and its own width, never cropped. */
.mst-showcase--photos { --mst-photo-h: 60vh; --mst-gap: 16px; }
.mst-showcase--photos .mst-showcase__track { align-items: flex-start; }
.mst-showcase--photos .mst-showcase__item { flex: 0 0 auto; margin: 0; }
.mst-showcase--photos .mst-photo img {
	display: block;
	height: var(--mst-photo-h);
	width: auto;
	max-width: none;
	border-radius: 4px;
	user-select: none;
	-webkit-user-drag: none;
}
.mst-showcase--photos.is-pinned .mst-showcase__viewport { margin-left: calc(var(--mst-bleed-l, 0px) * -1); }
.mst-showcase--photos.is-pinned .mst-showcase__track { width: max-content; padding: 0 var(--mst-bleed-l, 0px); }
.mst-photo__label {
	margin-top: 14px;
	font-style: normal;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mst-muted);
}
/* Phones: one width for all, height follows each photo. */
@media (max-width: 767px) {
	.mst-showcase--photos .mst-photo img { width: 84vw; height: auto; }
}

/* ------------------------------------------------------------------ Selects */

.mst-select { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mst-select__label {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mst-muted);
}
.mst-site .mst-select select,
.mst-site .mst-search select {
	appearance: none;
	width: 100%;
	min-height: 0;
	margin: 0;
	padding: 4px 26px 4px 0;
	border: 0;
	border-radius: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23a8a29d' stroke-width='1.6'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right center / 16px;
	color: var(--mst-ink);
	font-family: var(--mst-text);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	box-shadow: none;
	cursor: pointer;
	text-overflow: ellipsis;
}
.mst-site .mst-select select:focus-visible,
.mst-site .mst-search select:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 4px; }
.mst-site .mst-select select option,
.mst-site .mst-search select option { background: #161515; color: #f4f1ee; }
.mst-select--inline { flex-direction: row; align-items: center; gap: 14px; }
.mst-select--inline select { width: auto; }

/* ------------------------------------------------------------------ Custom dropdowns (enhance native selects) */

.mst-site select.mst-dd__native {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	border: 0 !important;
	opacity: 0;
	pointer-events: none;
}
.mst-select, .mst-search__field { position: relative; }
.mst-dd { position: relative; min-width: 0; }
.mst-site .mst-dd__btn {
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin: 0;
	padding: 4px 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--mst-ink);
	font-family: var(--mst-text);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.4;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	cursor: pointer;
}
.mst-site .mst-search .mst-dd__btn { font-family: var(--mst-display); font-size: 0.98rem; }
.mst-site .mst-dd__btn:hover,
.mst-site .mst-dd__btn:focus { background: none; color: var(--mst-ink); }
.mst-site .mst-dd__btn:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 4px; }
.mst-dd__value { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.mst-dd__btn .mst-icon { width: 16px; height: 16px; color: var(--mst-muted); transition: transform 0.4s var(--mst-ease); }
.mst-dd.is-open .mst-dd__btn .mst-icon { transform: rotate(180deg); }
.mst-dd.has-value .mst-dd__value::after {
	content: "";
	display: inline-block;
	width: 5px;
	height: 5px;
	margin-left: 8px;
	border-radius: 50%;
	background: var(--mst-accent);
	vertical-align: middle;
}
.mst-dd__panel {
	position: absolute;
	top: calc(100% + 14px);
	left: -14px;
	z-index: 60;
	min-width: calc(100% + 28px);
	width: max-content;
	max-width: min(340px, 86vw);
	max-height: 320px;
	overflow-y: auto;
	padding: 6px;
	border: 1px solid rgba(244, 241, 238, 0.1);
	border-radius: 4px;
	background: rgba(24, 22, 22, 0.97);
	backdrop-filter: blur(18px);
	-webkit-backdrop-filter: blur(18px);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.3s var(--mst-ease), transform 0.4s var(--mst-ease), visibility 0s 0.3s;
	scrollbar-width: thin;
	scrollbar-color: #3a3535 transparent;
}
.mst-dd--up .mst-dd__panel { top: auto; bottom: calc(100% + 14px); transform: translateY(6px); }
.mst-dd.is-open .mst-dd__panel { opacity: 1; visibility: visible; transform: none; transition: opacity 0.3s var(--mst-ease), transform 0.4s var(--mst-ease), visibility 0s; }
.mst-select--inline .mst-dd__panel { left: auto; right: -14px; }
.mst-select--inline .mst-dd.has-value .mst-dd__value::after { display: none; }
.mst-dd__panel { min-width: max(210px, calc(100% + 28px)); }
.mst-site .mst-dd__opt {
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	width: 100%;
	margin: 0;
	padding: 11px 14px;
	border: 0;
	border-radius: 3px;
	background: none;
	box-shadow: none;
	color: var(--mst-muted);
	font-family: var(--mst-text);
	font-size: 0.92rem;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: 0;
	text-align: left;
	text-transform: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}
.mst-site .mst-dd__opt:hover,
.mst-site .mst-dd__opt:focus { background: rgba(244, 241, 238, 0.06); color: var(--mst-ink); outline: none; }
.mst-site .mst-dd__opt[aria-selected="true"] { color: var(--mst-ink); }
.mst-site .mst-dd__opt[aria-selected="true"]::after {
	content: "";
	flex: none;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--mst-accent);
}
.mst-search, .mst-inv__filters { overflow: visible; }

/* ------------------------------------------------------------------ Inventory */

.mst-inv { --mst-filters-bg: var(--mst-surface); position: relative; }
.mst-inv__filters {
	position: relative;
	z-index: 5;
	padding: 22px 26px;
	border: 1px solid var(--mst-line);
	border-radius: 4px;
	background: var(--mst-filters-bg);
	color: var(--mst-ink);
}
.mst-inv__filters-head { display: none; }
.mst-inv__backdrop { display: none; }
.mst-inv__fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 0; }
.mst-inv--top .mst-inv__fields .mst-select { padding: 4px 22px; border-left: 1px solid var(--mst-line); }
.mst-inv--top .mst-inv__fields .mst-select:first-child { padding-left: 0; border-left: 0; }
.mst-inv__filters-actions { display: flex; justify-content: flex-end; align-items: center; gap: 22px; margin-top: 16px; }
.mst-inv__apply { display: none !important; }
@media (min-width: 1025px) {
	.mst-inv--top:not(.has-filters) .mst-inv__filters-actions { display: none; }
}
.mst-inv__main { margin-top: 48px; }
.mst-inv__bar {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	padding-bottom: 22px;
	margin-bottom: 36px;
	border-bottom: 1px solid var(--mst-line);
}
.mst-inv__count { margin: 0; font-size: 0.95rem; color: var(--mst-muted); }
.mst-inv__count strong {
	margin-right: 0.25em;
	font-family: var(--mst-display);
	font-size: clamp(2rem, 3.4vw, 3rem);
	font-weight: 300;
	line-height: 1;
	letter-spacing: -0.03em;
	color: var(--mst-ink);
}
.mst-inv__bar-actions { display: flex; align-items: center; gap: 14px; }
.mst-site .mst-inv__toggle { display: none; }
.mst-inv__grid { transition: opacity 0.35s var(--mst-ease); }
.mst-inv.is-loading .mst-inv__grid { opacity: 0.35; pointer-events: none; }
.mst-inv__empty { padding: 80px 0; text-align: center; color: var(--mst-muted); }
.mst-inv__empty p { margin: 0 0 24px; font-size: 1.1rem; }
.mst-inv__more { margin-top: 64px; text-align: center; }

.mst-inv--sidebar { display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 56px; align-items: start; }
.mst-inv--sidebar .mst-inv__filters { position: sticky; top: 110px; }
.mst-inv--sidebar .mst-inv__fields { grid-template-columns: 1fr; gap: 22px; }
.mst-inv--sidebar .mst-inv__fields .mst-select { padding-bottom: 14px; border-bottom: 1px solid var(--mst-line); }
.mst-inv--sidebar .mst-inv__filters-actions { justify-content: flex-start; }
.mst-inv--sidebar .mst-inv__main { margin-top: 0; }

@media (max-width: 1024px) {
	.mst-inv--sidebar { display: block; }
	.mst-site .mst-inv__toggle { display: inline-flex; }
	.mst-inv__main { margin-top: 0; }
	.mst-inv__filters,
	.mst-inv--sidebar .mst-inv__filters {
		position: fixed;
		inset: auto 0 0 0;
		z-index: 10000;
		max-height: 88vh;
		overflow-y: auto;
		padding: 26px var(--mst-gutter) 30px;
		border: 0;
		border-top: 1px solid var(--mst-line);
		border-radius: 18px 18px 0 0;
		transform: translateY(105%);
		visibility: hidden;
		transition: transform 0.55s var(--mst-ease), visibility 0s linear 0.55s;
		box-shadow: 0 -30px 80px rgba(0, 0, 0, 0.55);
	}
	.mst-inv.is-open .mst-inv__filters { transform: translateY(0); visibility: visible; transition: transform 0.55s var(--mst-ease), visibility 0s; }
	.mst-inv__backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9999;
		background: rgba(5, 5, 5, 0.6);
		backdrop-filter: blur(3px);
		-webkit-backdrop-filter: blur(3px);
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.45s var(--mst-ease), visibility 0s linear 0.45s;
	}
	.mst-inv.is-open .mst-inv__backdrop { opacity: 1; visibility: visible; transition: opacity 0.45s var(--mst-ease), visibility 0s; }
	.mst-inv__filters-head { font-weight: 400; }
	.mst-inv__filters-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 18px;
		font-family: var(--mst-display);
		font-size: 1.2rem;
		font-weight: 500;
	}
	.mst-inv__fields,
	.mst-inv--sidebar .mst-inv__fields { grid-template-columns: 1fr 1fr; gap: 18px; }
	.mst-inv--top .mst-inv__fields .mst-select { padding: 0 0 12px; border-left: 0; border-bottom: 1px solid var(--mst-line); }
	.mst-inv__filters-actions { justify-content: space-between; margin-top: 24px; }
	.mst-inv__apply { display: inline-flex !important; }
	.mst-inv__bar { align-items: center; }
}
@media (max-width: 480px) {
	.mst-inv__fields,
	.mst-inv--sidebar .mst-inv__fields { grid-template-columns: 1fr; }
	.mst-inv__bar-actions .mst-select__label { display: none; }
}

/* ------------------------------------------------------------------ Quick search */

.mst-search {
	--mst-search-bg: rgba(22, 21, 21, 0.86);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	align-items: center;
	gap: 0;
	padding: 14px 14px 14px 30px;
	border: 1px solid var(--mst-line);
	border-radius: 4px;
	background: var(--mst-search-bg);
	color: var(--mst-ink);
}
.mst-search-glass-yes .mst-search { backdrop-filter: blur(20px) saturate(1.2); -webkit-backdrop-filter: blur(20px) saturate(1.2); }
.mst-search__field { display: flex; flex-direction: column; gap: 6px; padding: 6px 24px; border-left: 1px solid var(--mst-line); min-width: 0; }
.mst-search__field:first-child { padding-left: 0; border-left: 0; }
.mst-search__field > span {
	font-size: 0.66rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--mst-muted);
}
.mst-site .mst-search select { font-family: var(--mst-display); font-size: 1rem; }
.mst-site .mst-search__submit { justify-self: end; padding-block: 1.35em; }
.mst-search__count { opacity: 0.75; font-weight: 500; }
@media (min-width: 1025px) {
	.mst-search { grid-template-columns: repeat(var(--mst-search-fields, 3), minmax(0, 1fr)) auto; }
	.mst-search:has(> .mst-search__field:nth-of-type(4)) { --mst-search-fields: 4; }
	.mst-search:not(:has(> .mst-search__field:nth-of-type(3))) { --mst-search-fields: 2; }
}
@media (max-width: 1024px) {
	.mst-search { grid-template-columns: 1fr 1fr; gap: 16px; padding: 22px; }
	.mst-search__field { padding: 0 0 12px; border-left: 0; border-bottom: 1px solid var(--mst-line); }
	.mst-site .mst-search__submit { grid-column: 1 / -1; justify-self: stretch; }
}
@media (max-width: 480px) {
	.mst-search { grid-template-columns: 1fr; }
}

/* ------------------------------------------------------------------ Brands index */

.mst-brands { --mst-line: rgba(244, 241, 238, 0.12); margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--mst-line); }
.mst-brands li { border-bottom: 1px solid var(--mst-line); }
@media (min-width: 1025px) {
	.mst-brands--cols-2 {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: repeat(var(--mst-rows, 6), auto);
		grid-auto-flow: column;
		column-gap: clamp(40px, 5vw, 88px);
	}
	.mst-brands--cols-2 .mst-brands__name { font-size: clamp(1.5rem, 2.5vw, 2.4rem); }
}
.mst-brands__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	align-items: center;
	gap: 28px;
	padding: clamp(16px, 2.2vw, 28px) 0;
	color: inherit;
	text-decoration: none;
}
.mst-brands__name {
	font-family: var(--mst-display);
	font-size: clamp(1.6rem, 3.6vw, 3.1rem);
	font-weight: 300;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--mst-ink);
	transition: transform 0.6s var(--mst-ease), color 0.4s;
}
.mst-brands__count { font-size: 0.85rem; color: var(--mst-muted); white-space: nowrap; }
.mst-brands__name { display: inline-flex; align-items: center; gap: 0.6em; }
.mst-brands__logo-wrap { display: inline-flex; align-items: center; justify-content: center; width: 1.6em; height: 1.1em; flex: none; }
.mst-site .mst-brands__logo { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; opacity: 0.9; transition: opacity 0.4s; }
.mst-brands__logo--white { filter: brightness(0) invert(1); }
.mst-site .mst-marquee__item .mst-brands__logo { height: 0.7em; max-height: none; }
.mst-brands__arrow {
	display: grid;
	place-items: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--mst-line);
	border-radius: 50%;
	color: var(--mst-ink);
	transition: background 0.4s var(--mst-ease), color 0.4s, border-color 0.4s, transform 0.5s var(--mst-ease);
}
@media (hover: hover) {
	.mst-brands__link:hover .mst-brands__name { transform: translateX(14px); color: var(--mst-accent); }
	.mst-brands__link:hover .mst-brands__arrow { background: var(--mst-accent); border-color: var(--mst-accent); color: #fff; transform: rotate(45deg); }
	.mst-brands--hover:hover .mst-brands__link:not(:hover) .mst-brands__name { opacity: 0.45; }
}
.mst-brands__name { transition: transform 0.6s var(--mst-ease), color 0.4s, opacity 0.4s; }
.mst-brands__float {
	position: fixed;
	top: 0;
	left: 0;
	z-index: 50;
	width: clamp(220px, 22vw, 360px);
	aspect-ratio: 4/3;
	overflow: hidden;
	border-radius: 4px;
	pointer-events: none;
	opacity: 0;
	transform: translate(-50%, -50%) scale(0.85);
	transition: opacity 0.35s var(--mst-ease), transform 0.5s var(--mst-ease);
}
.mst-brands__float.is-on { opacity: 1; transform: translate(-50%, -50%) scale(1); }
.mst-brands__float img { width: 100%; height: 100%; object-fit: cover; }
@media (hover: none) { .mst-brands__float { display: none; } }
@media (max-width: 600px) {
	.mst-brands__link { grid-template-columns: minmax(0, 1fr) auto; }
	.mst-brands__count { display: none; }
}

/* ------------------------------------------------------------------ Marquee */

.mst-marquee {
	--mst-marquee-speed: 40s;
	--mst-marquee-color: var(--mst-ink);
	position: relative;
	overflow: hidden;
	user-select: none;
}
.mst-marquee__track { display: flex; width: max-content; animation: mst-marquee var(--mst-marquee-speed) linear infinite; }
.mst-marquee--reverse .mst-marquee__track { animation-direction: reverse; }
.mst-marquee:hover .mst-marquee__track { animation-play-state: paused; }
.mst-marquee__group { display: flex; align-items: center; flex: none; }
.mst-marquee__item {
	padding: 0 0.55em;
	font-family: var(--mst-display);
	font-size: clamp(2.6rem, 8vw, 8rem);
	font-weight: 300;
	line-height: 1.1;
	letter-spacing: -0.03em;
	white-space: nowrap;
	color: var(--mst-marquee-color);
	text-decoration: none;
	transition: color 0.3s;
}
a.mst-marquee__item:hover { color: var(--mst-accent); }
.mst-marquee--outline .mst-marquee__item { color: transparent; -webkit-text-stroke: 1px var(--mst-marquee-color); }
.mst-marquee__sep { flex: none; width: 0.6rem; height: 0.6rem; border-radius: 50%; background: var(--mst-accent); }
.mst-marquee--brands .mst-marquee__item { font-size: clamp(1.8rem, 4.5vw, 4rem); }
@keyframes mst-marquee { to { transform: translateX(-50%); } }

/* ------------------------------------------------------------------ Header */

.mst-header {
	--mst-logo-h: 44px;
	--mst-header-bg: rgba(13, 12, 12, 0.86);
	--mst-header-ink: var(--mst-ink);
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9990;
	color: var(--mst-header-ink);
	transition: transform 0.6s var(--mst-ease);
}
.admin-bar .mst-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .mst-header { top: 46px; } }
.mst-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: var(--mst-header-bg);
	border-bottom: 1px solid var(--mst-line);
	backdrop-filter: blur(16px) saturate(1.3);
	-webkit-backdrop-filter: blur(16px) saturate(1.3);
	opacity: 1;
	transition: opacity 0.5s var(--mst-ease);
}
.mst-header--overlay:not(.is-scrolled)::before { opacity: 0; }
.mst-header--overlay:not(.is-scrolled) {
	background: linear-gradient(180deg, rgba(8, 8, 8, 0.55), rgba(8, 8, 8, 0));
}
.mst-header.is-hidden:not(.is-menu-open) { transform: translateY(-110%); }
.mst-header__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding: 24px var(--mst-gutter);
	transition: padding 0.5s var(--mst-ease);
}
.mst-header.is-scrolled .mst-header__bar { padding-block: 14px; }
/* One primary action in the first view: the header button joins once the visitor scrolls. */
.mst-site .mst-header__cta { transition: opacity 0.5s var(--mst-ease), transform 0.5s var(--mst-ease), visibility 0s, color 0.45s var(--mst-ease), border-color 0.45s var(--mst-ease); }
.mst-site .mst-header--overlay:not(.is-scrolled):not(.is-menu-open) .mst-header__cta {
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.4s var(--mst-ease), transform 0.4s var(--mst-ease), visibility 0s linear 0.4s;
}
.mst-header__logo { display: inline-flex; flex: none; position: relative; z-index: 2; }
.mst-header__logo img { display: block; width: auto; height: var(--mst-logo-h); transition: height 0.5s var(--mst-ease); }
.mst-header.is-scrolled .mst-header__logo img { height: calc(var(--mst-logo-h) * 0.82); }
.mst-header__wordmark { font-family: var(--mst-display); font-size: 1.3rem; font-weight: 600; letter-spacing: 0.08em; color: var(--mst-header-ink); }
.mst-header__nav { display: flex; align-items: center; gap: clamp(22px, 2.6vw, 44px); }
.mst-header__nav a {
	position: relative;
	padding: 6px 0;
	color: var(--mst-header-ink);
	font-family: var(--mst-text);
	font-size: 0.74rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.mst-header__nav a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: right;
	transition: transform 0.5s var(--mst-ease);
}
.mst-header__nav a:hover::after,
.mst-header__nav a[aria-current]::after { transform: scaleX(1); transform-origin: left; }
.mst-header__actions { display: flex; align-items: center; gap: 22px; position: relative; z-index: 2; }
.mst-header__phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: var(--mst-header-ink);
	font-size: 0.85rem;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
}
.mst-header__phone .mst-icon { width: 18px; height: 18px; color: var(--mst-accent); }
.mst-site .mst-header__burger {
	display: none;
	position: relative;
	width: 46px;
	height: 46px;
	border: 1px solid rgba(244, 241, 238, 0.3);
	border-radius: 50%;
}
.mst-header__burger span {
	position: absolute;
	left: 14px;
	right: 14px;
	height: 1.5px;
	background: var(--mst-header-ink);
	transition: transform 0.5s var(--mst-ease), top 0.5s var(--mst-ease);
}
.mst-header__burger span:first-child { top: 18px; }
.mst-header__burger span:last-child { top: 26px; }
.mst-header.is-menu-open .mst-header__burger span:first-child { top: 22px; transform: rotate(45deg); }
.mst-header.is-menu-open .mst-header__burger span:last-child { top: 22px; transform: rotate(-45deg); }
.mst-header.is-menu-open::before { opacity: 0; }
.mst-header.is-menu-open { background: none; }

.mst-menu {
	position: fixed;
	inset: 0;
	z-index: 1;
	display: flex;
	padding: 130px var(--mst-gutter) 40px;
	background: var(--mst-bg);
	overflow-y: auto;
	clip-path: inset(0 0 100% 0);
	transition: clip-path 0.8s var(--mst-ease-in-out);
}
.mst-menu[hidden] { display: none; }
.mst-header.is-menu-open .mst-menu { clip-path: inset(0 0 0 0); }
.mst-menu__inner { display: flex; flex-direction: column; justify-content: space-between; gap: 48px; width: 100%; }
.mst-menu__nav { display: flex; flex-direction: column; }
.mst-menu__nav a {
	display: block;
	padding: 10px 0;
	border-bottom: 1px solid var(--mst-line);
	color: var(--mst-ink);
	font-family: var(--mst-display);
	font-size: clamp(2rem, 7vw, 3.4rem);
	font-weight: 400;
	line-height: 1.1;
	letter-spacing: -0.03em;
	text-decoration: none;
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.6s var(--mst-ease), transform 0.8s var(--mst-ease), color 0.3s;
}
.mst-menu__nav a:hover { color: var(--mst-accent); }
.mst-header.is-menu-open .mst-menu__nav a { opacity: 1; transform: none; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(1) { transition-delay: 0.25s; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(2) { transition-delay: 0.31s; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(3) { transition-delay: 0.37s; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(4) { transition-delay: 0.43s; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(5) { transition-delay: 0.49s; }
.mst-header.is-menu-open .mst-menu__nav a:nth-child(6) { transition-delay: 0.55s; }
.mst-menu__contact { opacity: 0; transition: opacity 0.6s 0.5s; }
.mst-header.is-menu-open .mst-menu__contact { opacity: 1; }
html.mst-menu-open { overflow: hidden; }

@media (max-width: 1180px) {
	.mst-header__nav { display: none; }
	.mst-site .mst-header__burger { display: block; }
}
@media (max-width: 767px) {
	.mst-header { --mst-logo-h: 34px; }
	.mst-header__phone span { display: none; }
	.mst-header__phone { width: 46px; height: 46px; justify-content: center; border: 1px solid rgba(244, 241, 238, 0.3); border-radius: 50%; }
	.mst-header__phone .mst-icon { color: var(--mst-header-ink); }
	.mst-header__bar { padding-block: 16px; gap: 12px; }
	.mst-header__actions { gap: 10px; }
	.mst-site .mst-header__cta { display: none; }
}

/* ------------------------------------------------------------------ Contact list */

.mst-contact { margin: 0; padding: 0; list-style: none; display: grid; gap: 22px; }
.mst-contact--columns { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 32px; }
.mst-contact__item { display: flex; align-items: flex-start; gap: 16px; }
.mst-contact__icon {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--mst-line);
	border-radius: 50%;
	color: var(--mst-accent);
}
.mst-contact__icon .mst-icon { width: 19px; height: 19px; }
.mst-contact__body { display: flex; flex-direction: column; gap: 4px; padding-top: 2px; }
.mst-contact__label { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mst-muted); }
.mst-contact__value { font-size: 1.02rem; line-height: 1.45; color: var(--mst-ink); }
.mst-contact__value a { color: inherit; text-decoration: none; background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px; transition: background-size 0.45s var(--mst-ease); }
.mst-contact__value a:hover { background-size: 100% 1px; }

/* ------------------------------------------------------------------ Car gallery */

.mst-cg { --mst-cg-h: 74vh; --mst-cg-radius: 4px; position: relative; }
.mst-cg__mosaic {
	position: relative;
	display: grid;
	grid-template-columns: 2.1fr 1fr 1fr;
	grid-template-rows: 1fr 1fr;
	gap: 8px;
	/* Capped by width so portrait tablets do not get tall, heavily cropped tiles. */
	height: min(var(--mst-cg-h), 46vw);
	min-height: 360px;
}
.mst-site .mst-cg__tile { position: relative; overflow: hidden; border-radius: var(--mst-cg-radius); background: var(--mst-surface); }
.mst-site .mst-cg__tile--0 { grid-area: 1 / 1 / 3 / 2; }
.mst-cg__tile img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; transition: transform 1.2s var(--mst-ease), filter 0.5s; }
.mst-cg__tile:hover img { transform: scale(1.04); }
.mst-cg__tile:focus-visible { outline: 2px solid var(--mst-accent); outline-offset: 2px; }
.mst-site .mst-cg__all { grid-area: 1 / 1 / 3 / 2; align-self: end; justify-self: start; position: relative; z-index: 2; margin: 18px; }
.mst-cg__stage {
	position: relative;
	overflow: hidden;
	height: var(--mst-cg-h);
	min-height: 320px;
	border-radius: var(--mst-cg-radius);
	background: var(--mst-surface);
	touch-action: pan-y;
}
.mst-cg__slides { position: absolute; inset: 0; }
.mst-cg__slide { position: absolute; inset: 0; margin: 0; opacity: 0; transform: scale(1.04); transition: opacity 0.8s var(--mst-ease), transform 1.4s var(--mst-ease); cursor: zoom-in; }
.mst-cg__slide.is-active { opacity: 1; transform: none; z-index: 1; }
.mst-cg__slide img { width: 100% !important; height: 100% !important; object-fit: cover; }
.mst-site .mst-cg__prev,
.mst-site .mst-cg__next { position: absolute; top: 50%; z-index: 3; margin-top: -26px; background: rgba(13, 12, 12, 0.5); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.mst-cg__prev { left: 20px; }
.mst-cg__next { right: 20px; }
.mst-site .mst-cg__expand { position: absolute; top: 20px; right: 20px; z-index: 3; background: rgba(13, 12, 12, 0.5); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.mst-cg__counter {
	position: absolute;
	left: 22px;
	bottom: 20px;
	z-index: 3;
	padding: 8px 14px;
	border-radius: 999px;
	background: rgba(13, 12, 12, 0.55);
	color: var(--mst-ink);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
}
.mst-cg__thumbs { display: flex; gap: 8px; margin-top: 8px; overflow-x: auto; scrollbar-width: none; }
.mst-cg__thumbs::-webkit-scrollbar { display: none; }
.mst-site .mst-cg__thumb { flex: 0 0 110px; aspect-ratio: 4/3; overflow: hidden; border-radius: 3px; opacity: 0.45; transition: opacity 0.3s; outline: 1px solid transparent; outline-offset: -1px; }
.mst-site .mst-cg__thumb.is-active { opacity: 1; outline-color: var(--mst-ink); }
.mst-cg__thumb img { width: 100% !important; height: 100% !important; object-fit: cover; }
@media (max-width: 767px) {
	/* Explicit vw heights: aspect-ratio inside a grid inside a flex column is mis-sized by Chrome. */
	.mst-cg .mst-cg__mosaic { grid-template-columns: 1fr 1fr; grid-template-rows: 68vw 34vw; height: auto !important; min-height: 0; }
	.mst-site .mst-cg__tile--0 { grid-column: 1 / -1; grid-row: 1; }
	.mst-cg__tile--3, .mst-cg__tile--4 { display: none; }
	.mst-site .mst-cg__all { grid-area: 1 / 1 / 2 / 3; margin: 12px; }
	.mst-cg .mst-cg__stage { height: 70vw !important; min-height: 0; }
	.mst-cg__prev, .mst-cg__next { display: none; }
	.mst-cg__thumb { flex-basis: 84px; }
}

/* Lightbox */
.mst-lb {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: grid;
	/* minmax(0, 1fr) keeps the photo row inside the screen (plain 1fr grew to the photo's own height). */
	grid-template-rows: auto minmax(0, 1fr) auto;
	background: rgba(7, 7, 7, 0.97);
	color: var(--mst-ink, #f4f1ee);
	opacity: 0;
	transition: opacity 0.45s var(--mst-ease);
}
.mst-lb.is-open { opacity: 1; }
.mst-lb__top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 16px; padding: 18px var(--mst-gutter, 24px); }
.mst-lb__title { min-width: 0; overflow: hidden; font-family: var(--mst-display); font-size: 1rem; white-space: nowrap; text-overflow: ellipsis; }
.mst-lb__count { font-size: 0.75rem; letter-spacing: 0.16em; color: var(--mst-muted, #a8a29d); }
.mst-site .mst-lb .mst-lb__close { position: static; justify-self: end; margin: 0; }
.mst-lb__stage {
	position: relative;
	display: grid;
	grid-template: minmax(0, 1fr) / minmax(0, 1fr);
	place-items: center;
	min-height: 0;
	padding: clamp(8px, 4vh, 40px) clamp(16px, 10vw, 180px);
	overflow: hidden;
	touch-action: none;
}
.mst-lb__stage img { max-width: 100%; max-height: 100%; object-fit: contain; cursor: zoom-in; user-select: none; -webkit-user-drag: none; transition: opacity 0.35s, transform 0.35s var(--mst-ease); }
.mst-lb.is-zoomed .mst-lb__stage img { cursor: grab; }
.mst-lb__stage img.is-live { cursor: grabbing; transition: opacity 0.35s; }
.mst-lb__stage img.is-swapping { opacity: 0; transform: scale(0.985); }
.mst-site .mst-lb__stage .mst-round { position: absolute; top: 50%; z-index: 1; margin-top: -26px; }
.mst-lb [data-lb-prev] { left: 24px; }
.mst-lb [data-lb-next] { right: 24px; }
.mst-lb__thumbs { display: flex; gap: 8px; overflow-x: auto; padding: 14px var(--mst-gutter, 24px) calc(18px + env(safe-area-inset-bottom)); scrollbar-width: none; }
.mst-lb__thumbs::-webkit-scrollbar { display: none; }
.mst-lb__thumbs[hidden] { display: none; }
/* Auto margins centre the strip but still let it scroll from the first photo when it overflows. */
.mst-site .mst-lb .mst-lb__thumb:first-child { margin-left: auto; }
.mst-site .mst-lb .mst-lb__thumb:last-child { margin-right: auto; }
.mst-site .mst-lb .mst-lb__thumb { flex: 0 0 88px; height: 60px; border-radius: 3px; opacity: 0.4; transition: opacity 0.3s, outline-color 0.3s; outline: 2px solid transparent; outline-offset: 2px; }
.mst-lb__thumb img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.mst-site .mst-lb .mst-lb__thumb:hover { opacity: 0.8; }
.mst-site .mst-lb .mst-lb__thumb.is-active { opacity: 1; outline-color: var(--mst-ink, #f4f1ee); }
.mst-site .mst-lb .mst-lb__thumb:focus-visible { opacity: 1; outline-color: var(--mst-accent); }
@media (max-width: 767px) {
	.mst-lb [data-lb-prev], .mst-lb [data-lb-next] { display: none; }
	.mst-lb__top { grid-template-columns: minmax(0, 1fr) auto auto; }
	.mst-lb__stage { padding: 8px 0; }
	.mst-site .mst-lb .mst-lb__thumb { flex-basis: 64px; height: 46px; }
}

/* ------------------------------------------------------------------ Car title + price */

.mst-ct__top { display: flex; align-items: center; gap: 16px; margin-bottom: 18px; }
.mst-ct__brand { font-size: clamp(0.95rem, 1.2vw, 1.15rem); font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mst-accent); }
.mst-site .mst-ct__title {
	margin: 0 0 18px;
	font-family: var(--mst-display);
	font-size: clamp(2rem, 4vw, 3.6rem);
	font-weight: 400;
	line-height: 1.04;
	letter-spacing: -0.03em;
	color: var(--mst-ink);
	text-wrap: balance;
}
.mst-ct__version { font-weight: 300; color: var(--mst-muted); }
.mst-ct__tagline { max-width: 46em; margin: 0 0 26px; font-size: 1.08rem; line-height: 1.6; color: var(--mst-muted); }
.mst-ct__chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.mst-ct__chips li {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	padding: 10px 16px;
	border: 1px solid var(--mst-line);
	border-radius: 999px;
	font-size: 0.88rem;
	color: var(--mst-ink);
}
.mst-ct__chips .mst-icon { width: 17px; height: 17px; color: var(--mst-muted); }
/* Title head with price and enquiry button on the right (car page entry). */
.mst-ct--buy { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px 64px; }
.mst-ct--buy .mst-ct__main { min-width: 0; }
.mst-ct__buy { display: flex; flex-direction: column; align-items: flex-end; gap: 16px; flex: none; }
.mst-ct__price { font-family: var(--mst-display); font-size: clamp(1.8rem, 2.6vw, 2.5rem); font-weight: 300; line-height: 1; letter-spacing: -0.03em; color: var(--mst-ink); white-space: nowrap; }
.mst-ct__price .mst-price__old { margin-bottom: 6px; font-size: 0.42em; letter-spacing: 0; text-align: right; }
@media (max-width: 1024px) {
	.mst-ct--buy { flex-direction: column; align-items: stretch; }
	.mst-ct__buy { flex-direction: row; align-items: center; justify-content: space-between; padding-top: 18px; border-top: 1px solid var(--mst-line); }
	/* The price panel follows the gallery on smaller screens, so the button would repeat. */
	.mst-ct__buy .mst-btn { display: none; }
	.mst-ct__buy:not(:has(.mst-ct__price)) { display: none; }
}
@media (max-width: 767px) {
	.mst-ct__chips { gap: 8px; }
	.mst-ct__chips li { padding: 8px 13px; gap: 7px; font-size: 0.82rem; }
	.mst-ct__chips .mst-icon { width: 15px; height: 15px; }
}
.mst-badge { padding: 6px 12px; border-radius: 999px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; background: var(--mst-surface-2); color: var(--mst-ink); }
.mst-badge--reservado { background: #3a2a12; color: #f3c77a; }
.mst-badge--vendido { background: var(--mst-accent); color: #fff; }

.mst-cp {
	--mst-cp-bg: var(--mst-surface);
	padding: 34px;
	border: 1px solid var(--mst-line);
	border-radius: 4px;
	background: var(--mst-cp-bg);
	color: var(--mst-ink);
}
@media (min-width: 1025px) {
	.mst-cp--sticky { position: sticky; top: 110px; }
	.elementor-widget-mst-car-price:has(.mst-cp--sticky) { position: sticky; top: 110px; align-self: flex-start; }
	.elementor-widget-mst-car-price:has(.mst-cp--sticky) .mst-cp--sticky { position: static; }
}
.mst-cp__label { display: block; margin-bottom: 10px; font-size: 0.66rem; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; color: var(--mst-muted); }
.mst-cp__value { font-family: var(--mst-display); font-size: clamp(2rem, 3vw, 2.6rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.03em; }
.mst-cp__value .mst-price__old { margin-bottom: 6px; font-size: 0.45em; letter-spacing: 0; }
.mst-cp__note { margin: 12px 0 0; font-size: 0.9rem; color: var(--mst-muted); }
.mst-cp__status { margin: 14px 0 0; padding: 12px 14px; border-radius: 4px; background: #3a2a12; color: #f3c77a; font-size: 0.88rem; line-height: 1.5; }
.mst-cp__actions { display: flex; flex-direction: column; gap: 10px; margin-top: 28px; }
.mst-site .mst-cp__actions .mst-btn { width: 100%; }
.mst-site .mst-cp__actions .mst-btn--link { width: auto; align-self: center; margin-top: 4px; }
.mst-cp__foot { margin: 26px 0 0; padding-top: 22px; border-top: 1px solid var(--mst-line); font-size: 0.86rem; line-height: 1.55; color: var(--mst-muted); }

/* Contact bar: phones and tablets only, slides up after the price panel leaves the screen. */
.mst-cp-bar { display: none; }
@media (max-width: 1024px) {
	body.mst-site:has(.mst-cp-bar) { padding-bottom: 76px; }
	.mst-cp-bar {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9000;
		display: flex;
		align-items: center;
		gap: 10px;
		padding: 12px var(--mst-gutter) calc(12px + env(safe-area-inset-bottom));
		border-top: 1px solid var(--mst-line);
		background: rgba(22, 21, 21, 0.86);
		backdrop-filter: blur(16px) saturate(1.2);
		-webkit-backdrop-filter: blur(16px) saturate(1.2);
		transform: translateY(110%);
		transition: transform 0.5s var(--mst-ease);
	}
	.mst-cp-bar.is-on { transform: none; }
	.mst-cp-bar__price { flex: 1; min-width: 0; font-family: var(--mst-display); font-size: 1.15rem; font-weight: 400; letter-spacing: -0.02em; color: var(--mst-ink); white-space: nowrap; }
	.mst-site .mst-cp-bar .mst-round { width: 46px; height: 46px; }
	.mst-site .mst-cp-bar .mst-btn { padding: 1.25em 1.5em; }
}
@media (prefers-reduced-motion: reduce) { .mst-cp-bar { transition: none; } }

/* ------------------------------------------------------------------ Specs, extras, description */

.mst-specs { --mst-cols: 4; display: grid; grid-template-columns: repeat(var(--mst-cols), minmax(0, 1fr)); gap: 0 28px; margin: 0; }
.mst-specs__item { display: grid; grid-template-columns: auto 1fr; grid-template-rows: auto auto; column-gap: 14px; row-gap: 4px; padding: 20px 0; border-top: 1px solid var(--mst-line); }
.mst-specs__icon { grid-row: span 2; color: var(--mst-accent); padding-top: 2px; }
.mst-specs__icon .mst-icon { width: 22px; height: 22px; }
.mst-specs dt { font-size: 0.66rem; font-weight: 600; letter-spacing: 0.18em; text-transform: uppercase; color: var(--mst-muted); }
.mst-specs dd { margin: 0; font-size: 1.02rem; font-weight: 500; color: var(--mst-ink); }
.mst-specs--list { grid-template-columns: 1fr; }
.mst-specs--list .mst-specs__item { grid-template-columns: auto 1fr auto; grid-template-rows: auto; align-items: center; padding: 16px 0; }
.mst-specs--list .mst-specs__icon { grid-row: auto; }
.mst-specs--list dd { text-align: right; }

.mst-extras-list { --mst-cols: 2; }
.mst-extras-list__items { margin: 0; padding: 0; list-style: none; columns: var(--mst-cols); column-gap: 40px; }
.mst-extras-list__items li { display: flex; align-items: flex-start; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--mst-line); break-inside: avoid; font-size: 0.96rem; line-height: 1.45; color: var(--mst-ink); }
.mst-extras-list__items .mst-icon { width: 18px; height: 18px; margin-top: 1px; color: var(--mst-accent); }
/* Extras beyond the limit stay hidden until "Ver todos" is pressed. */
.mst-site .mst-extras-list__items li[hidden] { display: none; }
.mst-extras-list__items li.is-revealed { animation: mst-extra-in 0.6s var(--mst-ease) both; }
@keyframes mst-extra-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.mst-extras-list--chips { display: flex; flex-wrap: wrap; gap: 10px; columns: auto; }
.mst-extras-list--chips li { padding: 9px 15px; border: 1px solid var(--mst-line); border-radius: 999px; font-size: 0.88rem; }
.mst-extras-list .mst-btn--link { margin-top: 18px; }

.mst-desc { max-width: 68ch; font-size: 1.04rem; line-height: 1.75; color: var(--mst-muted); }
.mst-desc p { margin: 0 0 1.1em; }
.mst-desc strong { color: var(--mst-ink); }

.mst-editor-note { padding: 24px; border: 1px dashed var(--mst-line); border-radius: 4px; color: var(--mst-muted); font-size: 0.9rem; }
.mst-gallery-empty { aspect-ratio: 16/9; border-radius: 4px; background: linear-gradient(135deg, var(--mst-surface), var(--mst-surface-2)); }

/* ------------------------------------------------------------------ Fallback car page */

.mst-wrap { max-width: 1400px; margin: 0 auto; padding: 120px var(--mst-gutter) 100px; }
.mst-back { display: inline-flex; align-items: center; gap: 10px; margin-bottom: 26px; color: var(--mst-muted); font-size: 0.8rem; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; text-decoration: none; }
.mst-back:hover { color: var(--mst-ink); }
.mst-fallback__cols { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 72px; margin: 56px 0 96px; align-items: start; }
.mst-fallback__side .mst-cp { position: sticky; top: 110px; }
.mst-h2, .mst-h3 { font-family: var(--mst-display); font-weight: 500; letter-spacing: -0.02em; color: var(--mst-ink); }
.mst-h2 { margin: 0 0 36px; font-size: clamp(1.8rem, 3vw, 2.6rem); }
.mst-h3 { margin: 56px 0 20px; font-size: 1.35rem; }
@media (max-width: 1024px) { .mst-fallback__cols { grid-template-columns: 1fr; gap: 40px; } }

/* ------------------------------------------------------------------ Forms (Fluent Forms, CF7) */

.mst-site .fluentform .ff-el-group { margin-bottom: 26px; }
.mst-site .fluentform .ff-el-input--label label,
.mst-site .wpcf7 label {
	font-size: 0.68rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--mst-muted) !important;
}
.mst-site .fluentform .ff-el-form-control,
.mst-site .wpcf7 .wpcf7-form-control:not(.wpcf7-submit) {
	padding: 12px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(244, 241, 238, 0.22) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--mst-ink) !important;
	font-family: var(--mst-text);
	font-size: 1.05rem !important;
	box-shadow: none !important;
	transition: border-color 0.35s;
}
.mst-site .fluentform .ff-el-form-control:focus,
.mst-site .wpcf7 .wpcf7-form-control:focus { border-bottom-color: var(--mst-ink) !important; outline: none; }
.mst-site .fluentform .ff-el-form-control::placeholder { color: rgba(244, 241, 238, 0.35) !important; }
.mst-site .fluentform select.ff-el-form-control option { background: #161515; color: #f4f1ee; }
.mst-site .fluentform .ff-btn-submit,
.mst-site .wpcf7 .wpcf7-submit {
	padding: 1.2em 2.2em !important;
	border: 1px solid var(--mst-accent) !important;
	border-radius: 999px !important;
	background: var(--mst-accent) !important;
	color: #fff !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.4s, color 0.4s, border-color 0.4s;
}
.mst-site .fluentform .ff-btn-submit:hover,
.mst-site .wpcf7 .wpcf7-submit:hover { background: var(--mst-ink) !important; border-color: var(--mst-ink) !important; color: var(--mst-bg) !important; }
.mst-site .fluentform .ff-el-is-error .text-danger,
.mst-site .fluentform .error { color: #ff8a8a; font-size: 0.85rem; }
.mst-site .ff-message-success { border: 1px solid var(--mst-line) !important; background: var(--mst-surface) !important; color: var(--mst-ink) !important; box-shadow: none !important; }
.mst-on-light .fluentform .ff-el-form-control { color: var(--mst-bone-ink) !important; border-bottom-color: rgba(22, 20, 20, 0.25) !important; }

/* ------------------------------------------------------------------ Page transition curtain */

.mst-curtain {
	position: fixed;
	inset: 0;
	z-index: 100001;
	background: var(--mst-bg, #0d0c0c);
	pointer-events: none;
	transform-origin: top;
	animation: mst-curtain-out 0.7s 0.05s var(--mst-ease-in-out, ease) forwards;
}
.mst-curtain.is-leaving { animation: mst-curtain-in 0.45s var(--mst-ease-in-out, ease) forwards; }
@keyframes mst-curtain-out { from { transform: scaleY(1); } to { transform: scaleY(0); } }
@keyframes mst-curtain-in { from { transform: scaleY(0); transform-origin: bottom; } to { transform: scaleY(1); transform-origin: bottom; } }

/* ------------------------------------------------------------------ Motion initial states (only when JS + motion are active) */

.mst-motion [data-mst-reveal]:not([data-mst-reveal="words"]) { opacity: 0; }
.mst-motion [data-mst-stagger] > .e-con-inner > *,
.mst-motion [data-mst-stagger] > :not(.e-con-inner) { opacity: 0; }
.mst-motion [data-mst-intro] { opacity: 0; }
.mst-motion .mst-hero__img { transform: scale(1.08); }
.mst-split-w { display: inline-block; overflow: hidden; vertical-align: top; padding-bottom: 0.12em; margin-bottom: -0.12em; }
.mst-split-i { display: inline-block; will-change: transform; }

/* Elementor helpers */
.elementor-widget-image[data-mst-parallax] .elementor-widget-container,
.elementor-widget-image[data-mst-reveal="image"] .elementor-widget-container { overflow: hidden; }
.elementor-widget-image[data-mst-parallax] img { will-change: transform; }

.mst-site .elementor-counter-title { text-wrap: balance; }

/* CSS class "mst-kicker" on a heading: short accent rule above a small label. */
.mst-kicker .elementor-heading-title::before {
	content: "";
	display: block;
	width: 36px;
	height: 1px;
	margin: 0 0 22px;
	background: var(--mst-accent);
}
.mst-kicker--center .elementor-heading-title::before { margin-inline: auto; }
@media (max-width: 767px) {
	.mst-kicker--center .elementor-heading-title::before { margin-inline: 0; }
}

@media (prefers-reduced-motion: reduce) {
	.mst-curtain { display: none; }
	.mst-marquee__track { animation: none; }
	.mst-site .mst-btn::before { transition: none; }
	.mst-card__img, .mst-cg__tile img { transition: none; }
	.mst-spot .mst-spot__slide img, .mst-spot .mst-spot__slide.is-active img { transform: none; transition: none; }
}

/* ------------------------------------------------------------------ 404 */

.mst-404__intro { max-width: 1400px; margin: 0 auto; padding: 200px var(--mst-gutter) 120px; }
.mst-404__kicker { margin: 0 0 26px; font-size: 0.75rem; font-weight: 600; letter-spacing: 0.22em; text-transform: uppercase; color: var(--mst-muted); }
.mst-404__kicker::before { content: ""; display: block; width: 36px; height: 1px; margin-bottom: 22px; background: var(--mst-accent); }
.mst-404__title { max-width: 14ch; margin: 0 0 0.5em; font-family: var(--mst-display); font-size: clamp(2.3rem, 5vw, 4.6rem); font-weight: 400; line-height: 1.05; letter-spacing: -0.02em; color: var(--mst-ink); }
.mst-404__text { max-width: 46ch; margin: 0 0 40px; font-size: 1.1rem; line-height: 1.6; color: var(--mst-muted); }
.mst-404__actions { display: flex; flex-wrap: wrap; gap: 14px; }
.mst-404__cars { max-width: 1400px; margin: 0 auto; padding: 0 var(--mst-gutter) 140px; }
/* No Elementor widget here to set the column count per device. */
@media (max-width: 1024px) { .mst-404 .mst-showcase { --mst-cols: 2; } }
@media (max-width: 767px) { .mst-404__intro { padding-top: 140px; padding-bottom: 80px; } .mst-404 .mst-showcase { --mst-cols: 1; } }

/* Metric-matched fallbacks: while Archivo downloads, Arial is scaled to the same width so the hero text keeps its
   line breaks and nothing jumps when the real font arrives (CLS). Ratios measured in Chrome against Arial. */
@font-face { font-family: "Archivo Expanded Fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 126%; }
@font-face { font-family: "Archivo Fallback"; src: local("Arial"), local("ArialMT"); size-adjust: 97.6%; }
.mst-site .mst-hero__content { font-family: "Archivo", "Archivo Fallback", sans-serif; }
.mst-site .mst-hero__title { font-family: "Archivo Expanded", "Archivo Expanded Fallback", sans-serif; }
