/* =========================================================
   MB BAU – Frontend
   Farbwelt abgeleitet aus dem Logo:
   Schieferblau #5f7884 · Anthrazit #1d1d1b
   ========================================================= */

:root {
	--mbb-primary-050: #f2f5f7;
	--mbb-primary-100: #e3eaee;
	--mbb-primary-200: #c5d2d9;
	--mbb-primary-300: #a0b4be;
	--mbb-primary-400: #7d95a1;
	--mbb-primary:     #5f7884;
	--mbb-primary-600: #4c616c;
	--mbb-primary-700: #3c4d56;
	--mbb-accent:      #2f6f63;
	--mbb-accent-bg:   #edf6f3;
	--mbb-dark:        #1d1d1b;
	--mbb-text:        #24292c;
	--mbb-muted:       #5a666d;
	--mbb-bg:          #ffffff;
	--mbb-bg-alt:      #f5f7f8;
	--mbb-border:      #dde4e8;
	--mbb-success:     #2e7d4f;
	--mbb-success-bg:  #e9f5ee;
	--mbb-error:       #b3352e;
	--mbb-error-bg:    #fbeeed;
	--mbb-radius:      8px;
	--mbb-shadow:      0 10px 30px rgba(29, 29, 27, 0.08);
	--mbb-shadow-lg:   0 18px 50px rgba(29, 29, 27, 0.14);
	--mbb-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--mbb-container-w: 1180px;
	--mbb-section-y: 3.6rem;
	--mbb-page-head-y: 2.9rem;
	--mbb-page-follow-y: 2.3rem;
	--mbb-grid-gap: 1.15rem;
	--mbb-card-pad-y: 1.45rem;
	--mbb-card-pad-x: 1.3rem;
	--mbb-btn-y: 0.54em;
	--mbb-btn-x: 0.95em;
	--mbb-btn-lg-y: 0.62em;
	--mbb-btn-lg-x: 1.02em;
	--mbb-btn-font: 0.92rem;
	--mbb-btn-lg-font: 0.95rem;
	--mbb-partner-logo-w: 280px;
	--mbb-symbol-size: 48px;
	--mbb-symbol-glyph: 24px;
	--mbb-type-meta: 0.8125rem;
	--mbb-type-small: 0.9375rem;
	--mbb-type-body: 1rem;
	--mbb-type-lead: 1.0625rem;
	--mbb-type-h3: 1.25rem;
	--mbb-type-h2: 1.875rem;
	--mbb-type-h1: 2.75rem;
	--mbb-line-compact: 1.2;
	--mbb-line-ui: 1.45;
	--mbb-line-text: 1.65;
}

/* ---------- Basis ---------- */

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

html { scroll-behavior: smooth; }

body.mbb-body {
	margin: 0;
	font-family: var(--mbb-font);
	font-size: var(--mbb-type-body);
	line-height: var(--mbb-line-text);
	color: var(--mbb-text);
	background: var(--mbb-bg);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

img { max-width: 100%; height: auto; display: block; }

h1, h2, h3, h4 {
	margin: 0 0 0.5em;
	line-height: 1.2;
	color: var(--mbb-dark);
	font-family: var(--mbb-font-head, inherit);
	font-weight: 750;
	letter-spacing: 0;
}

h1 { font-size: var(--mbb-type-h1); }
h2 { font-size: var(--mbb-type-h2); }
h3 { font-size: var(--mbb-type-h3); }
@media (max-width: 700px) {
	h1 { font-size: 2rem; }
	h2 { font-size: 1.5rem; }
	h3 { font-size: 1.125rem; }
}

p { margin: 0 0 1em; }
p:last-child { margin-bottom: 0; }

a { color: var(--mbb-primary-600); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--mbb-primary-700); }

ul { padding-left: 1.2em; }

:focus-visible {
	outline: 3px solid var(--mbb-primary);
	outline-offset: 2px;
	border-radius: 4px;
}

.mbb-skip {
	position: absolute;
	left: -999px;
	top: 0;
	background: var(--mbb-dark);
	color: #fff;
	padding: 0.7em 1.2em;
	z-index: 200;
	border-radius: 0 0 8px 0;
}
.mbb-skip:focus { left: 0; }

.mbb-container {
	width: min(var(--mbb-container-w, 1180px), 100% - 2.5rem);
	margin-inline: auto;
}

.mbb-narrow { max-width: 780px; margin-inline: auto; }

.mbb-icon { width: 1.6em; height: 1.6em; flex: none; }
.mbb-icon-sm { width: 1.15em; height: 1.15em; vertical-align: -0.22em; display: inline-block; }

.mbb-symbol-box,
.mbb-card-icon,
.mbb-usp-icon,
.mbb-tile-icon,
.mbb-role-icon,
.mbb-advice-icon,
.mbb-advice-scope-icon,
.mbb-map-placeholder-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--mbb-symbol-size);
	height: var(--mbb-symbol-size);
	min-width: var(--mbb-symbol-size);
	border-radius: 8px;
}
.mbb-symbol-box > svg,
.mbb-card-icon > svg,
.mbb-usp-icon > svg,
.mbb-tile-icon > svg,
.mbb-role-icon > svg,
.mbb-advice-icon > svg,
.mbb-advice-scope-icon > svg,
.mbb-map-placeholder-icon > svg {
	width: var(--mbb-symbol-glyph);
	height: var(--mbb-symbol-glyph);
}

.mbb-step-num,
.mbb-advice-topics span,
.mbb-advice-step > span,
.mbb-about-fact strong,
.mbb-property-facts,
.mbb-map-radius-label strong {
	font-variant-numeric: tabular-nums;
	letter-spacing: 0;
}

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

.mbb-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	min-height: 40px;
	padding: var(--mbb-btn-y, 0.54em) var(--mbb-btn-x, 0.95em);
	border-radius: var(--mbb-btn-radius, 8px);
	border: 1px solid transparent;
	font-weight: 650;
	font-size: var(--mbb-btn-font, 0.92rem);
	text-decoration: none;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}
.mbb-btn:hover { transform: translateY(-1px); }
.mbb-btn-lg {
	min-height: 42px;
	padding: var(--mbb-btn-lg-y, 0.62em) var(--mbb-btn-lg-x, 1.02em);
	font-size: var(--mbb-btn-lg-font, 0.95rem);
}

.mbb-btn-primary { background: var(--mbb-primary); color: #fff; }
.mbb-btn-primary:hover { background: var(--mbb-primary-600); color: #fff; }

.mbb-btn-outline { background: transparent; color: var(--mbb-primary-700); border-color: var(--mbb-primary-300); }
.mbb-btn-outline:hover { border-color: var(--mbb-primary); background: var(--mbb-primary-050); color: var(--mbb-primary-700); }

.mbb-btn-ghost { background: rgba(255, 255, 255, 0.14); color: #fff; border-color: rgba(255, 255, 255, 0.55); backdrop-filter: blur(4px); }
.mbb-btn-ghost:hover { background: rgba(255, 255, 255, 0.26); color: #fff; }

.mbb-btn-light { background: #fff; color: var(--mbb-primary-700); }
.mbb-btn-light:hover { background: var(--mbb-primary-050); color: var(--mbb-primary-700); }

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

.mbb-header {
	position: relative;
	z-index: 100;
	background: rgba(255, 255, 255, 0.94);
	backdrop-filter: blur(10px);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-header-sticky { position: sticky; top: 0; }

.mbb-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: var(--mbb-header-h, 78px);
}

.mbb-logo { display: inline-flex; align-items: center; flex: 0 0 auto; line-height: 0; }
.mbb-logo img {
	width: var(--mbb-logo-w, 140px);
	height: auto;
	max-height: calc(var(--mbb-header-h, 78px) - 16px);
	object-fit: contain;
}
@media (max-width: 700px) {
	.mbb-logo img {
		width: var(--mbb-mobile-logo-w, 112px);
		max-height: calc(var(--mbb-mobile-header-h, 64px) - 12px);
	}
	.mbb-header-inner { min-height: var(--mbb-mobile-header-h, 64px); }
}

.mbb-nav ul {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.mbb-nav a:not(.mbb-btn),
.mbb-sub-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.25em;
	padding: 0.55em 0.9em;
	border-radius: 8px;
	color: var(--mbb-dark);
	font-weight: 570;
	font-size: 0.99rem;
	text-decoration: none;
	background: none;
	border: 0;
	cursor: pointer;
	font-family: inherit;
}

.mbb-nav a:not(.mbb-btn):hover,
.mbb-sub-toggle:hover { background: var(--mbb-primary-050); color: var(--mbb-primary-700); }

.mbb-nav a[aria-current="page"],
.mbb-sub-toggle.mbb-active { color: var(--mbb-primary-700); background: var(--mbb-primary-100); }

.mbb-nav-cta { margin-left: 0.6rem; }
.mbb-nav-cta .mbb-btn { padding: 0.52em 1em; }

.mbb-has-sub { position: relative; }

.mbb-sub {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	width: min(360px, calc(100vw - 2rem));
	min-width: 240px;
	max-width: calc(100vw - 2rem);
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
	box-shadow: var(--mbb-shadow-lg);
	padding: 0.45rem !important;
	display: none !important;
	flex-direction: column;
	align-items: stretch;
}
.mbb-has-sub.mbb-open .mbb-sub { display: flex !important; }
.mbb-sub li { width: 100%; }
.mbb-sub a { display: block !important; width: 100%; white-space: normal; line-height: 1.4; }
.mbb-has-sub.mbb-open .mbb-sub-toggle .mbb-icon-sm { transform: rotate(180deg); }
.mbb-sub-toggle .mbb-icon-sm { transition: transform 0.2s ease; }

.mbb-nav-toggle {
	display: none;
	background: none;
	border: 0;
	padding: 0.5rem;
	cursor: pointer;
	color: var(--mbb-dark);
}
.mbb-nav-toggle .mbb-icon { width: 1.9em; height: 1.9em; }
.mbb-nav-toggle .mbb-icon-close { display: none; }
.mbb-nav-toggle[aria-expanded="true"] .mbb-icon-menu { display: none; }
.mbb-nav-toggle[aria-expanded="true"] .mbb-icon-close { display: block; }

@media (max-width: 1100px) {
	.mbb-nav-toggle { display: block; }

	.mbb-nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		background: #fff;
		border-bottom: 1px solid var(--mbb-border);
		box-shadow: var(--mbb-shadow-lg);
		display: none;
		padding: 1rem 1.25rem 1.5rem;
	}
	.mbb-nav.mbb-open { display: block; }

	.mbb-nav ul { flex-direction: column; align-items: stretch; gap: 0.15rem; }
	.mbb-nav a:not(.mbb-btn), .mbb-sub-toggle { width: 100%; justify-content: space-between; font-size: 1.05rem; padding: 0.8em 0.9em; }

	.mbb-sub {
		position: static;
		width: auto;
		max-width: none;
		box-shadow: none;
		border: 0;
		border-left: 3px solid var(--mbb-primary-100);
		border-radius: 0;
		margin: 0.2rem 0 0.4rem 0.9rem;
	}
	.mbb-nav-cta { margin: 0.8rem 0 0; }
	.mbb-nav-cta .mbb-btn { width: 100%; justify-content: center; }
}

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

.mbb-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	color: #fff;
	min-height: min(var(--mbb-hero-image-h, 720px), calc(100svh - 78px));
	display: flex;
	align-items: stretch;
}

.mbb-hero-overlay {
	position: absolute;
	inset: 0;
	background: rgba(18, 27, 30, 0.67);
}

.mbb-hero-inner {
	position: relative;
	padding: var(--mbb-hero-pad, 4.6rem) 0 3.2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.mbb-hero-copy { max-width: 760px; }

.mbb-hero h1 {
	color: #fff;
	margin-bottom: 0.42em;
	font-size: 3.35rem;
	max-width: 13.5ch;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.22);
}
.mbb-hero p { font-size: 1.14rem; max-width: 660px; opacity: 0.95; }
@media (max-width: 700px) {
	.mbb-hero {
		min-height: auto;
		background-position: 58% center;
	}
	.mbb-hero-inner { padding: 2.35rem 0 1.8rem; }
	.mbb-hero h1 { font-size: 2.45rem; max-width: 11ch; }
	.mbb-hero p { font-size: 1.02rem; }
}

.mbb-hero-actions { display: flex; flex-wrap: wrap; gap: 0.62rem; margin-top: 1.65rem; }

.mbb-hero-focus {
	list-style: none;
	margin: 1.6rem 0 0;
	padding: 1rem 0 0;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(155px, 1fr));
	gap: 0.8rem;
	border-top: 1px solid rgba(255, 255, 255, 0.25);
}
.mbb-hero-focus li {
	min-width: 0;
	padding: 0.7rem 0.75rem;
	background: rgba(255, 255, 255, 0.08);
	border: 1px solid rgba(255, 255, 255, 0.14);
	border-radius: 8px;
	backdrop-filter: blur(4px);
}
.mbb-hero-focus span {
	display: block;
	color: #d9e5e8;
	font-size: 0.78rem;
	font-weight: 700;
}
.mbb-hero-focus strong {
	display: block;
	color: #fff;
	font-size: var(--mbb-type-small);
	line-height: 1.35;
}
@media (max-width: 720px) {
	.mbb-hero-focus {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.55rem;
	}
	.mbb-hero-focus li { padding: 0.62rem; }
	.mbb-hero-focus strong { font-size: 0.88rem; }
}

/* ---------- Sektionen ---------- */

.mbb-section { padding: var(--mbb-section-y, 3.6rem) 0; }
.mbb-section-compact { padding: 1.7rem 0; }
.mbb-section-alt { background: var(--mbb-bg-alt); }

.mbb-section-dark {
	background: #26373d;
	color: #e8edf0;
}
.mbb-section-dark h2, .mbb-section-dark h3 { color: #fff; }
.mbb-section-dark p { color: #d4dde2; }

.mbb-section-head { max-width: 720px; margin-bottom: 2.6rem; }
.mbb-section-head p { color: var(--mbb-muted); font-size: 1.06rem; }
.mbb-section-dark .mbb-section-head p { color: #c3ced5; }
.mbb-lead-narrow { max-width: 720px; }

.mbb-role-note {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-left: 4px solid var(--mbb-accent);
	border-radius: var(--mbb-radius);
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.05);
	padding: 1.15rem 1.25rem;
}
.mbb-role-icon {
	background: var(--mbb-accent-bg);
	color: var(--mbb-accent);
}
.mbb-role-note h2 {
	font-size: 1.12rem;
	margin-bottom: 0.25rem;
}
.mbb-role-note h3 { margin: 0 0 0.2rem; font-size: 0.98rem; }
.mbb-role-note p {
	margin: 0;
	color: var(--mbb-muted);
	line-height: 1.65;
}
.mbb-positive-list {
	display: grid;
	gap: 0.65rem;
	margin: 0.7rem 0 0;
	padding: 0;
	list-style: none;
}
.mbb-positive-list li {
	display: flex;
	align-items: flex-start;
	gap: 0.55rem;
	color: var(--mbb-muted);
}
.mbb-positive-list .mbb-icon { flex: 0 0 auto; margin-top: 0.18em; color: var(--mbb-accent); }
@media (max-width: 560px) {
	.mbb-role-note { grid-template-columns: 1fr; }
}

/* ---------- Bauherrenberatung ---------- */

.mbb-advice-overview {
	display: grid;
	grid-template-columns: minmax(260px, 0.78fr) minmax(0, 1.22fr);
	gap: 4rem;
	align-items: start;
}
.mbb-advice-lead { max-width: 470px; }
.mbb-advice-lead > p:last-child { color: var(--mbb-muted); font-size: 1.03rem; line-height: 1.7; }
.mbb-advice-pillars { border-top: 1px solid var(--mbb-border); }
.mbb-advice-pillar {
	display: grid;
	grid-template-columns: var(--mbb-symbol-size) minmax(0, 1fr);
	gap: 1rem;
	padding: 1.35rem 0;
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-advice-icon,
.mbb-advice-scope-icon {
	background: var(--mbb-primary-100);
	color: var(--mbb-primary-700);
}
.mbb-advice-pillar h3 { margin: 0 0 0.25rem; font-size: 1.05rem; }
.mbb-advice-pillar p { margin: 0; color: var(--mbb-muted); line-height: 1.62; }

.mbb-advice-topics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin: 0;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--mbb-border);
}
.mbb-advice-topics li {
	display: grid;
	grid-template-columns: 42px minmax(0, 1fr);
	gap: 0.85rem;
	align-items: start;
	padding: 1rem 1.1rem 1rem 0;
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-advice-topics li:nth-child(odd) { border-right: 1px solid var(--mbb-border); }
.mbb-advice-topics li:nth-child(even) { padding-left: 1.1rem; }
.mbb-advice-topics span,
.mbb-advice-step > span {
	color: var(--mbb-primary-600);
	font-size: 0.78rem;
	font-weight: 750;
	line-height: 1.5;
}
.mbb-advice-topics strong { font-size: 0.98rem; line-height: 1.45; }

.mbb-advice-process {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-advice-step { padding: 1.35rem 1.3rem 1.45rem; border-left: 1px solid var(--mbb-border); }
.mbb-advice-step:first-child { border-left: 0; padding-left: 0; }
.mbb-advice-step:last-child { padding-right: 0; }
.mbb-advice-step h3 { margin: 0.45rem 0 0.35rem; font-size: 1rem; }
.mbb-advice-step p { margin: 0; color: var(--mbb-muted); font-size: 0.94rem; line-height: 1.58; }

.mbb-advice-scope-band {
	padding: 2rem 0;
	background: var(--mbb-primary-050);
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-advice-scope {
	display: grid;
	grid-template-columns: 48px minmax(240px, 0.75fr) minmax(0, 1.25fr);
	gap: 1.2rem;
	align-items: start;
}
.mbb-advice-scope-copy h2 { margin: 0 0 0.35rem; font-size: 1.16rem; }
.mbb-advice-scope-copy p { margin: 0; color: var(--mbb-muted); font-size: 0.94rem; line-height: 1.58; }
.mbb-advice-scope ul { margin: 0; padding-left: 1.15rem; color: var(--mbb-muted); font-size: 0.92rem; line-height: 1.5; }
.mbb-advice-scope li + li { margin-top: 0.35rem; }

@media (max-width: 900px) {
	.mbb-advice-overview { grid-template-columns: 1fr; gap: 2rem; }
	.mbb-advice-lead { max-width: 700px; }
	.mbb-advice-process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.mbb-advice-step:nth-child(3) { border-left: 0; }
	.mbb-advice-step:nth-child(n+3) { border-top: 1px solid var(--mbb-border); }
	.mbb-advice-scope { grid-template-columns: 48px 1fr; }
	.mbb-advice-scope ul { grid-column: 2; }
}

@media (max-width: 620px) {
	.mbb-advice-topics,
	.mbb-advice-process { grid-template-columns: 1fr; }
	.mbb-advice-topics li:nth-child(odd) { border-right: 0; }
	.mbb-advice-topics li:nth-child(even) { padding-left: 0; }
	.mbb-advice-step,
	.mbb-advice-step:first-child,
	.mbb-advice-step:last-child { padding: 1rem 0; border-left: 0; border-top: 1px solid var(--mbb-border); }
	.mbb-advice-step:first-child { border-top: 0; }
	.mbb-advice-scope { grid-template-columns: 1fr; gap: 0.75rem; }
	.mbb-advice-scope ul { grid-column: 1; }
}

.mbb-page-head {
	background: #f5f7f8;
	border-bottom: 1px solid var(--mbb-border);
	padding: var(--mbb-page-head-y, 2.9rem) 0;
}
.mbb-page-head .mbb-lead { max-width: 800px; font-size: 1.08rem; color: var(--mbb-muted); }
.mbb-page-head + .mbb-section { padding-top: var(--mbb-page-follow-y, 2.3rem); }

/* Seitenkopf mit Illustration */
.mbb-page-head-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(240px, 1fr);
	gap: 2rem;
	align-items: center;
}
.mbb-page-illu img {
	width: 100%;
	max-width: var(--mbb-illu-max, 440px);
	height: auto;
	margin-inline: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	border-radius: var(--mbb-radius);
}
@media (max-width: 860px) {
	.mbb-page-head-grid { grid-template-columns: 1fr; }
	.mbb-page-illu { max-width: 360px; margin-inline: auto; }
}

/* ---------- Karten ---------- */

.mbb-cards-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mbb-grid-gap, 1.4rem); }
.mbb-cards-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--mbb-grid-gap, 1.4rem); }

@media (max-width: 940px) {
	.mbb-cards-3 { grid-template-columns: 1fr; }
	.mbb-cards-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) { .mbb-cards-4 { grid-template-columns: 1fr; } }

.mbb-card {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	padding: var(--mbb-card-pad-y, 1.9rem) var(--mbb-card-pad-x, 1.7rem);
	box-shadow: var(--mbb-shadow);
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.mbb-card-link { text-decoration: none; color: inherit; transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease; }
.mbb-card-link:hover { transform: translateY(-4px); box-shadow: var(--mbb-shadow-lg); border-color: var(--mbb-primary-300); color: inherit; }

.mbb-card-icon, .mbb-usp-icon, .mbb-tile-icon {
	background: var(--mbb-primary-050);
	color: var(--mbb-primary-600);
	margin-bottom: 0.9rem;
}

.mbb-card p { color: var(--mbb-muted); font-size: 0.98rem; }

/* Karten mit Illustrations-Kopf */
.mbb-card-has-illu { padding-top: 0; overflow: hidden; }
.mbb-card-illu {
	display: block;
	margin: 0 calc(-1 * var(--mbb-card-pad-x, 1.7rem)) 1.3rem;
	background: #f2f5f7;
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-card-illu img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: var(--mbb-card-ratio, 4 / 3);
	object-fit: cover;
}

.mbb-card-more {
	margin-top: auto;
	padding-top: 0.6rem;
	font-weight: 650;
	color: var(--mbb-primary-600);
	display: inline-flex;
	align-items: center;
	gap: 0.35em;
}
.mbb-card-link:hover .mbb-card-more { color: var(--mbb-primary-700); }

.mbb-usp { text-align: left; }
.mbb-usp p { color: var(--mbb-muted); font-size: 0.96rem; }
.mbb-usp-dark .mbb-usp-icon { background: rgba(255, 255, 255, 0.1); color: #cfdbe1; }
.mbb-usp-dark p { color: #c3ced5; }

/* ---------- Leistungs-Kacheln ---------- */

.mbb-tiles { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--mbb-grid-gap, 1.2rem); }
@media (max-width: 940px) { .mbb-tiles { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .mbb-tiles { grid-template-columns: 1fr; } }

.mbb-tile {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	padding: var(--mbb-card-pad-y, 1.5rem) var(--mbb-card-pad-x, 1.4rem);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.mbb-tile:hover { border-color: var(--mbb-primary-300); box-shadow: var(--mbb-shadow); }
.mbb-tile-icon { margin-bottom: 0.7rem; }
.mbb-tile h3 { font-size: 1.05rem; }
.mbb-tile p { color: var(--mbb-muted); font-size: 0.93rem; margin: 0; }

/* ---------- Prozess-Schritte ---------- */

.mbb-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--mbb-grid-gap, 1.4rem);
	counter-reset: step;
}
.mbb-steps-5 { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1020px) { .mbb-steps, .mbb-steps-5 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 600px) { .mbb-steps, .mbb-steps-5 { grid-template-columns: 1fr; } }

.mbb-step {
	position: relative;
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	padding: var(--mbb-card-pad-y, 1.6rem) var(--mbb-card-pad-x, 1.4rem) calc(var(--mbb-card-pad-y, 1.6rem) * 0.9);
}

.mbb-step-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: var(--mbb-primary);
	color: #fff;
	font-weight: 750;
	font-size: 1.05rem;
	margin-bottom: 0.8rem;
}

.mbb-step h3 { font-size: 1.04rem; }
.mbb-step p { color: var(--mbb-muted); font-size: 0.94rem; margin: 0; }

/* ---------- Über mich ---------- */

.mbb-about-teaser {
	display: grid;
	grid-template-columns: minmax(260px, 420px) 1fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: center;
}
@media (max-width: 860px) { .mbb-about-teaser { grid-template-columns: 1fr; } }

.mbb-about-media img {
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow-lg);
	width: 100%;
	aspect-ratio: 6 / 7;
	object-fit: cover;
}
.mbb-portrait-caption { margin-top: 0.9rem; color: var(--mbb-muted); }

.mbb-expert-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5em;
	background: var(--mbb-accent-bg);
	color: var(--mbb-accent);
	border: 1px solid var(--mbb-accent);
	border-radius: 8px;
	padding: 0.5em 1.1em;
	font-weight: 600;
	font-size: 0.95rem;
	margin: 0.4rem 0 1.4rem;
}

.mbb-statement {
	margin: 0;
	padding: 0 0 0 1.4rem;
	border-left: 4px solid var(--mbb-primary-400);
	font-size: 1.12rem;
	line-height: 1.75;
}

.mbb-seals { display: flex; flex-wrap: wrap; gap: 1.5rem; align-items: center; }
.mbb-seal { max-height: 90px; width: auto; }

.mbb-seal-placeholder {
	display: inline-flex;
	align-items: center;
	gap: 0.8em;
	border: 2px dashed var(--mbb-primary-300);
	border-radius: var(--mbb-radius);
	padding: 1.1rem 1.5rem;
	color: var(--mbb-primary-700);
	font-weight: 600;
	background: var(--mbb-primary-050);
}

.mbb-about-profile {
	display: grid;
	grid-template-columns: minmax(280px, var(--mbb-about-image-w, 460px)) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 4.8rem);
	align-items: start;
}
.mbb-about-profile .mbb-about-media { position: sticky; top: 1.5rem; }
.mbb-about-profile .mbb-portrait-caption {
	display: grid;
	gap: 0.1rem;
	margin: -2.8rem 0 0 clamp(0.8rem, 4vw, 1.6rem);
	position: relative;
	width: fit-content;
	max-width: calc(100% - 1.6rem);
	padding: 0.65rem 0.85rem;
	border-radius: 6px;
	background: #fff;
	box-shadow: var(--mbb-shadow);
	font-size: 0.82rem;
	line-height: 1.35;
}
.mbb-about-profile .mbb-portrait-caption strong { color: var(--mbb-dark); font-size: 0.95rem; }
.mbb-about-narrative > h2 { max-width: 16ch; }
.mbb-about-story { color: var(--mbb-muted); }
.mbb-about-story p { line-height: 1.72; }
.mbb-about-story p:first-child { color: var(--mbb-text); font-size: 1.06rem; }

.mbb-about-facts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: clamp(2.2rem, 5vw, 4rem);
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-about-fact {
	display: grid;
	gap: 0.2rem;
	padding: 1.25rem clamp(0.8rem, 3vw, 1.5rem);
	border-left: 1px solid var(--mbb-border);
}
.mbb-about-fact:first-child { border-left: 0; padding-left: 0; }
.mbb-about-fact strong { color: var(--mbb-primary-700); font-size: 2.125rem; line-height: 1; }
.mbb-about-fact span { color: var(--mbb-muted); font-size: 0.86rem; line-height: 1.35; }
.mbb-about-experience { margin-top: clamp(2.6rem, 6vw, 4.8rem); }
.mbb-about-experience h2 { max-width: 18ch; margin-bottom: 1rem; }
.mbb-about-experience-copy { columns: 2 320px; column-gap: clamp(2rem, 5vw, 4rem); color: var(--mbb-muted); }
.mbb-about-experience-copy p { break-inside: avoid; line-height: 1.7; }

.mbb-about-principles {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-about-principle {
	display: grid;
	grid-template-columns: var(--mbb-symbol-size) minmax(0, 1fr);
	gap: 0.9rem;
	align-items: start;
	padding: 1.35rem clamp(1rem, 2.5vw, 1.5rem);
	border-left: 1px solid var(--mbb-border);
}
.mbb-about-principle:first-child { border-left: 0; padding-left: 0; }
.mbb-about-principle:last-child { padding-right: 0; }
.mbb-symbol-box { background: var(--mbb-accent-bg); color: var(--mbb-accent); }
.mbb-about-principle h3 { margin: 0 0 0.25rem; font-size: 1.03rem; }
.mbb-about-principle p { margin: 0; color: var(--mbb-muted); font-size: 0.93rem; line-height: 1.58; }

.mbb-about-statement-band {
	padding: clamp(2.6rem, 6vw, 4.4rem) 0;
	background: var(--mbb-dark);
	color: #d9e1e4;
}
.mbb-about-statement {
	display: grid;
	grid-template-columns: minmax(220px, 0.65fr) minmax(0, 1.35fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}
.mbb-about-statement h2 { color: #fff; max-width: 12ch; }
.mbb-about-statement .mbb-property-meta { color: #aebec5; }
.mbb-about-statement .mbb-statement {
	padding: 0 0 0 1.5rem;
	border-left: 3px solid var(--mbb-primary-300);
	font-size: 1.03rem;
	line-height: 1.68;
}
.mbb-about-statement .mbb-statement p { color: #d9e1e4; }

.mbb-about-qualification {
	display: grid;
	grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
	gap: clamp(2rem, 6vw, 5rem);
	align-items: start;
}
.mbb-about-qualification-list { display: grid; gap: 0.7rem; margin: 1.2rem 0 0; padding: 0; list-style: none; }
.mbb-about-qualification-list li { display: grid; grid-template-columns: 20px 1fr; gap: 0.55rem; align-items: start; color: var(--mbb-muted); line-height: 1.55; }
.mbb-about-qualification-list .mbb-icon { margin-top: 0.2em; color: var(--mbb-accent); }
.mbb-about-qualification .mbb-seals { gap: 1.1rem; align-items: flex-start; }
.mbb-about-qualification .mbb-seal-placeholder {
	display: grid;
	grid-template-columns: var(--mbb-symbol-size) minmax(0, 1fr);
	align-items: start;
	gap: 0.8rem;
	border: 1px solid var(--mbb-border);
	border-left: 3px solid var(--mbb-accent);
	padding: 1.1rem 1.3rem;
	background: #fff;
	box-shadow: var(--mbb-shadow);
}
.mbb-about-qualification .mbb-seal-placeholder > svg { width: var(--mbb-symbol-size); height: var(--mbb-symbol-size); padding: 12px; border-radius: 8px; background: var(--mbb-accent-bg); color: var(--mbb-accent); }
.mbb-about-qualification .mbb-seal-placeholder span { display: grid; gap: 0.35rem; }
.mbb-about-qualification .mbb-seal-placeholder small { color: var(--mbb-muted); font-weight: 450; line-height: 1.45; }

@media (max-width: 900px) {
	.mbb-about-profile,
	.mbb-about-statement,
	.mbb-about-qualification { grid-template-columns: 1fr; }
	.mbb-about-profile .mbb-about-media { position: relative; top: auto; max-width: min(100%, 420px); }
	.mbb-about-principles { grid-template-columns: 1fr; }
	.mbb-about-principle,
	.mbb-about-principle:first-child,
	.mbb-about-principle:last-child { padding: 1.1rem 0; border-left: 0; border-top: 1px solid var(--mbb-border); }
	.mbb-about-principle:first-child { border-top: 0; }
}

@media (max-width: 560px) {
	.mbb-about-experience-copy { columns: 1; }
	.mbb-about-facts { grid-template-columns: 1fr; }
	.mbb-about-fact,
	.mbb-about-fact:first-child { padding: 0.9rem 0; border-left: 0; border-top: 1px solid var(--mbb-border); }
	.mbb-about-fact:first-child { border-top: 0; }
	.mbb-about-fact strong { font-size: 1.65rem; }
}

/* ---------- Partner ---------- */

.mbb-partner {
	display: grid;
	grid-template-columns: 1fr minmax(240px, 340px);
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(2rem, 5vw, 4rem));
	align-items: center;
}
@media (max-width: 800px) { .mbb-partner { grid-template-columns: 1fr; } }

.mbb-partner-logo {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	padding: max(var(--mbb-card-pad-y, 1.9rem), 1.6rem);
	text-align: center;
}
.mbb-partner-logo img {
	width: min(var(--mbb-partner-logo-w, 280px), 100%);
	max-height: 220px;
	object-fit: contain;
	margin-inline: auto;
}
.mbb-partner-logo p { margin-top: 1rem; font-weight: 650; color: var(--mbb-dark); }

/* ---------- Schadensbilder ---------- */

.mbb-damage-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--mbb-grid-gap, 1rem);
}
@media (max-width: 940px) { .mbb-damage-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mbb-damage-list { grid-template-columns: 1fr; } }

.mbb-damage-list li {
	display: flex;
	align-items: center;
	gap: 0.7em;
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
	padding: calc(var(--mbb-card-pad-y, 1.9rem) * 0.5) calc(var(--mbb-card-pad-x, 1.7rem) * 0.65);
	font-weight: 570;
	color: var(--mbb-dark);
}
.mbb-damage-list .mbb-icon-sm { color: var(--mbb-primary-600); width: 1.4em; height: 1.4em; }

/* ---------- FAQ ---------- */

.mbb-faq-list {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 0.9rem;
	max-width: 920px;
	margin-inline: auto;
}
.mbb-faq-search,
.mbb-faq-noresult { max-width: 920px; margin-inline: auto; }

.mbb-faq {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	overflow: hidden;
}
.mbb-faq[open] { border-color: var(--mbb-primary-300); box-shadow: var(--mbb-shadow); }

.mbb-faq summary {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	cursor: pointer;
	padding: 1.15rem 1.4rem;
	font-weight: 650;
	color: var(--mbb-dark);
	font-size: 1.03rem;
}
.mbb-faq summary::-webkit-details-marker { display: none; }
.mbb-faq summary:hover { color: var(--mbb-primary-700); }

.mbb-faq-chevron { transition: transform 0.25s ease; color: var(--mbb-primary-600); }
.mbb-faq[open] .mbb-faq-chevron { transform: rotate(180deg); }

.mbb-faq-answer { padding: 0 1.4rem 1.3rem; color: var(--mbb-muted); }

/* ---------- Karriere ---------- */

.mbb-jobs {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
	gap: 1.4rem;
	max-width: 980px;
	margin-inline: auto;
}

.mbb-job {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	padding: var(--mbb-card-pad-y, 1.9rem) var(--mbb-card-pad-x, 1.8rem);
}
.mbb-job h2 { font-size: 1.35rem; margin-bottom: 0.3rem; }
.mbb-job-meta { display: flex; flex-wrap: wrap; gap: 1.2rem; color: var(--mbb-muted); font-size: 0.95rem; margin-bottom: 1rem; }
.mbb-job-meta .mbb-icon-sm { color: var(--mbb-primary-600); }
.mbb-job .mbb-btn { margin-top: 1rem; }
.mbb-structured-text ul {
	margin: 0.85rem 0 1rem;
	padding-left: 1.15rem;
}
.mbb-structured-text li + li { margin-top: 0.4rem; }
.mbb-career-form-wrap { max-width: 980px; }

.mbb-demo-badge {
	display: inline-flex;
	align-items: center;
	margin-left: 0.45rem;
	padding: 0.16rem 0.42rem;
	border: 1px solid currentColor;
	border-radius: 999px;
	color: var(--mbb-primary-700);
	background: var(--mbb-primary-050);
	font-size: 0.68rem;
	font-weight: 750;
	line-height: 1.2;
	text-transform: uppercase;
	vertical-align: 0.15em;
}

.mbb-notice {
	background: var(--mbb-primary-050);
	border: 1px solid var(--mbb-primary-200);
	border-radius: var(--mbb-radius);
	padding: calc(var(--mbb-card-pad-y, 1.9rem) * 0.75) var(--mbb-card-pad-x, 1.6rem);
	color: var(--mbb-primary-700);
}

/* ---------- Formulare ---------- */

.mbb-form {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	padding: max(var(--mbb-card-pad-y, 1.9rem), 1.45rem) var(--mbb-card-pad-x, 1.7rem);
}

.mbb-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 var(--mbb-grid-gap, 1.4rem); }
@media (max-width: 640px) { .mbb-form-grid { grid-template-columns: 1fr; } }

.mbb-form-row { margin-bottom: 1.25rem; }

.mbb-form label { display: block; font-weight: 620; margin-bottom: 0.4rem; color: var(--mbb-dark); font-size: 0.97rem; }

.mbb-form input[type="text"],
.mbb-form input[type="email"],
.mbb-form input[type="tel"],
.mbb-form select,
.mbb-form textarea {
	width: 100%;
	padding: 0.75em 0.95em;
	border: 1.5px solid var(--mbb-border);
	border-radius: 8px;
	font: inherit;
	color: var(--mbb-text);
	background: #fff;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.mbb-form input:focus,
.mbb-form select:focus,
.mbb-form textarea:focus {
	outline: none;
	border-color: var(--mbb-primary);
	box-shadow: 0 0 0 3px var(--mbb-primary-100);
}
.mbb-form [aria-invalid="true"] { border-color: var(--mbb-error); }

.mbb-form textarea { resize: vertical; min-height: 130px; }

.mbb-topic-choice { border: 0; padding: 0; margin: 0 0 1.4rem; }
.mbb-topic-choice legend { font-weight: 650; margin-bottom: 0.6rem; color: var(--mbb-dark); padding: 0; }

.mbb-topic-options { display: flex; flex-wrap: wrap; gap: 0.6rem; }

.mbb-topic-option { position: relative; margin: 0 !important; }
.mbb-topic-option input {
	position: absolute;
	opacity: 0;
	inset: 0;
	cursor: pointer;
}
.mbb-topic-option span {
	display: inline-block;
	padding: 0.55em 1.15em;
	border: 1.5px solid var(--mbb-border);
	border-radius: var(--mbb-btn-radius, 8px);
	font-weight: 570;
	color: var(--mbb-muted);
	cursor: pointer;
	transition: all 0.15s ease;
}
.mbb-topic-option input:checked + span {
	background: var(--mbb-primary);
	border-color: var(--mbb-primary);
	color: #fff;
}
.mbb-topic-option input:focus-visible + span { outline: 3px solid var(--mbb-primary-300); outline-offset: 2px; }

.mbb-form-check label { display: flex; gap: 0.7em; align-items: flex-start; font-weight: 450; font-size: 0.93rem; color: var(--mbb-muted); }
.mbb-form-check input { margin-top: 0.3em; width: 1.1em; height: 1.1em; accent-color: var(--mbb-primary); }

.mbb-form-note { margin-top: 1.1rem; color: var(--mbb-muted); font-size: 0.93rem; }
.mbb-form-note .mbb-icon-sm { color: var(--mbb-primary-600); }

.mbb-field-error { color: var(--mbb-error); font-size: 0.88rem; margin: 0.35rem 0 0; font-weight: 570; }

.mbb-hp { position: absolute !important; left: -9999px !important; height: 0; overflow: hidden; margin: 0; }

.mbb-alert {
	display: flex;
	align-items: flex-start;
	gap: 0.6em;
	border-radius: 8px;
	padding: 1.05rem 1.3rem;
	margin-bottom: 1.4rem;
	font-weight: 570;
}
.mbb-alert .mbb-icon-sm { margin-top: 0.2em; }
.mbb-alert-success { background: var(--mbb-success-bg); color: var(--mbb-success); border: 1px solid #bfe3cf; }
.mbb-alert-error { background: var(--mbb-error-bg); color: var(--mbb-error); border: 1px solid #eec6c3; }

/* ---------- Kontakt-Seite ---------- */

.mbb-contact-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr);
	gap: max(var(--mbb-grid-gap, 1.4rem), 2rem);
	align-items: start;
}
.mbb-contact-form,
.mbb-contact-aside { min-width: 0; }
@media (max-width: 900px) { .mbb-contact-grid { grid-template-columns: 1fr; } }

.mbb-contact-card {
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	padding: 0;
	margin-bottom: 1.75rem;
}
.mbb-contact-card + .mbb-contact-card { border-top: 1px solid var(--mbb-border); padding-top: 1.75rem; }
.mbb-contact-card h2 { font-size: 1.2rem; margin-bottom: 1rem; }
.mbb-contact-card p { color: var(--mbb-muted); font-size: 0.95rem; }

.mbb-map-shell {
	position: relative;
	width: 100%;
	max-width: 100%;
	min-height: 270px;
	aspect-ratio: 16 / 11;
	margin-bottom: 0.8rem;
	overflow: hidden;
	background: var(--mbb-primary-050);
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
}
.mbb-map-placeholder {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 100%;
	padding: 1.5rem;
}
.mbb-map-placeholder-icon {
	margin-bottom: 0.85rem;
	background: #fff;
	color: var(--mbb-primary-700);
}
.mbb-map-placeholder strong { font-size: 1.05rem; }
.mbb-map-placeholder p { margin: 0.55rem 0 1rem; font-size: 0.88rem; line-height: 1.52; }
.mbb-map-tiles,
.mbb-map-overlay {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	background: #e9edef;
	overflow: hidden;
}
.mbb-map-tiles img {
	position: absolute;
	display: block;
	width: 256px;
	height: 256px;
	max-width: none;
	user-select: none;
}
.mbb-map-overlay {
	z-index: 2;
	background: transparent;
	pointer-events: none;
}
.mbb-map-radius-area {
	fill: rgba(47, 111, 99, 0.16);
	stroke: var(--mbb-accent);
	stroke-width: 3;
	stroke-dasharray: 8 6;
	vector-effect: non-scaling-stroke;
}
.mbb-map-marker {
	position: absolute;
	z-index: 4;
	width: 22px;
	height: 22px;
	transform: translate(-50%, -72%) rotate(45deg);
	border: 3px solid #fff;
	border-radius: 50% 50% 50% 0;
	background: var(--mbb-primary-700);
	box-shadow: 0 4px 12px rgba(18, 32, 38, 0.28);
}
.mbb-map-marker::after {
	content: '';
	position: absolute;
	width: 5px;
	height: 5px;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	background: #fff;
}
.mbb-map-place-label,
.mbb-map-radius-label,
.mbb-map-credit {
	position: absolute;
	z-index: 5;
	border-radius: 5px;
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 2px 10px rgba(18, 32, 38, 0.12);
}
.mbb-map-place-label {
	transform: translateX(-50%);
	padding: 0.24rem 0.48rem;
	font-size: 0.78rem;
	font-weight: 750;
	white-space: nowrap;
}
.mbb-map-radius-label {
	top: 0.75rem;
	right: 0.75rem;
	display: grid;
	gap: 1px;
	padding: 0.48rem 0.6rem;
	color: var(--mbb-dark);
	line-height: 1.2;
}
.mbb-map-radius-label strong { font-size: 0.88rem; font-variant-numeric: tabular-nums; }
.mbb-map-radius-label span { color: var(--mbb-muted); font-size: 0.68rem; }
.mbb-map-credit {
	right: 0.35rem;
	bottom: 0.35rem;
	padding: 0.2rem 0.35rem;
	color: #344b55;
	font-size: 0.64rem;
	text-decoration: none;
}
.mbb-map-attribution { max-width: 100%; margin: -0.15rem 0 1rem; overflow-wrap: anywhere; font-size: 0.76rem !important; line-height: 1.45; }
.mbb-map-attribution a { color: var(--mbb-primary-700); }

/* ---------- CTA-Band ---------- */

.mbb-cta-band {
	background: #3c535c;
	color: #fff;
	padding: 2.6rem 0;
}

.mbb-cta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 2rem;
	flex-wrap: wrap;
}
.mbb-cta-band h2 { color: #fff; margin-bottom: 0.25em; }
.mbb-cta-band p { margin: 0; opacity: 0.92; max-width: 560px; }

/* ---------- Footer ---------- */

.mbb-footer { background: var(--mbb-dark); color: #b9c2c7; }

.mbb-footer-grid {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1.2fr 1fr;
	gap: max(var(--mbb-grid-gap, 1.4rem), 2rem);
	padding: 3rem 0 2rem;
}
@media (max-width: 940px) { .mbb-footer-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .mbb-footer-grid { grid-template-columns: 1fr; } }

.mbb-footer h2 { color: #fff; font-size: 1rem; text-transform: uppercase; letter-spacing: 0; margin-bottom: 1rem; }

.mbb-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.55rem; }
.mbb-footer a { color: #cdd5d9; text-decoration: none; }
.mbb-footer li > a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding-block: 0.25rem;
}
.mbb-footer a:hover { color: #fff; text-decoration: underline; }
.mbb-footer-privacy-button {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0.25rem 0;
	border: 0;
	background: transparent;
	color: #cdd5d9;
	font: inherit;
	text-align: left;
	cursor: pointer;
}
.mbb-footer-privacy-button:hover,
.mbb-footer-privacy-button:focus-visible { color: #fff; text-decoration: underline; }

.mbb-footer-brand img { filter: brightness(0) invert(1); opacity: 0.92; margin-bottom: 1rem; width: var(--mbb-logo-w, 130px); }
.mbb-footer-brand p { font-size: 0.95rem; line-height: 1.6; }

.mbb-footer-contact li { display: flex; align-items: center; gap: 0.6em; }
.mbb-footer-contact .mbb-icon-sm { color: var(--mbb-primary-300); flex: none; }

.mbb-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); padding: 1.3rem 0; font-size: 0.88rem; }
.mbb-footer-bottom p { margin: 0; }

/* ---------- Cookie-Hinweis ---------- */

/* Wichtig: display:flex würde das hidden-Attribut überschreiben –
   deshalb muss [hidden] hier ausdrücklich gewinnen. */
.mbb-cookie[hidden] { display: none !important; }

.mbb-cookie {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	width: min(470px, calc(100% - 2rem));
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow-lg);
	padding: 0.72rem 0.82rem;
	display: flex;
	gap: 0.72rem;
	align-items: center;
	z-index: 150;
	max-height: min(42vh, 300px);
	overflow: auto;
}
.mbb-cookie p { margin: 0; font-size: 0.82rem; color: var(--mbb-muted); line-height: 1.42; }
.mbb-cookie .mbb-btn { flex: none; }
.mbb-consent {
	width: min(640px, calc(100% - 2rem));
	align-items: flex-start;
}
.mbb-consent p { flex: 1 1 auto; }
.mbb-consent-actions {
	display: flex;
	flex: none;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.5rem;
}
@media (max-width: 600px) {
	.mbb-cookie {
		right: 0.5rem;
		width: calc(100% - 1rem);
		bottom: 0.5rem;
		flex-direction: row;
		align-items: center;
		text-align: left;
		padding: 0.65rem;
		gap: 0.55rem;
	}
		.mbb-cookie p { font-size: 0.8rem; }
		.mbb-cookie .mbb-btn { justify-content: center; padding-block: 0.48em; min-width: 94px; }
		.mbb-consent { flex-direction: column; align-items: stretch; }
		.mbb-consent-actions { display: grid; grid-template-columns: 1fr 1fr; }
}

/* ---------- 404 & Wartungsmodus ---------- */

.mbb-error-page { text-align: center; padding-top: clamp(4rem, 10vw, 7rem); }
.mbb-error-code {
	font-size: 6.5rem;
	font-weight: 800;
	line-height: 1;
	color: var(--mbb-primary-100);
	margin-bottom: 0.1em;
}
@media (max-width: 700px) { .mbb-error-code { font-size: 4.5rem; } }
.mbb-error-page .mbb-btn { margin-top: 1rem; }

.mbb-maintenance {
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f7f9fa;
	padding: 2rem 1rem;
}

.mbb-maintenance-card {
	max-width: 620px;
	width: 100%;
	padding: clamp(2.2rem, 6vw, 3.5rem);
	text-align: center;
}
.mbb-maintenance-card img { margin: 0 auto 1.8rem; width: 170px; }
.mbb-maintenance-card h1 { font-size: 2.75rem; }
@media (max-width: 700px) { .mbb-maintenance-card h1 { font-size: 2rem; } }
.mbb-maintenance-card p { color: var(--mbb-muted); }
.mbb-maintenance-contact { margin-top: 1.6rem; justify-items: center; }
.mbb-maintenance-contact li { justify-content: center; }

/* ---------- Rechtsseiten ---------- */

.mbb-legal p { color: var(--mbb-text); }
.mbb-legal h2 {
	font-size: 1.35rem;
	padding-top: 0.5rem;
	border-top: 1px solid var(--mbb-border);
}
.mbb-legal h3 { font-size: 1.08rem; }
.mbb-legal ul { margin: 0.8rem 0 1.25rem; }
.mbb-legal li + li { margin-top: 0.35rem; }
.mbb-legal-toc {
	margin: 0 0 2rem;
	padding: 1rem 1.15rem;
	border-left: 3px solid var(--mbb-primary);
	background: var(--mbb-bg-alt);
}
.mbb-legal-toc-title { margin: 0 0 0.55rem !important; font-weight: 700; color: var(--mbb-dark) !important; }
.mbb-legal-toc ol { margin: 0; padding-left: 1.2rem; columns: 2; column-gap: 2.5rem; }
.mbb-legal-toc li { break-inside: avoid; margin: 0 0 0.35rem; }
.mbb-legal-toc-level-3 { margin-left: 0.75rem !important; }
.mbb-legal-toc a { color: var(--mbb-primary-700); }
.mbb-legal :target { scroll-margin-top: calc(var(--mbb-header-h, 78px) + 1rem); }
@media (max-width: 700px) { .mbb-legal-toc ol { columns: 1; } }
.mbb-custom-page {
	font-size: 1.03rem;
	color: var(--mbb-text);
}
.mbb-custom-page p + p { margin-top: 1rem; }

/* ---------- Hinweisleiste ---------- */

.mbb-notice-bar[hidden] { display: none !important; }

.mbb-notice-bar {
	background: var(--mbb-notice-bg, var(--mbb-dark));
	color: var(--mbb-notice-text, #fff);
	font-size: var(--mbb-type-small);
}
.mbb-notice-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	padding: 0.7rem 0;
	min-height: 44px;
}
.mbb-notice-inner-wide {
	width: 100%;
	max-width: none;
	padding-inline: clamp(1rem, 3vw, 3rem);
}
.mbb-notice-size-compact .mbb-notice-inner { min-height: 36px; padding-top: 0.42rem; padding-bottom: 0.42rem; }
.mbb-notice-size-prominent { font-size: var(--mbb-type-body); }
.mbb-notice-size-prominent .mbb-notice-inner { min-height: 58px; padding-top: 0.95rem; padding-bottom: 0.95rem; }
.mbb-notice-bar p { color: inherit; }
.mbb-notice-bar a { color: var(--mbb-notice-link, #dcebed); }
.mbb-notice-inner p { margin: 0; text-align: center; }
.mbb-notice-inner a {
	color: var(--mbb-notice-link, #dcebed);
	font-weight: 650;
	white-space: nowrap;
	display: inline-flex;
	align-items: center;
	gap: 0.3em;
}
.mbb-notice-close {
	position: absolute;
	right: max(1.25rem, calc((100% - min(var(--mbb-container-w, 1180px), 100% - 2.5rem)) / 2));
	background: none;
	border: 0;
	color: var(--mbb-notice-text, #fff);
	cursor: pointer;
	padding: 0.3rem;
	opacity: 0.8;
	line-height: 0;
}
.mbb-notice-close:hover { opacity: 1; }
.mbb-notice-inner { position: relative; }

/* ---------- Kontakt: Einsatzradius ---------- */

.mbb-city-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--mbb-grid-gap, 0.9rem);
}
@media (max-width: 860px) { .mbb-city-list { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .mbb-city-list { grid-template-columns: 1fr; } }

.mbb-city-list li {
	display: flex;
	align-items: center;
	gap: 0.6em;
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
	padding: 0.85rem 1.1rem;
	font-weight: 570;
	color: var(--mbb-dark);
}
.mbb-city-list .mbb-icon-sm { color: var(--mbb-primary-600); flex: none; }

.mbb-city-list-compact {
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.45rem 1rem;
	margin-top: 1rem;
}
.mbb-city-list-compact li {
	background: transparent;
	border: 0;
	border-radius: 0;
	padding: 0.35rem 0;
	font-size: 0.92rem;
}
@media (max-width: 520px) { .mbb-city-list-compact { grid-template-columns: 1fr 1fr; } }

/* ---------- FAQ-Suche ---------- */

.mbb-faq-search {
	position: relative;
	display: flex;
	align-items: center;
	margin-bottom: 1.4rem;
}
.mbb-faq-search .mbb-icon-sm {
	position: absolute;
	left: 1rem;
	color: var(--mbb-muted);
	pointer-events: none;
}
.mbb-faq-search input {
	width: 100%;
	padding: 0.8em 1em 0.8em 2.6em;
	border: 1.5px solid var(--mbb-border);
	border-radius: 8px;
	font: inherit;
	color: var(--mbb-text);
}
.mbb-faq-search input:focus {
	outline: none;
	border-color: var(--mbb-primary);
	box-shadow: 0 0 0 3px var(--mbb-primary-100);
}
.mbb-faq-noresult {
	color: var(--mbb-muted);
	background: var(--mbb-bg-alt);
	border-radius: 8px;
	padding: 1rem 1.2rem;
	margin-bottom: 1.2rem;
}
.mbb-faq[hidden] { display: none; }

.mbb-visually-hidden {
	position: absolute !important;
	width: 1px; height: 1px;
	padding: 0; margin: -1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}

/* ---------- Immobilien ---------- */

.mbb-home-realestate {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(1.4rem, 4vw, 3rem));
	align-items: start;
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-left: 4px solid var(--mbb-accent);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	padding: max(var(--mbb-card-pad-y, 1.9rem), clamp(1.25rem, 3vw, 2rem)) var(--mbb-card-pad-x, 1.7rem);
}
.mbb-home-realestate h2 {
	margin: 0 0 0.85rem;
	font-size: 2.1rem;
}
.mbb-home-realestate-text p:not(.mbb-property-meta) {
	max-width: 680px;
	color: var(--mbb-muted);
	font-size: var(--mbb-type-body);
	line-height: 1.75;
}
.mbb-home-realestate .mbb-btn { margin-top: 0.9rem; }
.mbb-home-realestate-single { grid-template-columns: minmax(0, 760px); }
.mbb-home-compliance {
	background: var(--mbb-accent-bg);
	border: 1px solid rgba(47, 111, 99, 0.28);
	border-radius: var(--mbb-radius);
	padding: max(calc(var(--mbb-card-pad-y, 1.9rem) * 0.72), clamp(1.1rem, 3vw, 1.6rem));
}
.mbb-home-compliance h3 {
	margin: 0 0 0.8rem;
	font-size: 1.2rem;
}
.mbb-home-compliance p {
	margin: 0;
	color: var(--mbb-muted);
	line-height: 1.65;
}
.mbb-home-compliance p + p { margin-top: 0.65rem; }
.mbb-home-compliance strong { color: var(--mbb-dark); }
@media (max-width: 860px) {
	.mbb-home-realestate { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.mbb-home-realestate h2 { font-size: 1.6rem; }
	.mbb-home-realestate-text p:not(.mbb-property-meta) { font-size: 1rem; line-height: 1.65; }
	.mbb-home-compliance { padding: 1rem; }
}

.mbb-property-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(1.2rem, 3vw, 2rem));
}
@media (max-width: 860px) { .mbb-property-grid { grid-template-columns: 1fr; } }

.mbb-property-card {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	overflow: hidden;
	box-shadow: var(--mbb-shadow);
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.mbb-property-card:hover {
	transform: translateY(-2px);
	border-color: var(--mbb-primary-300);
	box-shadow: var(--mbb-shadow-lg);
}
.mbb-property-media {
	aspect-ratio: 16 / 10;
	background: var(--mbb-primary-050);
	overflow: hidden;
}
.mbb-property-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mbb-property-body {
	padding: max(calc(var(--mbb-card-pad-y, 1.9rem) * 0.75), clamp(1.1rem, 3vw, 1.5rem)) var(--mbb-card-pad-x, 1.7rem);
	display: flex;
	flex-direction: column;
	gap: 0.9rem;
}
.mbb-property-body h2 {
	font-size: 1.45rem;
	margin: 0;
}
.mbb-property-body p { margin: 0; }
.mbb-property-meta {
	color: var(--mbb-primary-700);
	font-size: 0.9rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0;
}
.mbb-property-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.mbb-property-facts span {
	background: var(--mbb-accent-bg);
	border: 1px solid var(--mbb-accent);
	border-radius: 8px;
	color: var(--mbb-dark);
	font-weight: 650;
	padding: 0.35rem 0.65rem;
}
.mbb-property-features {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 0.45rem;
	color: var(--mbb-muted);
}
.mbb-property-features li {
	display: flex;
	gap: 0.45rem;
	align-items: flex-start;
}
.mbb-property-features .mbb-icon-sm {
	color: var(--mbb-primary-600);
	flex: none;
	margin-top: 0.12rem;
}

.mbb-property-hero {
	background: #f5f7f8;
	padding: clamp(3.5rem, 8vw, 6.5rem) 0 clamp(2.5rem, 6vw, 4rem);
}
.mbb-property-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 0.92fr) minmax(320px, 1.08fr);
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(1.5rem, 4vw, 3rem));
	align-items: center;
}
@media (max-width: 900px) { .mbb-property-hero-grid { grid-template-columns: 1fr; } }
.mbb-property-hero-text {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.mbb-property-hero-text h1 {
	font-size: 3.25rem;
	margin: 0;
	max-width: 13ch;
}
@media (max-width: 700px) {
	.mbb-property-body h2 { font-size: 1.25rem; }
	.mbb-property-hero-text h1 { font-size: 2.15rem; max-width: none; }
}
.mbb-property-hero-media {
	border-radius: var(--mbb-radius);
	overflow: hidden;
	box-shadow: var(--mbb-shadow);
	background: #fff;
	aspect-ratio: 16 / 11;
}
.mbb-property-hero-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mbb-property-detail-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(1.5rem, 4vw, 3rem));
	align-items: start;
}
@media (max-width: 900px) { .mbb-property-detail-grid { grid-template-columns: 1fr; } }
.mbb-property-detail-grid h2 { margin-top: 0; }
.mbb-property-detail-grid h2 + p { margin-top: 0; }
.mbb-property-features-wide {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}
@media (max-width: 640px) { .mbb-property-features-wide { grid-template-columns: 1fr; } }
.mbb-property-sidebar {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	padding: clamp(1.1rem, 3vw, 1.5rem);
}
.mbb-property-sidebar dl {
	display: grid;
	grid-template-columns: minmax(90px, 0.8fr) minmax(0, 1.2fr);
	gap: 0.55rem 0.9rem;
	margin: 1rem 0 1.4rem;
}
.mbb-property-sidebar dt {
	color: var(--mbb-muted);
	font-weight: 650;
}
.mbb-property-sidebar dd { margin: 0; color: var(--mbb-dark); }
/* ---------- Flexible Größen aus dem Backend ---------- */

@media (min-width: 701px) {
	.mbb-hero { min-height: min(var(--mbb-hero-image-h, 560px), calc(100svh - var(--mbb-header-h, 78px))); }
}

@media (min-width: 1101px) {
	.mbb-header-inner {
		min-height: var(--mbb-header-h, 78px);
		gap: clamp(0.65rem, 1.8vw, 1.35rem);
	}
	.mbb-nav { flex: 1 1 auto; min-width: 0; }
	.mbb-nav ul { justify-content: flex-end; gap: 0.18rem; }
	.mbb-nav a:not(.mbb-btn),
	.mbb-sub-toggle {
		padding: 0.5em 0.62em;
		font-size: 0.93rem;
		line-height: 1.2;
		white-space: nowrap;
	}
	.mbb-nav-cta { margin-left: 0.25rem; }
	.mbb-nav-cta .mbb-btn { padding: 0.5em 0.78em; }
}

.mbb-logo img {
	max-height: calc(var(--mbb-header-h, 78px) - 16px);
	object-fit: contain;
}

.mbb-page-illu img {
	height: var(--mbb-page-image-h, 360px);
	max-height: var(--mbb-page-image-h, 360px);
	object-fit: var(--mbb-image-fit, cover);
}

.mbb-card-illu img {
	height: var(--mbb-card-image-h, 238px);
	aspect-ratio: auto;
	object-fit: var(--mbb-image-fit, cover);
}

.mbb-about-teaser {
	grid-template-columns: minmax(240px, var(--mbb-about-image-w, 460px)) 1fr;
}

.mbb-about-media img {
	object-fit: var(--mbb-image-fit, cover);
}

.mbb-property-media img,
.mbb-property-hero-media img {
	object-fit: var(--mbb-image-fit, cover);
}

.mbb-cards-auto {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 245px), 1fr));
	gap: var(--mbb-grid-gap, 1.4rem);
}

.mbb-split-feature {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	gap: max(var(--mbb-grid-gap, 1.4rem), clamp(1.5rem, 4vw, 3rem));
	align-items: start;
}
@media (max-width: 860px) {
	.mbb-split-feature { grid-template-columns: 1fr; }
}

.mbb-plain-list {
	margin: 0.65rem 0 0;
	padding-left: 1.15rem;
	color: var(--mbb-muted);
}
.mbb-plain-list li + li { margin-top: 0.45rem; }
.mbb-damage-list-compact { margin-top: 1.2rem; }

.mbb-section-action { margin-top: 1.6rem; }

.mbb-blog-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 285px), 1fr));
	gap: var(--mbb-grid-gap, 1.4rem);
}

.mbb-blog-card {
	background: #fff;
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius);
	box-shadow: var(--mbb-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.mbb-blog-card-media {
	display: block;
	height: var(--mbb-blog-image-h, 220px);
	background: var(--mbb-primary-050);
}

.mbb-blog-card-media img {
	width: 100%;
	height: 100%;
	object-fit: var(--mbb-image-fit, cover);
}

.mbb-blog-card-body {
	padding: var(--mbb-card-pad-y, 1.9rem) var(--mbb-card-pad-x, 1.7rem);
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	flex: 1;
}

.mbb-blog-card h2,
.mbb-blog-card h3 { font-size: 1.12rem; }
.mbb-blog-card h2 a,
.mbb-blog-card h3 a { color: inherit; text-decoration: none; }
.mbb-blog-card p { color: var(--mbb-muted); }

.mbb-blog-article {
	max-width: 820px;
	font-size: 1.04rem;
}
.mbb-blog-article :where(h2, h3, h4) { margin-top: 1.5em; }
.mbb-blog-article img { border-radius: var(--mbb-radius); }

/* ---------- Seiten-Rhythmus und mobile Dichte 1.4.12 ---------- */

body.mbb-body { overflow-x: hidden; }

.mbb-container { width: min(var(--mbb-container-w, 1180px), 100% - 2rem); }

.mbb-hero {
	min-height: min(var(--mbb-hero-image-h, 560px), calc(100svh - 70px));
}

.mbb-hero-inner {
	padding: var(--mbb-hero-pad, 4.6rem) 0 3.2rem;
	max-width: none;
}

.mbb-hero h1 {
	font-size: 3rem;
	line-height: 1.08;
	max-width: 18ch;
	margin-bottom: 0.36em;
}

.mbb-hero p {
	font-size: var(--mbb-type-lead);
	line-height: 1.58;
	max-width: 650px;
}

.mbb-hero-actions { margin-top: 1.1rem; }

.mbb-hero-focus {
	margin-top: 1.15rem;
	padding-top: 0.75rem;
	gap: 0.55rem;
}

.mbb-hero-focus li { padding: 0.58rem 0.65rem; }
.mbb-hero-focus span { font-size: var(--mbb-type-meta); }
.mbb-hero-focus strong { font-size: var(--mbb-type-small); line-height: 1.28; }

.mbb-section-head { margin-bottom: 1.8rem; }
.mbb-section-head p,
.mbb-page-head .mbb-lead { font-size: var(--mbb-type-lead); line-height: 1.62; }

.mbb-page-head-grid { gap: 2rem; }
.mbb-card,
.mbb-step,
.mbb-tile,
.mbb-contact-card,
.mbb-form { gap: 0.32rem; }

.mbb-card-icon,
.mbb-usp-icon,
.mbb-tile-icon {
	width: 48px;
	height: 48px;
	margin-bottom: 0.65rem;
}

.mbb-card-illu { margin-bottom: 1rem; }
.mbb-role-note { padding: 1.15rem 1.25rem; }
.mbb-form { padding: max(var(--mbb-card-pad-y, 1.45rem), 1.45rem) var(--mbb-card-pad-x, 1.3rem); }
.mbb-cta-band { padding: 2.6rem 0; }

.mbb-footer-grid {
	gap: 2rem;
	padding: 3rem 0 2rem;
}

.mbb-legal {
	max-width: 900px;
	font-size: 0.98rem;
	line-height: 1.72;
}

.mbb-legal h2,
.mbb-legal h3 {
	margin-top: 1.55em;
	margin-bottom: 0.5em;
}

@media (max-width: 860px) {
	.mbb-about-teaser {
		grid-template-columns: 1fr;
		gap: 1.4rem;
	}
	.mbb-about-media {
		max-width: min(100%, 360px);
		margin-inline: auto;
	}
	.mbb-about-text {
		min-width: 0;
		width: 100%;
	}
}

@media (max-width: 700px) {
	body.mbb-body { font-size: 16px; }

	.mbb-container { width: min(var(--mbb-container-w, 1180px), 100% - 1.25rem); }
	.mbb-header-inner { min-height: var(--mbb-mobile-header-h, 64px); }
	.mbb-logo img {
		width: var(--mbb-mobile-logo-w, 112px);
		max-height: calc(var(--mbb-mobile-header-h, 64px) - 12px);
	}

	.mbb-hero-inner {
		padding: 2.35rem 0 1.8rem;
		justify-content: flex-start;
	}

	.mbb-hero h1 {
		font-size: 2.05rem;
		line-height: 1.1;
		max-width: 13ch;
		margin-bottom: 0.45em;
	}

	.mbb-hero p {
		font-size: 0.95rem;
		line-height: 1.52;
	}

	.mbb-hero-actions {
		margin-top: 0.9rem;
		gap: 0.5rem;
	}

	.mbb-hero-actions .mbb-btn {
		width: 100%;
		justify-content: center;
		white-space: normal;
		text-align: center;
	}

	.mbb-hero-focus {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		margin-top: 0.9rem;
		padding-top: 0.65rem;
		gap: 0.45rem;
	}

	.mbb-hero-focus li { padding: 0.48rem; }
	.mbb-hero-focus li:last-child:nth-child(odd) {
		grid-column: 1 / -1;
		width: calc(50% - 0.225rem);
		justify-self: center;
	}
	.mbb-hero-focus span { font-size: var(--mbb-type-meta); }
	.mbb-hero-focus strong { font-size: var(--mbb-type-small); }

	.mbb-section { padding: 2.15rem 0; }
	.mbb-section-compact { padding: 1.35rem 0; }
	.mbb-section-head { margin-bottom: 1.25rem; }

	.mbb-page-head { padding: 2.05rem 0; }
	.mbb-page-head + .mbb-section { padding-top: 1.65rem; }
	.mbb-page-head .mbb-lead { font-size: 1rem; }
	.mbb-page-head-grid { gap: 1.25rem; }

	.mbb-page-illu img {
		height: min(var(--mbb-page-image-h, 220px), 220px);
		max-height: 220px;
	}

	.mbb-card,
	.mbb-step,
	.mbb-tile,
	.mbb-contact-card,
	.mbb-form {
		padding: 1rem;
	}

	.mbb-cards-3,
	.mbb-cards-4,
	.mbb-cards-auto,
	.mbb-blog-grid,
	.mbb-tiles,
	.mbb-steps {
		gap: 0.85rem;
	}

	.mbb-card-illu {
		margin: -1rem -1rem 0.85rem;
	}

	.mbb-card-illu img {
		height: min(var(--mbb-card-image-h, 170px), 170px);
		max-height: 170px;
	}

	.mbb-card-icon,
	.mbb-usp-icon,
	.mbb-tile-icon {
		width: var(--mbb-symbol-size);
		height: var(--mbb-symbol-size);
		margin-bottom: 0.45rem;
	}

	.mbb-role-note {
		padding: 1rem;
		gap: 0.7rem;
	}

	.mbb-topic-options { gap: 0.45rem; }
	.mbb-topic-option span {
		padding: 0.45em 0.7em;
		font-size: 0.92rem;
	}

	.mbb-contact-card { margin-bottom: 0.9rem; }
	.mbb-cta-band { padding: 2rem 0; }

	.mbb-footer-grid {
		grid-template-columns: 1fr;
		gap: 1.15rem;
		padding: 2rem 0 1.3rem;
	}

	.mbb-footer h2 {
		font-size: 0.88rem;
		margin-bottom: 0.45rem;
	}

	.mbb-footer ul { gap: 0.3rem; }
	.mbb-footer-brand p { font-size: 0.9rem; line-height: 1.45; }
	.mbb-footer-bottom { padding: 0.9rem 0; }

	.mbb-cookie {
		left: 0.65rem;
		right: 0.65rem;
		bottom: 0.65rem;
		width: auto;
		padding: 0.58rem;
		gap: 0.5rem;
	}

	.mbb-cookie p {
		font-size: var(--mbb-type-meta);
		line-height: 1.32;
	}

	.mbb-cookie .mbb-btn {
		min-width: 82px;
		padding: 0.42em 0.62em;
		font-size: var(--mbb-type-small);
	}
}

/* ---------- Verbindliche Typografie-Rollen ---------- */

.mbb-contact-card { padding: 0; }
.mbb-contact-card + .mbb-contact-card { padding-top: 1.75rem; }
.mbb-cookie .mbb-btn { min-height: 40px; }

.mbb-nav a:not(.mbb-btn),
.mbb-sub-toggle,
.mbb-btn,
.mbb-card-more,
.mbb-job-meta,
.mbb-contact-card p,
.mbb-form-check label,
.mbb-form-note,
.mbb-footer,
.mbb-advice-step p,
.mbb-advice-scope-copy p,
.mbb-advice-scope ul {
	font-size: var(--mbb-type-small);
}

.mbb-card p,
.mbb-usp p,
.mbb-tile p,
.mbb-step p,
.mbb-about-principle p,
.mbb-form label,
.mbb-footer-brand p,
.mbb-cookie p,
.mbb-map-placeholder p {
	font-size: var(--mbb-type-small);
}

.mbb-property-meta,
.mbb-demo-badge,
.mbb-advice-topics span,
.mbb-advice-step > span,
.mbb-hero-focus span,
.mbb-portrait-caption,
.mbb-about-profile small,
.mbb-about-fact span {
	font-size: var(--mbb-type-meta);
}

.mbb-section-head p,
.mbb-page-head .mbb-lead,
.mbb-hero p,
.mbb-advice-lead > p:last-child {
	font-size: var(--mbb-type-lead);
}

.mbb-statement,
.mbb-statement p,
.mbb-about-story p:first-child,
.mbb-map-placeholder strong {
	font-size: var(--mbb-type-lead);
}

.mbb-advice-topics strong,
.mbb-faq summary { font-size: var(--mbb-type-body); }

.mbb-portrait-caption strong { font-size: var(--mbb-type-small); }

.mbb-card h3,
.mbb-tile h3,
.mbb-step h3,
.mbb-about-principle h3,
.mbb-blog-card h2,
.mbb-blog-card h3,
.mbb-advice-step h3,
.mbb-advice-pillar h3,
.mbb-job h2,
.mbb-contact-card h2 {
	font-size: var(--mbb-type-h3);
}

.mbb-advice-scope-copy h2 { font-size: var(--mbb-type-h3); }

@media (max-width: 700px) {
	:root {
		--mbb-type-h1: 2rem;
		--mbb-type-h2: 1.5rem;
		--mbb-type-h3: 1.125rem;
		--mbb-type-lead: 1rem;
	}
	.mbb-hero h1 { font-size: var(--mbb-type-h1); }
	.mbb-section-head p,
	.mbb-page-head .mbb-lead,
	.mbb-hero p,
	.mbb-advice-lead > p:last-child { font-size: var(--mbb-type-lead); }
	.mbb-about-fact strong { font-size: 1.6rem; }
	.mbb-footer li > a { min-height: 40px; }
}

/* Abschließende Typografie-Kaskade: sieben feste Rollen, drei Zeilenhöhen. */
body.mbb-body :where(p:not(.mbb-error-code), li, dt, dd, blockquote, label, input, select, textarea, button, summary, td, th) {
	font-size: var(--mbb-type-body);
	line-height: var(--mbb-line-text);
}
body.mbb-body :where(h1) { font-size: var(--mbb-type-h1); line-height: var(--mbb-line-compact); }
body.mbb-body :where(h2) { font-size: var(--mbb-type-h2); line-height: var(--mbb-line-compact); }
body.mbb-body :where(h3, h4) { font-size: var(--mbb-type-h3); line-height: var(--mbb-line-compact); }
body.mbb-body :where(.mbb-nav a:not(.mbb-btn), .mbb-sub-toggle, .mbb-btn, .mbb-card-more, .mbb-form-note, .mbb-form-check label, .mbb-footer, small) {
	font-size: var(--mbb-type-small);
	line-height: var(--mbb-line-ui);
}
body.mbb-body :where(.mbb-property-meta, .mbb-demo-badge, .mbb-advice-topics span, .mbb-advice-step > span, .mbb-hero-focus span, .mbb-portrait-caption, .mbb-about-profile small, .mbb-about-fact span, .mbb-map-credit, .mbb-map-radius-label span, .mbb-legal-toc li) {
	font-size: var(--mbb-type-meta);
	line-height: var(--mbb-line-ui);
}
body.mbb-body :where(.mbb-section-head p, .mbb-page-head .mbb-lead, .mbb-hero > .mbb-container p, .mbb-advice-lead > p:last-child, .mbb-statement, .mbb-statement p, .mbb-about-story p:first-child, .mbb-map-placeholder strong) {
	font-size: var(--mbb-type-lead);
	line-height: var(--mbb-line-text);
}
body.mbb-body .mbb-error-code { font-size: 6.5rem; line-height: 1; }

body.mbb-body :where(h1, h2, h3, h4) {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: balance;
}
body.mbb-body :where(p, li, dt, dd, blockquote) {
	overflow-wrap: break-word;
	word-break: normal;
	hyphens: auto;
	text-wrap: pretty;
}
body.mbb-body .mbb-btn {
	justify-content: center;
	max-width: 100%;
	white-space: normal;
	text-align: center;
	overflow-wrap: anywhere;
}
body.mbb-body :where(.mbb-footer-contact a, .mbb-legal a, .mbb-custom-page a, .mbb-blog-article a) {
	overflow-wrap: anywhere;
}
body.mbb-body :where(.mbb-legal, .mbb-custom-page, .mbb-blog-article) {
	max-width: min(100%, 72ch);
}

/* ---------- Bilder-Schutz (nur mit Backend-Option aktiv) ---------- */

.mbb-protect img {
	-webkit-user-drag: none;
	user-select: none;
	-webkit-user-select: none;
	-webkit-touch-callout: none; /* verhindert Langdruck-Menü auf iOS */
}

/* ---------- Scroll-Animationen (dezent, barrierefrei) ---------- */

.mbb-reveal { opacity: 1; transform: none; transition: none; }
.js-animate .mbb-reveal { opacity: 0; transform: translateY(18px); transition: opacity 0.55s ease, transform 0.55s ease; }
.js-animate .mbb-reveal.mbb-visible { opacity: 1; transform: none; }

/* Ohne JavaScript und bei reduzierter Bewegung: alles sofort sichtbar. */
.no-js .mbb-reveal { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.mbb-reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
	.mbb-btn, .mbb-card-link, .mbb-tile { transition: none !important; }
	.mbb-btn:hover, .mbb-card-link:hover { transform: none !important; }
}

/* ---------- Struktur- und Interaktionssystem 1.4.18 ---------- */

.mbb-service-disclosure { margin-top: 1.4rem; margin-bottom: 1.6rem; }
.mbb-service-disclosure .mbb-role-note {
	max-width: 880px;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 0.75rem;
	padding: 0.85rem 1rem;
	box-shadow: none;
}
.mbb-service-disclosure .mbb-role-icon { width: 34px; height: 34px; padding: 8px; }
.mbb-service-disclosure .mbb-role-note p { font-size: 0.88rem; line-height: 1.5; }

.mbb-about-experience {
	margin-top: 2rem;
	padding: 0;
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}
.mbb-about-experience > summary,
.mbb-initiative > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1rem 0;
	cursor: pointer;
	list-style: none;
}
.mbb-about-experience > summary::-webkit-details-marker,
.mbb-initiative > summary::-webkit-details-marker { display: none; }
.mbb-about-experience > summary span,
.mbb-initiative > summary span { display: grid; gap: 0.15rem; }
.mbb-about-experience > summary strong { font-size: 1.08rem; }
.mbb-about-experience > summary small,
.mbb-initiative > summary small { color: var(--mbb-muted); font-weight: 450; }
.mbb-about-experience[open] > summary .mbb-icon,
.mbb-initiative[open] > summary .mbb-icon { transform: rotate(180deg); }
.mbb-about-experience-copy { padding: 0.4rem 0 1.4rem; }

.mbb-faq-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	max-width: 920px;
	margin: 0 auto 1.2rem;
}
.mbb-faq-filters button {
	border: 1px solid var(--mbb-border);
	border-radius: 6px;
	background: #fff;
	color: var(--mbb-muted);
	padding: 0.48rem 0.7rem;
	cursor: pointer;
}
.mbb-faq-filters button.is-active { border-color: var(--mbb-primary); background: var(--mbb-primary-050); color: var(--mbb-primary-700); }
.mbb-faq-category { border-top: 1px solid var(--mbb-border); }
.mbb-faq-category:last-child { border-bottom: 1px solid var(--mbb-border); }
.mbb-faq-category > summary {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 20px;
	align-items: center;
	gap: 0.7rem;
	list-style: none;
	padding: 0.9rem 0;
	cursor: pointer;
	color: var(--mbb-dark);
}
.mbb-faq-category > summary::-webkit-details-marker { display: none; }
.mbb-faq-category > summary span { font-weight: 700; }
.mbb-faq-category > summary small { color: var(--mbb-muted); }
.mbb-faq-category[open] > summary > .mbb-icon { transform: rotate(180deg); }
.mbb-faq-category-items { display: grid; gap: 0.65rem; padding-bottom: 1rem; }
.mbb-faq-category[hidden] { display: none; }

.mbb-jobs { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.mbb-job { display: flex; flex-direction: column; padding: 1.25rem; box-shadow: none; }
.mbb-job h2 { margin-bottom: 0.25rem; }
.mbb-job-subtitle { margin: 0 0 0.7rem; color: var(--mbb-muted); }
.mbb-job > p { color: var(--mbb-muted); }
.mbb-job .mbb-btn { align-self: flex-start; margin-top: auto; }
.mbb-job-dialog {
	width: min(920px, calc(100% - 2rem));
	max-height: 90vh;
	padding: 0;
	border: 0;
	border-radius: 8px;
	box-shadow: 0 24px 70px rgba(20, 28, 31, 0.28);
}
.mbb-job-dialog::backdrop { background: rgba(20, 28, 31, 0.62); }
.mbb-job-dialog-shell { position: relative; max-height: 90vh; overflow-y: auto; padding: clamp(1.25rem, 4vw, 2.4rem); }
.mbb-job-close { position: sticky; z-index: 2; top: 0; float: right; display: grid; place-items: center; width: 38px; height: 38px; border: 1px solid var(--mbb-border); border-radius: 50%; background: #fff; cursor: pointer; }
.mbb-job-dialog header { padding-right: 3rem; margin-bottom: 1.5rem; }
.mbb-job-dialog header h2 { max-width: 22ch; }
.mbb-job-dialog-content { color: var(--mbb-muted); }
.mbb-job-dialog-apply { margin-top: 2rem; padding-top: 1.6rem; border-top: 1px solid var(--mbb-border); }
.mbb-job-dialog-apply h3 { margin-bottom: 1rem; }
.mbb-job-application-form { padding: 0; border: 0; box-shadow: none; }
.mbb-initiative { border-top: 1px solid var(--mbb-border); border-bottom: 1px solid var(--mbb-border); }
.mbb-initiative > summary strong { font-size: var(--mbb-type-h3); }
.mbb-initiative-form { padding: 0.5rem 0 1.5rem; }

.mbb-map-shell { aspect-ratio: auto; min-height: 430px; }
.mbb-map-shell.mbb-map-loaded { min-height: 300px; aspect-ratio: 16 / 11; }
.mbb-map-preview { width: 100%; height: 145px; margin-bottom: 0.8rem; border: 1px solid var(--mbb-border); background: #edf2f3; overflow: hidden; }
.mbb-map-preview-svg { display: block; width: 100%; height: 100%; }
.mbb-map-preview-grid { fill: none; stroke: #cfdadd; stroke-width: 1; }
.mbb-map-preview-radius { fill: rgba(47, 111, 99, 0.18); stroke: var(--mbb-accent); stroke-width: 2; }
.mbb-map-preview-centre { fill: var(--mbb-primary-700); stroke: #fff; stroke-width: 3; }
.mbb-map-preview-north { fill: var(--mbb-muted); font: 700 14px sans-serif; text-anchor: middle; }
.mbb-map-preview-scale { fill: var(--mbb-muted); font: 600 12px sans-serif; }
.mbb-map-placeholder { justify-content: flex-start; padding: 1rem; }
.mbb-map-placeholder-icon { display: none; }
.mbb-project-places h2 { margin-bottom: 0.45rem; }
.mbb-project-places-more { margin-top: 0.6rem; }
.mbb-project-places-more > summary { cursor: pointer; color: var(--mbb-primary-700); font-weight: 650; padding: 0.55rem 0; }
.mbb-project-places-more[open] > summary { margin-bottom: 0.25rem; }

@media (max-width: 720px) {
	.mbb-jobs { grid-template-columns: 1fr; }
	.mbb-job-dialog { width: calc(100% - 1rem); max-height: 96vh; }
	.mbb-job-dialog-shell { max-height: 96vh; padding: 1rem; }
	.mbb-map-shell { min-height: 455px; }
}

/* ---------- Verbindliches Layoutsystem 1.5.0 ---------- */

.mbb-header {
	background: #fff;
	backdrop-filter: none;
}
.mbb-header-inner { padding-block: 0.2rem; }
.mbb-logo img { flex: none; }

@media (min-width: 1101px) {
	.mbb-nav ul { gap: 0.3rem; }
	.mbb-nav a:not(.mbb-btn),
	.mbb-sub-toggle { padding: 0.56em 0.72em; }
	.mbb-nav-cta { margin-left: 0.35rem; }
}

.mbb-hero { min-height: min(var(--mbb-hero-image-h, 560px), calc(100svh - var(--mbb-header-h, 78px))); }
.mbb-hero-inner { padding-block: clamp(3rem, 7vh, 4.8rem) 2.4rem; }
.mbb-hero-copy { max-width: 720px; }
.mbb-hero h1 { max-width: 17ch; }
.mbb-hero-focus {
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 165px), 1fr));
	align-items: stretch;
}
.mbb-hero-focus li { min-height: 74px; }

.mbb-section { padding-block: var(--mbb-section-y, 3.6rem); }
.mbb-section-head { max-width: 760px; margin-bottom: clamp(1.45rem, 3vw, 2rem); }
.mbb-page-head { padding-block: var(--mbb-page-head-y, 2.9rem); }
.mbb-page-head-grid { grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.65fr); gap: clamp(1.5rem, 4vw, 3.5rem); }
.mbb-page-head h1 { max-width: 24ch; }
.mbb-page-illu img { border-radius: 6px; box-shadow: none; }

.mbb-card,
.mbb-blog-card,
.mbb-property-card,
.mbb-job,
.mbb-form,
.mbb-role-note {
	border-radius: min(var(--mbb-radius), 8px);
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.06);
}
.mbb-card-link:hover { transform: translateY(-2px); }
.mbb-card p,
.mbb-job > p,
.mbb-property-body > p { line-height: var(--mbb-line-text); }

.mbb-faq-filters,
.mbb-faq-list,
.mbb-faq-noresult { max-width: 860px; }
.mbb-jobs { width: 100%; }
.mbb-career-form-wrap { max-width: var(--mbb-container-w, 1180px); }
.mbb-initiative { max-width: 960px; margin-inline: auto; }

.mbb-contact-grid { grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr); gap: clamp(1.5rem, 4vw, 3rem); }
.mbb-map-preview { height: auto; aspect-ratio: 2 / 1; }
.mbb-map-shell.mbb-map-loaded { aspect-ratio: 16 / 10; }

.mbb-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1.8rem;
}
.mbb-pagination > span { color: var(--mbb-muted); font-size: var(--mbb-type-small); }

@media (max-width: 1100px) {
	.mbb-header-inner { gap: 0.75rem; }
	.mbb-nav { max-height: calc(100svh - var(--mbb-mobile-header-h, 64px)); overflow-y: auto; }
}

@media (max-width: 860px) {
	.mbb-page-head-grid,
	.mbb-contact-grid { grid-template-columns: 1fr; }
	.mbb-page-illu { width: min(100%, 560px); }
}

@media (max-width: 700px) {
	.mbb-hero { min-height: min(var(--mbb-hero-image-h, 560px), 720px); }
	.mbb-hero-inner { padding-block: 2.15rem 1.5rem; }
	.mbb-hero-focus li { min-height: 68px; }
	.mbb-page-head h1 { max-width: none; }
}

/* ---------- Einheitliches Seiten- und Schriftbild 1.5.1 ---------- */

body.mbb-body .mbb-page-head-grid {
	grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
	align-items: center;
}

body.mbb-body .mbb-page-illu {
	width: 100%;
	max-width: 420px;
	justify-self: end;
}

body.mbb-body .mbb-page-illu img {
	width: 100%;
	background: #edf2f4;
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
}

body.mbb-body .mbb-section-head {
	max-width: 760px;
}

body.mbb-body :where(.mbb-card, .mbb-tile, .mbb-step, .mbb-job, .mbb-property-card, .mbb-form, .mbb-property-sidebar) {
	border-color: var(--mbb-border);
	border-radius: 8px;
	box-shadow: 0 7px 20px rgba(29, 29, 27, 0.045);
}

body.mbb-body :where(.mbb-card h3, .mbb-tile h3, .mbb-step h3, .mbb-job h2, .mbb-property-card h2, .mbb-blog-card h2, .mbb-blog-card h3, .mbb-contact-card h2) {
	font-size: var(--mbb-type-h3);
	line-height: var(--mbb-line-compact);
}

body.mbb-body .mbb-footer h2 {
	font-size: var(--mbb-type-small);
	line-height: var(--mbb-line-ui);
	text-transform: none;
}

body.mbb-body :where(.mbb-job > p, .mbb-property-body > p, .mbb-card p, .mbb-tile p, .mbb-step p, .mbb-contact-card p) {
	font-size: var(--mbb-type-small);
	line-height: var(--mbb-line-text);
}

.mbb-role-details {
	max-width: 820px;
	margin: 0 0 clamp(1.5rem, 4vw, 2.2rem);
	border-top: 1px solid var(--mbb-border);
	border-bottom: 1px solid var(--mbb-border);
}

.mbb-role-details > summary {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) 18px;
	gap: 9px;
	align-items: center;
	padding: 0.78rem 0;
	color: var(--mbb-primary-700);
	font-size: var(--mbb-type-small);
	font-weight: 650;
	line-height: var(--mbb-line-ui);
	cursor: pointer;
	list-style: none;
}

.mbb-role-details > summary::-webkit-details-marker { display: none; }
.mbb-role-details > summary .mbb-icon:last-child { justify-self: end; }
.mbb-role-details[open] > summary .mbb-icon:last-child { transform: rotate(180deg); }
.mbb-role-details > p {
	max-width: 760px;
	margin: 0;
	padding: 0 0 0.9rem 29px;
	color: var(--mbb-muted);
	font-size: var(--mbb-type-small);
	line-height: var(--mbb-line-text);
}

.mbb-role-details-compact {
	margin: 1rem 0 0;
}

.mbb-role-details-compact > summary {
	grid-template-columns: minmax(0, 1fr) 18px;
}

.mbb-role-details-compact > p { padding-left: 0; }

@media (max-width: 860px) {
	body.mbb-body .mbb-page-head-grid { grid-template-columns: 1fr; }
	body.mbb-body .mbb-page-illu {
		max-width: 420px;
		justify-self: start;
	}
}

@media (max-width: 700px) {
	body.mbb-body .mbb-page-illu { max-width: 100%; }
	body.mbb-body .mbb-page-illu img {
		height: min(var(--mbb-page-image-h, 220px), 220px);
		max-height: 220px;
	}
	body.mbb-body .mbb-role-details > p { padding-left: 0; }
}

/* ---------- Durchgängige Seitensprache und Radiusdarstellung 1.5.3 ---------- */

.mbb-map-preview-fallback {
	--mbb-map-radius-size: 64%;
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	background: #edf2f3;
}
.mbb-map-preview-ring {
	width: var(--mbb-map-radius-size);
	aspect-ratio: 1;
	border: 2px solid var(--mbb-accent);
	border-radius: 50%;
	background: rgba(47, 111, 99, 0.16);
}
.mbb-map-preview-point {
	position: absolute;
	width: 12px;
	height: 12px;
	border: 3px solid #fff;
	border-radius: 50%;
	background: var(--mbb-primary-700);
	box-shadow: 0 2px 7px rgba(18, 32, 38, 0.25);
}
.mbb-map-preview-fallback-label {
	position: absolute;
	left: 12px;
	bottom: 9px;
	padding: 0.24rem 0.42rem;
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.92);
	color: var(--mbb-muted);
	font-size: var(--mbb-type-meta);
	font-weight: 650;
}

body.mbb-body .mbb-page-head {
	display: grid;
	align-items: center;
	min-height: 300px;
	padding-block: var(--mbb-page-head-y, 2.9rem);
	background: #f5f7f8;
}
body.mbb-body .mbb-page-head > .mbb-container:not(.mbb-page-head-grid) > div:first-child,
body.mbb-body .mbb-page-head > .mbb-container:not(.mbb-page-head-grid) > h1,
body.mbb-body .mbb-page-head > .mbb-container:not(.mbb-page-head-grid) > .mbb-lead { max-width: 780px; }
body.mbb-body .mbb-page-head h1 { margin-bottom: 0.55em; }
body.mbb-body .mbb-page-head .mbb-lead { max-width: 760px; }
body.mbb-body .mbb-page-head .mbb-lead > :first-child { margin-top: 0; }
body.mbb-body .mbb-page-head .mbb-lead > :last-child { margin-bottom: 0; }
body.mbb-body .mbb-page-head-compact { min-height: 0; padding-block: clamp(2rem, 4vw, 3rem); }
body.mbb-body .mbb-page-head-compact h1 { margin-bottom: 0; }
body.mbb-body .mbb-page-illu { aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--mbb-border); border-radius: 8px; background: #edf2f4; }
body.mbb-body .mbb-page-illu img { width: 100%; height: 100%; max-height: none; border: 0; border-radius: 0; object-fit: var(--mbb-image-fit, cover); }
body.mbb-body .mbb-page-illu-default img { padding: clamp(0.75rem, 2vw, 1.35rem); object-fit: contain; }

body.mbb-body .mbb-section,
body.mbb-body .mbb-advice-scope-band,
body.mbb-body .mbb-about-statement-band { padding-block: var(--mbb-section-y, 3.6rem); }
body.mbb-body .mbb-section-head { margin-bottom: clamp(1.5rem, 3vw, 2rem); }
body.mbb-body .mbb-section-head h2 { margin-bottom: 0.45em; }
body.mbb-body .mbb-section-head > :last-child { margin-bottom: 0; }

body.mbb-body :where(.mbb-card, .mbb-tile, .mbb-step, .mbb-job, .mbb-property-card, .mbb-blog-card, .mbb-form, .mbb-about-principle) {
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(29, 29, 27, 0.045);
}

body.mbb-body .mbb-advice-overview { grid-template-columns: 1fr; gap: 1.8rem; }
body.mbb-body .mbb-advice-lead { max-width: 760px; }
body.mbb-body .mbb-advice-pillars { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--mbb-grid-gap, 1.2rem); border: 0; }
body.mbb-body .mbb-advice-pillar {
	grid-template-columns: var(--mbb-symbol-size) minmax(0, 1fr);
	align-content: start;
	padding: var(--mbb-card-pad-y, 1.45rem) var(--mbb-card-pad-x, 1.3rem);
	border: 1px solid var(--mbb-border);
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 7px 20px rgba(29, 29, 27, 0.045);
}
body.mbb-body .mbb-advice-topics { gap: var(--mbb-grid-gap, 1rem); border: 0; }
body.mbb-body .mbb-advice-topics li,
body.mbb-body .mbb-advice-topics li:nth-child(odd),
body.mbb-body .mbb-advice-topics li:nth-child(even) { padding: 1rem; border: 1px solid var(--mbb-border); border-radius: 8px; background: #fff; }
body.mbb-body .mbb-advice-process { gap: var(--mbb-grid-gap, 1rem); border: 0; }
body.mbb-body .mbb-advice-step,
body.mbb-body .mbb-advice-step:first-child,
body.mbb-body .mbb-advice-step:last-child { min-width: 0; padding: 1.15rem; border: 1px solid var(--mbb-border); border-radius: 8px; background: #fff; }
body.mbb-body .mbb-advice-scope-band { border-top: 1px solid var(--mbb-border); border-bottom: 1px solid var(--mbb-border); }

body.mbb-body .mbb-about-facts { overflow: hidden; border: 1px solid var(--mbb-border); border-radius: 8px; background: #fff; }
body.mbb-body .mbb-about-fact:first-child { padding-left: clamp(0.8rem, 3vw, 1.5rem); }
body.mbb-body .mbb-about-principles { gap: var(--mbb-grid-gap, 1rem); border: 0; }
body.mbb-body .mbb-about-principle,
body.mbb-body .mbb-about-principle:first-child,
body.mbb-body .mbb-about-principle:last-child { padding: 1.2rem; border: 1px solid var(--mbb-border); border-radius: 8px; background: #fff; }
body.mbb-body .mbb-about-qualification .mbb-seal-placeholder { border-radius: 8px; box-shadow: 0 7px 20px rgba(29, 29, 27, 0.045); }

body.mbb-body .mbb-faq-search,
body.mbb-body .mbb-faq-filters,
body.mbb-body .mbb-faq-list,
body.mbb-body .mbb-faq-noresult { width: min(100%, 860px); }
body.mbb-body .mbb-initiative { width: min(100%, 960px); }
body.mbb-body .mbb-faq-category { border: 0; }
body.mbb-body .mbb-faq-category + .mbb-faq-category { margin-top: 0.9rem; }
body.mbb-body .mbb-faq-category > summary { padding: 0.8rem 0; border-bottom: 1px solid var(--mbb-border); }
body.mbb-body .mbb-faq-category-items { padding-top: 0.75rem; }

body.mbb-body .mbb-jobs { max-width: none; }
body.mbb-body .mbb-job { min-height: 100%; }
body.mbb-body .mbb-hero-focus { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
body.mbb-body .mbb-contact-grid { align-items: start; }
body.mbb-body .mbb-contact-aside { display: grid; gap: 0; }
body.mbb-body .mbb-contact-card { margin: 0; padding: 0 0 1.6rem; }
body.mbb-body .mbb-contact-card + .mbb-contact-card { padding-top: 1.6rem; }
body.mbb-body .mbb-map-shell { border-radius: 8px; box-shadow: 0 7px 20px rgba(29, 29, 27, 0.045); }
body.mbb-body .mbb-city-list-compact { gap: 0.45rem; }

@media (max-width: 900px) {
	body.mbb-body .mbb-advice-pillars { grid-template-columns: 1fr; }
	body.mbb-body .mbb-about-principles { grid-template-columns: 1fr; }
	body.mbb-body .mbb-about-principle,
	body.mbb-body .mbb-about-principle:first-child,
	body.mbb-body .mbb-about-principle:last-child { border: 1px solid var(--mbb-border); padding: 1.1rem; }
}

@media (max-width: 700px) {
	body.mbb-body .mbb-page-head { min-height: 0; padding-block: 2rem; }
	body.mbb-body .mbb-page-illu { aspect-ratio: 16 / 10; }
	body.mbb-body .mbb-page-illu img { height: 100%; max-height: none; }
	body.mbb-body .mbb-advice-topics { grid-template-columns: 1fr; }
	body.mbb-body .mbb-advice-step,
	body.mbb-body .mbb-advice-step:first-child,
	body.mbb-body .mbb-advice-step:last-child { border: 1px solid var(--mbb-border); padding: 1rem; }
	body.mbb-body .mbb-about-facts { grid-template-columns: 1fr; }
	body.mbb-body .mbb-about-fact,
	body.mbb-body .mbb-about-fact:first-child { padding: 0.9rem 1rem; border-top: 1px solid var(--mbb-border); }
	body.mbb-body .mbb-about-fact:first-child { border-top: 0; }
}

/* ---------- Verbindliche Design- und Typografie-Linie 1.5.5 ---------- */

body.mbb-body,
body.mbb-body :where(button, input, select, textarea) {
	font-family: var(--mbb-font);
	letter-spacing: 0;
}

body.mbb-body {
	--mbb-icon-inline: 20px;
	--mbb-icon-small: 18px;
	--mbb-icon-box: var(--mbb-symbol-size, 48px);
	--mbb-icon-glyph: var(--mbb-symbol-glyph, 24px);
	--mbb-number-disc: 42px;
	--mbb-type-metric: 2rem;
}

body.mbb-body :where(h1, h2, h3, h4) {
	font-family: var(--mbb-font-head, var(--mbb-font));
	font-weight: 750;
	letter-spacing: 0;
}

body.mbb-body :where(.mbb-step-num, .mbb-advice-topics span, .mbb-advice-step > span, .mbb-about-fact strong, .mbb-property-facts, .mbb-property-price, .mbb-map-radius-label strong, .mbb-error-code) {
	font-family: var(--mbb-font);
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum" 1;
	letter-spacing: 0;
}

body.mbb-body .mbb-icon {
	width: var(--mbb-icon-inline);
	height: var(--mbb-icon-inline);
	min-width: var(--mbb-icon-inline);
}
body.mbb-body .mbb-icon-sm,
body.mbb-body .mbb-btn .mbb-icon {
	width: var(--mbb-icon-small);
	height: var(--mbb-icon-small);
	min-width: var(--mbb-icon-small);
}

body.mbb-body :where(.mbb-symbol-box, .mbb-card-icon, .mbb-usp-icon, .mbb-tile-icon, .mbb-role-icon, .mbb-advice-icon, .mbb-advice-scope-icon, .mbb-map-placeholder-icon) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--mbb-icon-box);
	height: var(--mbb-icon-box);
	min-width: var(--mbb-icon-box);
	padding: 0;
	border-radius: var(--mbb-radius, 8px);
}
body.mbb-body :where(.mbb-symbol-box, .mbb-card-icon, .mbb-usp-icon, .mbb-tile-icon, .mbb-role-icon, .mbb-advice-icon, .mbb-advice-scope-icon, .mbb-map-placeholder-icon) > svg {
	width: var(--mbb-icon-glyph);
	height: var(--mbb-icon-glyph);
}

body.mbb-body .mbb-service-disclosure .mbb-role-note {
	grid-template-columns: var(--mbb-icon-box) minmax(0, 1fr);
}
body.mbb-body .mbb-service-disclosure .mbb-role-icon {
	width: var(--mbb-icon-box);
	height: var(--mbb-icon-box);
	padding: 0;
}

body.mbb-body .mbb-step-num,
body.mbb-body .mbb-advice-topics span,
body.mbb-body .mbb-advice-step > span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: var(--mbb-number-disc);
	height: var(--mbb-number-disc);
	min-width: var(--mbb-number-disc);
	border-radius: 50%;
	background: var(--mbb-primary);
	color: #fff;
	font-size: var(--mbb-type-small);
	font-weight: 750;
	line-height: 1;
}
body.mbb-body .mbb-about-fact strong {
	font-size: var(--mbb-type-metric);
	font-weight: 750;
	line-height: 1;
}
body.mbb-body .mbb-property-facts {
	font-size: var(--mbb-type-small);
	font-weight: 700;
	line-height: var(--mbb-line-ui);
}

body.mbb-body .mbb-page-head {
	min-height: 320px;
}

body.mbb-body .mbb-page-illu,
body.mbb-body .mbb-page-illu img,
body.mbb-body :where(.mbb-card, .mbb-tile, .mbb-step, .mbb-job, .mbb-property-card, .mbb-blog-card, .mbb-form, .mbb-contact-card, .mbb-about-facts, .mbb-about-principle, .mbb-advice-pillar, .mbb-advice-topics li, .mbb-advice-step, .mbb-seal-placeholder, .mbb-map-shell, .mbb-initiative) {
	border-radius: var(--mbb-radius, 8px);
}

body.mbb-body :where(.mbb-card, .mbb-tile, .mbb-step, .mbb-job, .mbb-property-card, .mbb-blog-card, .mbb-form, .mbb-contact-card, .mbb-about-principle, .mbb-advice-pillar, .mbb-advice-topics li, .mbb-advice-step, .mbb-seal-placeholder, .mbb-initiative) {
	border: 1px solid var(--mbb-border);
	background: #fff;
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.055);
}

body.mbb-body .mbb-advice-pillar,
body.mbb-body .mbb-advice-topics li,
body.mbb-body .mbb-advice-step,
body.mbb-body .mbb-faq,
body.mbb-body .mbb-damage-list li {
	border: 1px solid var(--mbb-border);
	border-radius: var(--mbb-radius, 8px);
	background: #fff;
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.055);
}

body.mbb-body .mbb-faq[open] {
	border-color: var(--mbb-primary-300);
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.075);
}

body.mbb-body :where(.mbb-cards-3, .mbb-cards-4, .mbb-tiles, .mbb-steps, .mbb-jobs, .mbb-property-grid, .mbb-blog-grid, .mbb-about-principles, .mbb-advice-pillars, .mbb-advice-topics, .mbb-advice-process) {
	gap: var(--mbb-grid-gap, 1.15rem);
}

body.mbb-body .mbb-contact-aside {
	display: grid;
	gap: var(--mbb-grid-gap, 1.15rem);
}
body.mbb-body .mbb-contact-card,
body.mbb-body .mbb-contact-card + .mbb-contact-card {
	margin: 0;
	padding: var(--mbb-card-pad-y, 1.45rem) var(--mbb-card-pad-x, 1.3rem);
}

body.mbb-body .mbb-btn,
body.mbb-body .mbb-btn-lg {
	min-height: 42px;
	padding: var(--mbb-btn-y, 0.54em) var(--mbb-btn-x, 0.95em);
	font-family: var(--mbb-font);
	font-size: var(--mbb-btn-font, 0.92rem);
	line-height: var(--mbb-line-ui);
}

body.mbb-body :where(.mbb-card h3, .mbb-tile h3, .mbb-step h3, .mbb-about-principle h3, .mbb-blog-card h2, .mbb-blog-card h3, .mbb-advice-step h3, .mbb-advice-pillar h3, .mbb-job h2, .mbb-property-card h2, .mbb-contact-card h2) {
	font-size: var(--mbb-type-h3);
	line-height: var(--mbb-line-compact);
}

body.mbb-body :where(.mbb-card p, .mbb-tile p, .mbb-step p, .mbb-about-principle p, .mbb-blog-card p, .mbb-advice-step p, .mbb-advice-pillar p, .mbb-job p, .mbb-property-card p, .mbb-contact-card p) {
	font-size: var(--mbb-type-small);
	line-height: var(--mbb-line-text);
}

@media (min-width: 861px) {
	body.mbb-body .mbb-page-illu-default { max-width: min(var(--mbb-illu-max, 420px), 300px); }
}

@media (max-width: 700px) {
	body.mbb-body .mbb-page-head { min-height: 0; }
	body.mbb-body .mbb-page-illu-default { display: none; }
}

/* ---------- Verbindliche Frontend-Konsistenz und Dialoge 1.5.6 ---------- */

body.mbb-body .mbb-page-head {
	min-height: 280px;
}

body.mbb-body .mbb-btn {
	max-width: 100%;
	white-space: normal;
	text-align: center;
	text-wrap: balance;
}

body.mbb-body :where(h1, h2, h3, h4, p, li, dt, dd, blockquote) {
	hyphens: manual;
}

body.mbb-body .mbb-contact-aside {
	grid-template-columns: minmax(0, 1fr);
	min-width: 0;
}

body.mbb-body .mbb-contact-card { min-width: 0; }

body.mbb-body :where(.mbb-card, .mbb-tile, .mbb-step, .mbb-job, .mbb-property-card, .mbb-blog-card, .mbb-form, .mbb-contact-card, .mbb-about-principle, .mbb-advice-pillar, .mbb-advice-topics li, .mbb-advice-step, .mbb-seal-placeholder, .mbb-initiative) {
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(29, 29, 27, 0.055);
}

body.mbb-body .mbb-map-preview-fallback-label {
	max-width: calc(100% - 24px);
	line-height: 1.35;
	white-space: normal;
}

body.mbb-body .mbb-cookie {
	right: 1rem;
	bottom: 1rem;
	width: min(620px, calc(100% - 2rem));
	max-height: min(55vh, 380px);
	padding: 0.9rem 1rem;
	gap: 0.85rem;
	border-radius: 8px;
	box-shadow: 0 18px 48px rgba(20, 31, 36, 0.18);
}

body.mbb-body .mbb-cookie p {
	font-size: 0.86rem;
	line-height: 1.5;
}

body.mbb-body .mbb-consent {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	width: min(820px, calc(100% - 2rem));
}

body.mbb-body .mbb-consent-actions {
	display: grid;
	grid-template-columns: 1fr;
	width: 174px;
}

body.mbb-body .mbb-consent-actions .mbb-btn {
	justify-content: center;
	width: 100%;
}

@media (max-width: 700px) {
	body.mbb-body .mbb-page-head {
		min-height: 0;
		padding-block: 2rem;
	}
	body.mbb-body .mbb-cookie,
	body.mbb-body .mbb-consent {
		left: 0.6rem;
		right: 0.6rem;
		bottom: 0.6rem;
		width: auto;
		max-height: min(70dvh, 520px);
		padding: 0.78rem;
		overflow: auto;
	}
	body.mbb-body .mbb-consent {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}
	body.mbb-body .mbb-consent-actions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}
	body.mbb-body .mbb-cookie p {
		font-size: var(--mbb-type-meta);
		line-height: 1.42;
	}
}

@media (max-width: 420px) {
	body.mbb-body .mbb-consent-actions { grid-template-columns: minmax(0, 1fr); }
	body.mbb-body .mbb-page-head-compact h1 {
		hyphens: auto;
		overflow-wrap: anywhere;
	}
}

/* ---------- Konsolidierung: Karte, Kontakt, Footer und Karriere ---------- */

/* Die Breite und das Höhenlimit werden getrennt im Backend gesteuert. */
body.mbb-body .mbb-logo img {
	width: var(--mbb-logo-w, 140px);
	max-height: var(--mbb-logo-max-h, 92px);
	object-fit: contain;
}
@media (max-width: 700px) {
	body.mbb-body .mbb-logo img {
		width: var(--mbb-mobile-logo-w, 112px);
		max-height: var(--mbb-mobile-logo-max-h, 60px);
	}
}

body.mbb-body .mbb-form select {
	appearance: none;
	-webkit-appearance: none;
	padding-right: 3rem;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23556f7a' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.95rem center;
	background-size: 1.05rem;
}

body.mbb-body .mbb-project-places { padding-bottom: 1.15rem; }
body.mbb-body .mbb-project-places h2 { margin-bottom: 0.6rem; }
body.mbb-body .mbb-project-places-inline {
	margin: 0;
	color: var(--mbb-muted);
	font-size: var(--mbb-type-small);
	font-weight: 450;
	line-height: 1.6;
}

body.mbb-body .mbb-footer-grid {
	grid-template-columns: minmax(180px, 1.05fr) repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 3vw, 3.25rem);
	padding: 2.25rem 0 1.45rem;
}
body.mbb-body .mbb-footer h2 { margin-bottom: 0.55rem; }
body.mbb-body .mbb-footer ul { gap: 0.15rem; }
body.mbb-body .mbb-footer li > a,
body.mbb-body .mbb-footer-privacy-button { min-height: 32px; padding-block: 0.12rem; }
body.mbb-body .mbb-footer-contact li { min-height: 32px; }
body.mbb-body .mbb-footer-brand img { margin-bottom: 0.55rem; }
body.mbb-body .mbb-footer-brand p { margin: 0; }
body.mbb-body .mbb-footer-bottom { padding: 0.85rem 0; }

body.mbb-body .mbb-career-form-wrap { width: min(100%, 860px); max-width: 860px; }
body.mbb-body .mbb-initiative {
	width: 100%;
	max-width: none;
	margin: 0;
	border: 1px solid var(--mbb-border);
	background: #fff;
}
body.mbb-body .mbb-initiative > summary { padding: 1.2rem 1.3rem; }
body.mbb-body .mbb-initiative-form { padding: 0 1.3rem 1.3rem; }

body.mbb-body .mbb-map-shell.mbb-google-map-loaded { overflow: hidden; }
body.mbb-body .mbb-map-shell.mbb-google-map-loaded img { max-width: none; }
body.mbb-body .mbb-map-load.is-unavailable { opacity: 0.66; cursor: not-allowed; }
body.mbb-body .mbb-map-setup-note {
	display: block;
	max-width: 42rem;
	margin-top: 0.65rem;
	color: var(--mbb-muted);
	font-size: var(--mbb-type-small);
	font-weight: 450;
	line-height: 1.5;
}

@media (max-width: 940px) {
	body.mbb-body .mbb-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem 2rem; }
}
@media (max-width: 560px) {
	body.mbb-body .mbb-footer-grid { grid-template-columns: 1fr; gap: 1.2rem; padding-block: 1.8rem 1.2rem; }
	body.mbb-body .mbb-footer li > a,
	body.mbb-body .mbb-footer-privacy-button { min-height: 38px; }
	body.mbb-body .mbb-initiative > summary { padding: 1rem; }
	body.mbb-body .mbb-initiative-form { padding: 0 1rem 1rem; }
}

/* ---------- Druckansicht ---------- */

@media print {
	.mbb-header, .mbb-footer, .mbb-cta-band, .mbb-cookie, .mbb-nav-toggle { display: none !important; }
	body.mbb-body { font-size: 12pt; }
}
