/**
 * Meer Met Mas central frontend system.
 * Scoped to the site's mmm-* components so theme and core updates remain safe.
 */

:root {
	--mmm-navy: #01263a;
	--mmm-navy-dark: #001f30;
	--mmm-navy-soft: #062b3a;
	--mmm-gold: #d8b46a;
	--mmm-gold-hover: #e6c47a;
	--mmm-gold-dark: #765317;
	--mmm-cream: #f8f5ef;
	--mmm-white: #ffffff;
	--mmm-text: #20313a;
	--mmm-text-soft: #5e686d;
	--mmm-border: #ded8cb;
	--mmm-error: #8a1c1c;
	--mmm-error-bg: #fff3f2;
	--mmm-success: #185c3c;
	--mmm-success-bg: #eef8f2;
	--mmm-radius-sm: 0.5rem;
	--mmm-radius: 1rem;
	--mmm-radius-lg: 1.5rem;
	--mmm-shadow-sm: 0 0.5rem 1.5rem rgb(1 38 58 / 8%);
	--mmm-shadow: 0 1.25rem 3.5rem rgb(1 38 58 / 13%);
	--mmm-container: 70rem;
	--mmm-content: 48rem;
	--mmm-header-height: 5.75rem;
	--mmm-admin-bar-height: 0px;
	--mmm-sticky-offset: calc(var(--mmm-header-height) + var(--mmm-admin-bar-height));
	--mmm-gutter: clamp(1.125rem, 3.5vw, 2.5rem);
	--mmm-section-space: clamp(4rem, 8vw, 7rem);
	--mmm-grid-gap: clamp(1.25rem, 3vw, 2rem);
	--mmm-card-padding: clamp(1.5rem, 3vw, 2.25rem);
	--mmm-body-size: clamp(1rem, 0.97rem + 0.12vw, 1.075rem);
	--mmm-body-line-height: 1.75;
	--mmm-h1-size: clamp(2.65rem, 6vw, 5.6rem);
	--mmm-h2-size: clamp(2rem, 3.8vw, 3.4rem);
	--mmm-h3-size: clamp(1.3rem, 2vw, 1.75rem);
	--mmm-lead-size: clamp(1.16rem, 1.05rem + 0.48vw, 1.45rem);
	--mmm-lead-line-height: 1.65;
	--mmm-button-font-size: 0.98rem;
	--mmm-button-height: 3.15rem;
	--mmm-button-padding: 0.78rem 1.35rem;
	--mmm-font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	--mmm-font-heading: "Cardo", Georgia, "Times New Roman", serif;
}

html {
	scroll-padding-top: calc(var(--mmm-sticky-offset) + 1rem);
}

html:has(body.admin-bar) {
	--mmm-admin-bar-height: 32px;
}

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

body.mmm-site {
	background: var(--mmm-white);
	color: var(--mmm-text);
	font-family: var(--mmm-font-body);
}

:where(.mmm-page, .mmm-header, .mmm-footer),
:where(.mmm-page, .mmm-header, .mmm-footer) *,
:where(.mmm-page, .mmm-header, .mmm-footer) *::before,
:where(.mmm-page, .mmm-header, .mmm-footer) *::after {
	box-sizing: border-box;
}

.mmm-page {
	color: var(--mmm-text);
	font-family: var(--mmm-font-body);
	font-size: var(--mmm-body-size);
	line-height: var(--mmm-body-line-height);
}

.mmm-page :where(h1, h2, h3, h4) {
	color: var(--mmm-navy);
	font-family: var(--mmm-font-heading);
	font-weight: 700;
	letter-spacing: -0.025em;
	line-height: 1.12;
	margin-block-start: 0;
	text-wrap: balance;
}

.mmm-page h1 {
	font-size: var(--mmm-h1-size);
}

.mmm-page h2 {
	font-size: var(--mmm-h2-size);
	margin-block-end: 1rem;
}

.mmm-page h3 {
	font-size: var(--mmm-h3-size);
	margin-block-end: 0.75rem;
}

.mmm-page :where(p, li, dd) {
	overflow-wrap: break-word;
}

.mmm-page p {
	margin-block: 0 1rem;
}

.mmm-page :where(ul, ol) {
	padding-inline-start: 1.35em;
}

.mmm-page li + li {
	margin-block-start: 0.45em;
}

.mmm-page .wp-block-buttons {
	gap: 0.75rem;
	margin-block: 1.5rem 0;
}

.mmm-page :where(img, video, iframe) {
	max-width: 100%;
}

.mmm-page a:not(.mmm-button):not(.wp-element-button):not(.wp-block-button__link),
.mmm-footer a,
.mmm-contact-form a {
	color: var(--mmm-navy);
	text-decoration-color: var(--mmm-gold-dark);
	text-decoration-thickness: 0.1em;
	text-underline-offset: 0.18em;
}

.mmm-page a:not(.mmm-button):not(.wp-element-button):not(.wp-block-button__link):hover,
.mmm-contact-form a:hover {
	color: var(--mmm-gold-dark);
	text-decoration-thickness: 0.16em;
}

:where(.mmm-page, .mmm-header, .mmm-footer) :where(a, button, input, select, textarea, summary):focus-visible {
	border-radius: 0.15rem;
	box-shadow: 0 0 0 2px var(--mmm-white), 0 0 0 5px var(--mmm-navy);
	outline: 2px solid transparent;
	outline-offset: 2px;
}

.mmm-container {
	margin-inline: auto !important;
	max-width: var(--mmm-container);
	width: min(calc(100% - var(--mmm-gutter) - var(--mmm-gutter)), var(--mmm-container));
}

.mmm-container > :is(
	.mmm-grid,
	.mmm-service-grid,
	.mmm-values,
	.mmm-steps,
	.mmm-contact-grid,
	.mmm-home-intro__layout,
	.mmm-home-approach__layout,
	.mmm-about-profile,
	.mmm-workflow-process
) {
	max-width: none;
	width: 100%;
}

.mmm-section {
	margin: 0;
	padding-block: var(--mmm-section-space);
	position: relative;
}

.mmm-page > .mmm-section {
	margin-block-start: 0;
}

.mmm-section--cream {
	background: var(--mmm-cream);
}

.mmm-section--navy {
	background: var(--mmm-navy);
	color: rgb(255 255 255 / 88%);
}

.mmm-section--navy :where(h1, h2, h3, h4) {
	color: var(--mmm-white);
}

.mmm-section--navy a:not(.mmm-button) {
	color: var(--mmm-gold-hover);
}

.mmm-eyebrow {
	color: var(--mmm-gold-dark);
	display: block;
	font-size: 0.78rem;
	font-weight: 750;
	letter-spacing: 0.14em;
	line-height: 1.4;
	margin-block: 0 1rem;
	text-transform: uppercase;
}

.mmm-section--navy .mmm-eyebrow,
.mmm-hero .mmm-eyebrow,
.mmm-page-hero .mmm-eyebrow {
	color: var(--mmm-gold-hover);
}

.mmm-lead {
	font-size: var(--mmm-lead-size);
	line-height: var(--mmm-lead-line-height);
	max-width: var(--mmm-content);
}

.mmm-grid,
.mmm-service-grid,
.mmm-values,
.mmm-steps,
.mmm-contact-grid {
	display: grid;
	gap: var(--mmm-grid-gap);
}

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

.mmm-grid--3,
.mmm-values {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mmm-service-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mmm-card,
.mmm-service-card {
	background: var(--mmm-white);
	border: 1px solid var(--mmm-border);
	border-radius: var(--mmm-radius);
	box-shadow: var(--mmm-shadow-sm);
	color: var(--mmm-text);
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: var(--mmm-card-padding);
	position: relative;
	transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.mmm-card::before,
.mmm-service-card::before {
	background: var(--mmm-gold);
	border-radius: var(--mmm-radius) var(--mmm-radius) 0 0;
	content: "";
	height: 0.25rem;
	inset: -1px -1px auto;
	position: absolute;
}

.mmm-card:hover,
.mmm-service-card:hover {
	border-color: var(--mmm-gold);
	border-color: color-mix(in srgb, var(--mmm-gold) 65%, var(--mmm-border));
	box-shadow: var(--mmm-shadow);
	transform: translateY(-0.2rem);
}

.mmm-card :where(h2, h3),
.mmm-service-card :where(h2, h3) {
	margin-block: 0 0.8rem;
}

.mmm-card > :last-child,
.mmm-service-card > :last-child {
	margin-block-end: 0;
}

.mmm-service-card > .wp-block-buttons {
	margin-block-start: auto;
	padding-block-start: 1rem;
}

.mmm-values > * {
	border-inline-start: 0.2rem solid var(--mmm-gold);
	padding-inline-start: clamp(1.1rem, 2.5vw, 1.75rem);
}

.mmm-values {
	list-style: none;
	margin-block: 2rem;
	padding-inline-start: 0 !important;
}

.mmm-values > li + li {
	margin-block-start: 0;
}

.mmm-values :where(h2, h3) {
	margin-block-start: 0;
}

.mmm-steps {
	counter-reset: mmm-step;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.mmm-step {
	counter-increment: mmm-step;
	padding: 4.5rem 0 0;
	position: relative;
}

.mmm-step::before {
	align-items: center;
	background: var(--mmm-gold);
	border-radius: 999px;
	color: var(--mmm-navy);
	content: counter(mmm-step, decimal-leading-zero);
	display: inline-flex;
	font-size: 0.85rem;
	font-weight: 800;
	height: 3rem;
	inset: 0 auto auto 0;
	justify-content: center;
	letter-spacing: 0.04em;
	position: absolute;
	width: 3rem;
}

.mmm-step :where(h2, h3) {
	margin-block-start: 0;
}

.mmm-media-frame {
	background: var(--mmm-cream);
	border: 1px solid var(--mmm-border);
	border-radius: var(--mmm-radius-lg);
	box-shadow: var(--mmm-shadow-sm);
	margin: 0;
	overflow: hidden;
	position: relative;
	width: 100%;
}

.mmm-media-frame > .mmm-media-frame__image {
	display: block;
	height: 100%;
	margin: 0;
	max-width: none;
	object-fit: cover;
	width: 100%;
}

.mmm-media-frame--portrait {
	aspect-ratio: 4 / 5;
}

.mmm-media-frame--portrait .mmm-media-frame__image {
	object-position: 68% 50%;
}

.mmm-media-frame--session {
	aspect-ratio: 4 / 3;
}

.mmm-media-frame--session .mmm-media-frame__image {
	object-position: 50% 50%;
}

.mmm-home-intro__layout,
.mmm-home-approach__layout,
.mmm-about-profile,
.mmm-workflow-process {
	align-items: center;
	display: grid;
	gap: clamp(1.75rem, 4vw, 3.5rem);
}

.mmm-home-intro__layout {
	grid-template-columns: minmax(0, 1.08fr) minmax(18rem, 0.82fr);
}

.mmm-home-intro__layout > *,
.mmm-home-approach__layout > *,
.mmm-about-profile > *,
.mmm-workflow-process > * {
	min-width: 0;
}

.mmm-home-intro__copy > :first-child,
.mmm-home-approach__flow > :first-child,
.mmm-about-profile__copy > :first-child {
	margin-block-start: 0;
}

.mmm-home-intro__copy > :last-child,
.mmm-home-approach__flow > :last-child,
.mmm-about-profile__copy > :last-child {
	margin-block-end: 0;
}

.mmm-home-approach__layout,
.mmm-workflow-process {
	align-items: start;
	grid-template-columns: minmax(17rem, 0.9fr) minmax(0, 1.1fr);
}

.mmm-home-approach .mmm-steps,
.mmm-workflow-process .mmm-steps {
	display: grid;
	gap: 0;
	grid-template-columns: 1fr;
}

.mmm-home-approach .mmm-step,
.mmm-workflow-process .mmm-step {
	align-items: start;
	display: grid;
	gap: 0.2rem 1rem;
	grid-template-columns: 2.75rem minmax(0, 1fr);
	padding: 1.2rem 0;
}

.mmm-home-approach .mmm-step:first-child,
.mmm-workflow-process .mmm-step:first-child {
	padding-block-start: 0;
}

.mmm-home-approach .mmm-step + .mmm-step,
.mmm-workflow-process .mmm-step + .mmm-step {
	border-block-start: 1px solid var(--mmm-border);
}

.mmm-home-approach .mmm-step::before,
.mmm-workflow-process .mmm-step::before {
	align-self: start;
	font-size: 0.76rem;
	grid-column: 1;
	grid-row: 1 / span 2;
	height: 2.75rem;
	inset: auto;
	position: static;
	width: 2.75rem;
}

.mmm-home-approach .mmm-step > :where(h3, p),
.mmm-workflow-process .mmm-step > :where(h3, p) {
	grid-column: 2;
	justify-self: stretch;
	margin-inline: 0 !important;
	max-width: none;
	text-align: start;
	width: 100%;
}

.mmm-home-approach .mmm-step h3,
.mmm-workflow-process .mmm-step h3 {
	margin-block: 0 0.25rem;
}

.mmm-home-approach .mmm-step p,
.mmm-workflow-process .mmm-step p {
	grid-row: 2;
	margin-block-end: 0;
}

.mmm-home-approach__flow > .wp-block-buttons {
	margin-block-start: 1.35rem;
}

.mmm-about-profile {
	grid-template-columns: minmax(18rem, 0.82fr) minmax(0, 1.18fr);
	margin-block-end: clamp(2.5rem, 5vw, 4rem);
}

.mmm-about-profile__media {
	aspect-ratio: 3 / 4;
}

.mmm-workflow-process {
	margin-block-start: 2rem;
}

.mmm-cta:not(.mmm-section) {
	align-items: center;
	background: var(--mmm-navy);
	border: 1px solid rgb(216 180 106 / 55%);
	border-radius: var(--mmm-radius-lg);
	box-shadow: var(--mmm-shadow);
	color: rgb(255 255 255 / 88%);
	display: grid;
	gap: 1.5rem 3rem;
	grid-template-columns: minmax(0, 1fr) auto;
	margin-inline: auto;
	max-width: var(--mmm-container);
	padding: clamp(2rem, 5vw, 4.25rem);
}

.mmm-cta:not(.mmm-section) :where(h2, h3) {
	color: var(--mmm-white);
	margin-block: 0 0.65rem;
}

.mmm-cta:not(.mmm-section) p {
	grid-column: 1;
	margin-block: 0;
	max-width: 42rem;
}

.mmm-cta:not(.mmm-section) > h2,
.mmm-cta:not(.mmm-section) > h3 {
	grid-column: 1;
}

.mmm-cta:not(.mmm-section) > .wp-block-buttons {
	align-self: center;
	grid-column: 2;
	grid-row: 1 / span 2;
}

.mmm-button:not(.wp-block-button),
.mmm-page .wp-block-button > .wp-block-button__link,
.mmm-header .wp-block-button__link {
	align-items: center;
	appearance: none;
	background: var(--mmm-gold);
	border: 2px solid var(--mmm-gold);
	border-radius: var(--mmm-radius-sm);
	box-shadow: none;
	color: var(--mmm-navy) !important;
	cursor: pointer;
	display: inline-flex;
	font-family: inherit;
	font-size: var(--mmm-button-font-size);
	font-weight: 750;
	gap: 0.55rem;
	justify-content: center;
	line-height: 1.2;
	min-height: var(--mmm-button-height);
	padding: var(--mmm-button-padding);
	text-align: center;
	text-decoration: none !important;
	transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease, transform 160ms ease;
}

.mmm-button:not(.wp-block-button):hover,
.mmm-page .wp-block-button > .wp-block-button__link:hover,
.mmm-header .wp-block-button__link:hover {
	background: var(--mmm-gold-hover);
	border-color: var(--mmm-gold-hover);
	color: var(--mmm-navy) !important;
	transform: translateY(-0.1rem);
}

.mmm-button--secondary:not(.wp-block-button),
.mmm-page .wp-block-button.mmm-button--secondary > .wp-block-button__link,
.mmm-page .wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border-color: var(--mmm-navy);
	color: var(--mmm-navy) !important;
}

.mmm-button--secondary:not(.wp-block-button):hover,
.mmm-page .wp-block-button.mmm-button--secondary > .wp-block-button__link:hover,
.mmm-page .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--mmm-navy);
	border-color: var(--mmm-navy);
	color: var(--mmm-white) !important;
}

:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .mmm-button--secondary:not(.wp-block-button),
:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .wp-block-button.mmm-button--secondary > .wp-block-button__link,
:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .wp-block-button.is-style-outline > .wp-block-button__link {
	border-color: var(--mmm-white);
	color: var(--mmm-white) !important;
}

.mmm-hero .wp-block-button.mmm-button--secondary > .wp-block-button__link {
	background: rgb(0 31 48 / 88%);
	border-color: var(--mmm-white);
	box-shadow: 0 0.35rem 1.1rem rgb(0 0 0 / 18%);
	color: var(--mmm-white) !important;
}

.mmm-hero .wp-block-button.mmm-button--secondary > .wp-block-button__link:focus-visible {
	box-shadow: 0 0 0 2px var(--mmm-white), 0 0 0 5px var(--mmm-navy), 0 0.35rem 1.1rem rgb(0 0 0 / 18%);
}

:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .mmm-button--secondary:not(.wp-block-button):hover,
:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .wp-block-button.mmm-button--secondary > .wp-block-button__link:hover,
:where(.mmm-section--navy, .mmm-hero, .mmm-page-hero, .mmm-cta) .wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: var(--mmm-white);
	color: var(--mmm-navy) !important;
}

.mmm-hero .wp-block-button.mmm-button--secondary > .wp-block-button__link:active {
	background: var(--mmm-cream);
	border-color: var(--mmm-cream);
	color: var(--mmm-navy) !important;
	transform: translateY(0);
}

.mmm-home-basis .wp-block-buttons {
	align-items: stretch;
}

.mmm-home-basis .wp-block-button {
	display: flex;
}

.mmm-home-basis .wp-block-button > .wp-block-button__link {
	height: 100%;
}

.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link,
.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link:link,
.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link:visited {
	background: transparent;
	border-color: var(--mmm-white);
	color: var(--mmm-white) !important;
	opacity: 1;
}

.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link:hover {
	background: var(--mmm-white);
	border-color: var(--mmm-white);
	color: var(--mmm-navy) !important;
}

.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link:focus-visible {
	background: transparent;
	border-color: var(--mmm-gold-hover);
	box-shadow: 0 0 0 2px var(--mmm-navy), 0 0 0 5px var(--mmm-gold-hover);
	color: var(--mmm-white) !important;
}

.mmm-page .mmm-home-basis .wp-block-button.mmm-button--secondary > .wp-block-button__link:active {
	background: var(--mmm-cream);
	border-color: var(--mmm-cream);
	color: var(--mmm-navy) !important;
	transform: translateY(0);
}

.mmm-hero,
.mmm-page-hero {
	background-color: var(--mmm-navy);
	color: rgb(255 255 255 / 90%);
	isolation: isolate;
	margin: 0;
	position: relative;
}

.mmm-hero {
	align-items: center;
	display: flex;
	min-height: 42rem;
	min-height: min(56rem, 100svh);
	padding-block: calc(var(--mmm-sticky-offset) + clamp(4rem, 9vw, 8rem)) clamp(4rem, 9vw, 8rem);
}

.mmm-hero .wp-block-cover__image-background {
	object-position: 67% 16%;
}

.mmm-home .mmm-hero:first-child {
	margin-block-start: 0;
}

.mmm-page-hero {
	min-height: 25rem;
	padding-block: calc(var(--mmm-sticky-offset) + clamp(3.5rem, 7vw, 6rem)) clamp(3.5rem, 7vw, 6rem);
}

.mmm-hero :where(h1, h2, h3),
.mmm-page-hero :where(h1, h2, h3) {
	color: var(--mmm-white);
}

.mmm-hero h1,
.mmm-page-hero h1 {
	margin-block: 0 1.25rem;
	max-width: 15ch;
}

.mmm-hero p,
.mmm-page-hero p {
	max-width: 42rem;
}

.mmm-hero .wp-block-buttons,
.mmm-page-hero .wp-block-buttons {
	gap: 0.8rem;
	margin-block-start: 2rem;
}

/* Fixed block-theme header: transparent over the home hero, solid elsewhere. */
.mmm-header {
	background: rgb(1 38 58 / 97%) !important;
	box-shadow: 0 0.5rem 2rem rgb(0 0 0 / 14%);
	color: var(--mmm-white);
	font-family: var(--mmm-font-body);
	inset: var(--mmm-admin-bar-height) 0 auto !important;
	margin: 0 !important;
	max-width: none !important;
	min-height: var(--mmm-header-height);
	padding: 0 !important;
	position: fixed !important;
	transition: background-color 220ms ease, box-shadow 220ms ease, backdrop-filter 220ms ease;
	width: 100% !important;
	z-index: 9999;
}

body.home .mmm-header:not(.is-scrolled):not(.has-open-menu) {
	background: linear-gradient(180deg, rgb(0 20 31 / 78%) 0%, rgb(0 20 31 / 28%) 72%, transparent 100%) !important;
	box-shadow: none;
}

.mmm-header.is-scrolled,
.mmm-header.has-open-menu {
	background: rgb(1 38 58 / 97%) !important;
	box-shadow: 0 0.65rem 2rem rgb(0 0 0 / 18%);
	-webkit-backdrop-filter: blur(0.65rem);
	backdrop-filter: blur(0.65rem);
}

.mmm-header-inner {
	align-items: center;
	display: flex;
	gap: clamp(1.25rem, 3vw, 2.25rem);
	justify-content: space-between;
	margin-inline: auto !important;
	max-width: var(--mmm-container);
	min-height: var(--mmm-header-height);
	padding-inline: var(--mmm-gutter) !important;
	width: 100%;
}

.mmm-header :where(.mmm-header-brand, .wp-block-site-logo) {
	flex: 0 1 auto;
}

.mmm-header :where(.mmm-header-brand img, .wp-block-site-logo img),
.mmm-header > img {
	display: block;
	height: auto;
	max-height: 3.5rem;
	max-width: min(19rem, 34vw);
	width: auto;
}

.mmm-header :where(.wp-block-navigation__container, .wp-block-page-list) {
	gap: clamp(1rem, 2.2vw, 2rem);
}

.mmm-header :where(a, .wp-block-navigation-item__content) {
	color: var(--mmm-white) !important;
	font-size: 0.94rem;
	font-weight: 650;
	text-decoration: none;
}

.mmm-header :where(a, .wp-block-navigation-item__content):hover,
.mmm-header .current-menu-item > .wp-block-navigation-item__content,
.mmm-header .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--mmm-gold-hover) !important;
}

.mmm-header .wp-block-navigation__submenu-container {
	background: var(--mmm-navy) !important;
	border: 1px solid rgb(216 180 106 / 38%) !important;
	border-radius: var(--mmm-radius-sm);
	box-shadow: var(--mmm-shadow);
	min-width: 16rem !important;
	padding: 0.5rem !important;
}

.mmm-header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-radius: 0.35rem;
	display: block;
	padding: 0.65rem 0.8rem;
}

.mmm-header :where(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) {
	background: transparent;
	border: 0;
	color: var(--mmm-white) !important;
	min-height: 2.75rem;
	min-width: 2.75rem;
	padding: 0.55rem;
}

.mmm-header :where(.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close) svg {
	fill: currentColor;
	height: 1.75rem;
	stroke: currentColor;
	width: 1.75rem;
}

.mmm-footer {
	background: var(--mmm-navy-dark);
	color: rgb(255 255 255 / 82%);
	font-family: var(--mmm-font-body);
	margin: 0;
	padding-block: clamp(3.5rem, 7vw, 5.5rem) 2rem;
}

body.mmm-site .wp-site-blocks > :where(header, .wp-block-template-part):has(.mmm-header) {
	height: 0;
	margin: 0;
	min-height: 0;
}

body.mmm-site .wp-site-blocks > :where(header, .wp-block-template-part):has(.mmm-header) + .mmm-site-main,
body.mmm-site .mmm-site-main,
body.mmm-site .wp-block-post-content > .mmm-page:first-child {
	margin-block-start: 0;
}

body.mmm-header-needs-offset :where(.mmm-site-main, .wp-site-blocks > main) {
	padding-block-start: var(--mmm-sticky-offset);
}

body.mmm-site .wp-site-blocks > :where(footer, .wp-block-template-part):has(.mmm-footer) {
	margin-block-start: 0;
}

.mmm-footer :where(h2, h3, h4) {
	color: var(--mmm-white);
	font-family: var(--mmm-font-heading);
}

.mmm-footer h2 {
	font-size: clamp(1.8rem, 2.4vw, 2.2rem);
	line-height: 1.15;
}

.mmm-footer h3 {
	font-size: clamp(1.15rem, 1.5vw, 1.35rem);
	line-height: 1.2;
}

.mmm-footer :where(p, li, a) {
	font-size: 0.98rem;
	line-height: 1.6;
}

.mmm-footer a {
	color: var(--mmm-white);
	text-decoration-color: rgb(216 180 106 / 72%);
}

.mmm-footer a:hover {
	color: var(--mmm-gold-hover);
}

.mmm-footer :where(ul, .wp-block-navigation__container) {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mmm-contact-grid {
	align-items: start;
	grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.mmm-contact-form-shell {
	background: var(--mmm-white);
	border: 1px solid var(--mmm-border);
	border-radius: var(--mmm-radius-lg);
	box-shadow: var(--mmm-shadow);
	color: var(--mmm-text);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.mmm-contact-form-shell > h2 {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin-block: 0 0.75rem;
}

.mmm-contact-form {
	background: var(--mmm-white);
	border: 1px solid var(--mmm-border);
	border-radius: var(--mmm-radius-lg);
	box-shadow: var(--mmm-shadow);
	color: var(--mmm-text);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.mmm-contact-form-shell > .mmm-contact-form,
.mmm-contact-form > .mmm-contact-form {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
}

.mmm-contact-form-shell > .mmm-contact-form > .mmm-contact-form__intro {
	display: none;
}

.mmm-contact-form__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem) !important;
	margin-block: 0 0.75rem;
}

.mmm-contact-form__intro {
	margin-block: 0 1.5rem;
}

.mmm-contact-form__required-note {
	color: var(--mmm-text-soft);
	font-size: 0.9rem;
	margin-block: 0 1rem;
}

.mmm-contact-form__form {
	display: grid;
	gap: 1.25rem;
}

.mmm-contact-form__row {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.mmm-field {
	display: grid;
	gap: 0.45rem;
}

.mmm-field label {
	color: var(--mmm-navy);
	font-size: 0.96rem;
	font-weight: 700;
	line-height: 1.45;
}

.mmm-field :where(input:not([type="checkbox"]), textarea, select) {
	appearance: none;
	background: var(--mmm-white);
	border: 1px solid #aaa59b;
	border-radius: var(--mmm-radius-sm);
	box-shadow: none;
	color: var(--mmm-text);
	font: inherit;
	line-height: 1.4;
	margin: 0;
	min-height: 3.25rem;
	padding: 0.8rem 0.9rem;
	width: 100%;
}

.mmm-field textarea {
	min-height: 10rem;
	resize: vertical;
}

.mmm-field :where(input:not([type="checkbox"]), textarea, select):focus-visible {
	border-color: var(--mmm-navy);
	box-shadow: 0 0 0 3px rgb(216 180 106 / 45%);
	outline: 2px solid var(--mmm-navy);
	outline-offset: 1px;
}

.mmm-field :where(input, textarea)[aria-invalid="true"] {
	border-color: var(--mmm-error);
}

.mmm-field--checkbox {
	align-items: start;
	display: grid;
	gap: 0.3rem 0.75rem;
	grid-template-columns: auto minmax(0, 1fr);
}

.mmm-field--checkbox input[type="checkbox"] {
	accent-color: var(--mmm-navy);
	height: 1.25rem;
	margin: 0.18rem 0 0;
	width: 1.25rem;
}

.mmm-field--checkbox .mmm-field__error {
	grid-column: 2;
}

.mmm-field__error {
	color: var(--mmm-error);
	font-size: 0.9rem;
	font-weight: 650;
}

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

.mmm-contact-form__submit {
	justify-self: start;
}

.mmm-contact-form__fallback {
	border-block-start: 1px solid var(--mmm-border);
	font-size: 0.95rem;
	margin-block: 1.75rem 0;
	padding-block-start: 1.25rem;
}

.mmm-notice {
	border: 1px solid currentColor;
	border-inline-start-width: 0.35rem;
	border-radius: var(--mmm-radius-sm);
	margin-block: 1.25rem;
	padding: 1rem 1.15rem;
}

.mmm-notice > :first-child {
	margin-block-start: 0;
}

.mmm-notice > :last-child {
	margin-block-end: 0;
}

.mmm-notice--error {
	background: var(--mmm-error-bg);
	color: var(--mmm-error);
}

.mmm-notice--success {
	background: var(--mmm-success-bg);
	color: var(--mmm-success);
}

.mmm-contact-form__success {
	align-items: start;
	background: var(--mmm-cream);
	border-color: var(--mmm-gold);
	border-inline-start-width: 0.35rem;
	color: var(--mmm-text);
	display: grid;
	gap: 0.9rem;
	grid-template-columns: 2.5rem minmax(0, 1fr);
	margin-block: 0.5rem 0;
	padding: clamp(1.15rem, 3vw, 1.5rem);
}

.mmm-contact-form__success-icon {
	align-items: center;
	background: var(--mmm-gold);
	border-radius: 999px;
	color: var(--mmm-navy);
	display: inline-flex;
	height: 2.5rem;
	justify-content: center;
	width: 2.5rem;
}

.mmm-contact-form__success-icon svg {
	fill: none;
	height: 1.35rem;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 2.25;
	width: 1.35rem;
}

.mmm-contact-form__success-title {
	color: var(--mmm-navy);
	font-family: var(--mmm-font-heading);
	font-size: clamp(1.45rem, 3vw, 1.8rem);
	line-height: 1.15;
	margin-block: 0 0.45rem;
}

.mmm-contact-form__success-copy p {
	margin-block: 0;
}

.mmm-contact-form__success:focus {
	outline: 3px solid var(--mmm-gold-dark);
	outline-offset: 3px;
}

.mmm-contact-form.is-success .mmm-contact-form__fallback {
	color: var(--mmm-text-soft);
	margin-block-start: 1.35rem;
}

.mmm-notice--error a {
	color: var(--mmm-error) !important;
}

.mmm-page :where(table) {
	border-collapse: collapse;
	font-size: 0.98rem;
	width: 100%;
}

.mmm-page :where(th, td) {
	border-block-end: 1px solid var(--mmm-border);
	padding: 0.85rem 1rem;
	text-align: start;
	vertical-align: top;
}

.mmm-page th {
	background: var(--mmm-navy);
	color: var(--mmm-white);
}

.mmm-page :where(details) {
	border-block-end: 1px solid var(--mmm-border);
	padding-block: 1rem;
}

.mmm-page summary {
	color: var(--mmm-navy);
	cursor: pointer;
	font-weight: 700;
}

.mmm-page [id],
:where(#meer-met-mas-contact, .mmm-section, .mmm-page-hero, .mmm-card, .mmm-service-card):target {
	scroll-margin-top: calc(var(--mmm-sticky-offset) + 1rem);
}

/* Focused homepage polish for desktop layouts. */
@media (min-width: 64.0625rem) {
	.mmm-home .mmm-hero .wp-block-buttons {
		align-items: stretch;
	}

	.mmm-home .mmm-hero .wp-block-button {
		display: flex;
	}

	.mmm-home .mmm-hero .wp-block-button > .wp-block-button__link {
		height: 100%;
		min-height: 3.25rem;
	}

	.mmm-home-intro,
	.mmm-home-audiences,
	.mmm-home-approach {
		padding-block: clamp(3.5rem, 6vw, 5.5rem);
	}

	.mmm-home-services,
	.mmm-home-basis {
		padding-block: clamp(3.75rem, 6.4vw, 5.75rem);
	}

	.mmm-home-intro .mmm-eyebrow {
		margin-block-end: 0.75rem;
	}

	.mmm-home-intro h2 {
		margin-block: 0 1rem;
	}

	.mmm-home-intro .wp-block-buttons {
		margin-block-start: 1.5rem;
	}

	.mmm-home-audiences .mmm-grid {
		gap: clamp(1.25rem, 2.5vw, 1.75rem);
	}

	.mmm-home-audiences .mmm-card {
		background: rgb(255 255 255 / 52%);
		border: 0;
		border-inline-start: 0.2rem solid var(--mmm-gold);
		border-radius: 0;
		box-shadow: none;
		padding: 1.4rem 1.5rem;
	}

	.mmm-home-audiences .mmm-card::before {
		display: none;
	}

	.mmm-home-audiences .mmm-card:hover {
		border-color: var(--mmm-gold);
		box-shadow: none;
		transform: none;
	}

	.mmm-home-services .mmm-service-grid {
		align-items: stretch;
		grid-auto-rows: 1fr;
	}

	.mmm-home-services .mmm-service-card h3 {
		min-height: 2.24em;
	}

	.mmm-home-basis .mmm-values {
		gap: clamp(0.75rem, 1.5vw, 1.25rem);
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}

	.mmm-home-basis .mmm-values > * {
		border-block-start: 1px solid rgb(216 180 106 / 55%);
		border-inline-start: 0;
		margin: 0;
		min-height: 5.75rem;
		padding: 1.25rem 0.3rem 0.25rem;
		position: relative;
	}

	.mmm-home-basis .mmm-values > *::before {
		background: var(--mmm-gold);
		border-radius: 50%;
		content: "";
		height: 0.5rem;
		inset: -0.28rem auto auto 0.1rem;
		position: absolute;
		width: 0.5rem;
	}

	.mmm-home-final-cta {
		padding-block: clamp(3.75rem, 6vw, 5.25rem);
	}

	.mmm-home-final-cta .mmm-cta {
		gap: 0.85rem 2.75rem;
		padding: clamp(2.25rem, 3.75vw, 3.25rem);
	}

	.mmm-home-final-cta .mmm-cta h2 {
		font-size: clamp(2rem, 3.2vw, 3rem);
		max-width: 22ch;
	}

	.mmm-home-final-cta .mmm-cta p {
		max-width: 38rem;
	}

	.mmm-header .wp-block-site-logo {
		flex-basis: 11.25rem;
		width: 11.25rem !important;
	}

	.mmm-header .wp-block-site-logo img {
		max-height: 3.875rem;
		width: 11.25rem;
	}

	.mmm-footer .mmm-grid--3 {
		align-items: start;
		column-gap: clamp(2.5rem, 5vw, 4.5rem);
		grid-template-columns: minmax(0, 1.4fr) minmax(10rem, 0.75fr) minmax(12rem, 0.9fr);
	}

	.mmm-footer .mmm-grid--3 > * {
		min-width: 0;
	}

	.mmm-footer-brand {
		max-width: 29rem;
	}

	.mmm-footer-brand .wp-block-site-logo {
		margin-block: 0 1.35rem;
		width: 9.875rem !important;
	}

	.mmm-footer-brand .wp-block-site-logo img {
		height: auto;
		width: 9.875rem;
	}

	.mmm-footer .mmm-grid--3 :where(h2, h3) {
		margin-block: 0 0.85rem;
	}

	.mmm-footer-links li + li {
		margin-block-start: 0.45rem;
	}

	.mmm-footer-bottom {
		border-block-start: 1px solid rgb(216 180 106 / 25%);
		margin-block: clamp(2.5rem, 5vw, 3.5rem) 0;
		max-width: none !important;
		padding-block-start: 1.25rem;
		width: 100%;
	}
}

@media (max-width: 64rem) {
	:root {
		--mmm-header-height: 4.25rem;
		--mmm-gutter: clamp(1.5rem, 4vw, 2rem);
		--mmm-section-space: 4rem;
		--mmm-grid-gap: 1.25rem;
		--mmm-card-padding: 1.5rem;
		--mmm-body-size: 1.0625rem;
		--mmm-body-line-height: 1.68;
		--mmm-h1-size: clamp(3rem, 6.8vw, 4.25rem);
		--mmm-h2-size: clamp(2.35rem, 5.8vw, 3rem);
		--mmm-h3-size: clamp(1.3rem, 2.7vw, 1.5rem);
		--mmm-lead-size: clamp(1.2rem, 2.6vw, 1.35rem);
		--mmm-lead-line-height: 1.55;
		--mmm-button-height: 3rem;
		--mmm-button-padding: 0.75rem 1.25rem;
	}

	html:has(body.admin-bar) {
		--mmm-admin-bar-height: 46px;
	}

	body.home .mmm-header:not(.is-scrolled):not(.has-open-menu) {
		background: rgb(1 38 58 / 88%) !important;
		-webkit-backdrop-filter: blur(0.5rem);
		backdrop-filter: blur(0.5rem);
	}

	.mmm-header-inner {
		gap: 0.8rem;
		min-height: var(--mmm-header-height);
	}

	.mmm-header .wp-block-site-logo {
		width: 8rem !important;
	}

	.mmm-header :where(.mmm-header-brand img, .wp-block-site-logo img),
	.mmm-header > img {
		max-height: 2.5rem;
		max-width: min(8rem, 48vw);
		width: auto;
	}

	.mmm-header .mmm-header-cta,
	.mmm-header-inner > .wp-block-buttons {
		display: none !important;
	}

	.mmm-header .wp-block-navigation {
		margin-inline-start: auto;
	}

	.mmm-header .wp-block-navigation__responsive-container:not(.is-menu-open) {
		display: none !important;
	}

	.mmm-header .wp-block-navigation__responsive-container-open {
		display: flex !important;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open {
		background: var(--mmm-navy) !important;
		color: var(--mmm-white) !important;
		height: 100dvh;
		inset: 0 !important;
		overflow-x: hidden;
		overflow-y: auto;
		overscroll-behavior: contain;
		padding: max(1.25rem, env(safe-area-inset-top)) var(--mmm-gutter) max(1.5rem, env(safe-area-inset-bottom)) !important;
		width: 100%;
		z-index: 10000;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		align-items: center;
		display: flex;
		justify-content: center;
		min-height: 2.75rem;
		min-width: 2.75rem;
		right: 0;
		top: 0;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		align-items: flex-start;
		padding-block-start: 3.75rem;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open :where(.wp-block-navigation__container, .wp-block-page-list) {
		align-items: flex-start;
		gap: 0.15rem;
		width: 100%;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		align-items: stretch;
		max-width: 100%;
		width: 100%;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		align-items: center;
		display: flex;
		font-size: clamp(1.1rem, 3vw, 1.35rem);
		min-height: 2.75rem;
		padding-block: 0.45rem;
		width: 100%;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
		border: 0 !important;
		box-shadow: none;
		margin: 0 !important;
		min-width: 0 !important;
		padding: 0 0 0 1rem !important;
		position: static !important;
		width: 100% !important;
	}

	.mmm-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		font-size: 1rem;
	}

	.mmm-grid--3,
	.mmm-service-grid,
	.mmm-values {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mmm-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.mmm-home-audiences .mmm-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mmm-home-audiences .mmm-card:last-child:nth-child(odd) {
		grid-column: 1 / -1;
	}

	.mmm-home-audiences .mmm-card {
		background: rgb(255 255 255 / 52%);
		border: 0;
		border-inline-start: 0.2rem solid var(--mmm-gold);
		border-radius: 0;
		box-shadow: none;
		padding: 1.3rem 1.4rem;
	}

	.mmm-home-audiences .mmm-card::before {
		display: none;
	}

	.mmm-home-audiences .mmm-card:hover {
		border-color: var(--mmm-gold);
		box-shadow: none;
		transform: none;
	}

	.mmm-hero {
		min-height: min(46rem, 88svh);
		padding-block: calc(var(--mmm-sticky-offset) + 3.25rem) 4rem;
	}

	.mmm-hero .wp-block-cover__image-background {
		object-position: 72% 18%;
	}

	.mmm-page-hero {
		min-height: 22.5rem;
		padding-block: calc(var(--mmm-sticky-offset) + 3rem) 3.5rem;
	}

	.mmm-step {
		padding-block-start: 4rem;
	}

	.mmm-step::before {
		height: 2.65rem;
		width: 2.65rem;
	}

	.mmm-cta:not(.mmm-section) {
		gap: 1rem;
		grid-template-columns: 1fr;
		padding: 2rem;
	}

	.mmm-cta:not(.mmm-section) > .wp-block-buttons {
		grid-column: 1;
		grid-row: auto;
		justify-self: start;
	}

	.mmm-footer {
		padding-block: 4rem 1.5rem;
	}

	.mmm-footer .mmm-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mmm-footer-brand {
		grid-column: 1 / -1;
	}

	.mmm-footer-brand .wp-block-site-logo {
		margin-block-end: 1rem;
		width: 7.5rem !important;
	}

	.mmm-footer-brand .wp-block-site-logo img {
		width: 7.5rem;
	}

	.mmm-footer-bottom {
		border-block-start: 1px solid rgb(216 180 106 / 25%);
		margin-block: 2rem 0;
		max-width: none !important;
		padding-block-start: 1rem;
		width: 100%;
	}
}

@media (max-width: 47.9375rem) {
	:root {
		--mmm-header-height: 3.875rem;
		--mmm-gutter: 1.25rem;
		--mmm-section-space: 3.25rem;
		--mmm-grid-gap: 1rem;
		--mmm-card-padding: 1.25rem;
		--mmm-body-size: 1.0625rem;
		--mmm-body-line-height: 1.62;
		--mmm-h1-size: clamp(2.75rem, 11.7vw, 3rem);
		--mmm-h2-size: clamp(2.25rem, 9.8vw, 2.5rem);
		--mmm-h3-size: 1.375rem;
		--mmm-lead-size: 1.21875rem;
		--mmm-lead-line-height: 1.52;
		--mmm-button-font-size: 0.95rem;
		--mmm-button-height: 2.75rem;
		--mmm-button-padding: 0.68rem 1.1rem;
	}

	.mmm-grid--3,
	.mmm-service-grid,
	.mmm-values,
	.mmm-steps,
	.mmm-grid--2,
	.mmm-contact-grid,
	.mmm-contact-form__row {
		grid-template-columns: 1fr;
	}

	.mmm-home-audiences .mmm-grid--3 {
		grid-template-columns: 1fr;
	}

	.mmm-home-audiences .mmm-card:last-child:nth-child(odd) {
		grid-column: auto;
	}

	.mmm-home-intro__layout,
	.mmm-home-approach__layout,
	.mmm-about-profile,
	.mmm-workflow-process {
		gap: 1.5rem;
		grid-template-columns: 1fr;
	}

	.mmm-home-intro__media {
		grid-row: 1;
	}

	.mmm-home-intro__copy {
		grid-row: 2;
	}

	.mmm-about-profile {
		margin-block-end: 2rem;
	}

	.mmm-workflow-process {
		margin-block-start: 1.5rem;
	}

	.mmm-eyebrow {
		font-size: 0.72rem;
		letter-spacing: 0.12em;
		margin-block-end: 0.7rem;
	}

	.mmm-hero {
		min-height: clamp(36rem, 78svh, 42rem);
		padding-block: calc(var(--mmm-sticky-offset) + 2.5rem) 3.25rem;
	}

	.mmm-hero .wp-block-cover__image-background {
		object-position: 78% 18%;
	}

	.mmm-hero h1 {
		line-height: 1.04;
		max-width: 13ch;
	}

	.mmm-hero .mmm-lead {
		max-width: 29ch;
	}

	.mmm-hero .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
		gap: 0.65rem;
		margin-block-start: 1.5rem;
		max-width: 22rem;
		width: 100%;
	}

	.mmm-hero .wp-block-button,
	.mmm-hero .wp-block-button > .wp-block-button__link {
		width: 100%;
	}

	.mmm-page-hero {
		min-height: 18.5rem;
		padding-block: calc(var(--mmm-sticky-offset) + 2.25rem) 2.75rem;
	}

	.mmm-page-hero h1 {
		line-height: 1.06;
	}

	.mmm-home :is(
		.mmm-home-intro,
		.mmm-home-audiences,
		.mmm-home-services,
		.mmm-home-approach,
		.mmm-home-basis
	) h2 {
		font-size: clamp(2.25rem, 9vw, 2.375rem);
		line-height: 1.08;
		margin-inline: 0 !important;
		max-width: none;
		text-align: start;
		text-wrap: pretty;
	}

	.mmm-home-final-cta .mmm-cta h2 {
		margin-inline: 0 !important;
		max-width: none;
		text-align: start;
		text-wrap: pretty;
	}

	.mmm-home-intro .wp-block-buttons,
	.mmm-home-services > .mmm-container > .wp-block-buttons,
	.mmm-home-approach > .mmm-container > .wp-block-buttons,
	.mmm-home-basis > .mmm-container > .wp-block-buttons {
		margin-block-start: 1.25rem;
	}

	.mmm-card,
	.mmm-service-card {
		height: auto;
	}

	.mmm-card p,
	.mmm-service-card p {
		font-size: 1rem;
		line-height: 1.55;
	}

	.mmm-service-card > .wp-block-buttons {
		padding-block-start: 0.65rem;
	}

	.mmm-home-audiences .mmm-card {
		padding: 1.1rem 1.2rem;
	}

	.mmm-step {
		display: grid;
		gap: 0.15rem 0.85rem;
		grid-template-columns: 2.35rem minmax(0, 1fr);
		padding: 0;
	}

	.mmm-step::before {
		font-size: 0.72rem;
		grid-column: 1;
		grid-row: 1 / span 2;
		height: 2.35rem;
		inset: auto;
		position: static;
		width: 2.35rem;
	}

	.mmm-step :where(h2, h3) {
		grid-column: 2;
		margin-block: 0 0.2rem;
	}

	.mmm-step p {
		grid-column: 2;
		margin-block-end: 0;
	}

	.mmm-home-approach .mmm-step,
	.mmm-workflow-process .mmm-step {
		gap: 0.15rem 0.85rem;
		grid-template-columns: 2.35rem minmax(0, 1fr);
		padding: 0.95rem 0;
	}

	.mmm-home-approach .mmm-step:first-child,
	.mmm-workflow-process .mmm-step:first-child {
		padding-block-start: 0;
	}

	.mmm-home-approach .mmm-step::before,
	.mmm-workflow-process .mmm-step::before {
		font-size: 0.72rem;
		height: 2.35rem;
		width: 2.35rem;
	}

	.mmm-home-basis .mmm-values {
		gap: 0;
		margin-block: 1.5rem;
	}

	.mmm-home-basis .mmm-values > * {
		align-items: center;
		border-block-end: 1px solid rgb(216 180 106 / 28%);
		border-inline-start: 0;
		display: grid;
		gap: 0.7rem;
		grid-template-columns: 0.45rem minmax(0, 1fr);
		padding: 0.65rem 0;
	}

	.mmm-home-basis .mmm-values > *:last-child {
		border-block-end: 0;
	}

	.mmm-home-basis .mmm-values > *::before {
		background: var(--mmm-gold);
		border-radius: 50%;
		content: "";
		height: 0.4rem;
		width: 0.4rem;
	}

	.mmm-home-basis .wp-block-buttons {
		align-items: stretch;
		flex-direction: column;
		max-width: 22rem;
		width: 100%;
	}

	.mmm-home-basis .wp-block-button,
	.mmm-home-basis .wp-block-button > .wp-block-button__link {
		width: 100%;
	}

	.mmm-home-final-cta {
		padding-block: 3rem;
	}

	.mmm-cta:not(.mmm-section) {
		border-radius: var(--mmm-radius);
		padding: 1.5rem;
	}

	.mmm-cta:not(.mmm-section) h2 {
		font-size: 2rem;
		line-height: 1.12;
	}

	.mmm-cta:not(.mmm-section) .mmm-lead {
		font-size: 1.0625rem;
		line-height: 1.55;
	}

	.mmm-header .wp-block-site-logo {
		width: 7rem !important;
	}

	.mmm-header :where(.mmm-header-brand img, .wp-block-site-logo img),
	.mmm-header > img {
		max-height: 2.15rem;
		max-width: min(7rem, 48vw);
	}

	.mmm-footer {
		padding-block: 3rem 1.25rem;
	}

	.mmm-footer .mmm-grid--3 {
		gap: 1.75rem;
		grid-template-columns: 1fr;
	}

	.mmm-footer-brand {
		grid-column: auto;
	}

	.mmm-footer-brand .wp-block-site-logo,
	.mmm-footer-brand .wp-block-site-logo img {
		width: 6rem !important;
	}

	.mmm-footer h2 {
		font-size: 1.45rem;
		margin-block: 0 0.6rem;
	}

	.mmm-footer h3 {
		font-size: 1.125rem;
		margin-block: 0 0.35rem;
	}

	.mmm-footer :where(p, li, a) {
		font-size: 0.9375rem;
		line-height: 1.5;
	}

	.mmm-footer-links a {
		align-items: center;
		display: inline-flex;
		min-height: 2.5rem;
	}

	.mmm-footer-links li + li {
		margin-block-start: 0;
	}

	.mmm-footer-bottom {
		font-size: 0.875rem;
		margin-block: 1.5rem 0;
	}

	.mmm-contact-form__submit {
		justify-self: start;
	}

	.mmm-contact-form__fallback span[aria-hidden="true"] {
		display: none;
	}

	.mmm-contact-form__fallback a {
		display: block;
		margin-block-start: 0.3rem;
		overflow-wrap: anywhere;
	}

	.mmm-page table {
		display: block;
		overflow-x: auto;
	}
}

@media (hover: none) {
	.mmm-card:hover,
	.mmm-service-card:hover {
		box-shadow: var(--mmm-shadow-sm);
		transform: none;
	}
}

/* Consent UI exists only when an optional analytics provider is configured. */
.mmm-consent,
.mmm-consent *,
.mmm-consent-reopen {
	box-sizing: border-box;
}

.mmm-consent[hidden],
.mmm-consent-reopen[hidden],
.mmm-consent [hidden] {
	display: none !important;
}

.mmm-consent {
	bottom: 1rem;
	font-family: var(--mmm-font-body);
	left: 1rem;
	max-width: min(44rem, calc(100vw - 2rem));
	position: fixed;
	z-index: 100000;
}

.mmm-consent__panel {
	background: var(--mmm-cream);
	border: 1px solid rgb(216 180 106 / 65%);
	border-radius: var(--mmm-radius);
	box-shadow: 0 1rem 3rem rgb(1 38 58 / 24%);
	color: var(--mmm-text);
	padding: clamp(1.25rem, 3vw, 2rem);
}

.mmm-consent h2 {
	color: var(--mmm-navy);
	font-family: var(--mmm-font-heading);
	font-size: clamp(1.55rem, 4vw, 2rem);
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

.mmm-consent p {
	line-height: 1.6;
	margin: 0 0 0.8rem;
}

.mmm-consent a,
.mmm-consent__text-button {
	color: var(--mmm-navy);
	text-decoration-color: var(--mmm-gold-dark);
	text-underline-offset: 0.18em;
}

.mmm-consent__actions {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
	margin-block-start: 1.15rem;
}

.mmm-consent__text-button {
	background: transparent;
	border: 0;
	cursor: pointer;
	font: inherit;
	font-weight: 700;
	min-height: 2.75rem;
	padding: 0.5rem;
	text-decoration-line: underline;
}

.mmm-consent__choice {
	align-items: flex-start;
	border-block-start: 1px solid var(--mmm-border);
	display: flex;
	gap: 0.75rem;
	padding-block: 0.85rem;
}

.mmm-consent__choice input {
	accent-color: var(--mmm-navy);
	block-size: 1.15rem;
	flex: 0 0 auto;
	inline-size: 1.15rem;
	margin-block-start: 0.2rem;
}

.mmm-consent__choice small {
	display: block;
	line-height: 1.45;
	margin-block-start: 0.15rem;
}

.mmm-consent-reopen {
	background: var(--mmm-cream);
	border: 1px solid var(--mmm-navy);
	border-radius: 999px;
	bottom: 0.75rem;
	color: var(--mmm-navy);
	cursor: pointer;
	font: 700 0.8rem/1 var(--mmm-font-body);
	left: 0.75rem;
	min-height: 2.5rem;
	padding: 0.65rem 0.9rem;
	position: fixed;
	z-index: 99999;
}

.mmm-consent:not([hidden]) + .mmm-consent-reopen {
	display: none;
}

:where(.mmm-consent, .mmm-consent-reopen):focus-visible,
.mmm-consent :where(a, button, input):focus-visible {
	box-shadow: 0 0 0 2px var(--mmm-white), 0 0 0 5px var(--mmm-navy);
	outline: 2px solid transparent;
	outline-offset: 2px;
}

@media (max-width: 37.5rem) {
	.mmm-consent {
		bottom: 0.5rem;
		left: 0.5rem;
		max-width: calc(100vw - 1rem);
	}

	.mmm-consent__actions > :is(.mmm-button, .mmm-consent__text-button) {
		justify-content: center;
		width: 100%;
	}
}

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

	.mmm-page *,
	.mmm-header,
	.mmm-footer *,
	.mmm-consent *,
	.mmm-consent-reopen {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}

@media (forced-colors: active) {
	:where(.mmm-page, .mmm-header, .mmm-footer) :where(a, button, input, select, textarea, summary):focus-visible {
		outline: 3px solid CanvasText;
	}

	.mmm-card::before,
	.mmm-service-card::before,
	.mmm-step::before {
		forced-color-adjust: none;
	}
}

@media print {
	.mmm-header {
		position: static !important;
	}

	.mmm-page {
		overflow: visible;
	}

	.mmm-contact-form,
	.mmm-cta {
		box-shadow: none;
	}

	.mmm-consent,
	.mmm-consent-reopen {
		display: none !important;
	}
}
