/*
 * Motion Bags & Cases — design layer on top of Twenty Twenty-Five.
 * Tokens come from theme.json; this file adds the component styling that core
 * blocks can't express on their own. Mobile-first where it matters, and every
 * motion effect respects prefers-reduced-motion.
 */

:root {
	--mb-ink: var(--wp--preset--color--contrast, #0b0909);
	--mb-graphite: var(--wp--preset--color--accent-3, #16181b);
	--mb-steel: var(--wp--preset--color--steel, #2a2e33);
	--mb-orange: var(--wp--preset--color--accent-1, #e46b00);
	--mb-orange-hi: #ff8a1f;
	--mb-orange-deep: var(--wp--preset--color--orange-deep, #a94f00);
	--mb-paper: var(--wp--preset--color--base, #faf8f5);
	--mb-sand: var(--wp--preset--color--accent-2, #f1ece4);
	--mb-line: var(--wp--preset--color--accent-5, #e4ddd2);
	--mb-muted: var(--wp--preset--color--accent-4, #5f5a54);
	--mb-fog: var(--wp--preset--color--fog, #a9a39b);
	--mb-white: #fff;
	--mb-r-sm: 6px;
	--mb-r-md: 14px;
	--mb-r-lg: 22px;
	--mb-shadow: 0 1px 2px rgba(11, 9, 9, .04), 0 12px 32px -12px rgba(11, 9, 9, .18);
	--mb-shadow-lg: 0 30px 80px -24px rgba(0, 0, 0, .55);
	--mb-ease: cubic-bezier(.2, .7, .2, 1);
	--mb-section-y: clamp(4rem, 9vw, 7.5rem);
	--mb-display: var(--wp--preset--font-family--urbanist, Urbanist, sans-serif);
}

/* ------------------------------------------------------------ base */
body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

::selection { background: var(--mb-orange); color: var(--mb-ink); }

:where(.wp-site-blocks) > * { margin-block-start: 0; }
.mb-main { margin-block-start: 0; }
.mb-main > * { margin-block-start: 0 !important; }
/* Page content (Pages → Edit) and the editor canvas: sections sit flush, like on the live site. */
.mb-page-content > *,
.editor-styles-wrapper .is-root-container > .alignfull { margin-block: 0 !important; }

:where(a, button, summary, input, select, textarea):focus-visible {
	outline: 2px solid var(--mb-orange);
	outline-offset: 3px;
}

img { height: auto; }
figure.wp-block-image { margin-bottom: 0; }

.mb-accent { color: var(--mb-orange); }
.mb-muted { color: var(--mb-muted); }

/* Eyebrow label with a measurement-line lead-in */
.mb-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: .75rem;
	margin: 0;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mb-orange-deep);
}
.mb-eyebrow::before {
	content: "";
	width: 28px;
	height: 2px;
	background: currentColor;
	box-shadow: 0 -4px 0 -0px transparent;
	flex: none;
}
.mb-lead {
	font-size: clamp(1.0625rem, 1.35vw, 1.25rem);
	line-height: 1.6;
	max-width: 40em;
}

/* ------------------------------------------------------------ header */
body.motion-bags header.wp-block-template-part {
	position: sticky;
	top: -41px;
	z-index: 100;
}
body.admin-bar.motion-bags header.wp-block-template-part { top: -9px; }
@media (max-width: 782px) {
	body.admin-bar.motion-bags header.wp-block-template-part { top: 0; }
}

.mb-topbar {
	background: var(--mb-ink);
	color: var(--mb-fog);
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	font-size: .8125rem;
	line-height: 1;
}
.mb-topbar__inner {
	display: flex;
	align-items: center;
	gap: 1.75rem;
	min-height: 40px;
}
.mb-topbar__inner > * { margin: 0 !important; }
.mb-topbar__item.is-address { flex: 1; }
.mb-topbar a { color: inherit; text-decoration: none; }
.mb-topbar a:hover { color: var(--mb-white); }
.mb-topbar__item.is-phone a { color: var(--mb-white); font-weight: 600; }

/* The blur lives on a pseudo-element: backdrop-filter on the header itself would trap
   the full-screen mobile menu (position: fixed) inside the header bar. */
.mb-header__main {
	position: relative;
	color: var(--mb-white);
	border-bottom: 1px solid rgba(255, 255, 255, .06);
	transition: box-shadow .3s var(--mb-ease);
}
.mb-header__main::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(11, 9, 9, .92);
	-webkit-backdrop-filter: saturate(140%) blur(14px);
	backdrop-filter: saturate(140%) blur(14px);
}
.mb-header__main.is-scrolled { box-shadow: 0 12px 30px -12px rgba(0, 0, 0, .55); }
.mb-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: 78px;
}
.mb-header__inner > * { margin: 0 !important; }
.mb-header__right {
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.mb-header__right > * { margin: 0 !important; }

.mb-logo { display: inline-flex; align-items: center; text-decoration: none; color: var(--mb-white); }
.mb-logo__img { display: block; height: 54px; width: auto; max-width: 220px; object-fit: contain; }
.mb-logo--footer .mb-logo__img { height: 76px; max-width: 290px; }
.mb-logo__text { font-family: var(--mb-display); font-weight: 800; font-size: 1.25rem; letter-spacing: -.02em; }

.mb-nav { font-size: .9375rem; }
.mb-nav .wp-block-navigation-item__content,
.mb-nav .wp-block-navigation-submenu__toggle {
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
	transition: color .2s;
}
.mb-nav .wp-block-navigation-item__content:hover,
.mb-nav .wp-block-navigation-submenu__toggle:hover,
.mb-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--mb-white); text-decoration: none; }
.mb-nav .current-menu-item > .wp-block-navigation-item__content { box-shadow: inset 0 -2px 0 var(--mb-orange); }
.mb-nav .wp-block-navigation__container { gap: 1.6rem; }
.mb-nav .wp-block-navigation__submenu-container {
	background: var(--mb-graphite) !important;
	color: var(--mb-white) !important;
	border: 1px solid rgba(255, 255, 255, .1) !important;
	border-radius: var(--mb-r-md);
	padding: .5rem !important;
	min-width: 270px !important;
	box-shadow: var(--mb-shadow-lg);
	top: calc(100% + 10px) !important;
}
.mb-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: .7rem .9rem !important;
	border-radius: 8px;
}
.mb-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: rgba(255, 255, 255, .06); }
.mb-nav .wp-block-navigation__responsive-container-open,
.mb-nav .wp-block-navigation__responsive-container-close { color: var(--mb-white); }
.mb-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }

.mb-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--mb-ink) !important;
	color: var(--mb-white) !important;
	padding: 1.25rem clamp(1rem, 5vw, 2.5rem) 2rem;
}
.mb-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.mb-nav .is-menu-open .wp-block-navigation__responsive-container-content,
.mb-nav .is-menu-open .wp-block-navigation__container,
.mb-nav .is-menu-open .wp-block-navigation-item,
.mb-nav .is-menu-open .wp-block-navigation__submenu-container { align-items: flex-start !important; justify-content: flex-start !important; text-align: left; }
.mb-nav .is-menu-open .wp-block-navigation__container { gap: .15rem !important; width: 100%; }
.mb-nav .is-menu-open .wp-block-navigation-submenu__toggle { font-family: var(--mb-display); font-size: 1.5rem; font-weight: 700; color: var(--mb-white); padding: .35rem 0; }
.mb-nav .is-menu-open .wp-block-navigation-item { width: 100%; }
.mb-nav .is-menu-open .wp-block-navigation-item__content {
	font-family: var(--mb-display);
	font-size: 1.5rem;
	font-weight: 700;
	padding: .35rem 0;
	color: var(--mb-white);
}
.mb-nav .is-menu-open .wp-block-navigation__submenu-container {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none;
	padding: .25rem 0 .75rem 1rem !important;
	border-left: 2px solid var(--mb-orange) !important;
	border-radius: 0;
	margin-left: .25rem;
}
.mb-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-family: inherit;
	font-size: 1.0625rem;
	font-weight: 500;
	color: rgba(255, 255, 255, .78);
	padding: .4rem 0 !important;
}

.mb-header-cta .wp-block-button__link { padding: .72rem 1.15rem; font-size: .9375rem; }

/* ------------------------------------------------------------ buttons */
.wp-block-button .wp-block-button__link { transition: background-color .2s, color .2s, border-color .2s, transform .2s var(--mb-ease); }
.wp-block-button .wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button .wp-block-button__link:active { transform: translateY(0); }
.wp-block-button.is-style-ink .wp-block-button__link { background: var(--mb-ink); color: var(--mb-white); }
.wp-block-button.is-style-ink .wp-block-button__link:hover { background: var(--mb-steel); color: var(--mb-white); }

.mb-hero .is-style-outline .wp-block-button__link,
.mb-page-hero .is-style-outline .wp-block-button__link,
.is-dark .is-style-outline .wp-block-button__link {
	color: var(--mb-white);
	border-color: rgba(255, 255, 255, .38);
}
.mb-hero .is-style-outline .wp-block-button__link:hover,
.mb-page-hero .is-style-outline .wp-block-button__link:hover,
.is-dark .is-style-outline .wp-block-button__link:hover {
	border-color: var(--mb-white);
	background: rgba(255, 255, 255, .06);
}
.is-light .is-style-outline .wp-block-button__link:hover,
.is-sand .is-style-outline .wp-block-button__link:hover { background: var(--mb-ink); color: var(--mb-white); border-color: var(--mb-ink); }
.mb-cta .is-style-outline .wp-block-button__link { color: var(--mb-ink); border-color: var(--mb-ink); }
.mb-cta .is-style-outline .wp-block-button__link:hover { background: var(--mb-ink); color: var(--mb-white); }

/* ------------------------------------------------------------ shared dark backdrops (blueprint grid) */
.mb-hero,
.mb-page-hero {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--mb-ink);
	color: var(--mb-white);
}
/* Home hero: a soft shade over the background photo keeps the headline area calm. */
.mb-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: linear-gradient(90deg, rgba(11, 9, 9, .94) 0%, rgba(11, 9, 9, .82) 45%, rgba(11, 9, 9, .55) 100%);
	pointer-events: none;
}
.mb-hero::after,
.mb-page-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 60vw;
	height: 60vw;
	max-width: 900px;
	max-height: 900px;
	right: -18vw;
	top: -28vw;
	background: radial-gradient(circle, rgba(228, 107, 0, .28), transparent 62%);
	pointer-events: none;
}
.mb-hero p,
.mb-page-hero p { color: rgba(255, 255, 255, .78); }
.mb-hero .mb-eyebrow,
.mb-page-hero .mb-eyebrow,
.is-dark .mb-eyebrow { color: var(--mb-orange); }
.mb-hero h1,
.mb-page-hero h1 { color: var(--mb-white); }

/* ------------------------------------------------------------ home hero */
.mb-hero { padding-top: clamp(3rem, 7vw, 6rem); }
.mb-hero .mb-hero__bg {
	position: absolute;
	inset: 0;
	z-index: -2;
	max-width: none !important;
	margin: 0 !important;
}
.mb-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: .32;
	filter: grayscale(.2);
}
.mb-hero__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
	gap: clamp(2.5rem, 5vw, 5rem);
	align-items: center;
	padding-bottom: clamp(3rem, 6vw, 5.5rem);
}
.mb-hero__inner > *,
.mb-hero__text > * { margin-block: 0; }
.mb-hero__text > * + * { margin-top: 1.5rem; }
.mb-hero h1 {
	font-size: clamp(2.9rem, 7.2vw, 6.4rem);
	line-height: .95;
	letter-spacing: -.045em;
	font-weight: 800;
	margin-top: 1.25rem !important;
}
.mb-hero .wp-block-buttons { margin-top: 2.25rem !important; }
.mb-hero__note { font-size: .875rem; color: var(--mb-fog) !important; }

.mb-hero__media {
	position: relative;
	aspect-ratio: 1 / 1.02;
	max-width: 560px;
	width: 100%;
	justify-self: end;
}
.mb-hero__media > * { margin: 0 !important; }
.mb-frame {
	overflow: hidden;
	border-radius: var(--mb-r-lg);
	background: linear-gradient(160deg, var(--mb-steel), var(--mb-graphite));
	border: 1px solid rgba(255, 255, 255, .1);
}
.mb-frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mb-hero__inner > .mb-hero__photo {
	justify-self: end;
	width: 100%;
	max-width: 580px;
	aspect-ratio: 1402 / 1122; /* the photo's own shape: nothing important gets cropped */
	margin: 0 !important;
	box-shadow: var(--mb-shadow-lg);
}

.mb-hero__stats,
.mb-statband {
	border-top: 1px solid rgba(255, 255, 255, .1);
	background: rgba(11, 9, 9, .55);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}
.mb-statband { background: var(--mb-ink); color: var(--mb-white); border: 0; }
.mb-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}
.mb-stats > * { margin: 0 !important; }
.mb-stat {
	padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 2vw, 2rem);
	border-left: 1px solid rgba(255, 255, 255, .1);
}
.mb-stat:first-child { border-left: 0; padding-left: 0; }
.mb-stat > * { margin: 0 !important; }
.mb-stat__num {
	font-family: var(--mb-display);
	font-size: clamp(2rem, 3.6vw, 3rem);
	font-weight: 800;
	letter-spacing: -.03em;
	line-height: 1;
	color: var(--mb-white) !important;
}
.mb-stat__label { margin-top: .5rem !important; font-size: .875rem; color: var(--mb-fog) !important; }

/* ------------------------------------------------------------ industry ticker */
.mb-ticker-wrap > * { margin: 0 !important; }
.mb-ticker {
	display: flex;
	overflow: hidden;
	background: var(--mb-orange);
	color: var(--mb-ink);
	font-family: var(--mb-display);
	font-weight: 800;
	font-size: clamp(1rem, 1.6vw, 1.25rem);
	letter-spacing: -.01em;
	text-transform: uppercase;
	user-select: none;
}
.mb-ticker__track {
	display: flex;
	flex: none;
	gap: 0;
	margin: 0;
	padding: 1rem 0;
	list-style: none;
	animation: mb-marquee 45s linear infinite;
}
.mb-ticker__track li { display: flex; align-items: center; white-space: nowrap; }
.mb-ticker__track li::after { content: "✕"; font-size: .7em; margin: 0 1.6rem; opacity: .55; }
.mb-ticker:hover .mb-ticker__track { animation-play-state: paused; }
@keyframes mb-marquee { to { transform: translateX(-100%); } }

/* ------------------------------------------------------------ sections */
.mb-section { padding-block: var(--mb-section-y); }
.mb-section.is-light { background: var(--mb-paper); }
.mb-section.is-sand { background: var(--mb-sand); }
.mb-section.is-dark { background: var(--mb-graphite); color: var(--mb-white); }
.mb-section.is-dark p,
.mb-section.is-dark li { color: rgba(255, 255, 255, .74); }
.mb-section.is-dark h2,
.mb-section.is-dark h3,
.mb-section.is-dark h4 { color: var(--mb-white); }
.mb-section { scroll-margin-top: 90px; }

.mb-wrap > * { margin-block: 0; }
.mb-wrap > * + * { margin-block-start: clamp(2.25rem, 4.5vw, 3.75rem) !important; }

.mb-head { max-width: 48rem; }
.mb-head > * { margin-block: 0; }
.mb-head > h2,
.mb-head > h1 { margin-top: 1rem !important; font-size: clamp(2rem, 4.3vw, 3.4rem); }
.mb-head > .mb-lead { margin-top: 1.1rem !important; color: var(--mb-muted); }
.is-dark .mb-head > .mb-lead { color: rgba(255, 255, 255, .72); }
.mb-head.is-row {
	max-width: none;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	column-gap: clamp(2rem, 6vw, 6rem);
	align-items: end;
}
.mb-head.is-row > .mb-eyebrow,
.mb-head.is-row > h2 { grid-column: 1; }
.mb-head.is-row > .mb-lead { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0 !important; }
.mb-head.is-center { margin-inline: auto; text-align: center; }
.mb-head.is-center .mb-lead { margin-inline: auto; }

.mb-split {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(2rem, 6vw, 6rem);
	align-items: start;
}
.mb-split > * { margin: 0 !important; }
.mb-split--media { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; }
.mb-split--center { align-items: center; grid-template-columns: minmax(0, 1.4fr) auto; }
.mb-split--faq { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); }
.mb-sticky { position: sticky; top: 120px; }
.mb-sticky > * { margin-block: 0; }
.mb-sticky > * + * { margin-top: 1.1rem !important; }
.mb-sticky > h2 { margin-top: 1rem !important; font-size: clamp(2rem, 4vw, 3.1rem); }
.mb-stack > * { margin-block: 0; }
.mb-stack > * + * { margin-top: 1.25rem !important; }
.mb-stack > .mb-grid,
.mb-stack > .wp-block-buttons { margin-top: 2rem !important; }
.mb-stack > h3 { margin-top: 2.5rem !important; }

/* ------------------------------------------------------------ grids & cards */
.mb-grid { display: grid; gap: clamp(1rem, 2vw, 1.5rem); }
.mb-grid > * { margin: 0 !important; }
.mb-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mb-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.mb-grid--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.mb-card {
	position: relative;
	padding: clamp(1.5rem, 2.4vw, 2.25rem);
	background: var(--mb-white);
	border: 1px solid var(--mb-line);
	border-radius: var(--mb-r-md);
	transition: transform .35s var(--mb-ease), box-shadow .35s var(--mb-ease), border-color .35s;
}
.mb-card:hover { transform: translateY(-3px); box-shadow: var(--mb-shadow); border-color: #d6cdbf; }
.mb-card > * { margin-block: 0; }
.mb-card > * + * { margin-top: .75rem !important; }
.mb-card h3 { font-size: clamp(1.2rem, 1.6vw, 1.4rem); letter-spacing: -.02em; }
.mb-card h4 { font-size: 1.0625rem; }
.mb-card p { color: var(--mb-muted); font-size: .98rem; }
.mb-card.is-compact h3::before,
.mb-card.is-compact h4::before {
	content: "";
	display: block;
	width: 10px;
	height: 10px;
	margin-bottom: 1rem;
	border-radius: 2px;
	background: var(--mb-orange);
}
.mb-card.is-feature { padding: clamp(1.75rem, 3vw, 2.75rem); }
.mb-card.is-feature h3 { font-size: clamp(1.4rem, 2vw, 1.75rem); }
.is-sand .mb-card { border-color: transparent; }
.is-dark .mb-card {
	background: rgba(255, 255, 255, .035);
	border-color: rgba(255, 255, 255, .1);
}
.is-dark .mb-card:hover { border-color: rgba(228, 107, 0, .6); box-shadow: none; }
.is-dark .mb-card p { color: rgba(255, 255, 255, .72); }
.mb-grid--mini .mb-card { padding: 1.25rem; }
.mb-grid--mini .mb-card h3 { font-size: 1.0625rem; }
.mb-grid--mini .mb-card p { font-size: .9rem; }
.mb-card.is-industry .mb-step__num { color: var(--mb-orange-deep); }
.mb-card.is-industry strong { color: var(--mb-ink); }
.mb-more {
	margin-top: auto;
	font-family: var(--mb-display);
	font-weight: 700;
	color: var(--mb-orange-deep) !important;
}
.mb-more a { color: inherit; text-decoration: none; }
.mb-more a:hover { text-decoration: underline; }
.is-dark .mb-more { color: var(--mb-orange) !important; }

/* Product cards */
.mb-product {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	background: var(--mb-white);
	border-radius: var(--mb-r-lg);
	cursor: pointer;
	transition: transform .4s var(--mb-ease), box-shadow .4s var(--mb-ease);
}
.mb-product > * { margin: 0 !important; }
.mb-product:hover { transform: translateY(-4px); box-shadow: var(--mb-shadow); }
.mb-product__media { aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(160deg, var(--mb-steel), var(--mb-graphite)); }
.mb-product__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--mb-ease); }
.mb-product:hover .mb-product__media img { transform: scale(1.045); }
.mb-product__body {
	display: flex;
	flex-direction: column;
	flex: 1;
	padding: 1.5rem 1.75rem 1.75rem;
}
.mb-product__body > * { margin-block: 0; }
.mb-product__body > * + * { margin-top: .7rem !important; }
.mb-product__body h3 { font-size: 1.375rem; }
.mb-product__body h3 a { color: var(--mb-ink); text-decoration: none; }
.mb-product__body h3 a::after { content: ""; }
.mb-product__body p { color: var(--mb-muted); font-size: .98rem; }
.mb-product__body .mb-more { padding-top: .75rem; }
.mb-product .mb-more span { display: inline-block; transition: transform .3s var(--mb-ease); }
.mb-product:hover .mb-more span { transform: translateX(4px); }

/* Spec list (numbered construction / configuration items) */
.mb-specs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--mb-line);
	counter-reset: mb-spec;
}
.mb-specs > * { margin: 0 !important; }
.mb-spec {
	padding: 1.6rem 1.5rem 1.75rem 0;
	border-bottom: 1px solid var(--mb-line);
	counter-increment: mb-spec;
}
.mb-spec > * { margin-block: 0; }
.mb-spec h3 { font-size: 1.1875rem; margin-bottom: .5rem !important; letter-spacing: -.015em; }
.mb-spec h3::before {
	content: counter(mb-spec, decimal-leading-zero);
	display: block;
	margin-bottom: .6rem;
	font-family: var(--wp--preset--font-family--inter);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	color: var(--mb-orange-deep);
}
.mb-spec p { color: var(--mb-muted); font-size: .96rem; }
.is-dark .mb-specs,
.is-dark .mb-spec { border-color: rgba(255, 255, 255, .12); }
.is-dark .mb-spec h3::before { color: var(--mb-orange); }
.mb-specs.is-list { grid-template-columns: 1fr; }
.mb-specs.is-list .mb-spec { display: grid; grid-template-columns: minmax(0, 13rem) minmax(0, 1fr); gap: 1.5rem; padding-right: 0; }
.mb-specs.is-list .mb-spec h3 { margin: 0 !important; }

/* Chips */
.mb-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mb-chips li {
	margin: 0;
	padding: .5rem .95rem;
	border: 1px solid rgba(11, 9, 9, .16);
	border-radius: 999px;
	font-size: .875rem;
	font-weight: 600;
	line-height: 1.3;
	background: rgba(255, 255, 255, .6);
}
.mb-chips li a { text-decoration: none; }
.is-dark .mb-chips li { border-color: rgba(255, 255, 255, .18); background: rgba(255, 255, 255, .04); color: var(--mb-white); }
.mb-chips.is-center { justify-content: center; }
.mb-chips.is-large li { padding: .8rem 1.35rem; font-size: clamp(1rem, 1.4vw, 1.1875rem); font-family: var(--mb-display); font-weight: 700; background: var(--mb-white); border-color: transparent; }

/* Tick lists */
.mb-ticks { margin: 0; padding: 0; list-style: none; }
.mb-ticks li {
	position: relative;
	margin: 0;
	padding: .55rem 0 .55rem 1.9rem;
	border-bottom: 1px dashed rgba(11, 9, 9, .12);
}
.mb-ticks li:last-child { border-bottom: 0; }
.mb-ticks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: .95rem;
	width: 1.05rem;
	height: .6rem;
	border-left: 2.5px solid var(--mb-orange);
	border-bottom: 2.5px solid var(--mb-orange);
	transform: rotate(-45deg) translateY(-3px);
}
.is-dark .mb-ticks li { border-color: rgba(255, 255, 255, .12); }

/* Process steps */
.mb-steps {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
	gap: clamp(1.5rem, 3vw, 2.5rem);
	counter-reset: step;
}
.mb-steps > * { margin: 0 !important; }
.mb-step { position: relative; padding-top: 1.75rem; border-top: 2px solid var(--mb-line); }
.mb-step::before {
	content: "";
	position: absolute;
	top: -7px;
	left: 0;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--mb-orange);
	box-shadow: 0 0 0 5px var(--mb-paper);
}
.is-sand .mb-step::before { box-shadow: 0 0 0 5px var(--mb-sand); }
.mb-step > * { margin-block: 0; }
.mb-step > * + * { margin-top: .6rem !important; }
.mb-step__num {
	font-family: var(--mb-display);
	font-size: .8125rem;
	font-weight: 800;
	letter-spacing: .14em;
	color: var(--mb-orange-deep) !important;
}
.mb-step h3 { font-size: 1.25rem; }
.mb-step p { color: var(--mb-muted); font-size: .96rem; }

/* Why cards */
.mb-why__card {
	overflow: hidden;
	background: var(--mb-white);
	border-radius: var(--mb-r-lg);
	transition: transform .4s var(--mb-ease), box-shadow .4s var(--mb-ease);
}
.mb-why__card:hover { transform: translateY(-4px); box-shadow: var(--mb-shadow); }
.mb-why__card > * { margin: 0 !important; }
.mb-why__media { aspect-ratio: 16 / 10; overflow: hidden; background: var(--mb-steel); }
.mb-why__media img { width: 100%; height: 100%; object-fit: cover; }
.mb-why__card h3 { padding: 1.4rem 1.5rem 0; font-size: 1.25rem; }
.mb-why__card p { padding: .6rem 1.5rem 1.6rem; color: var(--mb-muted); font-size: .95rem; }

/* Measurement diagram */
.mb-measure { margin: 0 !important; width: 100%; max-width: 560px; justify-self: center; }
.mb-measure img { display: block; width: 100%; height: auto; aspect-ratio: 1200 / 1030; }
/* On dark sections the image's own dark studio background fades into the page. */
.is-dark .mb-measure img {
	-webkit-mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 62%, transparent 100%);
	mask-image: radial-gradient(ellipse 72% 70% at 50% 50%, #000 62%, transparent 100%);
}
/* On light sections it sits in a framed card. */
.is-sand .mb-measure img,
.is-light .mb-measure img { border-radius: var(--mb-r-lg); box-shadow: var(--mb-shadow); }
.mb-sticky .mb-measure { margin-top: 2rem !important; max-width: 440px; }

/* Work tiles */
.mb-tiles {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
}
.mb-tiles > * { margin: 0 !important; }
.mb-tile { aspect-ratio: 1; overflow: hidden; border-radius: var(--mb-r-md); background: var(--mb-steel); }
.mb-tile img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--mb-ease), filter .4s; }
.mb-tile:hover img { transform: scale(1.05); }

/* Testimonials */
.mb-review {
	display: flex;
	flex-direction: column;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	background: var(--mb-white);
	border: 1px solid var(--mb-line);
	border-radius: var(--mb-r-lg);
}
.mb-review > * { margin: 0 !important; }
.mb-review::before {
	content: "“";
	font-family: Georgia, "Times New Roman", serif;
	font-size: 4.75rem;
	font-weight: 700;
	line-height: .9;
	color: var(--mb-orange);
	height: 2.4rem;
}
.mb-review__text { font-size: 1.0625rem; line-height: 1.65; color: var(--mb-ink); flex: 1; }
.mb-review__by { margin-top: 1.75rem !important; padding-top: 1.25rem; border-top: 1px solid var(--mb-line); display: flex; flex-direction: column; }
.mb-review__by strong { font-family: var(--mb-display); font-size: 1.0625rem; }
.mb-review__by span { font-size: .875rem; color: var(--mb-muted); }

/* FAQ */
.mb-faq { border-top: 1px solid var(--mb-line); }
.mb-faq > * { margin: 0 !important; }
.mb-faq__item { border-bottom: 1px solid var(--mb-line); }
.mb-faq__item summary {
	position: relative;
	padding: 1.45rem 3rem 1.45rem 0;
	list-style: none;
	cursor: pointer;
	font-family: var(--mb-display);
	font-size: clamp(1.0625rem, 1.5vw, 1.25rem);
	font-weight: 700;
	letter-spacing: -.01em;
	line-height: 1.3;
}
.mb-faq__item summary::-webkit-details-marker { display: none; }
.mb-faq__item summary::before,
.mb-faq__item summary::after {
	content: "";
	position: absolute;
	right: .35rem;
	top: 50%;
	width: 16px;
	height: 2px;
	background: var(--mb-orange);
	transition: transform .3s var(--mb-ease);
}
.mb-faq__item summary::after { transform: rotate(90deg); }
.mb-faq__item[open] summary::after { transform: rotate(0deg); }
.mb-faq__item summary:hover { color: var(--mb-orange-deep); }
.mb-faq__item > p { margin: -.25rem 0 1.6rem !important; max-width: 62ch; color: var(--mb-muted); }

/* CTA band */
.mb-cta {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background: var(--mb-orange);
	color: var(--mb-ink);
	padding-block: clamp(3.5rem, 7vw, 6rem);
}
.mb-cta::before {
	content: "";
	position: absolute;
	inset: 0 0 0 55%;
	z-index: -1;
	background: repeating-linear-gradient(-45deg, rgba(11, 9, 9, .07) 0 16px, transparent 16px 32px);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 60%);
	mask-image: linear-gradient(90deg, transparent, #000 60%);
}
.mb-cta__inner {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) auto;
	gap: 2rem 4rem;
	align-items: center;
}
.mb-cta__inner > *,
.mb-cta__text > * { margin-block: 0; }
.mb-cta h2 { font-size: clamp(2rem, 4.6vw, 3.6rem); letter-spacing: -.035em; color: var(--mb-ink); }
.mb-cta .mb-lead { margin-top: 1rem !important; color: var(--mb-ink); }
.mb-cta .wp-block-buttons { flex-direction: column; align-items: stretch; }
.mb-cta .wp-block-button__link { width: 100%; text-align: center; }

/* ------------------------------------------------------------ inner page hero */
.mb-page-hero { padding-block: clamp(3rem, 7vw, 5.75rem); }
.mb-page-hero.is-compact { padding-block: clamp(2.75rem, 6vw, 4.5rem); }
.mb-page-hero__inner > *,
.mb-page-hero__text > * { margin-block: 0; }
.mb-page-hero__text > * + * { margin-top: 1.35rem !important; }
.mb-page-hero__text > .wp-block-buttons { margin-top: 2rem !important; }
.mb-page-hero__inner.has-media {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}
.mb-page-hero h1 {
	font-size: clamp(2.4rem, 5.4vw, 4.6rem);
	line-height: 1;
	letter-spacing: -.04em;
	font-weight: 800;
	max-width: 16ch;
}
.mb-page-hero.is-title-only h1,
.mb-page-hero.is-title-only .wp-block-post-title { max-width: none; font-size: clamp(2.2rem, 4.8vw, 3.75rem); color: var(--mb-white); }
.mb-page-hero__media { aspect-ratio: 1 / 1; box-shadow: var(--mb-shadow-lg); }
.mb-crumbs { font-size: .8125rem; color: var(--mb-fog) !important; }
.mb-crumbs a { color: inherit; text-decoration: none; }
.mb-crumbs a:hover { color: var(--mb-white); text-decoration: underline; }
.mb-crumbs span { margin: 0 .35rem; opacity: .6; }
.mb-page-hero.is-404 { min-height: 62vh; display: flex; flex-direction: column; justify-content: center; }
.mb-page-hero.is-404 > .mb-page-hero__inner { width: 100%; }
.mb-page-hero.is-404 .mb-chips { margin-top: 2.5rem !important; }
.mb-page-hero.is-404 .mb-chips li { background: rgba(255, 255, 255, .05); border-color: rgba(255, 255, 255, .2); }
.mb-page-hero.is-404 .mb-chips a { color: var(--mb-white); }

/* Generic page content (Privacy Policy etc.) */
.mb-prose { font-size: 1.0625rem; }
.mb-prose h2 { font-size: clamp(1.5rem, 2.4vw, 2rem); margin-top: 2.75rem; }
.mb-prose h3 { font-size: 1.25rem; margin-top: 2rem; }
.mb-prose a { color: var(--mb-orange-deep); }
.mb-prose { overflow-wrap: anywhere; }
.mb-prose table { display: block; max-width: 100%; overflow-x: auto; border-collapse: collapse; }
.mb-prose td, .mb-prose th { padding: .5rem .75rem; vertical-align: top; }

/* ------------------------------------------------------------ case studies + gallery */
.mb-cases > * { margin: 0 !important; }
.mb-cases > * + * { margin-top: clamp(3rem, 6vw, 5rem) !important; }
.mb-case {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
.mb-case > * { margin: 0 !important; }
.mb-case:nth-child(even) .mb-case__media { order: 2; }
.mb-case__media { aspect-ratio: 16 / 10; }
.mb-case__body > * { margin-block: 0; }
.mb-case__body > * + * { margin-top: .75rem !important; }
.mb-case__body h3 { font-size: clamp(1.6rem, 2.6vw, 2.25rem); margin-top: 1rem !important; }
.mb-case__body h4 {
	margin-top: 1.5rem !important;
	font-family: var(--wp--preset--font-family--inter);
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--mb-orange-deep);
}
.mb-case__body p { color: var(--mb-muted); }

.wp-block-gallery.mb-gallery {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem !important;
}
.wp-block-gallery.mb-gallery > .wp-block-image {
	width: auto !important;
	margin: 0 !important;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--mb-r-md);
	background: var(--mb-steel);
}
.wp-block-gallery.mb-gallery > .wp-block-image img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover;
	transition: transform .8s var(--mb-ease);
}
.wp-block-gallery.mb-gallery > .wp-block-image:hover img { transform: scale(1.05); }

/* ------------------------------------------------------------ contact + form */
.mb-contact {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: clamp(1.5rem, 4vw, 3.5rem);
	align-items: start;
}
.mb-contact > * { margin: 0 !important; }
.mb-contact-cards { display: grid; gap: 1rem; }
.mb-contact-cards > * { margin: 0 !important; }
.mb-contact-card {
	padding: 1.5rem 1.6rem;
	background: var(--mb-white);
	border: 1px solid var(--mb-line);
	border-radius: var(--mb-r-md);
}
.mb-contact-card:first-child { border-left: 4px solid var(--mb-orange); }
.mb-contact-card > * { margin: 0 !important; }
.mb-contact-card h2 { font-size: 1.125rem; }
.mb-contact-card .mb-muted { margin-top: .3rem !important; font-size: .9rem; }
.mb-contact-link { margin-top: .75rem !important; font-family: var(--mb-display); font-size: 1.25rem; font-weight: 700; line-height: 1.35; }
.mb-contact-link a { color: var(--mb-ink); text-decoration: none; background-image: linear-gradient(var(--mb-orange), var(--mb-orange)); background-size: 0 2px; background-position: 0 100%; background-repeat: no-repeat; transition: background-size .3s var(--mb-ease); }
.mb-contact-link a:hover { background-size: 100% 2px; }

.mb-form-card {
	padding: clamp(1.5rem, 3.5vw, 3rem);
	background: var(--mb-white);
	border: 1px solid var(--mb-line);
	border-radius: var(--mb-r-lg);
	box-shadow: var(--mb-shadow);
	scroll-margin-top: 110px;
}
.mb-form-card > * { margin-block: 0; }
.mb-form-card > * + * { margin-top: 1rem !important; }
.mb-form-card h2 { font-size: clamp(1.75rem, 3vw, 2.25rem); }
.mb-form { margin-top: 1.75rem !important; }
.mb-form *,
.mb-form *::before,
.mb-form *::after { box-sizing: border-box; }
.mb-form__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.1rem 1rem;
}
.mb-field { margin: 0; grid-column: span 2; }
.mb-field.is-half { grid-column: span 1; }
.mb-field.is-full { grid-column: 1 / -1; }
.mb-field label { display: block; margin-bottom: .4rem; font-size: .875rem; font-weight: 600; color: var(--mb-ink); }
.mb-req { color: var(--mb-orange-deep); }
.mb-form input[type="text"],
.mb-form input[type="tel"],
.mb-form input[type="email"],
.mb-form input[type="number"],
.mb-form select,
.mb-form textarea {
	width: 100%;
	padding: .8rem .95rem;
	font: inherit;
	font-size: 1rem;
	color: var(--mb-ink);
	background: var(--mb-paper);
	border: 1.5px solid var(--mb-line);
	border-radius: 10px;
	transition: border-color .2s, box-shadow .2s, background-color .2s;
	appearance: none;
}
.mb-form select {
	background-image: linear-gradient(45deg, transparent 50%, var(--mb-ink) 50%), linear-gradient(135deg, var(--mb-ink) 50%, transparent 50%);
	background-position: calc(100% - 20px) 55%, calc(100% - 14px) 55%;
	background-size: 6px 6px;
	background-repeat: no-repeat;
	padding-right: 2.5rem;
}
.mb-form textarea { resize: vertical; min-height: 7rem; }
.mb-form input:hover,
.mb-form select:hover,
.mb-form textarea:hover { border-color: #cfc5b6; }
.mb-form input:focus,
.mb-form select:focus,
.mb-form textarea:focus {
	outline: none;
	border-color: var(--mb-orange);
	background: var(--mb-white);
	box-shadow: 0 0 0 4px rgba(228, 107, 0, .18);
}
.mb-form [aria-invalid="true"] { border-color: #b42318 !important; background: #fff6f5 !important; }
.mb-field.is-check {
	display: flex;
	gap: .75rem;
	align-items: flex-start;
	margin-top: 1.4rem;
}
.mb-field.is-check input { flex: none; width: 1.2rem; height: 1.2rem; margin-top: .15rem; accent-color: var(--mb-orange); }
.mb-field.is-check label { margin: 0; font-weight: 400; font-size: .9rem; color: var(--mb-muted); }
.mb-field.is-check a { color: var(--mb-orange-deep); }
.mb-form__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.25rem; margin: 1.6rem 0 0; }
.mb-form__submit { cursor: pointer; font-size: 1.0625rem !important; padding: 1.05rem 1.75rem !important; }
.mb-form__submit[disabled] { opacity: .7; cursor: progress; }
.mb-form__hint { font-size: .85rem; color: var(--mb-muted); }
.mb-form__error { margin: 1rem 0 0; color: #b42318; font-weight: 600; font-size: .9rem; }
.mb-form__hp { position: absolute !important; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.mb-form-notice {
	margin: 1rem 0 0;
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid;
	font-size: .95rem;
}
.mb-form-notice.is-success { background: #ecfdf3; border-color: #6ce9a6; color: #054f31; }
.mb-form-notice.is-error { background: #fef3f2; border-color: #fda29b; color: #7a271a; }

/* ------------------------------------------------------------ footer */
.mb-footer {
	background: var(--mb-ink);
	color: var(--mb-fog);
	padding-top: clamp(4rem, 8vw, 6rem);
	font-size: .9375rem;
}
.mb-footer__cols {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) repeat(2, minmax(0, 1fr)) minmax(0, 1.15fr);
	gap: 2.5rem 3rem;
}
.mb-footer__cols > * { margin: 0 !important; }
.mb-footer__col > * { margin-block: 0; }
.mb-footer__col > * + * { margin-top: 1rem !important; }
.mb-footer__title {
	font-family: var(--wp--preset--font-family--inter);
	font-size: .75rem !important;
	font-weight: 700;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--mb-white);
}
.mb-footer__links { margin: 0; padding: 0; list-style: none; }
.mb-footer__links li { margin: 0 0 .6rem; }
.mb-footer a { color: var(--mb-fog); text-decoration: none; transition: color .2s; }
.mb-footer a:hover { color: var(--mb-white); }
.mb-footer__blurb { max-width: 36ch; }
.mb-footer__tag { color: var(--mb-white); font-family: var(--mb-display); font-size: 1.125rem; }
.mb-footer__tag strong { font-weight: 800; }
.mb-footer__addr a { color: var(--mb-white); }
.mb-footer__small { font-size: .85rem; }
.mb-social { gap: .5rem !important; }
.mb-social .wp-social-link {
	width: 42px;
	height: 42px;
	display: grid;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .16);
	border-radius: 50%;
	color: var(--mb-white) !important;
	background: transparent !important;
	transition: background-color .2s, border-color .2s;
}
.mb-social .wp-social-link:hover { background: var(--mb-orange) !important; border-color: var(--mb-orange); color: var(--mb-ink) !important; transform: none; }
.mb-social .wp-social-link a { display: grid; place-items: center; width: 100%; height: 100%; padding: 0 !important; color: inherit !important; }
.mb-social .wp-social-link svg { width: 18px; height: 18px; }
.mb-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: .75rem 2rem;
	margin-top: clamp(3rem, 6vw, 4.5rem) !important;
	/* Bottom padding clears the floating WhatsApp button (about 78px tall + its 24px offset). */
	padding: 1.5rem 0 calc(2rem + 104px);
	border-top: 1px solid rgba(255, 255, 255, .1);
	font-size: .8125rem;
}
.mb-footer__bottom > * { margin: 0 !important; }

/* Floating WhatsApp */
.editor-styles-wrapper .mb-wa-float { display: none; }
.mb-wa-float {
	position: fixed;
	right: clamp(.9rem, 2vw, 1.5rem);
	bottom: clamp(.9rem, 2vw, 1.5rem);
	z-index: 90;
	display: inline-flex;
	align-items: center;
	gap: .6rem;
	padding: .45rem 1.1rem .45rem .45rem;
	border-radius: 999px;
	background: var(--mb-ink);
	color: var(--mb-white);
	font-family: var(--mb-display);
	font-weight: 700;
	font-size: .9375rem;
	text-decoration: none;
	box-shadow: 0 10px 30px -8px rgba(0, 0, 0, .5);
	border: 1px solid rgba(255, 255, 255, .12);
	transition: transform .3s var(--mb-ease);
}
.mb-wa-float:hover { transform: translateY(-2px); color: var(--mb-white); }
.mb-wa-float svg {
	width: 44px;
	height: 44px;
	padding: 9px;
	border-radius: 50%;
	background: #25d366;
	color: var(--mb-ink);
	flex: none;
}

/* ------------------------------------------------------------ reveal on scroll (JS adds classes) */
.js .mb-reveal {
	opacity: 0;
	transform: translateY(18px);
	transition: opacity .8s var(--mb-ease) var(--mb-delay, 0ms), transform .8s var(--mb-ease) var(--mb-delay, 0ms);
}
.js .mb-reveal.is-visible { opacity: 1; transform: none; }
.js .mb-card.mb-reveal.is-visible:hover,
.js .mb-product.mb-reveal.is-visible:hover,
.js .mb-why__card.mb-reveal.is-visible:hover { transform: translateY(-4px); }

/* ------------------------------------------------------------ responsive */
@media (max-width: 1100px) {
	.mb-grid--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-specs.is-list { grid-template-columns: 1fr; }
	.mb-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-nav .wp-block-navigation__container { gap: 1.1rem; }
}

@media (max-width: 960px) {
	.mb-topbar { display: none; }
	body.motion-bags header.wp-block-template-part { top: 0; }
	body.admin-bar.motion-bags header.wp-block-template-part { top: 32px; }
	.mb-hero__inner,
	.mb-page-hero__inner.has-media,
	.mb-split,
	.mb-split--media,
	.mb-split--faq,
	.mb-split--center,
	.mb-contact,
	.mb-case,
	.mb-cta__inner { grid-template-columns: minmax(0, 1fr); }
	.mb-head.is-row { grid-template-columns: minmax(0, 1fr); }
	.mb-head.is-row > .mb-lead { grid-column: 1; grid-row: auto; margin-top: 1.1rem !important; }
	.mb-sticky { position: static; }
	.mb-hero__inner > .mb-hero__photo { justify-self: stretch; max-width: 580px; margin-inline: auto !important; }
	.mb-measure { max-width: 460px; }
	.mb-page-hero__media { aspect-ratio: 4 / 3; max-width: 640px; }
	.mb-case:nth-child(even) .mb-case__media { order: 0; }
	.mb-grid--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-tiles,
	.wp-block-gallery.mb-gallery { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mb-cta .wp-block-buttons { flex-direction: row; flex-wrap: wrap; }
	.mb-cta .wp-block-button__link { width: auto; }
	.mb-split--center > .wp-block-buttons { justify-content: flex-start; }
}

@media (max-width: 782px) {
	body.admin-bar.motion-bags header.wp-block-template-part { top: 0; }
}

@media (max-width: 720px) {
	.mb-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mb-stat { padding-left: 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .1); }
	.mb-stat:nth-child(-n+2) { border-top: 0; }
	.mb-stat:nth-child(even) { padding-left: 1.25rem; border-left: 1px solid rgba(255, 255, 255, .1); }
	.mb-grid--2,
	.mb-grid--3,
	.mb-grid--4,
	.mb-grid--mini { grid-template-columns: minmax(0, 1fr); }
	.mb-specs { grid-template-columns: minmax(0, 1fr); }
	.mb-specs.is-list .mb-spec { grid-template-columns: minmax(0, 1fr); gap: .4rem; }
	.mb-tiles,
	.wp-block-gallery.mb-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem !important; }
	.mb-form__grid { grid-template-columns: minmax(0, 1fr); }
	.mb-field,
	.mb-field.is-half { grid-column: 1 / -1; }
	/* Footer on phones: brand full width, Products + Company side by side, contact full width. */
	.mb-footer__cols { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2.25rem 1.25rem; }
	.mb-footer__col.is-brand,
	.mb-footer__cols > .mb-footer__col:last-child { grid-column: 1 / -1; }
	.mb-footer__links { font-size: .875rem; }
	.mb-footer__links li { margin-bottom: .7rem; line-height: 1.35; }
	.mb-logo--footer .mb-logo__img { height: 60px; max-width: 230px; }
	.mb-header__inner { min-height: 66px; }
	.mb-logo--header .mb-logo__img { height: 40px; max-width: 152px; }
	.mb-header__right { gap: .75rem; }
	.mb-wa-float span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.mb-wa-float { padding: .35rem; }
}

@media (max-width: 420px) {
	.mb-header-cta .wp-block-button__link { padding: .6rem .8rem; font-size: .875rem; }
	.mb-hero .wp-block-buttons,
	.mb-page-hero .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.mb-hero .wp-block-button__link,
	.mb-page-hero .wp-block-button__link { width: 100%; text-align: center; }
}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
	.mb-ticker { flex-wrap: wrap; }
	.mb-ticker__track { flex-wrap: wrap; justify-content: center; }
	.mb-ticker__track[aria-hidden="true"] { display: none; }
}

@media print {
	.mb-topbar, .mb-header__main, .mb-wa-float, .mb-ticker, .mb-cta { display: none !important; }
	.mb-hero, .mb-page-hero, .mb-section.is-dark { background: #fff !important; color: #000 !important; }
}


/* ------------------------------------------------------------ hero gallery link */
.mb-page-hero__text > .mb-hero__link { margin-top: 1.4rem !important; font-size: .95rem; }
.mb-hero__link a { color: var(--mb-white); text-decoration: none; border-bottom: 1px solid var(--mb-orange); padding-bottom: 2px; }
.mb-hero__link a:hover { color: var(--mb-orange-hi); }

/* ------------------------------------------------------------ work gallery (managed in wp-admin → Work Gallery) */
.mb-work > * { margin: 0; }
.mb-work__filters {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1.5rem !important;
}
.mb-work__filter {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .6rem 1rem;
	font: 600 .9rem/1.2 var(--mb-display);
	color: var(--mb-ink);
	background: var(--mb-white);
	border: 1px solid rgba(11, 9, 9, .12);
	border-radius: 999px;
	cursor: pointer;
	transition: background-color .2s, color .2s, border-color .2s;
}
.mb-work__filter span { font: 600 .75rem var(--wp--preset--font-family--inter); color: var(--mb-muted); }
.mb-work__filter:hover { border-color: var(--mb-ink); }
.mb-work__filter[aria-pressed="true"] { background: var(--mb-ink); color: var(--mb-white); border-color: var(--mb-ink); }
.mb-work__filter[aria-pressed="true"] span { color: var(--mb-orange-hi); }
.mb-work__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.mb-work__cell { margin: 0; }
.mb-work__cell[hidden] { display: none; }
.mb-work__item {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	border: 0;
	border-radius: var(--mb-r-md);
	overflow: hidden;
	background: var(--mb-steel);
	cursor: zoom-in;
}
.mb-work__item img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--mb-ease); }
.mb-work__item:hover img,
.mb-work__item:focus-visible img { transform: scale(1.05); }
.mb-work__more { margin-top: 2rem !important; text-align: center; }
.mb-work__more-btn { cursor: pointer; }
.mb-work__status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Lightbox */
html.mb-no-scroll { overflow: hidden; }
.mb-lightbox {
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: rgba(11, 9, 9, .96);
	color: var(--mb-white);
}
.mb-lightbox::backdrop { background: rgba(11, 9, 9, .9); }
.mb-lightbox__fig {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	height: 100%;
	margin: 0;
	padding: 4.5rem clamp(1rem, 6vw, 6rem);
}
.mb-lightbox__img { max-width: 100%; max-height: calc(100% - 3rem); object-fit: contain; border-radius: 8px; }
.mb-lightbox__cap { font-size: .9rem; color: var(--mb-fog); text-align: center; max-width: 60ch; }
.mb-lightbox__count { position: absolute; top: 1.4rem; left: 1.5rem; margin: 0; font: 600 .85rem var(--wp--preset--font-family--inter); color: var(--mb-fog); }
.mb-lightbox__btn {
	position: absolute;
	display: grid;
	place-items: center;
	width: 52px;
	height: 52px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, .2);
	border-radius: 50%;
	background: rgba(255, 255, 255, .06);
	color: var(--mb-white);
	font-size: 2rem;
	line-height: 1;
	cursor: pointer;
}
.mb-lightbox__btn:hover { background: var(--mb-orange); border-color: var(--mb-orange); color: var(--mb-ink); }
.mb-lightbox__btn.is-prev { left: 1.25rem; top: 50%; transform: translateY(-50%); }
.mb-lightbox__btn.is-next { right: 1.25rem; top: 50%; transform: translateY(-50%); }
.mb-lightbox__btn.is-close { top: 1rem; right: 1rem; font-size: 1.75rem; }

/* ------------------------------------------------------------ Our Work hero video */
.mb-video { position: relative; aspect-ratio: 16 / 10; }
.mb-video__el { display: block; width: 100%; height: 100%; object-fit: cover; background: var(--mb-graphite); }
.mb-video__toggle {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	padding: .55rem .95rem .55rem .75rem;
	font: 600 .8125rem var(--mb-display);
	color: var(--mb-white);
	background: rgba(11, 9, 9, .7);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 999px;
	cursor: pointer;
}
.mb-video__toggle[hidden] { display: none; }
.mb-video__icon { position: relative; width: 12px; height: 12px; }
.mb-video__icon::before,
.mb-video__icon::after { content: ""; position: absolute; top: 0; width: 4px; height: 12px; background: currentColor; border-radius: 1px; }
.mb-video__icon::before { left: 1px; }
.mb-video__icon::after { right: 1px; }
.mb-video__toggle.is-paused .mb-video__icon::before { left: 2px; width: 0; height: 0; background: none; border-style: solid; border-width: 6px 0 6px 10px; border-color: transparent transparent transparent currentColor; border-radius: 0; }
.mb-video__toggle.is-paused .mb-video__icon::after { display: none; }
.mb-page-hero__inner.has-media:has(.mb-video) { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }

@media (max-width: 960px) {
	.mb-work__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mb-page-hero__inner.has-media:has(.mb-video) { grid-template-columns: minmax(0, 1fr); }
	.mb-video { max-width: 100%; }
}
@media (max-width: 720px) {
	.mb-work__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
	.mb-work__filters { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * clamp(1rem, 4vw, 2.5rem)); padding: 0 clamp(1rem, 4vw, 2.5rem) .25rem; scrollbar-width: none; }
	.mb-work__filters::-webkit-scrollbar { display: none; }
	.mb-work__filter { flex: none; }
	.mb-lightbox__btn.is-prev,
	.mb-lightbox__btn.is-next { top: auto; bottom: 1.25rem; transform: none; }
	.mb-lightbox__btn.is-prev { left: calc(50% - 64px); }
	.mb-lightbox__btn.is-next { right: calc(50% - 64px); }
	.mb-lightbox__fig { padding: 4rem 1rem 6rem; }
	.mb-footer__bottom { flex-direction: column; }
}
