/*!
 * MMS Design Upgrade — premium visual layer for mmstraders.net
 *
 * Hooks: Elementor element IDs (#mms-hero, #mms-svc-grid …) and the
 * structural classes the plugin adds at render time (.mms-sec, .mms-head,
 * .mms-rv …). Loads after Elementor's post CSS and the site's Additional
 * CSS. Content-neutral: nothing here adds, hides or rewrites text.
 *
 *  1. Tokens            9. Why us (pillars)
 *  2. Base              10. Process + truck road
 *  3. Section heads     11. Testimonials
 *  4. Buttons           12. FAQ
 *  5. Header + menu     13. CTA band
 *  6. Hero + trust bar  14. Contact + form
 *  7. Services, equip   15. Footer
 *  8. About             16. Legal pages
 *                       17. Motion  18. Responsive
 */

/* =====================================================================
   1. Tokens — derived from Elementor Global Colors so Site Settings
      still rebrands everything.
   ===================================================================== */
.mms-ux {
	--mms-gold: var(--e-global-color-primary, #E9A426);
	--mms-gold-hi: color-mix(in srgb, var(--mms-gold) 74%, #fff);
	--mms-gold-lo: color-mix(in srgb, var(--mms-gold) 80%, #000);
	--mms-ink: var(--e-global-color-secondary, #141618);
	--mms-ink-deep: color-mix(in srgb, var(--mms-ink) 72%, #000);
	--mms-ink-raised: color-mix(in srgb, var(--mms-ink) 90%, #fff);
	--mms-cream: var(--e-global-color-accent, #F4F1EA);
	--mms-paper: color-mix(in srgb, var(--mms-cream) 40%, #fff);
	--mms-body: var(--e-global-color-text, #5D6167);

	--mms-gold-8: color-mix(in srgb, var(--mms-gold) 8%, transparent);
	--mms-gold-14: color-mix(in srgb, var(--mms-gold) 14%, transparent);
	--mms-gold-24: color-mix(in srgb, var(--mms-gold) 24%, transparent);
	--mms-gold-45: color-mix(in srgb, var(--mms-gold) 45%, transparent);

	--mms-line: rgba(20, 22, 24, .09);
	--mms-line-strong: rgba(20, 22, 24, .16);
	--mms-line-dark: rgba(244, 241, 234, .09);
	--mms-line-dark-strong: rgba(244, 241, 234, .17);

	--mms-r-sm: 12px;
	--mms-r: 16px;
	--mms-r-lg: 22px;

	--mms-ease: cubic-bezier(.22, .61, .36, 1);
	--mms-ease-out: cubic-bezier(.16, 1, .3, 1);

	--mms-shadow-1: 0 1px 2px rgba(15, 17, 19, .05), 0 6px 18px -8px rgba(15, 17, 19, .12);
	--mms-shadow-2: 0 2px 6px rgba(15, 17, 19, .05), 0 22px 44px -20px rgba(15, 17, 19, .30);
	--mms-shadow-3: 0 6px 14px rgba(15, 17, 19, .06), 0 38px 76px -30px rgba(15, 17, 19, .45);
	--mms-shadow-dark: 0 1px 0 rgba(255, 255, 255, .05) inset, 0 40px 90px -40px rgba(0, 0, 0, .85);

	/* Typography system — families come from Elementor Site Settings → Global Fonts,
	   so the whole site can be re-typed there; the names below are only fallbacks. */
	--font-heading: var(--e-global-typography-primary-font-family, "Montserrat"), "Helvetica Neue", Arial, sans-serif;
	--font-subheading: var(--e-global-typography-secondary-font-family, "Montserrat"), "Helvetica Neue", Arial, sans-serif;
	--font-body: var(--e-global-typography-text-font-family, "Roboto"), system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
	--font-button: var(--e-global-typography-accent-font-family, "Montserrat"), "Helvetica Neue", Arial, sans-serif;

	--fw-display: 800;
	--fw-heading: 700;
	--fw-ui: 600;
	--fw-subheading: 500;
	--fw-body: 400;
	--fw-button: 700;

	/* Reveal transition, appended to components that also animate on hover. */
	--mms-rv-t: opacity .8s var(--mms-ease-out) var(--mms-d, 0s), translate .9s var(--mms-ease-out) var(--mms-d, 0s);

	--mms-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--mms-arrow-ink: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141618' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--mms-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l6 6-6 6'/%3E%3C/svg%3E");
	--mms-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 40'%3E%3Cpath d='M0 40V24C0 10.7 6.9 2.7 20.6 0l2 5.4C15.4 7.6 11.8 11.7 11.5 18H20v22H0zm28 0V24C28 10.7 34.9 2.7 48.6 0l2 5.4C43.4 7.6 39.8 11.7 39.5 18H48v22H28z' fill='%23000'/%3E%3C/svg%3E");
}

/* =====================================================================
   2. Base
   ===================================================================== */
html {
	scroll-padding-top: 96px;
}

@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

.mms-ux {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/* Typography: body copy, form controls and dynamic WordPress content. */
body.mms-ux,
.mms-ux button,
.mms-ux input,
.mms-ux select,
.mms-ux textarea {
	font-family: var(--font-body);
}

body.mms-ux {
	font-weight: var(--fw-body);
}

.mms-ux :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-heading);
	font-weight: var(--fw-heading);
}

.mms-ux :is(strong, b) {
	font-weight: 700;
}

.mms-ux ::selection {
	background: var(--mms-gold);
	color: var(--mms-ink);
}

.mms-ux a:focus-visible,
.mms-ux button:focus-visible,
.mms-ux [role="button"]:focus-visible {
	outline: 2px solid var(--mms-gold);
	outline-offset: 3px;
}

.mms-ux .mms-sec {
	position: relative;
}

.mms-ux .mms-sec[id] {
	scroll-margin-top: 80px;
}

/* =====================================================================
   3. Section heads
   ===================================================================== */
.mms-ux .mms-head {
	max-width: 780px;
}

.mms-ux .mms-sec .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(1.75rem, 1.05rem + 2vw, 2.65rem);
	line-height: 1.12;
	letter-spacing: -.02em;
	text-wrap: balance;
}

.mms-ux .mms-sec .mms-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 14px;
	letter-spacing: .14em;
}

.mms-ux .mms-sec .mms-eyebrow .elementor-heading-title::before {
	width: 34px;
	height: 2px;
	margin: 0;
	border-radius: 2px;
	background: linear-gradient(90deg, var(--mms-gold), var(--mms-gold-hi));
	transform-origin: left center;
	transition: transform 1s var(--mms-ease-out) .15s;
}

.mms-ux .mms-head .elementor-widget-text-editor {
	max-width: 64ch;
}

/* =====================================================================
   4. Buttons — one reusable treatment for every Elementor button
   ===================================================================== */
.mms-ux .elementor-element.elementor-widget-button a.elementor-button {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	border-radius: 12px;
	letter-spacing: .06em;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .16) inset, 0 10px 24px -16px rgba(15, 17, 19, .6);
	transition: transform .4s var(--mms-ease-out), box-shadow .4s var(--mms-ease), background-color .3s var(--mms-ease), color .3s var(--mms-ease), border-color .3s var(--mms-ease) !important;
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .34) 50%, transparent 70%);
	transform: translateX(-130%);
	transition: transform .8s var(--mms-ease);
	pointer-events: none;
}

.mms-ux .elementor-widget-button .elementor-button-content-wrapper {
	position: relative;
	z-index: 1;
	align-items: center;
	gap: .65em;
}

.mms-ux .elementor-widget-button .elementor-button-content-wrapper::after {
	content: "";
	flex: none;
	width: 1.05em;
	height: 1.05em;
	background-color: currentColor;
	-webkit-mask: var(--mms-arrow) center / contain no-repeat;
	mask: var(--mms-arrow) center / contain no-repeat;
	transition: transform .4s var(--mms-ease-out);
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .2) inset, 0 18px 34px -16px rgba(15, 17, 19, .7);
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button:hover::before {
	transform: translateX(130%);
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button:hover .elementor-button-content-wrapper::after {
	transform: translateX(4px);
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button:active {
	transform: translateY(0) scale(.985);
	transition-duration: .12s !important;
}

.mms-ux .elementor-element.elementor-widget-button a.elementor-button:focus-visible {
	outline: 2px solid var(--mms-gold);
	outline-offset: 3px;
}

/* =====================================================================
   5. Header + navigation
   ===================================================================== */
.mms-ux #mms-header {
	--min-height: 84px;
	min-height: 84px;
	background-color: rgba(20, 22, 24, .62);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	border-bottom: 1px solid transparent;
	transition: min-height .45s var(--mms-ease), background-color .45s var(--mms-ease), box-shadow .45s var(--mms-ease), border-color .45s var(--mms-ease);
}

.mms-ux #mms-header::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mms-gold-45) 30%, var(--mms-gold-45) 70%, transparent);
	opacity: 0;
	transition: opacity .45s var(--mms-ease);
	pointer-events: none;
}

.mms-ux #mms-header.mms-stuck {
	--min-height: 70px;
	min-height: 70px;
	background-color: rgba(17, 19, 21, .94);
	border-bottom-color: rgba(255, 255, 255, .06);
	box-shadow: 0 16px 40px -24px rgba(0, 0, 0, .9);
}

.mms-ux #mms-header.mms-stuck::after {
	opacity: 1;
}

.mms-ux #mms-logo img {
	width: 178px;
	transition: width .45s var(--mms-ease), opacity .3s var(--mms-ease);
}

.mms-ux #mms-header.mms-stuck #mms-logo img {
	width: 156px;
}

.mms-ux #mms-logo a:hover img {
	opacity: .88;
}

/* CTA: compact gold block, squared corners, sentence case. */
.mms-ux #mms-header-cta a.elementor-button {
	padding: 12px 22px;
	border-radius: 3px;
	font-family: var(--font-button);
	font-size: 14px;
	font-weight: var(--fw-ui);
	letter-spacing: 0;
	text-transform: none;
	box-shadow: none;
}

.mms-ux #mms-header-cta a.elementor-button::before,
.mms-ux #mms-header-cta .elementor-button-content-wrapper::after {
	display: none;
}

.mms-ux #mms-header-cta a.elementor-button:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 22px -12px var(--mms-gold-45);
}

@media (min-width: 1025px) {
	/* Logo | centered links | CTA: the nav column flattens so all three share one row,
	   and the two outer regions grow equally to keep the links truly centered. */
	.mms-ux #mms-header .mms-hdr-row > .e-con:first-child {
		--width: auto;
		flex: 1 1 0;
	}

	.mms-ux #mms-header .mms-hdr-row > .e-con:last-child {
		display: contents;
	}

	.mms-ux #mms-header .elementor-widget-xpro-horizontal-menu {
		flex: 0 0 auto;
		margin: 0 !important;
	}

	.mms-ux #mms-header #mms-header-cta {
		display: flex;
		flex: 1 1 0;
		justify-content: flex-end;
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav {
		justify-content: center;
		gap: 6px;
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link {
		padding: 10px 18px !important;
		border-radius: 0;
		font-family: var(--font-subheading) !important;
		font-size: 15px !important;
		font-weight: var(--fw-ui) !important;
		letter-spacing: .01em;
		color: rgba(255, 255, 255, .9) !important;
		background: transparent !important;
		transition: color .25s var(--mms-ease) !important;
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link::after {
		display: none !important;
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link:hover,
	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav > li.mms-current > a.xpro-elementor-nav-link,
	.mms-ux #mms-header .xpro-elementor-horizontal-navbar-nav:not(.mms-spy) > li.current-menu-item > a.xpro-elementor-nav-link {
		color: var(--mms-gold) !important;
	}

	/* When scroll-spy runs it owns the "current" state. */
	.mms-ux #mms-header .mms-spy > li.current-menu-item:not(.mms-current):not(:hover) > a.xpro-elementor-nav-link {
		color: rgba(255, 255, 255, .9) !important;
	}
}

/* Mobile / tablet dropdown (Elementor Pro Nav Menu): the list drops below the header
   instead of expanding inside the narrow nav column, and the CTA label keeps one line. */
@media (max-width: 1024px) {
	.mms-ux #mms-header .elementor-widget-nav-menu {
		position: relative;
		flex-shrink: 0;
	}

	.mms-ux #mms-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown.elementor-nav-menu__container {
		position: absolute;
		top: calc(100% + 10px);
		right: 0;
		left: auto;
		width: max-content;
		min-width: 210px;
		max-width: calc(100vw - 32px);
		z-index: 1000;
		transform-origin: top right;
	}

	.mms-ux #mms-header .elementor-widget-nav-menu .elementor-nav-menu--dropdown a,
	.mms-ux #mms-header .mms-hdr-row .elementor-widget-button .elementor-button {
		white-space: nowrap;
	}

	.mms-ux #mms-header .mms-hdr-row .elementor-widget-button {
		flex-shrink: 0;
	}

	.mms-ux #mms-header .mms-hdr-row > .e-con:first-child {
		min-width: 0;
		flex-shrink: 1;
	}

	.mms-ux #mms-header .mms-hdr-row > .e-con:first-child img {
		max-width: 100%;
		height: auto;
	}
}

/* Mobile / tablet off-canvas menu (Xpro) */
@media (max-width: 1024px) {
	.mms-ux #mms-header {
		--min-height: 72px;
		min-height: 72px;
	}

	.mms-ux #mms-header.mms-stuck {
		--min-height: 64px;
		min-height: 64px;
	}

	.mms-ux #mms-logo img {
		width: 150px;
	}

	.mms-ux #mms-header.mms-stuck #mms-logo img {
		width: 136px;
	}

	.mms-ux #mms-header .mms-hdr-row > .e-con:last-child {
		gap: 10px;
	}

	.mms-ux #mms-header .elementor-widget-xpro-horizontal-menu {
		order: 2;
		margin: 0 !important;
	}

	.mms-ux #mms-header #mms-header-cta {
		order: 1;
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-menu-toggler {
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border-radius: 12px;
		border: 1px solid rgba(255, 255, 255, .14);
		background: rgba(255, 255, 255, .04);
		color: #F4F1EA !important;
		transition: border-color .3s var(--mms-ease), background-color .3s var(--mms-ease);
	}

	.mms-ux #mms-header .xpro-elementor-horizontal-menu-toggler:hover {
		border-color: var(--mms-gold-45);
		background: var(--mms-gold-8);
	}

	.mms-ux .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar {
		background: linear-gradient(180deg, #1B1E22 0%, #0F1113 100%) !important;
		border-left: 1px solid rgba(255, 255, 255, .07);
		box-shadow: -30px 0 80px -30px rgba(0, 0, 0, .8);
	}

	.mms-ux .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link {
		position: relative;
		display: flex !important;
		align-items: center;
		justify-content: space-between;
		min-height: 56px;
		padding: 14px 4px !important;
		font-size: 24px !important;
		font-weight: 500;
		letter-spacing: .01em;
		border-bottom: 1px solid rgba(244, 241, 234, .08) !important;
		transition: color .3s var(--mms-ease), padding .35s var(--mms-ease-out) !important;
	}

	.mms-ux .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link::after {
		content: "";
		display: block !important;
		position: static;
		width: 18px;
		height: 18px;
		transform: none;
		background: var(--mms-gold);
		-webkit-mask: var(--mms-chevron) center / contain no-repeat;
		mask: var(--mms-chevron) center / contain no-repeat;
		opacity: .55;
		transition: opacity .3s var(--mms-ease), transform .35s var(--mms-ease-out);
	}

	.mms-ux .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link:hover {
		padding-left: 10px !important;
	}

	.mms-ux .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li > a.xpro-elementor-nav-link:hover::after {
		opacity: 1;
		transform: translateX(3px);
	}

	.mms-ux .xpro-elementor-horizontal-menu-close {
		width: 44px;
		height: 44px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		border-radius: 12px;
		border: 1px solid rgba(255, 255, 255, .14) !important;
		background: rgba(255, 255, 255, .04) !important;
		transition: border-color .3s var(--mms-ease), transform .45s var(--mms-ease-out);
	}

	.mms-ux .xpro-elementor-horizontal-menu-close:hover {
		border-color: var(--mms-gold-45) !important;
		transform: rotate(90deg);
	}

	.mms-ux .xpro-elementor-horizontal-menu-overlay {
		background: rgba(6, 7, 8, .62) !important;
	}

	.mms-motion .xpro-elementor-horizontal-menu-responsive-tablet .xpro-elementor-horizontal-navbar-nav > li {
		opacity: 0;
		translate: 22px 0;
		transition: opacity .45s var(--mms-ease-out), translate .6s var(--mms-ease-out);
	}

	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li {
		opacity: 1;
		translate: 0 0;
	}

	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li:nth-child(1) { transition-delay: .12s; }
	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li:nth-child(2) { transition-delay: .18s; }
	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li:nth-child(3) { transition-delay: .24s; }
	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li:nth-child(4) { transition-delay: .30s; }
	.mms-motion .xpro-elementor-horizontal-navbar-wrapper.active .xpro-elementor-horizontal-navbar-nav > li:nth-child(n+5) { transition-delay: .36s; }
}

html.mms-menu-open,
html.mms-menu-open body {
	overflow: hidden;
}

/* =====================================================================
   6. Hero + trust bar
   ===================================================================== */
.mms-ux #mms-hero {
	--min-height: min(100svh, 940px);
	--padding-top: clamp(140px, 17vh, 196px);
	--padding-bottom: clamp(128px, 15vh, 176px);
	isolation: isolate;
	overflow: hidden;
	background-color: var(--mms-ink-deep);
}

.mms-ux #mms-hero::before {
	background-image:
		radial-gradient(900px 520px at 80% 18%, var(--mms-gold-14), transparent 62%),
		linear-gradient(100deg, rgba(10, 11, 13, .95) 0%, rgba(10, 11, 13, .84) 34%, rgba(10, 11, 13, .42) 68%, rgba(10, 11, 13, .2) 100%),
		linear-gradient(0deg, rgba(10, 11, 13, .95) 0%, rgba(10, 11, 13, 0) 42%);
	opacity: 1;
}

.mms-ux #mms-hero::after {
	opacity: .38;
}

.mms-ux #mms-hero .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(2.2rem, 1.2rem + 3.1vw, 3.75rem);
	line-height: 1.06;
	letter-spacing: -.025em;
	text-wrap: balance;
	text-shadow: 0 2px 40px rgba(0, 0, 0, .35);
}

.mms-ux #mms-hero .elementor-widget-text-editor {
	max-width: 580px;
	font-size: clamp(1.02rem, .96rem + .3vw, 1.2rem);
	line-height: 1.7;
}

.mms-ux #mms-hero .elementor-widget-button a.elementor-button {
	padding: 18px 30px;
}

.mms-ux #mms-hero .elementor-widget-button:first-child a.elementor-button:hover {
	box-shadow: 0 1px 0 rgba(255, 255, 255, .35) inset, 0 20px 40px -14px var(--mms-gold-45);
}

.mms-ux #mms-hero .elementor-widget-button:nth-child(2) a.elementor-button {
	background-color: rgba(255, 255, 255, .04);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

/* Hero buttons: labels never break; on small phones they stack full width. */
.mms-ux #mms-hero .elementor-widget-button .elementor-button-text {
	white-space: nowrap;
}

@media (max-width: 600px) {
	.mms-ux #mms-hero .e-con-inner > .e-con > .e-con {
		flex-wrap: wrap;
	}

	.mms-ux #mms-hero .e-con-inner > .e-con > .e-con > .elementor-widget-button {
		flex: 1 1 100%;
		width: 100%;
	}

	.mms-ux #mms-hero .elementor-widget-button a.elementor-button {
		display: flex;
		width: 100%;
		justify-content: center;
	}
}

/* Parallax layer injected by the script (desktop only). */
.mms-plx-layer {
	position: absolute;
	left: 0;
	right: 0;
	top: -12%;
	bottom: -12%;
	z-index: -1;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	opacity: 0;
	will-change: transform;
	transition: opacity .9s var(--mms-ease);
	pointer-events: none;
}

.mms-plx-layer.is-ready {
	opacity: 1;
}

.mms-ux .mms-plx-host {
	isolation: isolate;
	overflow: hidden;
}

.mms-ux .mms-plx-host.mms-plx-swapped {
	background-image: none !important;
}

/* Trust bar floats over the bottom edge of the hero. */
.mms-ux #mms-trust {
	--padding-top: 0px;
	--padding-bottom: 0px;
	margin-top: -58px;
	z-index: 3;
	border: 0;
	background: linear-gradient(to bottom, transparent 0, transparent 58px, var(--mms-cream) 58px);
}

.mms-ux #mms-trust .mms-trust-row {
	padding: 8px;
	border-radius: 20px;
	border: 1px solid rgba(255, 255, 255, .08);
	background: linear-gradient(180deg, rgba(31, 35, 40, .97) 0%, rgba(19, 21, 24, .97) 100%);
	box-shadow: 0 1px 0 rgba(255, 255, 255, .06) inset, 0 40px 80px -40px rgba(0, 0, 0, .75);
}

.mms-ux #mms-trust .mms-trust-row > .e-con {
	--padding-top: 16px;
	--padding-bottom: 16px;
	--padding-left: 20px;
	--padding-right: 20px;
	position: relative;
}

.mms-ux #mms-trust .mms-trust-row > .e-con + .e-con::before {
	content: "";
	position: absolute;
	left: 0;
	top: 24%;
	bottom: 24%;
	width: 1px;
	background: rgba(255, 255, 255, .08);
}

.mms-ux #mms-trust .elementor-icon-list-item {
	align-items: center;
}

.mms-ux #mms-trust .elementor-icon-list-icon {
	flex: none;
	width: 36px;
	height: 36px;
	margin-right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 10px;
	background: var(--mms-gold-14);
	box-shadow: inset 0 0 0 1px var(--mms-gold-24);
}

.mms-ux #mms-trust .elementor-icon-list-icon svg {
	width: 15px;
	height: 15px;
}

.mms-ux #mms-trust .elementor-icon-list-text {
	padding-left: 0;
	font-weight: 500;
	color: rgba(244, 241, 234, .86);
}

/* =====================================================================
   7. Services cards + equipment
   ===================================================================== */
.mms-ux #services {
	background-image: radial-gradient(1000px 520px at 100% 0%, rgba(255, 255, 255, .7), transparent 60%);
}

.mms-ux #mms-svc-grid {
	gap: 24px;
	border: 0;
	box-shadow: none;
	--border-top-width: 0px;
	--border-left-width: 0px;
}

.mms-ux #mms-svc-grid > .e-con {
	--width: calc((100% - 48px) / 3);
	overflow: hidden;
	border: 1px solid var(--mms-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--mms-shadow-1);
	transition: transform .55s var(--mms-ease-out), box-shadow .55s var(--mms-ease), border-color .35s var(--mms-ease), var(--mms-rv-t);
}

.mms-ux #mms-svc-grid > .e-con:hover {
	background: #fff;
	border-color: var(--mms-gold-24);
	box-shadow: var(--mms-shadow-3);
	transform: translateY(-6px);
}

.mms-ux #mms-svc-grid > .e-con::before,
.mms-ux #mms-svc-grid > .e-con:hover::before {
	left: 0;
	right: 0;
	top: 0;
	width: auto;
	height: 3px;
	z-index: 4;
	background: linear-gradient(90deg, var(--mms-gold), var(--mms-gold-hi));
	transform-origin: left center;
	transition: transform .6s var(--mms-ease-out);
}

.mms-ux #mms-svc-grid > .e-con::before {
	transform: scaleX(0);
}

.mms-ux #mms-svc-grid > .e-con:hover::before {
	transform: scaleX(1);
}

.mms-ux #mms-svc-grid .elementor-widget-image {
	overflow: hidden;
	line-height: 0;
}

.mms-ux #mms-svc-grid .elementor-widget-image img {
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 10.5;
	object-fit: cover;
	filter: saturate(.86) contrast(1.05) brightness(.96) sepia(.06);
	transition: transform 1s var(--mms-ease-out), filter .6s var(--mms-ease);
}

.mms-ux #mms-svc-grid > .e-con:hover .elementor-widget-image img {
	transform: scale(1.06);
	filter: saturate(1.02) contrast(1.05) brightness(1) sepia(0);
}

.mms-ux #mms-svc-grid .elementor-widget-image::before {
	background: linear-gradient(to top, rgba(12, 13, 15, .62) 0%, rgba(12, 13, 15, .12) 45%, rgba(12, 13, 15, 0) 70%),
		linear-gradient(135deg, transparent 50%, var(--mms-gold-14) 100%);
	opacity: .85;
	transition: opacity .5s var(--mms-ease);
}

.mms-ux #mms-svc-grid > .e-con:hover .elementor-widget-image::before {
	opacity: 1;
}

/* Number badge */
.mms-ux #mms-svc-grid .elementor-widget-image::after {
	left: 18px;
	top: 18px;
	bottom: auto;
	padding: 8px 12px 7px;
	border-radius: 999px;
	border: 1px solid var(--mms-gold-45);
	background: rgba(14, 15, 17, .72);
	font-size: 13px;
	letter-spacing: .16em;
	line-height: 1;
	color: var(--mms-gold);
	transition: background-color .45s var(--mms-ease), color .45s var(--mms-ease), transform .5s var(--mms-ease-out), border-color .45s var(--mms-ease);
}

.mms-ux #mms-svc-grid > .e-con:hover .elementor-widget-image::after {
	background: var(--mms-gold);
	border-color: var(--mms-gold);
	color: var(--mms-ink);
	transform: translateY(-2px);
}

.mms-ux #mms-svc-grid > .e-con > .e-con {
	--padding-top: 26px;
	--padding-right: 28px;
	--padding-bottom: 30px;
	--padding-left: 28px;
	flex-grow: 1;
}

.mms-ux #mms-svc-grid .elementor-widget-heading h3.elementor-heading-title {
	font-size: 1.2rem;
	letter-spacing: -.005em;
}

/* Equipment — immersive photo band */
/* The Equipment section and its cards are styled by the MMS Equipment plugin. */

/* =====================================================================
   8. About
   ===================================================================== */
.mms-ux #mms-about-media {
	isolation: isolate;
}

.mms-ux #mms-about-media::before {
	content: "";
	position: absolute;
	left: -26px;
	top: -26px;
	width: 132px;
	height: 132px;
	z-index: 0;
	background-image: radial-gradient(rgba(20, 22, 24, .2) 1.3px, transparent 1.5px);
	background-size: 14px 14px;
	pointer-events: none;
}

.mms-ux #mms-about-media::after {
	right: -22px;
	bottom: -22px;
	width: 64%;
	height: 64%;
	border: 2px solid var(--mms-gold-45);
	border-radius: 28px;
}

.mms-ux #mms-about-media .elementor-widget-image {
	position: relative;
	z-index: 1;
	overflow: hidden;
	border-radius: 24px;
	box-shadow: var(--mms-shadow-3);
	line-height: 0;
}

.mms-ux #mms-about-media .elementor-widget-image::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(12, 13, 15, .38), transparent 46%);
	pointer-events: none;
}

.mms-ux #mms-about-media img {
	height: clamp(380px, 40vw, 560px);
	border-radius: 24px;
	transition: transform 1.2s var(--mms-ease-out);
}

.mms-ux #mms-about-media:hover img {
	transform: scale(1.04);
}

.mms-ux #about .elementor-icon-list-items .elementor-icon-list-item {
	align-items: center;
	margin: 0 0 10px;
	padding: 12px 16px;
	border: 1px solid var(--mms-line);
	border-radius: 14px;
	background: rgba(255, 255, 255, .62);
	transition: transform .4s var(--mms-ease-out), border-color .3s var(--mms-ease), background-color .3s var(--mms-ease), box-shadow .4s var(--mms-ease), var(--mms-rv-t);
}

.mms-ux #about .elementor-icon-list-items .elementor-icon-list-item::after {
	display: none;
}

.mms-ux #about .elementor-icon-list-items .elementor-icon-list-item:hover {
	transform: translateX(4px);
	border-color: var(--mms-gold-45);
	background: #fff;
	box-shadow: var(--mms-shadow-1);
}

.mms-ux #about .elementor-icon-list-icon {
	flex: none;
	width: 30px;
	height: 30px;
	margin-right: 12px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9px;
	background: var(--mms-gold-14);
}

.mms-ux #about .elementor-icon-list-icon svg {
	width: 15px;
	height: 15px;
}

.mms-ux #about .elementor-icon-list-text {
	padding-left: 0;
	font-weight: 500;
}

/* =====================================================================
   9. Why us — feature cards
   ===================================================================== */
.mms-ux #mms-pillars {
	gap: 24px;
}

.mms-ux #mms-pillars > .e-con {
	width: calc((100% - 48px) / 3) !important;
	--padding-top: 34px;
	--padding-right: 30px;
	--padding-bottom: 32px;
	--padding-left: 30px;
	position: relative;
	overflow: hidden;
	border: 1px solid var(--mms-line);
	border-radius: 18px;
	background: rgba(255, 255, 255, .7);
	box-shadow: var(--mms-shadow-1);
	transition: transform .55s var(--mms-ease-out), box-shadow .55s var(--mms-ease), border-color .35s var(--mms-ease), background-color .35s var(--mms-ease), var(--mms-rv-t);
}

.mms-ux #mms-pillars > .e-con::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 3px;
	background: linear-gradient(90deg, var(--mms-gold), var(--mms-gold-hi) 55%, transparent);
	transform-origin: left center;
	transition: transform 1.1s var(--mms-ease-out) calc(var(--mms-d, 0s) + .25s);
}

.mms-ux #mms-pillars > .e-con:hover {
	transform: translateY(-5px);
	border-color: var(--mms-gold-24);
	background: #fff;
	box-shadow: var(--mms-shadow-2);
}

.mms-ux #mms-pillars .elementor-widget-heading h3.elementor-heading-title {
	font-size: 1.2rem;
}

/* =====================================================================
   10. Process — step cards + truck road
   ===================================================================== */
.mms-ux #process {
	isolation: isolate;
	overflow: hidden;
}

.mms-ux #process::before {
	background-image:
		radial-gradient(1000px 520px at 100% 0%, var(--mms-gold-8), transparent 60%),
		linear-gradient(105deg, rgba(10, 11, 13, .97) 0%, rgba(10, 11, 13, .93) 50%, rgba(10, 11, 13, .9) 100%);
}

/* The cab photo carries a saturated blue panel; mute it so it never fights the brand gold.
   Blend mode covers tablet/mobile (no parallax layer); the filter covers the desktop layer. */
.mms-ux #process {
	background-blend-mode: luminosity;
}

.mms-ux #process > .mms-plx-layer {
	filter: grayscale(.85) brightness(.8);
}

.mms-ux #mms-steps {
	gap: 20px;
}

.mms-ux #mms-steps > .e-con {
	--width: calc((100% - 60px) / 4);
	--padding-top: 28px;
	--padding-right: 26px;
	--padding-bottom: 30px;
	--padding-left: 26px;
	position: relative;
	border: 1px solid rgba(255, 255, 255, .09);
	border-radius: 18px;
	background: linear-gradient(180deg, rgba(255, 255, 255, .055) 0%, rgba(255, 255, 255, .015) 100%);
	transition: transform .6s var(--mms-ease-out), border-color .45s var(--mms-ease), background-color .45s var(--mms-ease), box-shadow .6s var(--mms-ease), var(--mms-rv-t);
}

.mms-ux #mms-steps .elementor-widget-heading h3.elementor-heading-title {
	font-size: 1.08rem;
	line-height: 1.3;
}

.mms-ux #mms-steps > .e-con::before {
	display: none;
}

/* Status light, top-right of each card */
.mms-ux #mms-steps > .e-con::after {
	top: 24px;
	right: 24px;
	left: auto;
	width: 10px;
	height: 10px;
	border: 2px solid var(--mms-gold-45);
	background: transparent;
	transition: background-color .4s var(--mms-ease), box-shadow .6s var(--mms-ease), border-color .4s var(--mms-ease);
}

.mms-ux #mms-steps > .e-con > .elementor-widget-heading:first-child .elementor-heading-title {
	display: inline-flex;
	padding: 6px 11px 5px;
	border-radius: 999px;
	border: 1px solid var(--mms-gold-24);
	background: var(--mms-gold-8);
	transition: background-color .45s var(--mms-ease), color .45s var(--mms-ease), border-color .45s var(--mms-ease);
}

.mms-ux #mms-steps > .e-con:hover,
.mms-ux #mms-steps > .e-con.mms-step-active {
	border-color: var(--mms-gold-45);
	background: linear-gradient(180deg, var(--mms-gold-14) 0%, rgba(255, 255, 255, .02) 100%);
	transform: translateY(-4px);
	box-shadow: 0 30px 60px -36px rgba(0, 0, 0, .9);
}

.mms-ux #mms-steps > .e-con.mms-step-active::after,
.mms-ux #mms-steps > .e-con.mms-step-done::after {
	border-color: var(--mms-gold);
	background: var(--mms-gold);
}

.mms-ux #mms-steps > .e-con.mms-step-active::after {
	box-shadow: 0 0 0 6px var(--mms-gold-24), 0 0 22px var(--mms-gold-45);
}

.mms-ux #mms-steps > .e-con.mms-step-active > .elementor-widget-heading:first-child .elementor-heading-title {
	background: var(--mms-gold);
	border-color: var(--mms-gold);
	color: var(--mms-ink);
}

/* Road scene */
.mms-road {
	--truck-w: 280px;
	position: relative;
	width: 100%;
	height: 150px;
	margin: 6px 0 30px;
	pointer-events: none;
	-webkit-mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
	mask-image: linear-gradient(90deg, transparent 0, #000 5%, #000 95%, transparent 100%);
	contain: layout paint;
}

.mms-road__sky {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 46px;
	height: 78px;
	overflow: hidden;
}

.mms-road__sky svg {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.mms-road__asphalt {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 46px;
	overflow: hidden;
	border-radius: 12px;
	background: linear-gradient(180deg, #202328 0%, #15171A 100%);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .07), inset 0 -1px 0 rgba(0, 0, 0, .5), 0 24px 40px -24px rgba(0, 0, 0, .9);
}

.mms-road__asphalt::before,
.mms-road__asphalt::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	height: 1px;
	background: rgba(244, 241, 234, .22);
}

.mms-road__asphalt::before { top: 6px; }
.mms-road__asphalt::after { bottom: 6px; }

.mms-road__lines {
	position: absolute;
	top: 50%;
	left: 0;
	width: calc(100% + 136px);
	height: 3px;
	margin-top: -1.5px;
	border-radius: 2px;
	background: repeating-linear-gradient(90deg, var(--mms-gold-45) 0 38px, transparent 38px 68px);
	will-change: transform;
	animation: mms-road-lines .9s linear infinite;
	animation-play-state: paused;
}

.mms-road.is-driving .mms-road__lines {
	animation-play-state: running;
}

@keyframes mms-road-lines {
	to { transform: translate3d(-68px, 0, 0); }
}

.mms-road__marker {
	position: absolute;
	left: var(--x, 50%);
	bottom: 46px;
	width: 2px;
	height: 26px;
	margin-left: -1px;
	background: linear-gradient(to top, rgba(244, 241, 234, .32), rgba(244, 241, 234, 0));
}

.mms-road__marker::after {
	content: "";
	position: absolute;
	left: 50%;
	top: -5px;
	width: 10px;
	height: 10px;
	margin-left: -5px;
	border-radius: 50%;
	border: 2px solid var(--mms-gold-45);
	background: #16181B;
	transition: background-color .4s var(--mms-ease), box-shadow .6s var(--mms-ease), border-color .4s var(--mms-ease);
}

.mms-road__marker.is-reached::after {
	border-color: var(--mms-gold);
	background: var(--mms-gold);
	box-shadow: 0 0 0 5px var(--mms-gold-24), 0 0 20px var(--mms-gold-45);
}

.mms-truck {
	position: absolute;
	left: 0;
	bottom: 9px;
	width: var(--truck-w);
	will-change: transform;
	transform: translate3d(-120%, 0, 0);
}

.mms-truck svg {
	display: block;
	width: 100%;
	height: auto;
	overflow: visible;
}

.mms-truck__body {
	animation: mms-truck-bob .9s ease-in-out infinite alternate;
	animation-play-state: paused;
}

.mms-truck__cab {
	animation: mms-truck-bob 1.1s ease-in-out -.3s infinite alternate;
	animation-play-state: paused;
}

.mms-truck__wheel {
	transform-box: fill-box;
	transform-origin: center;
	animation: mms-truck-spin .5s linear infinite;
	animation-play-state: paused;
}

.mms-road.is-driving .mms-truck__body,
.mms-road.is-driving .mms-truck__cab,
.mms-road.is-driving .mms-truck__wheel {
	animation-play-state: running;
}

.mms-truck__beam {
	opacity: .55;
	transition: opacity .6s var(--mms-ease);
}

.mms-road.is-driving .mms-truck__beam {
	opacity: .9;
}

@keyframes mms-truck-bob {
	from { transform: translateY(0); }
	to { transform: translateY(-1.1px); }
}

@keyframes mms-truck-spin {
	to { transform: rotate(360deg); }
}

/* =====================================================================
   11. Testimonials
   ===================================================================== */
.mms-ux #mms-quotes {
	gap: 24px;
	align-items: stretch;
}

.mms-ux #mms-quotes > .e-con {
	--width: calc((100% - 48px) / 3);
	--padding-top: 0px;
	--padding-right: 0px;
	--padding-bottom: 0px;
	--padding-left: 0px;
	transform: none;
	box-shadow: none;
}

.mms-ux #mms-quotes > .e-con:hover {
	transform: none;
	box-shadow: none;
}

.mms-ux #mms-quotes > .e-con > .e-con {
	--padding-top: 38px;
	--padding-right: 34px;
	--padding-bottom: 32px;
	--padding-left: 34px;
	position: relative;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--mms-line);
	border-radius: 20px;
	background: #fff;
	box-shadow: var(--mms-shadow-1);
	transition: transform .55s var(--mms-ease-out), box-shadow .55s var(--mms-ease), border-color .35s var(--mms-ease);
}

.mms-ux #mms-quotes > .e-con > .e-con::before {
	content: "";
	position: absolute;
	top: 28px;
	right: 30px;
	width: 44px;
	height: 36px;
	background-color: var(--mms-gold);
	-webkit-mask: var(--mms-quote) center / contain no-repeat;
	mask: var(--mms-quote) center / contain no-repeat;
	opacity: .16;
	transition: opacity .5s var(--mms-ease), transform .6s var(--mms-ease-out);
	pointer-events: none;
}

.mms-ux #mms-quotes > .e-con > .e-con:hover {
	transform: translateY(-6px);
	border-color: var(--mms-gold-24);
	box-shadow: var(--mms-shadow-3);
}

.mms-ux #mms-quotes > .e-con > .e-con:hover::before {
	opacity: .32;
	transform: translateY(-2px);
}

.mms-ux #mms-quotes .e-rating {
	--e-rating-icon-marked-color: var(--mms-gold);
	--e-rating-gap: 4px;
	--e-rating-icon-font-size: 17px;
}

.mms-ux #mms-quotes .e-rating .e-icon svg {
	filter: drop-shadow(0 2px 6px var(--mms-gold-24));
}

.mms-ux #mms-quotes .elementor-widget-text-editor:first-of-type {
	flex-grow: 1;
}

.mms-ux #mms-quotes .elementor-widget-heading {
	margin-top: auto;
	padding-top: 20px;
	border-top: 1px solid var(--mms-line);
}

/* =====================================================================
   12. FAQ
   ===================================================================== */
@media (min-width: 1025px) {
	.mms-ux #faq .mms-split > .e-con:first-child {
		position: sticky;
		top: 116px;
		align-self: flex-start;
	}
}

.mms-ux #faq .mms-split > .e-con:first-child a {
	color: var(--mms-gold-lo);
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 4px;
	transition: color .3s var(--mms-ease), text-underline-offset .3s var(--mms-ease);
}

.mms-ux #faq .mms-split > .e-con:first-child a:hover {
	color: var(--mms-ink);
	text-underline-offset: 6px;
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item {
	position: relative;
	margin: 0 0 12px;
	overflow: hidden;
	border: 1px solid var(--mms-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: var(--mms-shadow-1);
	transition: border-color .35s var(--mms-ease), box-shadow .45s var(--mms-ease), background-color .35s var(--mms-ease), var(--mms-rv-t);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item + .elementor-accordion-item {
	border-top: 1px solid var(--mms-line);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	bottom: 0;
	width: 3px;
	background: linear-gradient(180deg, var(--mms-gold), var(--mms-gold-hi));
	transform: scaleY(0);
	transform-origin: top center;
	transition: transform .5s var(--mms-ease-out);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item:hover {
	border-color: var(--mms-line-strong);
	box-shadow: var(--mms-shadow-2);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active) {
	border-color: var(--mms-gold-45);
	background: var(--mms-paper);
	box-shadow: var(--mms-shadow-2);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-item:has(.elementor-tab-title.elementor-active)::before {
	transform: scaleY(1);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title {
	display: flex;
	flex-direction: row-reverse;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	padding: 22px 24px 22px 26px;
	border: 0;
	cursor: pointer;
	transition: color .3s var(--mms-ease);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title:focus-visible {
	outline: 2px solid var(--mms-gold);
	outline-offset: -4px;
	border-radius: 14px;
}

.mms-ux #faq .elementor-accordion .elementor-tab-title .elementor-accordion-title {
	flex: 1 1 auto;
	line-height: 1.35;
	transition: color .3s var(--mms-ease);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title:hover .elementor-accordion-title {
	color: var(--mms-gold-lo);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-icon {
	position: relative;
	float: none;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	border: 1px solid var(--mms-line-strong);
	background: #fff;
	transition: background-color .4s var(--mms-ease), border-color .4s var(--mms-ease), transform .55s var(--mms-ease-out);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-icon > span {
	display: none !important;
}

.mms-ux #faq .elementor-accordion .elementor-accordion-icon::before,
.mms-ux #faq .elementor-accordion .elementor-accordion-icon::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 12px;
	height: 2px;
	margin: -1px 0 0 -6px;
	border-radius: 2px;
	background: var(--mms-ink);
	transition: transform .45s var(--mms-ease-out), background-color .3s var(--mms-ease);
}

.mms-ux #faq .elementor-accordion .elementor-accordion-icon::after {
	transform: rotate(90deg);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title:hover .elementor-accordion-icon {
	border-color: var(--mms-gold-45);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon {
	background: var(--mms-gold);
	border-color: var(--mms-gold);
	transform: rotate(180deg);
}

.mms-ux #faq .elementor-accordion .elementor-tab-title.elementor-active .elementor-accordion-icon::after {
	transform: rotate(0deg);
}

.mms-ux #faq .elementor-accordion .elementor-tab-content {
	padding: 0 26px 24px;
	border: 0;
}

.mms-ux #faq .elementor-accordion .elementor-tab-content.elementor-active > * {
	animation: mms-fade-up .5s var(--mms-ease-out) both;
}

@keyframes mms-fade-up {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: none; }
}

/* =====================================================================
   13. CTA band
   ===================================================================== */
.mms-ux .mms-sec--gold {
	--padding-top: clamp(72px, 8vw, 110px);
	--padding-bottom: clamp(72px, 8vw, 110px);
	isolation: isolate;
	overflow: hidden;
	background-image:
		radial-gradient(760px 340px at 10% -20%, rgba(255, 255, 255, .38), transparent 62%),
		radial-gradient(640px 320px at 100% 130%, rgba(20, 22, 24, .22), transparent 60%),
		linear-gradient(118deg, var(--mms-gold-hi) 0%, var(--mms-gold) 46%, var(--mms-gold-lo) 100%);
}

.mms-ux .mms-sec--gold::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background-image: repeating-linear-gradient(135deg, rgba(20, 22, 24, .07) 0 2px, transparent 2px 22px);
	-webkit-mask-image: linear-gradient(90deg, transparent 30%, #000 100%);
	mask-image: linear-gradient(90deg, transparent 30%, #000 100%);
	pointer-events: none;
}

.mms-ux .mms-sec--gold .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(1.8rem, 1.1rem + 2.1vw, 2.8rem);
	letter-spacing: -.02em;
}

.mms-ux .mms-sec--gold a.elementor-button {
	padding: 19px 34px;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 16px 32px -18px rgba(20, 22, 24, .75);
}

.mms-ux .mms-sec--gold .elementor-element.elementor-widget-button a.elementor-button:hover {
	box-shadow: 0 1px 0 rgba(255, 255, 255, .12) inset, 0 26px 44px -18px rgba(20, 22, 24, .85), 0 0 0 4px rgba(20, 22, 24, .08);
}

.mms-ux .mms-sec--gold .elementor-widget-text-editor a {
	text-underline-offset: 3px;
	transition: text-underline-offset .3s var(--mms-ease);
}

.mms-ux .mms-sec--gold .elementor-widget-text-editor a:hover {
	text-underline-offset: 6px;
}

/* =====================================================================
   14. Contact + form
   ===================================================================== */
.mms-ux #contact {
	background-image:
		radial-gradient(900px 520px at 0% 0%, var(--mms-gold-8), transparent 60%),
		radial-gradient(700px 500px at 100% 100%, rgba(233, 164, 38, .05), transparent 60%);
}

.mms-ux #contact .elementor-widget-icon-box {
	margin-bottom: 12px;
	padding: 16px 18px;
	border: 1px solid var(--mms-line-dark);
	border-radius: 16px;
	background: rgba(255, 255, 255, .025);
	transition: transform .45s var(--mms-ease-out), border-color .35s var(--mms-ease), background-color .35s var(--mms-ease);
}

.mms-ux #contact .elementor-widget-icon-box:hover {
	transform: translateX(4px);
	border-color: var(--mms-gold-45);
	background: var(--mms-gold-8);
}

.mms-ux #contact .elementor-widget-icon-box .elementor-icon-box-wrapper {
	align-items: center;
}

.mms-ux #contact .elementor-widget-icon-box .elementor-icon {
	width: 46px;
	height: 46px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 13px;
	background: var(--mms-gold-14);
	box-shadow: inset 0 0 0 1px var(--mms-gold-24);
	transition: background-color .35s var(--mms-ease), transform .45s var(--mms-ease-out);
}

.mms-ux #contact .elementor-widget-icon-box:hover .elementor-icon {
	background: var(--mms-gold);
	transform: scale(1.04);
}

.mms-ux #contact .elementor-widget-icon-box:hover .elementor-icon svg {
	fill: var(--mms-ink);
}

.mms-ux #contact .elementor-widget-icon-box .elementor-icon svg {
	width: 18px;
	height: 18px;
	transition: fill .35s var(--mms-ease);
}

.mms-ux #contact .elementor-icon-box-title,
.mms-ux #contact .elementor-icon-box-description {
	margin: 0;
}

/* Form panel */
.mms-ux #contact .mms-form-panel {
	--padding-top: clamp(26px, 3.4vw, 44px);
	--padding-right: clamp(20px, 3.4vw, 44px);
	--padding-bottom: clamp(26px, 3.4vw, 40px);
	--padding-left: clamp(20px, 3.4vw, 44px);
	position: relative;
	border: 1px solid rgba(244, 241, 234, .09);
	border-radius: 26px;
	background: linear-gradient(180deg, #1E2125 0%, #131518 100%);
	box-shadow: var(--mms-shadow-dark);
}

.mms-ux #contact .mms-form-panel::after {
	content: "";
	position: absolute;
	left: 28px;
	right: 28px;
	top: -1px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mms-gold) 50%, transparent);
	opacity: .7;
	pointer-events: none;
}

.mms-ux .mms-form-panel .wpforms-container-full {
	--wpforms-field-border-radius: 12px;
	--wpforms-field-background-color: rgba(9, 10, 12, .55);
	--wpforms-field-border-color: rgba(244, 241, 234, .1);
	--wpforms-field-text-color: #F4F1EA;
	--wpforms-field-menu-color: #1A1D21;
	--wpforms-label-color: rgba(244, 241, 234, .78);
	--wpforms-label-sublabel-color: rgba(244, 241, 234, .5);
	--wpforms-label-error-color: #FF8A82;
	--wpforms-button-border-radius: 12px;
	--wpforms-button-background-color: var(--mms-gold);
	--wpforms-button-text-color: var(--mms-ink);
	--wpforms-field-size-input-height: 52px;
	--wpforms-field-size-checkbox-size: 18px;
	margin: 0;
}

.mms-ux .mms-form-panel .wpforms-field-container {
	display: flex;
	flex-wrap: wrap;
	column-gap: 16px;
}

.mms-ux .mms-form-panel .wpforms-field-container > .wpforms-field {
	width: 100%;
	padding: 8px 0 !important;
}

.mms-ux .mms-form-panel .wpforms-field-container > .wpforms-field.mms-half {
	width: calc(50% - 8px);
}

.mms-ux .mms-form-panel .mms-form .wpforms-field-label {
	margin-bottom: 8px !important;
	font-family: var(--font-subheading) !important;
	font-size: 12.5px !important;
	font-weight: var(--fw-ui) !important;
	letter-spacing: .02em;
	color: rgba(244, 241, 234, .8) !important;
}

.mms-ux .mms-form-panel .mms-form .wpforms-required-label {
	color: var(--mms-gold) !important;
}

.mms-ux .mms-form-panel .mms-form input[type=text],
.mms-ux .mms-form-panel .mms-form input[type=email],
.mms-ux .mms-form-panel .mms-form input[type=tel],
.mms-ux .mms-form-panel .mms-form textarea {
	min-height: 52px;
	padding: 14px 16px !important;
	border: 1px solid rgba(244, 241, 234, .1) !important;
	border-radius: 12px !important;
	background-color: rgba(9, 10, 12, .55) !important;
	color: #F4F1EA !important;
	font-family: var(--font-body) !important;
	font-size: 15px !important;
	font-weight: var(--fw-body) !important;
	box-shadow: none !important;
	transition: border-color .3s var(--mms-ease), box-shadow .35s var(--mms-ease), background-color .3s var(--mms-ease) !important;
}

.mms-ux .mms-form-panel .mms-form input[type=text]:hover,
.mms-ux .mms-form-panel .mms-form input[type=email]:hover,
.mms-ux .mms-form-panel .mms-form input[type=tel]:hover,
.mms-ux .mms-form-panel .mms-form textarea:hover {
	border-color: rgba(244, 241, 234, .2) !important;
}

.mms-ux .mms-form-panel .mms-form input[type=text]:focus,
.mms-ux .mms-form-panel .mms-form input[type=email]:focus,
.mms-ux .mms-form-panel .mms-form input[type=tel]:focus,
.mms-ux .mms-form-panel .mms-form textarea:focus {
	border-color: var(--mms-gold) !important;
	background-color: rgba(9, 10, 12, .85) !important;
	box-shadow: 0 0 0 4px var(--mms-gold-14), 0 12px 30px -20px var(--mms-gold-45) !important;
	outline: none !important;
}

.mms-ux .mms-form-panel .mms-form input::placeholder,
.mms-ux .mms-form-panel .mms-form textarea::placeholder {
	color: rgba(244, 241, 234, .32) !important;
}

.mms-ux .mms-form-panel .mms-form textarea {
	min-height: 132px !important;
	resize: vertical;
}

.mms-ux .mms-form-panel .mms-form .wpforms-field.wpforms-has-error input,
.mms-ux .mms-form-panel .mms-form .wpforms-field.wpforms-has-error textarea,
.mms-ux .mms-form-panel .mms-form input.wpforms-error,
.mms-ux .mms-form-panel .mms-form textarea.wpforms-error {
	border-color: rgba(255, 138, 130, .7) !important;
}

/* Modern select (Choices.js) */
.mms-ux .mms-form-panel .mms-form .choices__inner {
	display: flex;
	align-items: center;
	min-height: 52px !important;
	padding: 6px 42px 6px 16px !important;
	border: 1px solid rgba(244, 241, 234, .1) !important;
	border-radius: 12px !important;
	background-color: rgba(9, 10, 12, .55) !important;
	color: #F4F1EA !important;
	transition: border-color .3s var(--mms-ease), box-shadow .35s var(--mms-ease) !important;
}

.mms-ux .mms-form-panel .mms-form .choices:hover .choices__inner {
	border-color: rgba(244, 241, 234, .2) !important;
}

.mms-ux .mms-form-panel .mms-form .choices.is-focused .choices__inner,
.mms-ux .mms-form-panel .mms-form .choices.is-open .choices__inner {
	border-color: var(--mms-gold) !important;
	box-shadow: 0 0 0 4px var(--mms-gold-14) !important;
}

.mms-ux .mms-form-panel .mms-form .choices__list--single .choices__item {
	color: #F4F1EA !important;
	font-size: 15px;
}

.mms-ux .mms-form-panel .mms-form .choices__list--single .choices__placeholder {
	opacity: .45;
}

.mms-ux .mms-form-panel .mms-form .choices[data-type*="select-one"]::after {
	right: 18px !important;
	border-color: rgba(244, 241, 234, .65) transparent transparent !important;
	transition: transform .35s var(--mms-ease-out);
}

.mms-ux .mms-form-panel .mms-form .choices[data-type*="select-one"].is-open::after {
	transform: rotate(180deg) translateY(4px);
}

.mms-ux .mms-form-panel .mms-form .choices__list--dropdown {
	margin-top: 8px !important;
	overflow: hidden;
	border: 1px solid rgba(244, 241, 234, .12) !important;
	border-radius: 12px !important;
	background: #1A1D21 !important;
	box-shadow: 0 26px 50px -20px rgba(0, 0, 0, .85) !important;
}

.mms-ux .mms-form-panel .mms-form .choices__list--dropdown .choices__item {
	padding: 12px 16px !important;
	color: rgba(244, 241, 234, .82) !important;
	font-size: 14.5px !important;
}

.mms-ux .mms-form-panel .mms-form .choices__list--dropdown .choices__item--selectable.is-highlighted {
	background: var(--mms-gold-14) !important;
	color: #fff !important;
}

/* Consent checkbox */
.mms-ux .mms-form-panel .mms-form .wpforms-field-checkbox {
	margin-top: 6px;
	padding: 14px 16px !important;
	border: 1px solid rgba(244, 241, 234, .08);
	border-radius: 14px;
	background: rgba(255, 255, 255, .02);
}

.mms-ux .mms-form-panel .mms-form .wpforms-field-checkbox ul {
	margin: 0 !important;
}

.mms-ux .mms-form-panel .mms-form .wpforms-field-checkbox li {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 !important;
}

.mms-ux .mms-form-panel .mms-form .wpforms-field-checkbox input[type=checkbox] {
	flex: none;
	margin-top: 3px !important;
	accent-color: var(--mms-gold);
}

.mms-ux .mms-form-panel .mms-form .wpforms-field-label-inline {
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.6 !important;
	color: rgba(244, 241, 234, .64) !important;
}

/* Submit */
.mms-ux .mms-form-panel .mms-form .wpforms-submit-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 12px;
	padding-top: 14px !important;
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit {
	position: relative;
	overflow: hidden;
	width: 100% !important;
	min-height: 58px;
	padding: 17px 56px 17px 30px !important;
	border: 0 !important;
	border-radius: 12px !important;
	background:
		var(--mms-arrow-ink) no-repeat right 24px center / 18px 18px,
		linear-gradient(135deg, var(--mms-gold-hi) 0%, var(--mms-gold) 55%, var(--mms-gold-lo) 100%) !important;
	color: #141618 !important;
	font-family: var(--font-button) !important;
	font-weight: var(--fw-button) !important;
	letter-spacing: .06em !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .4) inset, 0 16px 34px -18px var(--mms-gold-45) !important;
	transition: transform .4s var(--mms-ease-out), box-shadow .4s var(--mms-ease), background-position .4s var(--mms-ease-out), filter .3s var(--mms-ease) !important;
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(110deg, transparent 30%, rgba(255, 255, 255, .32) 50%, transparent 70%);
	transform: translateX(-130%);
	transition: transform .8s var(--mms-ease);
	pointer-events: none;
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit:hover {
	transform: translateY(-2px);
	background-position: right 18px center, 0 0 !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .45) inset, 0 24px 44px -18px var(--mms-gold-45), 0 0 0 4px var(--mms-gold-8) !important;
	filter: saturate(1.06);
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit:hover::before {
	transform: translateX(130%);
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit:active {
	transform: translateY(0) scale(.99);
	transition-duration: .12s !important;
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit:focus-visible {
	outline: 2px solid var(--mms-gold) !important;
	outline-offset: 3px;
}

.mms-ux .mms-form-panel .mms-form button.wpforms-submit[disabled] {
	opacity: .78;
	cursor: progress;
	transform: none;
}

.mms-ux .mms-form-panel .mms-form .wpforms-submit-spinner {
	margin: 0 !important;
	filter: invert(1) brightness(1.6);
	opacity: .8;
}

.mms-ux .mms-form-panel .mms-form label.wpforms-error,
.mms-ux .mms-form-panel .mms-form em.wpforms-error {
	margin-top: 6px !important;
	color: #FF8A82 !important;
	font-size: 12.5px !important;
}

.mms-ux .mms-form-panel .wpforms-confirmation-container-full {
	padding: 22px 24px !important;
	border: 1px solid var(--mms-gold-45) !important;
	border-radius: 16px !important;
	background: var(--mms-gold-8) !important;
	color: #F4F1EA !important;
}

.mms-ux .mms-form-panel .elementor-widget-text-editor a {
	color: rgba(244, 241, 234, .78);
	text-underline-offset: 3px;
	transition: color .3s var(--mms-ease);
}

.mms-ux .mms-form-panel .elementor-widget-text-editor a:hover {
	color: var(--mms-gold);
}

/* =====================================================================
   15. Footer
   ===================================================================== */
.mms-ux #mms-footer {
	--padding-top: clamp(76px, 8vw, 112px);
	position: relative;
	background-color: #0E1012;
	background-image: radial-gradient(900px 420px at 8% 0%, var(--mms-gold-8), transparent 60%);
}

.mms-ux #mms-footer::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--mms-gold-45) 25%, var(--mms-gold-45) 75%, transparent);
	pointer-events: none;
}

.mms-ux #mms-footer .elementor-widget-image img {
	transition: opacity .3s var(--mms-ease);
}

.mms-ux #mms-footer .elementor-widget-image a:hover img {
	opacity: .85;
}

.mms-ux #mms-footer .mms-foot-cols .elementor-widget-text-editor {
	max-width: 36ch;
}

.mms-ux #mms-footer .elementor-widget-heading h3.elementor-heading-title {
	display: inline-flex;
	flex-direction: column;
	gap: 14px;
}

.mms-ux #mms-footer .elementor-widget-heading h3.elementor-heading-title::after {
	content: "";
	width: 28px;
	height: 2px;
	border-radius: 2px;
	background: var(--mms-gold);
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item > a {
	display: inline-flex;
	align-items: center;
	padding-left: 0;
	transition: transform .4s var(--mms-ease-out);
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item > a::before {
	content: "";
	width: 0;
	height: 1px;
	margin-right: 0;
	background: var(--mms-gold);
	transition: width .4s var(--mms-ease-out), margin-right .4s var(--mms-ease-out);
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item > a:hover {
	padding-left: 0;
	transform: translateX(2px);
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item > a:hover::before {
	width: 14px;
	margin-right: 10px;
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item .elementor-icon-list-text {
	transition: color .3s var(--mms-ease);
}

.mms-ux #mms-footer .mms-footer-links .elementor-icon-list-item > a:hover .elementor-icon-list-text {
	color: #fff;
}

.mms-ux #mms-footer .mms-foot-bar {
	border-top-color: rgba(244, 241, 234, .08);
}

.mms-ux #mms-footer .mms-foot-bar .elementor-inline-items .elementor-icon-list-item:not(:last-child)::after {
	content: "";
	position: static;
	width: 3px;
	height: 3px;
	margin-left: 22px;
	border: 0;
	border-radius: 50%;
	background: rgba(244, 241, 234, .25);
}

.mms-ux #mms-footer .mms-foot-bar .elementor-inline-items .elementor-icon-list-item {
	align-items: center;
}

.mms-ux #ast-scroll-top {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background-color: var(--mms-gold);
	color: var(--mms-ink);
	box-shadow: 0 14px 30px -14px var(--mms-gold-45);
	transition: transform .4s var(--mms-ease-out), box-shadow .4s var(--mms-ease);
}

.mms-ux #ast-scroll-top:hover {
	transform: translateY(-3px);
	box-shadow: 0 20px 40px -14px var(--mms-gold-45);
}

.mms-ux #ast-scroll-top svg {
	fill: var(--mms-ink);
}

/* =====================================================================
   16. Legal pages
   ===================================================================== */
.mms-ux .mms-sec--hero:not(#mms-hero) {
	--padding-bottom: clamp(140px, 14vw, 180px);
	background-image:
		radial-gradient(820px 400px at 88% -10%, var(--mms-gold-14), transparent 62%),
		linear-gradient(rgba(244, 241, 234, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(244, 241, 234, .035) 1px, transparent 1px);
	background-size: auto, 56px 56px, 56px 56px;
}

.mms-ux .mms-sec--hero:not(#mms-hero) .elementor-widget-heading h1.elementor-heading-title {
	font-size: clamp(2.1rem, 1.2rem + 2.8vw, 3.4rem);
	line-height: 1.08;
	letter-spacing: -.025em;
}

.mms-ux .mms-prose-wrap {
	--padding-top: clamp(30px, 5vw, 64px);
	--padding-right: clamp(22px, 5vw, 64px);
	--padding-bottom: clamp(30px, 5vw, 64px);
	--padding-left: clamp(22px, 5vw, 64px);
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 900px;
	margin-top: -130px;
	align-self: center;
	border: 1px solid var(--mms-line);
	border-radius: 26px;
	background: #fff;
	box-shadow: var(--mms-shadow-3);
}

.mms-ux .mms-prose-wrap > .elementor-widget-text-editor:first-child p {
	display: inline-flex;
	padding: 7px 14px;
	border-radius: 999px;
	background: var(--mms-cream);
	font-size: 13px;
}

.mms-ux .mms-prose-wrap .elementor-widget-heading h2.elementor-heading-title {
	font-size: clamp(1.2rem, 1rem + .6vw, 1.5rem);
	line-height: 1.3;
	letter-spacing: -.01em;
}

.mms-ux .mms-prose-wrap > .elementor-widget-heading ~ .elementor-widget-heading {
	padding-top: 30px;
	border-top: 1px solid var(--mms-line);
}

.mms-ux .mms-prose-wrap .mms-prose ul li::before {
	top: .72em;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	box-shadow: 0 0 0 4px var(--mms-gold-14);
}

/* =====================================================================
   17. Motion — only when html.mms-motion is present (JS on, motion allowed)
   ===================================================================== */
/* Hero entrance */
@keyframes mms-rise {
	from { opacity: 0; translate: 0 30px; }
	to { opacity: 1; translate: 0 0; }
}

.mms-motion .mms-sec--hero > .e-con-inner > .e-con > *,
.mms-motion .mms-sec--hero > .e-con-inner > .elementor-widget {
	animation: mms-rise 1.05s var(--mms-ease-out) both;
}

.mms-motion .mms-sec--hero > .e-con-inner > .e-con > :nth-child(1),
.mms-motion .mms-sec--hero > .e-con-inner > .elementor-widget:nth-child(1) { animation-delay: .15s; }
.mms-motion .mms-sec--hero > .e-con-inner > .e-con > :nth-child(2),
.mms-motion .mms-sec--hero > .e-con-inner > .elementor-widget:nth-child(2) { animation-delay: .27s; }
.mms-motion .mms-sec--hero > .e-con-inner > .e-con > :nth-child(3),
.mms-motion .mms-sec--hero > .e-con-inner > .elementor-widget:nth-child(3) { animation-delay: .41s; }
.mms-motion .mms-sec--hero > .e-con-inner > .e-con > :nth-child(4),
.mms-motion .mms-sec--hero > .e-con-inner > .elementor-widget:nth-child(4) { animation-delay: .55s; }

@keyframes mms-road-dash {
	to { background-position: 0 62px; }
}

.mms-motion #mms-hero::after {
	animation: mms-road-dash 3.2s linear infinite;
}

@keyframes mms-plx-settle {
	from { scale: 1.08; }
	to { scale: 1; }
}

.mms-motion #mms-hero .mms-plx-layer.is-ready {
	animation: mms-plx-settle 2.4s var(--mms-ease-out) both;
}

/* Scroll reveals */
.mms-motion .mms-rv > * {
	opacity: 0;
	translate: 0 26px;
	transition: var(--mms-rv-t);
}

.mms-motion .mms-rv.is-in > * {
	opacity: 1;
	translate: 0 0;
}

.mms-rv > :nth-child(2) { --mms-d: .08s; }
.mms-rv > :nth-child(3) { --mms-d: .16s; }
.mms-rv > :nth-child(4) { --mms-d: .24s; }
.mms-rv > :nth-child(5) { --mms-d: .32s; }
.mms-rv > :nth-child(6) { --mms-d: .40s; }
.mms-rv > :nth-child(7) { --mms-d: .48s; }
.mms-rv > :nth-child(n+8) { --mms-d: .56s; }

.mms-motion .mms-rv-self {
	opacity: 0;
	translate: 0 34px;
	transition: var(--mms-rv-t);
}

.mms-motion .mms-rv-self.is-in {
	opacity: 1;
	translate: 0 0;
}

.mms-motion #mms-about-media.mms-rv-self {
	--mms-d: .15s;
}

.mms-motion .mms-head:not(.is-in) .mms-eyebrow .elementor-heading-title::before {
	transform: scaleX(0);
}

.mms-motion #mms-pillars:not(.is-in) > .e-con::before {
	transform: scaleX(0);
}

.mms-motion #mms-svc-grid.is-in .elementor-widget-image::after {
	animation: mms-badge-in .7s var(--mms-ease-out) calc(var(--mms-d, 0s) + .35s) both;
}

@keyframes mms-badge-in {
	from { opacity: 0; transform: translateY(-6px) scale(.9); }
	to { opacity: 1; transform: none; }
}

.mms-motion #about .mms-head .elementor-icon-list-item {
	opacity: 0;
	translate: -14px 0;
}

.mms-motion #about .mms-head.is-in .elementor-icon-list-item {
	opacity: 1;
	translate: 0 0;
}

.mms-motion #about .mms-head .elementor-icon-list-item:nth-child(1) { --mms-d: .5s; }
.mms-motion #about .mms-head .elementor-icon-list-item:nth-child(2) { --mms-d: .6s; }
.mms-motion #about .mms-head .elementor-icon-list-item:nth-child(3) { --mms-d: .7s; }
.mms-motion #about .mms-head .elementor-icon-list-item:nth-child(n+4) { --mms-d: .8s; }

.mms-motion #faq .elementor-accordion .elementor-accordion-item {
	opacity: 0;
	translate: 0 18px;
}

.mms-motion #faq .elementor-accordion.is-in .elementor-accordion-item {
	opacity: 1;
	translate: 0 0;
}

.mms-motion #faq .elementor-accordion-item:nth-child(2) { --mms-d: .06s; }
.mms-motion #faq .elementor-accordion-item:nth-child(3) { --mms-d: .12s; }
.mms-motion #faq .elementor-accordion-item:nth-child(4) { --mms-d: .18s; }
.mms-motion #faq .elementor-accordion-item:nth-child(5) { --mms-d: .24s; }
.mms-motion #faq .elementor-accordion-item:nth-child(n+6) { --mms-d: .30s; }

/* Failsafe + print: never leave content hidden. */
.mms-reveal-all .mms-rv > *,
.mms-reveal-all .mms-rv-self,
.mms-reveal-all #faq .elementor-accordion-item,
.mms-reveal-all #about .elementor-icon-list-item {
	opacity: 1 !important;
	translate: none !important;
}

@media print {
	.mms-rv > *,
	.mms-rv-self,
	#faq .elementor-accordion-item,
	#about .elementor-icon-list-item {
		opacity: 1 !important;
		translate: none !important;
	}

	.mms-road {
		display: none;
	}
}

/* =====================================================================
   18. Responsive
   ===================================================================== */
@media (max-width: 1279px) {
	.mms-ux #mms-steps > .e-con {
		--padding-right: 20px;
		--padding-left: 20px;
	}

	.mms-road {
		--truck-w: 250px;
	}
}

@media (max-width: 1024px) {
	.mms-ux :is(#services, #equipment, #about, #process, #testimonials, #faq, #contact) {
		--padding-top: 96px;
		--padding-bottom: 96px;
	}

	.mms-ux #mms-hero {
		--min-height: auto;
		--padding-top: 150px;
		--padding-bottom: 150px;
	}

	.mms-ux #mms-trust .mms-trust-row > .e-con:nth-child(odd)::before {
		display: none;
	}

	.mms-ux #mms-trust .mms-trust-row > .e-con:nth-child(n+3) {
		border-top: 1px solid rgba(255, 255, 255, .07);
	}

	.mms-ux #mms-svc-grid > .e-con,
	.mms-ux #mms-steps > .e-con {
		--width: calc((100% - 24px) / 2);
	}

	.mms-ux #mms-steps {
		gap: 20px 24px;
	}

	.mms-ux #mms-quotes > .e-con {
		--width: 100%;
	}

	.mms-ux #mms-about-media::after,
	.mms-ux #mms-about-media::before {
		display: none;
	}

	.mms-ux #mms-about-media img {
		height: clamp(300px, 52vw, 460px);
	}

	.mms-road {
		--truck-w: 220px;
		height: 136px;
	}
}

@media (max-width: 880px) {
	.mms-ux #mms-pillars > .e-con {
		width: 100% !important;
	}
}

@media (max-width: 767px) {
	.mms-ux :is(#services, #equipment, #about, #process, #testimonials, #faq, #contact) {
		--padding-top: 76px;
		--padding-bottom: 76px;
	}

	.mms-ux #mms-hero {
		--padding-top: 128px;
		--padding-bottom: 120px;
	}

	.mms-ux #mms-hero .elementor-widget-button a.elementor-button {
		padding: 16px 24px;
	}

	.mms-ux #mms-trust {
		margin-top: -40px;
		background: linear-gradient(to bottom, transparent 0, transparent 40px, var(--mms-cream) 40px);
	}

	.mms-ux #mms-trust .mms-trust-row > .e-con::before {
		display: none;
	}

	.mms-ux #mms-trust .mms-trust-row > .e-con + .e-con {
		border-top: 1px solid rgba(255, 255, 255, .07);
	}

	.mms-ux #mms-trust .mms-trust-row > .e-con {
		--padding-top: 12px;
		--padding-bottom: 12px;
	}

	.mms-ux #mms-svc-grid,
	.mms-ux #mms-steps,
	.mms-ux #mms-pillars,
	.mms-ux #mms-quotes {
		gap: 16px;
	}

	.mms-ux #mms-svc-grid > .e-con,
	.mms-ux #mms-steps > .e-con {
		--width: 100%;
	}

	.mms-ux #mms-svc-grid > .e-con:hover,
	.mms-ux #mms-pillars > .e-con:hover,
	.mms-ux #mms-quotes > .e-con > .e-con:hover {
		transform: none;
	}

	.mms-ux #mms-about-media img {
		height: 280px;
	}

	.mms-ux #mms-about-media .elementor-widget-image,
	.mms-ux #mms-about-media img {
		border-radius: 18px;
	}

	.mms-ux #faq .elementor-accordion .elementor-tab-title {
		padding: 18px 16px 18px 18px;
		gap: 12px;
	}

	.mms-ux #faq .elementor-accordion .elementor-tab-content {
		padding: 0 18px 20px;
	}

	.mms-ux #faq .elementor-accordion .elementor-accordion-icon {
		width: 32px;
		height: 32px;
	}

	.mms-ux #contact .mms-form-panel {
		border-radius: 20px;
	}

	.mms-ux .mms-prose-wrap {
		margin-top: -128px;
		border-radius: 20px;
	}

	.mms-ux .mms-sec--hero:not(#mms-hero) {
		--padding-bottom: 130px;
	}

	.mms-road {
		--truck-w: 172px;
		height: 116px;
		margin: 0 0 22px;
	}

	.mms-road__sky {
		height: 56px;
	}

	.mms-road__asphalt {
		height: 38px;
	}

	.mms-road__marker {
		bottom: 38px;
		height: 18px;
	}

	.mms-truck {
		bottom: 7px;
	}
}

@media (max-width: 560px) {
	.mms-road {
		--truck-w: 136px;
		height: 104px;
	}

	.mms-road__sky {
		height: 48px;
	}

	.mms-ux .mms-form-panel .wpforms-field-container > .wpforms-field.mms-half {
		width: 100%;
	}

	.mms-ux #mms-header #mms-header-cta a.elementor-button {
		padding: 11px 14px;
		font-size: 12px;
		letter-spacing: .06em;
	}

	.mms-ux #mms-header #mms-header-cta .elementor-button-content-wrapper::after {
		display: none;
	}

	.mms-ux #mms-logo img,
	.mms-ux #mms-header.mms-stuck #mms-logo img {
		width: 128px;
	}
}
