@charset "UTF-8";
/* ============================================================
   mms_sitepackage — Master-Stylesheet
   markt.machen.SYSTEM — Indexed Geometry
   Drei Farben. Zwei Stimmen. Eine Geometrie.

   Wird zu projekt.css kompiliert und NACH Bootstrap geladen.
   Reihenfolge ist wichtig: zuerst Fonts → Tokens → Reset →
   Bootstrap-Overrides → Mixins/Utilities → Sections → CEs.
   ============================================================ */
/* ----- 0. Fonts (self-hosted, DSGVO-konform) ----- */
/* ============================================================
   mms_sitepackage — Self-Hosted Webfonts
   DSGVO-konform — keine Google-Fonts-CDN-Anbindung.

   Erforderlich in Resources/Public/Fonts/:
   - BigShouldersDisplay-Bold.woff2
   - BigShouldersDisplay-ExtraBold.woff2
   - BigShouldersDisplay-Black.woff2
   - IBMPlexMono-Regular.woff2
   - IBMPlexMono-Medium.woff2
   - IBMPlexMono-SemiBold.woff2
   - Inter-Regular.woff2
   - Inter-Medium.woff2

   Download via https://gwfh.mranftl.com/fonts
   (Subsets: latin, latin-ext; Format: woff2)
   ============================================================ */
/* ----- Big Shoulders Display ----- */
@font-face {
  font-family: "Big Shoulders Display";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../Fonts/big-shoulders-v4-latin-700.woff2") format("woff2");
}
@font-face {
  font-family: "Big Shoulders Display";
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("../Fonts/big-shoulders-v4-latin-800.woff2") format("woff2");
}
@font-face {
  font-family: "Big Shoulders Display";
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("../Fonts/big-shoulders-v4-latin-900.woff2") format("woff2");
}
/* ----- IBM Plex Mono ----- */
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../Fonts/ibm-plex-mono-v20-latin-300.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../Fonts/ibm-plex-mono-v20-latin-500.woff2") format("woff2");
}
@font-face {
  font-family: "IBM Plex Mono";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("../Fonts/ibm-plex-mono-v20-latin-600.woff2") format("woff2");
}
/* ----- Inter ----- */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("../Fonts/inter-v20-latin-300.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("../Fonts/inter-v20-latin-500.woff2") format("woff2");
}
/* ----- 1. Tokens (CSS Custom Properties) ----- */
/* ============================================================
   mms_sitepackage — Design-Tokens
   CSS Custom Properties als Single Source of Truth.
   Runtime-konfigurierbar, lesbar in DevTools, theme-fähig.
   ============================================================ */
:root {
  /* ----- Farben (verbindlich, exakte Hex-Werte) ----- */
  --mm-petrol: #00313c;
  --mm-lime: #c4d600;
  --mm-white: #ffffff;
  /* ----- Typo-Stimmen ----- */
  --mm-display: "Big Shoulders Display", "Helvetica Neue", Arial, sans-serif;
  --mm-mono: "IBM Plex Mono", "JetBrains Mono", ui-monospace, monospace;
  --mm-body: "Inter", -apple-system, "Segoe UI", Roboto, sans-serif;
  /* ----- Typo-Skala ----- */
  --mm-body-size: 17px;
  --mm-body-line: 1.6;
  --mm-body-weight: 500;
  --mm-h1-size: clamp(3rem, 6.2vw, 6.25rem);
  --mm-h1-line: 0.92;
  --mm-h1-weight: 900;
  --mm-h2-size: clamp(2.25rem, 4.6vw, 3.5rem);
  --mm-h2-line: 0.96;
  --mm-h2-weight: 900;
  --mm-h3-size: clamp(0.95rem, 1.2vw, 1.2rem);
  --mm-h3-line: 1.1;
  --mm-h3-weight: 800;
  --mm-h4-size: clamp(0.95rem, 1.2vw, 1.05rem);
  --mm-h4-line: 1.15;
  --mm-h4-weight: 800;
  --mm-h5-size: clamp(0.875rem, 1.1vw, 1rem);
  --mm-h5-line: 1.2;
  --mm-h5-weight: 700;
  --mm-small-size: 0.875rem;
  --mm-small-line: 1.4;
  /* ----- Spacing-Skala ----- */
  --mm-space-xs: 0.5rem; /* 8px  */
  --mm-space-s: 1rem; /* 16px */
  --mm-space-m: 1.5rem; /* 24px */
  --mm-space-l: 3rem; /* 48px */
  --mm-space-xl: 5rem; /* 80px */
  --mm-space-xxl: 8rem; /* 128px — Section-Trenner */
  /* ----- Layout ----- */
  --mm-gutter: 1.5rem;
  --mm-container: 1320px;
  --mm-navbar-h: 80px;
  /* ----- Theme-Defaults (werden via [data-theme]-Selector überschrieben) ----- */
  --mm-bg: var(--mm-petrol);
  --mm-fg: var(--mm-white);
  --mm-accent: var(--mm-lime);
}

/* ----- Mobile-Navbar-Höhe ----- */
@media (max-width: 720px) {
  :root {
    --mm-navbar-h: 64px;
  }
}
/* ----- Light-Theme (Longread, Blog-Artikel) ----- */
body[data-theme=light] {
  --mm-bg: var(--mm-white);
  --mm-fg: var(--mm-petrol);
  /* --mm-accent bleibt Lime */
}

/* ----- 2. Reset ----- */
/* ============================================================
   mms_sitepackage — Reset (minimal)
   Bootstrap-Reboot ist bereits aktiv; hier nur Marken-spezifische
   Ergänzungen.
   ============================================================ */
* {
  box-sizing: border-box;
}

html, body {
  margin: 0;
  padding: 0;
}

img, svg {
  display: block;
  max-width: 100%;
}

/* ----- Focus-Indicator: doppelte Hairline (Briefing 7.6) ----- */
:focus-visible {
  outline: 2px solid var(--mm-lime);
  outline-offset: 4px;
}

/* ----- Reduced Motion (Briefing 7.6: "Indexed Geometry ist statisch") ----- */
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* ----- 3. Bootstrap-Overrides (überschreibt t3sbootstrap-Defaults) ----- */
/* ============================================================
   mms_sitepackage — Bootstrap-5-Defaults überschreiben
   Diese Datei wird NACH t3sbootstraps Bootstrap-CSS geladen
   und korrigiert die Marken-relevanten Defaults
   (border-radius, box-shadow, Farben, Container, Navbar).
   ============================================================ */
/* ----- Border-Radius global entfernen ----- */
.btn,
.card,
.alert,
.form-control,
.form-select,
.input-group-text,
.modal-content,
.dropdown-menu,
.list-group,
.list-group-item,
.badge,
.toast,
.popover,
.tooltip,
.pagination .page-link,
.nav-pills .nav-link,
.accordion-button,
.accordion-item,
img.rounded,
img.rounded-circle {
  border-radius: 0 !important;
}

/* ----- Schatten/Schimmer raus ----- */
.shadow,
.shadow-sm,
.shadow-lg,
.btn:focus,
.form-control:focus,
.form-select:focus,
.btn-check:focus + .btn,
.modal-content,
.dropdown-menu,
.card {
  box-shadow: none !important;
}

/* ----- Bootstrap-Primary/Secondary/Body auf Marken-Farben ----- */
body {
  background: var(--mm-bg);
  color: var(--mm-fg);
  font-family: var(--mm-body);
  font-size: var(--mm-body-size);
  line-height: var(--mm-body-line);
  /* Body nutzt den nächstgelegenen tatsächlich geladenen Inter-Schnitt;
     500 ist sichtbar geladen und vermeidet Font-Synthese durch den Browser. */
  font-weight: var(--mm-body-weight);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  overflow-x: hidden;
}

a {
  color: inherit;
  text-decoration: none;
  transition: color 0.18s ease;
}

a:hover {
  color: var(--mm-accent);
}

::selection {
  background: var(--mm-lime);
  color: var(--mm-petrol);
}

/* ----- Container an Marken-Maß koppeln ----- */
.container,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  max-width: var(--mm-container);
  padding-inline: clamp(1.25rem, 2.5vw, 2.5rem);
}

/* ----- Bootstrap-Btn-Defaults: kein Gradient, keine Mikro-Shadow ----- */
.btn {
  border-radius: 0;
  box-shadow: none;
  background-image: none;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.btn-primary {
  background: transparent;
  border: 1px solid var(--mm-lime);
  color: var(--mm-white);
}

.btn-primary:hover,
.btn-primary:focus-visible {
  background: var(--mm-lime);
  color: var(--mm-petrol);
  border-color: var(--mm-lime);
}

.btn-secondary {
  background: transparent;
  border: 0;
  color: var(--mm-lime);
  padding-inline: 0;
}

.btn-secondary:hover {
  color: var(--mm-white);
  background: transparent;
}

/* ----- Bootstrap-Headings auf Marken-Display ----- */
h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 0.95;
  color: var(--mm-fg);
  margin: 0;
}

h1,
.h1 {
  font-size: var(--mm-h1-size);
  line-height: var(--mm-h1-line);
  font-weight: var(--mm-h1-weight);
}

h2,
.h2 {
  font-size: var(--mm-h2-size);
  line-height: var(--mm-h2-line);
  font-weight: var(--mm-h2-weight);
}

h3,
.h3 {
  font-weight: var(--mm-h3-weight);
  font-size: var(--mm-h3-size);
  line-height: var(--mm-h3-line);
}

h4,
.h4 {
  font-weight: var(--mm-h4-weight);
  font-size: var(--mm-h4-size);
  line-height: var(--mm-h4-line);
}

h5,
.h5 {
  font-weight: var(--mm-h5-weight);
  font-size: var(--mm-h5-size);
  line-height: var(--mm-h5-line);
}

p,
li {
  font-family: var(--mm-body);
  font-size: var(--mm-body-size);
  line-height: var(--mm-body-line);
  font-weight: var(--mm-body-weight);
}

span {
  font: inherit;
  letter-spacing: inherit;
  color: inherit;
}

em {
  font-style: italic;
}

h1 em, h2 em, h3 em, h4 em, h5 em,
.h1 em, .h2 em, .h3 em, .h4 em, .h5 em {
  font-style: normal;
  color: var(--mm-accent);
}

strong,
b {
  font-weight: 700;
}

small {
  font-size: var(--mm-small-size);
  line-height: var(--mm-small-line);
}

.mm-t3sb-style,
.mm-t3sb-style :is(h1, h2, h3, h4, h5, h6, p, li, span, em, strong, b, small, blockquote, summary) {
  color: inherit;
}

.mm-t3sb-has-textcolor,
.mm-t3sb-has-textcolor :is(h1, h2, h3, h4, h5, h6, p, li, span, a, em, strong, b, small, blockquote, summary) {
  color: var(--mm-t3sb-textcolor) !important;
}

.mm-t3sb-has-textcolor .mm-divider,
.mm-t3sb-has-textcolor .mm-hairline,
.mm-t3sb-has-textcolor .mm-hairline--full {
  background: var(--mm-t3sb-textcolor) !important;
  border-color: var(--mm-t3sb-textcolor) !important;
}

.mm-t3sb-has-bgcolor {
  background-color: var(--mm-t3sb-bgcolor);
}

.text-primary {
  color: var(--mm-accent) !important;
}

.text-warning {
  color: var(--mm-accent) !important;
}

.text-secondary,
.text-light,
.text-white,
.text-body {
  color: var(--mm-white) !important;
}

.text-dark {
  color: var(--mm-petrol) !important;
}

.text-muted {
  color: rgba(255, 255, 255, 0.72) !important;
}

.text-success {
  color: #198754 !important;
}

.text-danger {
  color: #dc3545 !important;
}

.text-info {
  color: #0dcaf0 !important;
}

.bg-primary,
.text-bg-primary,
.bg-warning,
.text-bg-warning {
  background-color: var(--mm-accent) !important;
  color: var(--mm-petrol) !important;
}

.bg-secondary,
.text-bg-secondary,
.bg-dark,
.text-bg-dark {
  background-color: var(--mm-petrol) !important;
  color: var(--mm-white) !important;
}

.bg-light,
.text-bg-light,
.bg-white {
  background-color: var(--mm-white) !important;
  color: var(--mm-petrol) !important;
}

.d-none {
  display: none !important;
}

.d-block {
  display: block !important;
}

.d-inline {
  display: inline !important;
}

.d-inline-block {
  display: inline-block !important;
}

.d-flex {
  display: flex !important;
}

.mm-t3sb-outline .btn-mm-primary,
.mm-t3sb-outline .btn-mm-secondary {
  color: inherit;
}

.mm-t3sb-outline .btn-mm-primary {
  background: transparent;
  border-color: currentColor;
}

.mm-t3sb-outline .btn-mm-primary:hover,
.mm-t3sb-outline .btn-mm-primary:focus-visible {
  background: currentColor;
  color: var(--mm-petrol);
  border-color: currentColor;
}

/* ----- Bootstrap-Form-Controls — Underline-Stil ----- */
.form-control,
.form-select {
  background: transparent;
  color: var(--mm-fg);
  border: 0;
  border-bottom: 1px solid var(--mm-lime);
  border-radius: 0;
  padding-inline: 0;
}

.form-control::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.form-control:focus,
.form-select:focus {
  background: transparent;
  color: var(--mm-fg);
  border-color: var(--mm-lime);
  outline: 0;
  box-shadow: none;
}

.form-label {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--mm-fg);
  margin-bottom: 0.4rem;
}

/* ----- Bootstrap-Accordion — verflachen ----- */
.accordion-item {
  border: 0;
  border-top: 1px solid var(--mm-lime);
  background: transparent;
}

.accordion-item:last-child {
  border-bottom: 1px solid var(--mm-lime);
}

.accordion-button {
  background: transparent;
  color: var(--mm-fg);
  box-shadow: none;
  padding-block: 1.75rem;
}

.accordion-button:not(.collapsed) {
  background: transparent;
  color: var(--mm-fg);
  box-shadow: none;
}

.accordion-body {
  padding: 0 0 2rem 0;
  color: var(--mm-fg);
}

/* ----- Bootstrap-Card — Border raus ----- */
.card {
  background: transparent;
  border: 0;
  border-radius: 0;
  color: var(--mm-fg);
}

/* ----- Bootstrap-Navbar-Dark als Default ----- */
.navbar {
  background: var(--mm-petrol);
  padding-block: 1.25rem;
}

.navbar-dark .navbar-nav .nav-link,
.navbar .navbar-nav .nav-link {
  position: relative;
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-white);
  padding: 0.72rem 0 0.62rem;
}

.navbar-dark .navbar-nav .nav-link:hover,
.navbar .navbar-nav .nav-link:hover {
  color: var(--mm-lime);
}

@media (min-width: 1200px) {
  .navbar .main-navbarnav {
    align-items: center;
    column-gap: clamp(1.45rem, 1.9vw, 2.25rem);
  }
  .navbar .main-navbarnav > .nav-item:has(.mm-nav__cta) {
    margin-left: clamp(0.5rem, 0.85vw, 1rem);
  }
}
.navbar .main-navbarnav > .nav-item > .nav-link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--mm-lime);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}

.navbar .main-navbarnav > .nav-item > .nav-link:hover::after,
.navbar .main-navbarnav > .nav-item > .nav-link:focus-visible::after,
.navbar .main-navbarnav > .nav-item > .nav-link.active::after {
  opacity: 1;
  transform: translateY(0);
}

.navbar .main-navbarnav > .nav-item > .nav-link.mm-nav__cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  min-height: 38px;
  margin-left: clamp(0.35rem, 0.6vw, 0.75rem);
  margin-right: 2px;
  padding: 0.82rem 1.55rem;
  border: 1px solid var(--mm-lime) !important;
  color: var(--mm-white);
  line-height: 1;
}

.navbar .main-navbarnav > .nav-item > .nav-link.mm-nav__cta::after {
  position: static;
  width: auto;
  height: auto;
  background: transparent;
  opacity: 1;
  transform: none;
  content: "→";
  font-size: 14px;
  letter-spacing: 0;
}

.navbar .main-navbarnav > .nav-item > .nav-link.mm-nav__cta:hover,
.navbar .main-navbarnav > .nav-item > .nav-link.mm-nav__cta:focus-visible {
  background: var(--mm-lime);
  color: var(--mm-petrol);
}

/* ----- Bootstrap-List-Group — flach ----- */
.list-group {
  border-radius: 0;
}

.list-group-item {
  background: transparent;
  color: var(--mm-fg);
  border: 0;
  border-top: 1px solid var(--mm-lime);
}

.list-group-item:last-child {
  border-bottom: 1px solid var(--mm-lime);
}

/* ----- 3b. t3sbootstrap CE-Overrides ----- */
/* ============================================================
   t3sbootstrap — CD-Overrides
   Alle t3sbootstrap Content Elements auf markt.machen.SYSTEM
   Corporate Design gebracht. Reihenfolge: Frame → CE-spezifisch.
   ============================================================ */
/* ----- Frame-Wrapper (alle CEs) ----- */
.frame {
  margin-block: 0;
}

/* ----- frame-ruler-before / frame-ruler-after ----- */
.frame-ruler-before::before {
  border-top: 3px solid var(--mm-accent);
}

.frame-ruler-after::after {
  border-bottom: 3px solid var(--mm-accent);
}

.frame-space-before-extra-small {
  margin-top: var(--mm-space-xs);
}

.frame-space-before-small {
  margin-top: var(--mm-space-s);
}

.frame-space-before-medium {
  margin-top: var(--mm-space-m);
}

.frame-space-before-large {
  margin-top: var(--mm-space-l);
}

.frame-space-before-extra-large {
  margin-top: var(--mm-space-xl);
}

.frame-space-after-extra-small {
  margin-bottom: var(--mm-space-xs);
}

.frame-space-after-small {
  margin-bottom: var(--mm-space-s);
}

.frame-space-after-medium {
  margin-bottom: var(--mm-space-m);
}

.frame-space-after-large {
  margin-bottom: var(--mm-space-l);
}

.frame-space-after-extra-large {
  margin-bottom: var(--mm-space-xl);
}

.frame-container {
  padding-inline: clamp(1.25rem, 2.5vw, 2.5rem);
  max-width: var(--mm-container);
  margin-inline: auto;
}

.frame-header {
  margin-bottom: clamp(2rem, 3.5vw, 3.5rem);
}
.frame-header h2 {
  font-size: var(--mm-h2-size);
}
.frame-header .subheader {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: var(--mm-accent);
  margin-bottom: 0.75rem;
}

/* ----- Section-Backgrounds via t3sbootstrap ----- */
.frame-background-dark,
[class*=bg-dark],
.t3sbs-bg-dark {
  background: var(--mm-petrol);
  color: var(--mm-white);
}

.frame-background-light,
[class*=bg-light],
.t3sbs-bg-light {
  background: var(--mm-white);
  color: var(--mm-petrol);
}
.frame-background-light h1, .frame-background-light h2, .frame-background-light h3, .frame-background-light h4, .frame-background-light h5, .frame-background-light h6,
.frame-background-light .h1, .frame-background-light .h2, .frame-background-light .h3, .frame-background-light .h4, .frame-background-light .h5, .frame-background-light .h6,
.frame-background-light p, .frame-background-light li, .frame-background-light a,
[class*=bg-light] h1,
[class*=bg-light] h2,
[class*=bg-light] h3,
[class*=bg-light] h4,
[class*=bg-light] h5,
[class*=bg-light] h6,
[class*=bg-light] .h1,
[class*=bg-light] .h2,
[class*=bg-light] .h3,
[class*=bg-light] .h4,
[class*=bg-light] .h5,
[class*=bg-light] .h6,
[class*=bg-light] p,
[class*=bg-light] li,
[class*=bg-light] a,
.t3sbs-bg-light h1,
.t3sbs-bg-light h2,
.t3sbs-bg-light h3,
.t3sbs-bg-light h4,
.t3sbs-bg-light h5,
.t3sbs-bg-light h6,
.t3sbs-bg-light .h1,
.t3sbs-bg-light .h2,
.t3sbs-bg-light .h3,
.t3sbs-bg-light .h4,
.t3sbs-bg-light .h5,
.t3sbs-bg-light .h6,
.t3sbs-bg-light p,
.t3sbs-bg-light li,
.t3sbs-bg-light a {
  color: var(--mm-petrol);
}
.frame-background-light,
[class*=bg-light],
.t3sbs-bg-light {
  --mm-fg: var(--mm-petrol);
  --mm-bg: var(--mm-white);
  --mm-accent: var(--mm-petrol);
}

/* ----- Text + Text with Media ----- */
.ce-textpic .ce-bodytext,
.ce-text .ce-bodytext {
  font-size: var(--mm-body-size);
  line-height: var(--mm-body-line);
}
.ce-textpic .ce-gallery,
.ce-text .ce-gallery {
  margin-top: var(--mm-space-m);
}

/* ----- Image ----- */
.ce-image img {
  max-width: 100%;
  height: auto;
  display: block;
}

/* ----- Carousel / Slider ----- */
.carousel .carousel-control-prev-icon,
.carousel .carousel-control-next-icon {
  filter: none;
  background-image: none;
  width: 24px;
  height: 24px;
}
.carousel .carousel-control-prev-icon::after,
.carousel .carousel-control-next-icon::after {
  content: "→";
  font-size: 20px;
  color: var(--mm-accent);
  font-family: var(--mm-mono);
}
.carousel .carousel-control-prev-icon::after {
  content: "←";
}
.carousel .carousel-indicators [data-bs-target] {
  width: 8px;
  height: 8px;
  border-radius: 0;
  background: var(--mm-white);
  opacity: 0.4;
  transform: rotate(45deg);
  border: 0;
}
.carousel .carousel-indicators .active {
  background: var(--mm-accent);
  opacity: 1;
}
.carousel .carousel-caption {
  background: rgba(0, 49, 60, 0.72);
  padding: var(--mm-space-m);
}

/* ----- Tabs ----- */
.nav-tabs {
  border-bottom: 1px solid var(--mm-accent);
  gap: 0;
}
.nav-tabs .nav-link {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.24em;
  color: rgba(255, 255, 255, 0.6);
  border: 0;
  border-radius: 0;
  padding: 0.75rem 1.5rem;
  background: transparent;
}
.nav-tabs .nav-link:hover {
  color: var(--mm-accent);
  background: transparent;
}
.nav-tabs .nav-link.active {
  color: var(--mm-accent);
  background: transparent;
  border-bottom: 1px solid var(--mm-accent);
  margin-bottom: -1px;
}

.tab-content > .tab-pane {
  padding-top: var(--mm-space-m);
}

/* ----- Accordion ----- */
.accordion {
  border-top: 1px solid var(--mm-accent);
}
.accordion .accordion-item {
  border: 0;
  border-bottom: 1px solid var(--mm-accent);
  background: transparent;
}
.accordion .accordion-header {
  margin: 0;
}
.accordion .accordion-button {
  font-family: var(--mm-display);
  font-size: clamp(1.1rem, 1.8vw, 1.4rem);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  color: var(--mm-fg);
  background: transparent;
  box-shadow: none;
  padding-block: 1.5rem;
  padding-inline: 0;
}
.accordion .accordion-button::after {
  background-image: none;
  content: "+";
  font-family: var(--mm-display);
  font-size: 1.5rem;
  font-weight: 900;
  color: var(--mm-accent);
  width: auto;
  height: auto;
  transform: none;
  transition: content 0.2s ease;
}
.accordion .accordion-button:not(.collapsed)::after {
  content: "−";
}
.accordion .accordion-button:not(.collapsed) {
  color: var(--mm-fg);
  background: transparent;
}
.accordion .accordion-button:focus {
  box-shadow: none;
  outline: 2px solid var(--mm-accent);
  outline-offset: 2px;
}
.accordion .accordion-body {
  padding: 0 0 1.75rem 0;
  color: var(--mm-fg);
  font-size: var(--mm-body-size);
  line-height: var(--mm-body-line);
}

/* ----- Alert ----- */
.alert {
  border-radius: 0;
  border: 0;
  border-left: 3px solid var(--mm-accent);
  background: rgba(196, 214, 0, 0.08);
  color: var(--mm-fg);
  font-size: var(--mm-body-size);
}
.alert.alert-primary, .alert.alert-warning {
  border-left-color: var(--mm-accent);
}
.alert.alert-danger {
  border-left-color: #dc3545;
}
.alert.alert-success {
  border-left-color: #198754;
}
.alert.alert-info {
  border-left-color: #0dcaf0;
}
.alert.alert-secondary, .alert.alert-dark {
  border-left-color: rgba(255, 255, 255, 0.3);
}
.alert .alert-heading {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.alert .btn-close {
  filter: invert(1);
  opacity: 0.6;
}
.alert .btn-close:hover {
  opacity: 1;
}

/* ----- Badge ----- */
.badge {
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  border-radius: 0;
  padding: 0.35em 0.75em;
}
.badge.bg-primary, .badge.text-bg-primary {
  background: var(--mm-accent) !important;
  color: var(--mm-petrol) !important;
}
.badge.bg-secondary {
  background: rgba(255, 255, 255, 0.15) !important;
  color: var(--mm-white) !important;
}

/* ----- Table ----- */
.table {
  color: var(--mm-fg);
  border-color: rgba(196, 214, 0, 0.25);
}
.table th {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  font-weight: 500;
  color: var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  padding-block: 0.75rem;
}
.table td {
  font-size: var(--mm-body-size);
  border-color: rgba(196, 214, 0, 0.15);
  padding-block: 0.85rem;
}
.table.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: rgba(196, 214, 0, 0.05);
  color: var(--mm-fg);
}
.table.table-hover > tbody > tr:hover > * {
  background-color: rgba(196, 214, 0, 0.08);
  color: var(--mm-fg);
}

/* ----- Pagination ----- */
.pagination {
  gap: 2px;
}
.pagination .page-item .page-link {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background: transparent;
  color: var(--mm-fg);
  border: 1px solid rgba(196, 214, 0, 0.3);
  border-radius: 0;
  padding: 0.5rem 0.85rem;
  transition: all 0.18s ease;
}
.pagination .page-item .page-link:hover {
  background: var(--mm-accent);
  color: var(--mm-petrol);
  border-color: var(--mm-accent);
}
.pagination .page-item.active .page-link {
  background: var(--mm-accent);
  color: var(--mm-petrol);
  border-color: var(--mm-accent);
}
.pagination .page-item.disabled .page-link {
  opacity: 0.35;
  background: transparent;
  color: var(--mm-fg);
}

/* ----- Breadcrumb ----- */
.breadcrumb {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  padding: var(--mm-space-s) 0;
  margin: 0;
}
.breadcrumb .breadcrumb-item {
  color: rgba(255, 255, 255, 0.55);
}
.breadcrumb .breadcrumb-item a {
  color: rgba(255, 255, 255, 0.55);
  text-decoration: none;
}
.breadcrumb .breadcrumb-item a:hover {
  color: var(--mm-accent);
}
.breadcrumb .breadcrumb-item.active {
  color: var(--mm-accent);
}
.breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  color: rgba(255, 255, 255, 0.3);
  content: "/";
}

/* ----- Progress ----- */
.progress {
  background: rgba(255, 255, 255, 0.12);
  border-radius: 0;
  height: 3px;
}
.progress .progress-bar {
  background: var(--mm-accent);
  border-radius: 0;
}

/* ----- Toast ----- */
.toast {
  background: var(--mm-petrol);
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  color: var(--mm-white);
}
.toast .toast-header {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  background: rgba(196, 214, 0, 0.1);
  color: var(--mm-accent);
  border-bottom-color: rgba(196, 214, 0, 0.2);
}

/* ----- Modal ----- */
.modal-content {
  background: var(--mm-petrol);
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  color: var(--mm-white);
}

.modal-header {
  border-bottom: 1px solid rgba(196, 214, 0, 0.25);
}
.modal-header .modal-title {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
}
.modal-header .btn-close {
  filter: invert(1);
}

.modal-footer {
  border-top: 1px solid rgba(196, 214, 0, 0.25);
}

/* ----- Dropdown ----- */
.dropdown-menu {
  background: var(--mm-petrol);
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  padding: 0.5rem 0;
}
.dropdown-menu .dropdown-item {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--mm-white);
  padding: 0.65rem 1.25rem;
  background: transparent;
}
.dropdown-menu .dropdown-item:hover, .dropdown-menu .dropdown-item:focus {
  background: rgba(196, 214, 0, 0.1);
  color: var(--mm-accent);
}
.dropdown-menu .dropdown-item.active {
  background: var(--mm-accent);
  color: var(--mm-petrol);
}
.dropdown-menu .dropdown-divider {
  border-color: rgba(196, 214, 0, 0.25);
}
.dropdown-menu .dropdown-header {
  font-family: var(--mm-mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: rgba(255, 255, 255, 0.4);
}

/* ----- Offcanvas ----- */
.offcanvas {
  background: var(--mm-petrol);
  color: var(--mm-white);
  border-color: var(--mm-accent);
}
.offcanvas .offcanvas-header {
  border-bottom: 1px solid rgba(196, 214, 0, 0.25);
}
.offcanvas .offcanvas-header .btn-close {
  filter: invert(1);
}
.offcanvas .offcanvas-header .offcanvas-title {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
}

/* ----- Gallery / Masonry ----- */
.ce-gallery img {
  display: block;
  width: 100%;
  height: auto;
}
.ce-gallery figcaption {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: rgba(255, 255, 255, 0.55);
  margin-top: 0.5rem;
}

/* ----- Teaser / t3sbs Card ----- */
.t3sbs-card,
.card.ce-card {
  background: transparent;
  border: 0;
  border-top: 1px solid var(--mm-accent);
  border-radius: 0;
}
.t3sbs-card .card-body,
.card.ce-card .card-body {
  padding-inline: 0;
}
.t3sbs-card .card-title,
.card.ce-card .card-title {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.1rem, 1.6vw, 1.5rem);
  line-height: 0.96;
  color: var(--mm-fg);
}
.t3sbs-card .card-text,
.card.ce-card .card-text {
  font-size: var(--mm-body-size);
  line-height: var(--mm-body-line);
  color: rgba(255, 255, 255, 0.8);
}
.t3sbs-card .card-img-top,
.card.ce-card .card-img-top {
  border-radius: 0;
}

/* ----- t3sbootstrap Background-Wrapper ----- */
.background-wrapper {
  padding-block: var(--mm-space-xl);
}
.background-wrapper.background-wrapper--dark {
  background: var(--mm-petrol);
}
.background-wrapper.background-wrapper--light {
  background: var(--mm-white);
  --mm-fg: var(--mm-petrol);
  --mm-bg: var(--mm-white);
  --mm-accent: var(--mm-petrol);
  color: var(--mm-petrol);
}

/* ----- t3sbootstrap Columns/Grid ----- */
.t3sbs-columns-wrap .frame {
  padding: 0;
}

/* ----- Responsive Video ----- */
.ratio {
  border-radius: 0;
}

/* ----- Lightbox (t3sbootstrap) ----- */
.t3sbs-lightbox-thumbnail,
[data-fancybox] img {
  cursor: zoom-in;
  transition: opacity 0.18s ease;
}
.t3sbs-lightbox-thumbnail:hover,
[data-fancybox] img:hover {
  opacity: 0.88;
}

/* ----- Share buttons (rx_shariff) ----- */
.shariff .orientation-horizontal {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.shariff .orientation-horizontal li a {
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  border: 1px solid var(--mm-accent);
  color: var(--mm-fg);
  text-decoration: none;
  background: transparent;
  transition: background 0.18s ease, color 0.18s ease;
}
.shariff .orientation-horizontal li a:hover {
  background: var(--mm-accent);
  color: var(--mm-petrol);
}

/* ----- News (georgringer/news) ----- */
.news-list-view .news-header h3,
.news-single .news-header h1 {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  line-height: 0.95;
}

.news-category-list li::before {
  color: var(--mm-accent);
}

.news-img-wrap {
  border-radius: 0;
  overflow: hidden;
}

/* ----- ke_search ----- */
.tx-kesearch-pi1 .kesearch_searchbox input[type=text] {
  border: 0;
  border-bottom: 1px solid var(--mm-accent);
  background: transparent;
  color: var(--mm-fg);
  font-family: var(--mm-body);
  border-radius: 0;
  padding-inline: 0;
}
.tx-kesearch-pi1 .kesearch_searchbox input[type=submit],
.tx-kesearch-pi1 .kesearch_searchbox .kesearch_submit {
  background: transparent;
  border: 1px solid var(--mm-accent);
  color: var(--mm-fg);
  border-radius: 0;
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}
.tx-kesearch-pi1 .kesearch_searchbox input[type=submit]:hover,
.tx-kesearch-pi1 .kesearch_searchbox .kesearch_submit:hover {
  background: var(--mm-accent);
  color: var(--mm-petrol);
}
.tx-kesearch-pi1 .kesearch_results_page_browser .browser-next-link,
.tx-kesearch-pi1 .kesearch_results_page_browser .browser-prev-link {
  color: var(--mm-accent);
  font-family: var(--mm-mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

/* ----- t3sbootstrap Scrolltop ----- */
#scrolltop {
  border-radius: 0;
  background: var(--mm-accent);
  color: var(--mm-petrol);
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--mm-mono);
  font-size: 16px;
}

/* ----- 4. Layout-Primitives ----- */
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   mms_sitepackage — SCSS-Variablen (Compile-Time)
   Werden in Mixins, Breakpoint-Berechnungen, fallback-Werten
   benutzt. NICHT für Theming — dafür sind die Custom Properties
   in _tokens.scss da.
   ============================================================ */
/* ----- Farben (Compile-Time-Fallback) ----- */
/* ----- Typo ----- */
/* ----- Spacing ----- */
/* ----- Layout ----- */
/* ----- Breakpoints (Bootstrap-5-kompatibel) ----- */
/* Navbar → Burger */
/* ----- Hairline ----- */
/* ----- Diamant-Größen ----- */
/* ----- Typo-Skala (clamp-Werte) ----- */
/* ----- Marken-Container (parallel zu .container) ----- */
.mm-container {
  width: 100%;
  max-width: var(--mm-container);
  margin: 0 auto;
  padding-inline: clamp(1.25rem, 2.5vw, 2.5rem);
}

/* ----- 12-Spalten-Row (Standard-Block-Layout) ----- */
.mm-row {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--mm-gutter);
}

/* ----- Spalten-Spans (1–12) ----- */
.mm-col-1 {
  grid-column: span 1;
}

.mm-col-2 {
  grid-column: span 2;
}

.mm-col-3 {
  grid-column: span 3;
}

.mm-col-4 {
  grid-column: span 4;
}

.mm-col-5 {
  grid-column: span 5;
}

.mm-col-6 {
  grid-column: span 6;
}

.mm-col-7 {
  grid-column: span 7;
}

.mm-col-8 {
  grid-column: span 8;
}

.mm-col-9 {
  grid-column: span 9;
}

.mm-col-10 {
  grid-column: span 10;
}

.mm-col-11 {
  grid-column: span 11;
}

.mm-col-12 {
  grid-column: span 12;
}

/* ----- Section-Padding ----- */
.mm-section {
  padding-block: clamp(4.5rem, 9vw, var(--mm-space-xxl));
  position: relative;
}

.mm-section--tight {
  padding-block: clamp(3.5rem, 6vw, 5rem);
}

/* ----- Mobile: alles auf eine Spalte ----- */
@media (max-width: 720px) {
  .mm-col-1 {
    grid-column: 1/-1;
  }
  .mm-col-2 {
    grid-column: 1/-1;
  }
  .mm-col-3 {
    grid-column: 1/-1;
  }
  .mm-col-4 {
    grid-column: 1/-1;
  }
  .mm-col-5 {
    grid-column: 1/-1;
  }
  .mm-col-6 {
    grid-column: 1/-1;
  }
  .mm-col-7 {
    grid-column: 1/-1;
  }
  .mm-col-8 {
    grid-column: 1/-1;
  }
  .mm-col-9 {
    grid-column: 1/-1;
  }
  .mm-col-10 {
    grid-column: 1/-1;
  }
  .mm-col-11 {
    grid-column: 1/-1;
  }
  .mm-col-12 {
    grid-column: 1/-1;
  }
}
/* ----- 5. Marken-Bausteine (Mixins + Utility-Klassen) ----- */
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Mixin: Hairline
   1px Lime-Linie — der einzige zulässige Trenner.
   Briefing 3.4: niemals dicker, niemals gestrichelt, niemals Petrol.
   ============================================================ */
/* Utility-Klassen — direkt verwendbar */
.mm-hairline {
  height: 1px;
  width: 100%;
  background: var(--mm-accent);
  border: 0;
  margin: 0;
  display: block;
}

.mm-hairline--full {
  width: 100%;
}

.mm-hairline--short {
  width: 64px;
}

.mm-hairline--md {
  width: 50%;
}

/* Trenner zwischen Section-Topline-Elementen */
.mm-divider {
  flex: 1;
  height: 1px;
  background: var(--mm-accent);
  align-self: center;
}

/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Mixin: Diamant
   Die einzige zugelassene Markensignatur.
   Quadrat um 45° rotiert, Lime.
   Briefing 3.3: pro Section ENTWEDER Brand-Diamant ODER Marker — nie beides.
   ============================================================ */
/* Utility-Klasse */
.mm-diamond {
  display: inline-block;
  width: 12px;
  height: 12px;
  background: var(--mm-accent);
  transform: rotate(45deg);
  flex-shrink: 0;
}

/* Größen-Varianten */
.mm-diamond--xs {
  width: 8px;
  height: 8px;
}

.mm-diamond--sm {
  width: 12px;
  height: 12px;
}

.mm-diamond--md {
  width: 20px;
  height: 20px;
}

.mm-diamond--lg {
  width: 32px;
  height: 32px;
}

.mm-diamond--brand-s {
  width: 80px;
  height: 80px;
}

.mm-diamond--brand {
  width: clamp(120px, 18vw, 160px);
  height: clamp(120px, 18vw, 160px);
}

.mm-diamond--brand-xl {
  width: clamp(180px, 28vw, 280px);
  height: clamp(180px, 28vw, 280px);
}

/* Marker-Variante für Bullet-Listen — siehe contentElements/_bullet-diamond.scss */
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Mixin: Inscription (Stimme 02)
   Mono, SMALL CAPS, gespacet.
   Für Pre-Headlines, §-Codes, Buttons, Captions, Tagline.
   Briefing 3.2: 11–13 px, letter-spacing 0.18–0.24em.
   ============================================================ */
/* Utility-Klassen */
.mm-pre,
.mm-inscription {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--mm-fg);
  margin: 0;
}

.mm-pre--lime,
.mm-inscription--lime {
  color: var(--mm-accent);
}

.mm-pre--md {
  font-size: 12px;
  letter-spacing: 0.24em;
}

.mm-pre--lg {
  font-size: 13px;
  letter-spacing: 0.2em;
}

/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Mixin: Display (Stimme 01)
   Big Shoulders Display, 900, uppercase, tight tracking.
   Für Headlines, Hero, Section-Header.
   Briefing 3.2: 40–96 px für h1, 28–48 px für h2.
   ============================================================ */
/* Utility-Klassen — direkt im Markup verwendbar */
.mm-display,
.mm-d1, .mm-d2, .mm-d3 {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 0.95;
  color: var(--mm-fg);
  margin: 0;
}
.mm-display em,
.mm-d1 em, .mm-d2 em, .mm-d3 em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-d1 {
  font-size: clamp(3rem, 6.2vw, 6.25rem);
  line-height: 0.92;
}

.mm-d2 {
  font-size: clamp(2.25rem, 4.6vw, 3.5rem);
  line-height: 0.96;
}

.mm-d3 {
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.02;
}

/* Body-Stimme (Inter Regular) — für Fließtext */
.mm-body {
  font-family: var(--mm-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--mm-fg);
  max-width: 56ch;
  margin: 0;
}

.mm-body--lead {
  font-size: 19px;
  line-height: 1.55;
  max-width: 52ch;
}

.mm-body--small {
  font-size: 15px;
  line-height: 1.6;
}

/* Lime-Theme-Markierung — wenn man im Light-Theme em-Wörter anders behandeln will:
   Briefing 3.1 (helle Variante): „em → Petrol-Text auf Lime-Background" */
body[data-theme=light] .mm-display em,
body[data-theme=light] .mm-d1 em, body[data-theme=light] .mm-d2 em, body[data-theme=light] .mm-d3 em {
  color: var(--mm-petrol);
  background: var(--mm-lime);
  padding: 0 0.05em;
}

/* ----- 6. Komponenten ----- */
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   mms_sitepackage — Buttons
   Zwei Buttons, mehr nicht (Briefing 4.6).
   ============================================================ */
/* ----- Primary: Border + Inscription + Pfeil ----- */
.btn-mm-primary {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.75rem;
  font-family: var(--mm-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-fg);
  background: transparent;
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
}
.btn-mm-primary:hover, .btn-mm-primary:focus-visible {
  background: var(--mm-accent);
  color: var(--mm-petrol);
  outline: none;
}
.btn-mm-primary::after {
  content: "→";
  font-family: inherit;
  line-height: 1;
}
.btn-mm-primary {
  /* Light-Theme: Hover invertiert (Petrol-BG + Weiß-Text) */
}
body[data-theme=light] .btn-mm-primary {
  border-color: var(--mm-petrol);
  color: var(--mm-petrol);
}
body[data-theme=light] .btn-mm-primary:hover, body[data-theme=light] .btn-mm-primary:focus-visible {
  background: var(--mm-petrol);
  color: var(--mm-white);
}

/* ----- Secondary: nur Pfeil + Wort, kein Border ----- */
.btn-mm-secondary {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  font-family: var(--mm-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  background: transparent;
  border: 0;
  padding: 0.25rem 0;
  cursor: pointer;
  transition: color 0.18s ease;
}
.btn-mm-secondary::before {
  content: "→";
}
.btn-mm-secondary:hover {
  color: var(--mm-fg);
}
body[data-theme=light] .btn-mm-secondary {
  color: var(--mm-petrol);
}
body[data-theme=light] .btn-mm-secondary:hover {
  background: var(--mm-accent);
  color: var(--mm-petrol);
}

/* ----- Disabled-State (Briefing 3.1: opacity 0.4, kein Grauton) ----- */
.btn-mm-primary[disabled],
.btn-mm-secondary[disabled],
.btn-mm-primary.is-disabled,
.btn-mm-secondary.is-disabled {
  opacity: 0.4;
  pointer-events: none;
}

/* ----- 7. Layout-Sections ----- */
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Section: Navbar
   Sticky, Petrol-BG, Inscription-Nav, Burger ab 1120px.
   Briefing 4.1 + Claude-Design styles.css L134-233.
   ============================================================ */
.mm-navbar {
  position: sticky;
  top: 0;
  z-index: 50;
  background: var(--mm-bg);
  border-bottom: 1px solid transparent;
  height: var(--mm-navbar-h);
  display: flex;
  align-items: center;
}

.mm-navbar__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 2rem;
}

/* ----- Brand (Logo + Wordmark) ----- */
.mm-brand {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: 22px;
  letter-spacing: -0.01em;
  text-transform: lowercase;
  line-height: 1;
  color: var(--mm-fg);
  text-decoration: none;
}

.mm-brand__logo {
  display: block;
  height: 42px !important;
  width: auto;
  max-width: min(38vw, 160px);
  flex-shrink: 0;
}

.mm-brand__logo-wrap {
  display: block;
  line-height: 0;
}

.mm-brand__logo--light {
  display: none;
}

.mm-brand__logo--dark {
  width: auto;
}

.mm-brand__mark {
  width: 36px;
  height: 36px;
  flex-shrink: 0;
  display: block;
}

.mm-brand__mark--light {
  display: none;
}

.mm-brand__white {
  color: var(--mm-fg);
}

.mm-brand__lime {
  color: var(--mm-accent);
}

.mm-brand__diamond {
  width: 16px;
  height: 16px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

/* Theme-Light: invertierte Logo-Varianten verwenden */
body[data-theme=light] .mm-brand__logo-wrap {
  color: var(--mm-petrol);
}
body[data-theme=light] .mm-brand__logo--dark {
  display: none;
}
body[data-theme=light] .mm-brand__logo--light {
  display: block;
}
body[data-theme=light] .mm-brand__mark--dark {
  display: none;
}
body[data-theme=light] .mm-brand__mark--light {
  display: block;
}

/* ----- Navigation ----- */
.mm-nav {
  display: flex;
  align-items: center;
  gap: clamp(1.35rem, 2vw, 2.1rem);
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.24em;
}

.mm-nav__link {
  position: relative;
  padding: 0.72rem 0 0.62rem;
  color: var(--mm-fg);
  text-decoration: none;
  transition: color 0.18s ease;
}
.mm-nav__link:hover {
  color: var(--mm-accent);
}
.mm-nav__link::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--mm-accent);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.mm-nav__link:hover::after, .mm-nav__link:focus-visible::after, .mm-nav__link.is-active::after, .mm-nav__link[aria-current=page]::after {
  opacity: 1;
  transform: translateY(0);
}

.mm-nav__cta {
  min-height: 38px;
  margin-left: 1rem;
  margin-right: 2px;
  padding: 0.6rem 1.4rem;
  font-size: 11px;
  letter-spacing: 0.24em;
  line-height: 1;
  white-space: nowrap;
  border: 1px solid var(--mm-lime);
  color: var(--mm-lime);
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  transition: background 0.18s ease, color 0.18s ease;
}
.mm-nav__cta::after {
  display: none;
}
.mm-nav__cta:hover, .mm-nav__cta:focus-visible {
  background: var(--mm-lime);
  color: var(--mm-dark);
}
.mm-nav__cta::before {
  content: "→";
  font-size: 14px;
  letter-spacing: 0;
  order: 2;
}

/* ----- Dropdown (Ebene 2 + 3) ----- */
.mm-nav__dropdown {
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 0.25rem;
}
.mm-nav__dropdown:hover > .mm-nav__menu, .mm-nav__dropdown.is-open > .mm-nav__menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.mm-nav__parent {
  position: relative;
  padding: 0.72rem 0 0.62rem;
  color: var(--mm-fg);
  text-decoration: none;
  transition: color 0.18s ease;
}
.mm-nav__parent:hover {
  color: var(--mm-accent);
}
.mm-nav__parent::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: var(--mm-accent);
  opacity: 0;
  transform: translateY(4px);
  transition: opacity 0.18s ease, transform 0.18s ease;
}
.mm-nav__parent:hover::after, .mm-nav__parent.is-active::after {
  opacity: 1;
  transform: translateY(0);
}

.mm-nav__toggle {
  display: flex;
  align-items: center;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 0.72rem 0 0.62rem;
  color: var(--mm-fg);
  transition: color 0.18s ease;
}
.mm-nav__toggle:hover {
  color: var(--mm-accent);
}
.mm-nav__toggle .mm-nav__chevron {
  transition: transform 0.2s ease;
  flex-shrink: 0;
}
.mm-nav__toggle[aria-expanded=true] .mm-nav__chevron {
  transform: rotate(180deg);
}

.mm-nav__menu {
  position: absolute;
  top: calc(100% + 2px);
  left: 0;
  min-width: 220px;
  background: var(--mm-bg);
  border: 1px solid rgba(196, 214, 0, 0.3);
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  opacity: 0;
  pointer-events: none;
  transform: translateY(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 200;
}

.mm-nav__menu-item {
  position: relative;
}
.mm-nav__menu-item:hover > .mm-nav__submenu, .mm-nav__menu-item.is-open > .mm-nav__submenu {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.mm-nav__menu-link {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.6rem 1.1rem;
  color: var(--mm-fg);
  text-decoration: none;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  background: transparent;
  border: 0;
  cursor: pointer;
  width: 100%;
  text-align: left;
  transition: color 0.15s ease, background 0.15s ease;
}
.mm-nav__menu-link:hover, .mm-nav__menu-link.is-active {
  color: var(--mm-accent);
  background: rgba(196, 214, 0, 0.06);
}
.mm-nav__menu-link .mm-nav__chevron {
  transform: rotate(-90deg);
  flex-shrink: 0;
}

.mm-nav__submenu {
  position: absolute;
  top: -0.5rem;
  left: 100%;
  min-width: 220px;
  background: var(--mm-bg);
  border: 1px solid rgba(196, 214, 0, 0.3);
  list-style: none;
  margin: 0;
  padding: 0.5rem 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(6px);
  transition: opacity 0.18s ease, transform 0.18s ease;
  z-index: 201;
}
.mm-nav__submenu li {
  display: block;
}

.mm-nav__submenu-link {
  display: block;
  padding: 0.6rem 1.1rem;
  color: var(--mm-fg);
  text-decoration: none;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  transition: color 0.15s ease, background 0.15s ease;
}
.mm-nav__submenu-link:hover, .mm-nav__submenu-link.is-active {
  color: var(--mm-accent);
  background: rgba(196, 214, 0, 0.06);
}

/* ----- Burger (drei Hairlines) ----- */
.mm-burger {
  display: none;
  width: 36px;
  height: 24px;
  background: transparent;
  border: 0;
  flex-direction: column;
  justify-content: space-between;
  padding: 6px 0;
  cursor: pointer;
}
.mm-burger span {
  display: block;
  height: 1px;
  background: var(--mm-accent);
  width: 100%;
  transition: transform 0.2s ease, opacity 0.2s ease;
}
.mm-burger[aria-expanded=true] span:nth-child(1) {
  transform: translateY(10px) rotate(45deg);
}
.mm-burger[aria-expanded=true] span:nth-child(2) {
  opacity: 0;
}
.mm-burger[aria-expanded=true] span:nth-child(3) {
  transform: translateY(-10px) rotate(-45deg);
}

/* ----- Responsive: Burger ab 1120px ----- */
@media (max-width: 1120px) {
  .mm-nav {
    display: none;
    position: fixed;
    top: var(--mm-navbar-h);
    left: 0;
    right: 0;
    background: var(--mm-bg);
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    padding: 2rem clamp(1.25rem, 2.5vw, 2.5rem);
    border-top: 1px solid var(--mm-accent);
  }
  .mm-nav.is-open {
    display: flex;
  }
  .mm-nav .mm-nav__link {
    padding-block: 1rem;
    width: 100%;
    border-bottom: 1px solid rgba(196, 214, 0, 0.2);
  }
  .mm-nav .mm-nav__cta {
    margin: 1rem 0 0 0;
  }
  .mm-nav .mm-nav__dropdown {
    width: 100%;
  }
  .mm-nav .mm-nav__toggle {
    padding-block: 1rem;
    width: 100%;
    border-bottom: 1px solid rgba(196, 214, 0, 0.2);
  }
  .mm-nav .mm-nav__menu {
    position: static;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    border: none;
    border-left: 1px solid rgba(196, 214, 0, 0.3);
    padding: 0;
    display: none;
  }
  .mm-nav .mm-nav__menu.is-open {
    display: block;
  }
  .mm-nav .mm-nav__submenu {
    position: static;
    opacity: 1;
    pointer-events: auto;
    transform: none;
    border: none;
    border-left: 1px solid rgba(196, 214, 0, 0.2);
    padding: 0;
    display: none;
  }
  .mm-nav .mm-nav__submenu.is-open {
    display: block;
  }
  .mm-nav .mm-nav__menu-link,
  .mm-nav .mm-nav__submenu-link {
    padding-left: 1.5rem;
  }
  .mm-nav .mm-nav__submenu-link {
    padding-left: 2.5rem;
  }
  .mm-burger {
    display: flex;
  }
}
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Section: Hero
   Drei Varianten via data-hero am body:
   - standard: Headline 9-spaltig + Brand-Diamant 3-spaltig
   - split:    Headline 7-spaltig + großer Diamant 5-spaltig
   - centered: Headline zentriert, kein Diamant
   Briefing 4.2 + Claude-Design styles.css L322-388.
   ============================================================ */
.mm-hero {
  min-height: calc(100vh - var(--mm-navbar-h));
  padding-block: clamp(3.5rem, 8vw, 7rem);
  display: flex;
  align-items: center;
  position: relative;
  overflow: hidden;
}

@media (orientation: portrait) and (min-width: 1024px) {
  .mm-hero {
    min-height: min(100vh - var(--mm-navbar-h), 66vw);
  }
}
.mm-hero__grid {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--mm-gutter);
  align-items: start;
  width: 100%;
}

.mm-hero__main {
  grid-column: 1/span 9;
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.mm-hero__main > h1 {
  white-space: inherit;
}

.mm-hero__headline-after {
  display: block;
}

.mm-hero--knowledge .mm-hero__grid {
  grid-template-columns: 1fr;
}

.mm-hero--knowledge .mm-hero__main {
  grid-column: 1;
  max-width: 1480px;
}

.mm-hero--knowledge .mm-hero__diamond {
  display: none;
}

.mm-hero__diamond {
  grid-column: 10/span 3;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  padding-top: 0.5rem;
}

.mm-hero__topline {
  display: flex;
  align-items: center;
  gap: 1.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.mm-hero__topline .mm-divider {
  width: 96px;
  height: 1px;
  background: var(--mm-accent);
}

.mm-hero__tagline {
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-fg);
  margin: 0;
}

.mm-hero__lead {
  max-width: 60ch;
  margin: -1rem 0 0;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
}
.mm-hero__lead em, .mm-hero__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-hero__lead strong, .mm-hero__lead b {
  font-weight: 900;
}

.mm-hero__bg {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
}
.mm-hero__bg svg {
  width: 100%;
  height: 100%;
  display: block;
}

.mm-hero__grid {
  position: relative;
  z-index: 1;
}

.mm-hero__actions {
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
}

/* ----- Variante: Split (großer Diamant rechts) ----- */
body[data-hero=split] .mm-hero__main {
  grid-column: 1/span 7;
}
body[data-hero=split] .mm-hero__diamond {
  grid-column: 8/span 5;
  align-items: stretch;
}
body[data-hero=split] .mm-hero__diamond .mm-diamond {
  width: clamp(220px, 32vw, 460px);
  height: clamp(220px, 32vw, 460px);
}

/* ----- Variante: Centered (zentriert, kein Diamant) ----- */
body[data-hero=centered] .mm-hero__grid {
  grid-template-columns: 1fr;
}
body[data-hero=centered] .mm-hero__main {
  grid-column: 1;
  max-width: 1080px;
}
body[data-hero=centered] .mm-hero__diamond {
  display: none;
}
body[data-hero=centered] .mm-d1 {
  font-size: clamp(3.1rem, 6.8vw, 6.9rem);
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
  .mm-hero__main {
    grid-column: 1/span 12 !important;
  }
  .mm-hero__diamond {
    grid-column: 1/span 12 !important;
    justify-content: flex-start;
  }
}
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Section: Section-Topline und Section-Header
   Wiederkehrendes Muster vor jeder Sektion:
   "§ 02 / System  ─────────────  Drei Säulen, ein System"
   Briefing 4.3 + Claude-Design styles.css L284-319.
   ============================================================ */
/* ----- Topline: §-Code + Lime-Divider + Label ----- */
.mm-section__topline {
  display: flex;
  align-items: baseline;
  gap: 2.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  margin-bottom: clamp(1.5rem, 2.5vw, 2.5rem);
}
.mm-section__topline .mm-divider {
  flex: 1;
  height: 1px;
  background: var(--mm-accent);
  align-self: center;
}

/* ----- Optional: Header mit §-Code als kleiner Tag ----- */
.mm-section__header {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.5rem;
}

.mm-section__code {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

/* ----- Codes-Toggle: §-Marker komplett ausblenden via data-codes="off" ----- */
body[data-codes=off] .mm-section__code,
body[data-codes=off] .mm-section__topline,
body[data-codes=off] .mm-pillar__pre,
body[data-codes=off] .mm-stimme__num,
body[data-codes=off] .mm-zielgruppe__num,
body[data-codes=off] .mm-faq__num,
body[data-codes=off] .mm-hero__topline,
body[data-codes=off] .mm-step__number {
  display: none !important;
}

/* ----- Landingpage: alter First-Screen aus TYPO3-Inhalten wird vom Claude-Hero ersetzt ----- */
.mm-page-content {
  padding-block: 0;
}
.mm-page-content #c6523,
.mm-page-content #s-8220 {
  display: none !important;
}

/* ----- Scrolltiefe: fixer Lime-Balken am unteren Viewport-Rand ----- */
.mm-scroll-progress {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  height: 3px;
  background: transparent;
  pointer-events: none;
}

.mm-scroll-progress__bar {
  display: block;
  width: var(--mm-scroll-progress, 0%);
  height: 100%;
  background: var(--mm-accent);
  transform-origin: left center;
}

/* ----- Eigene mms_ Content-Elemente ----- */
.mm-ce {
  margin-block: clamp(2.36rem, 8vw, 9.45rem) !important;
}

@media (min-width: 1400px) {
  .mm-ce {
    margin-block: 2.45rem !important;
  }
}
/* Sidebar-Elemente: kompakter Abstand */
.mm-prose__sidebar .mm-ce {
  margin-block: 1rem !important;
}

/* Blog-Inline-Elemente: kompakter Abstand, kein Sektions-Spacing */
.mm-blog-meta.mm-ce,
.mm-case-facts.mm-ce,
.mm-pullquote.mm-ce,
.mm-kpis.mm-ce,
.mm-steps.mm-ce {
  margin-block: 2rem !important;
}

@media (min-width: 1400px) {
  .mm-blog-meta.mm-ce,
  .mm-case-facts.mm-ce,
  .mm-pullquote.mm-ce,
  .mm-kpis.mm-ce,
  .mm-steps.mm-ce {
    margin-block: 2rem !important;
  }
}
/* Case-Facts: outline-Klasse von t3sbootstrap ignorieren */
.mm-case-facts.mm-t3sb-outline {
  border: 0;
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
}

.mm-ce-section-intro__content,
.mm-ce-cta__content {
  grid-column: 1/span 8;
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.mm-ce-statement {
  max-width: 1040px;
}

.mm-ce-statement__code,
.mm-pillar__pre,
.mm-step .mm-step__number {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin: 0;
}

.mm-ce-statement__text {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.9rem, 4vw, 3.6rem);
  line-height: 0.98;
  letter-spacing: -0.01em;
  color: var(--mm-fg);
  margin: 1.5rem 0 0;
}

.mm-ce-statement__accent {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.9rem, 4vw, 3.6rem);
  line-height: 0.98;
  color: var(--mm-accent);
  margin: 0;
}

.mm-pillars,
.mm-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 3rem);
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  padding-block: clamp(1rem, 2vw, 1.75rem);
}

.mm-pillar,
.mm-step {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  padding: 1rem;
}

.mm-pillar h3,
.mm-step__title {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2vw, 2rem);
  line-height: 1;
  color: var(--mm-fg);
  margin: 0;
}

.mm-pillar h3 em,
.mm-step__accent {
  color: var(--mm-accent);
  font-style: normal;
}

.mm-pillar__list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  font-family: var(--mm-mono);
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.22em;
  line-height: 1.45;
  text-transform: uppercase;
}

.mm-pillar__list li {
  display: flex;
  align-items: flex-start;
  gap: 1.25rem;
}

.mm-pillar__list li::before {
  content: "";
  width: 12px;
  height: 12px;
  margin-top: 0.22em;
  background: var(--mm-accent);
  transform: rotate(45deg);
  flex: 0 0 12px;
}

.mm-pillar__link {
  margin-top: auto;
  align-self: flex-start;
}

.mm-step {
  position: relative;
}

.mm-step:not(:first-child)::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(clamp(1.5rem, 3vw, 3rem) * -0.5);
  width: 1px;
  background: var(--mm-accent);
}

.mm-step .mm-step__body {
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--mm-fg);
  margin: 0;
}

.mm-ce-cta {
  padding-block: clamp(3rem, 7vw, 6rem);
}

.mm-ce-cta__accent,
.mm-zielgruppe__headline em,
.mm-faq__headline em,
.mm-stimme__accent,
.mm-person .mm-d2 em {
  color: var(--mm-accent);
  font-style: normal;
}

.mm-ce-cta__aside {
  grid-column: 9/span 4;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  justify-content: flex-end;
  align-items: flex-end;
}

.mm-ce-cta__eyebrow {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  text-align: right;
}

.mm-module-detail__headline,
.mm-honorar-rules__headline {
  white-space: pre-line;
}

.mm-module-detail__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.95fr);
  gap: clamp(3rem, 5vw, 5rem);
  align-items: start;
}

.mm-module-detail__main {
  display: flex;
  flex-direction: column;
  gap: 2.75rem;
}

.mm-module-detail__headline {
  max-width: 12ch;
}

.mm-module-detail__intro {
  font-family: var(--mm-display);
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.28;
  color: var(--mm-fg);
}

.mm-module-detail__intro p {
  margin: 0;
  font: inherit;
}

.mm-module-detail__intro em,
.mm-module-detail__intro strong,
.mm-module-detail__intro b,
.mm-module-detail__intro .text-primary,
.mm-module-detail__intro .text-warning {
  color: var(--mm-accent);
  font-style: normal;
  font-weight: 800;
}

.mm-module-detail__meta {
  display: flex;
  justify-content: flex-end;
  padding-top: clamp(8rem, 12vw, 13rem);
}

.mm-module-detail__meta-line,
.mm-module-detail__label,
.mm-module-detail__row-key,
.mm-module-detail__row-value {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  line-height: 1.55;
  text-transform: uppercase;
}

.mm-module-detail__meta-line,
.mm-module-detail__label,
.mm-module-detail__row-key {
  color: var(--mm-accent);
}

.mm-module-detail__parts,
.mm-module-detail__frame {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.mm-module-detail__part-list,
.mm-module-detail__rows {
  border-top: 1px solid var(--mm-accent);
}

.mm-module-detail__part {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 1.25rem;
  padding-block: 1.1rem;
}

.mm-module-detail__diamond {
  width: 12px;
  height: 12px;
  margin-top: 0.45rem;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-module-detail__part-copy {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.mm-module-detail__part-title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.05rem, 1.4vw, 1.25rem);
  line-height: 1;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-module-detail__part-text {
  margin: 0;
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mm-white);
  opacity: 0.86;
  max-width: 52ch;
}

.mm-module-detail__row {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 1.5rem;
  align-items: baseline;
  padding-block: 1.1rem;
  border-top: 1px solid var(--mm-accent);
}

.mm-module-detail__row-value {
  color: var(--mm-white);
  opacity: 1;
  max-width: none;
}

.mm-module-detail__closing {
  margin: 1.25rem 0 0;
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
}

.mm-module-detail__actions {
  display: flex;
  gap: 2rem;
  align-items: center;
  flex-wrap: wrap;
  margin-top: 1.75rem;
}

.mm-honorar-rules__headline {
  max-width: 12ch;
  margin-bottom: clamp(3rem, 5vw, 5rem);
}

.mm-honorar-rules__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
}

.mm-honorar-rules__card {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  min-height: 100%;
  padding: clamp(2rem, 3vw, 3rem) clamp(1.5rem, 2vw, 2.75rem);
  border-right: 1px solid var(--mm-accent);
}

.mm-honorar-rules__card:last-child {
  border-right: 0;
}

.mm-honorar-rules__num {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-honorar-rules__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.45rem, 2.05vw, 2.1rem);
  line-height: 1.05;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--mm-fg);
  max-width: 12ch;
}

.mm-honorar-rules__title em {
  color: var(--mm-accent);
  font-style: normal;
  font-weight: 800;
}

.mm-honorar-rules__text {
  margin: 0;
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-white);
  opacity: 0.86;
}

.mm-wissen-featured__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.85fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}

.mm-wissen-featured__body {
  display: flex;
  flex-direction: column;
  gap: 1.75rem;
}

.mm-wissen-featured__meta,
.mm-wissen-featured__eyebrow,
.mm-wissen-featured__captions,
.mm-wissen-filter__chip,
.mm-wissen-filter__sort,
.mm-wissen-filter__rss,
.mm-wissen-sidebar__eyebrow,
.mm-blog-card__meta {
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  line-height: 1.55;
  text-transform: uppercase;
}

.mm-wissen-featured__meta,
.mm-wissen-featured__eyebrow,
.mm-wissen-featured__captions,
.mm-wissen-filter__sort,
.mm-wissen-filter__rss,
.mm-wissen-sidebar__eyebrow,
.mm-blog-card__meta {
  color: var(--mm-accent);
}

.mm-wissen-featured__abstract {
  font-family: var(--mm-body);
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  line-height: 1.65;
  color: var(--mm-fg);
  opacity: 0.9;
}

.mm-wissen-featured__abstract p,
.mm-wissen-sidebar__text {
  margin: 0;
}

.mm-wissen-featured__actions {
  display: flex;
  gap: 1.25rem 1.75rem;
  align-items: center;
  flex-wrap: wrap;
}

.mm-wissen-featured__author {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  font-size: 15px;
  color: var(--mm-fg);
}

.mm-wissen-featured__author strong {
  font-size: 16px;
}

.mm-wissen-featured__author span {
  opacity: 0.78;
}

.mm-wissen-featured__media {
  display: flex;
  justify-content: flex-end;
}

.mm-wissen-featured__card {
  width: min(100%, 420px);
  min-height: 100%;
  border: 1px solid var(--mm-accent);
  padding: clamp(1.5rem, 2vw, 2rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.mm-wissen-featured__figure {
  margin: 0;
  aspect-ratio: 4/5;
  overflow: hidden;
}

.mm-wissen-featured__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mm-wissen-featured__diamond {
  align-self: center;
  margin-block: auto;
}

.mm-wissen-featured__captions {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.mm-wissen-filter__headline {
  margin: 0 0 1.5rem;
}

.mm-wissen-filter__bar {
  display: flex;
  justify-content: space-between;
  gap: 1.5rem 2rem;
  align-items: center;
  flex-wrap: wrap;
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  padding-block: 1.15rem;
}

.mm-wissen-filter__chips {
  display: flex;
  gap: 0.8rem;
  align-items: center;
  flex-wrap: wrap;
}

.mm-wissen-filter__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  padding: 0.6rem 0.8rem;
  border: 1px solid var(--mm-accent);
  color: var(--mm-fg);
  text-decoration: none;
}

.mm-wissen-filter__chip.is-active,
.mm-wissen-filter__chip:hover {
  background: rgba(210, 230, 0, 0.08);
}

.mm-wissen-filter__chip em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-wissen-filter__aside {
  display: flex;
  gap: 1.5rem;
  align-items: center;
  flex-wrap: wrap;
}

.mm-wissen-filter__sort {
  display: inline-flex;
  gap: 0.7rem;
  align-items: center;
}

.mm-wissen-filter__sort-value {
  color: var(--mm-fg);
}

.mm-wissen-filter__rss {
  text-decoration: none;
}

.mm-wissen-sidebar {
  display: flex;
  flex-direction: column;
}

.mm-wissen-sidebar--compact {
  gap: 1rem;
}

.mm-wissen-sidebar--spacious {
  gap: 1.5rem;
}

.mm-wissen-sidebar__block {
  border: 1px solid var(--mm-accent);
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.mm-wissen-sidebar__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.25rem, 1.7vw, 1.65rem);
  line-height: 1.08;
  text-transform: uppercase;
}

.mm-wissen-sidebar__text {
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.65;
  color: var(--mm-fg);
  opacity: 0.88;
}

.mm-wissen-sidebar__link {
  margin-top: 0.35rem;
  align-self: flex-start;
}

.mm-bloglist {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.mm-blog-card {
  border-top: 1px solid var(--mm-accent);
  padding-top: 2rem;
}

.mm-blog-card__grid {
  display: grid;
  grid-template-columns: minmax(240px, 0.75fr) minmax(0, 1fr);
  gap: 1.75rem;
  align-items: center;
}

.mm-blog-card__media-link {
  display: block;
}

.mm-blog-card__media img,
.mm-blog-card__media video {
  display: block;
  width: 100%;
  height: auto;
}

.mm-blog-card__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mm-blog-card__meta {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
}

.mm-blog-card__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.45rem, 2.2vw, 2rem);
  line-height: 1.02;
  text-transform: uppercase;
}

.mm-blog-card__title a {
  color: inherit;
  text-decoration: none;
}

.mm-blog-card__excerpt {
  margin: 0;
  font-size: 16px;
  line-height: 1.7;
  opacity: 0.88;
}

.mm-blog-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

.mm-blog-card__author {
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-blog-card__link {
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mm-accent);
  text-decoration: none;
}

.mm-blog-taxonomy {
  border-top: 1px solid var(--mm-accent);
  padding-top: 1.5rem;
}

.mm-blog-taxonomy__title {
  margin: 0 0 0.75rem;
  font-family: var(--mm-display);
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  line-height: 1.05;
  text-transform: uppercase;
}

.mm-blog-taxonomy__description {
  margin: 0;
  font-size: 16px;
  line-height: 1.65;
  opacity: 0.85;
}

.mm-blog-filter-section {
  margin-bottom: clamp(2.5rem, 5vw, 4rem);
}

.mm-blog-editorial-section {
  padding-top: 0;
}

.mm-featured-list {
  display: flex;
  flex-direction: column;
  gap: clamp(2.5rem, 5vw, 4rem);
}

.mm-featured {
  display: grid;
  grid-template-columns: minmax(0, 6fr) minmax(0, 6fr);
  gap: clamp(2rem, 4vw, 4rem);
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid var(--mm-accent);
  align-items: stretch;
}

.mm-featured > * {
  min-width: 0;
}

.mm-featured__media {
  position: relative;
  z-index: 1;
  min-width: 0;
  width: 100%;
  max-width: 100%;
  aspect-ratio: 4/3;
  border: 1px solid var(--mm-accent);
  background: transparent;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.mm-featured__media::before,
.mm-featured__media::after {
  content: "";
  position: absolute;
  background: var(--mm-accent);
  z-index: 2;
}

.mm-featured__media::before {
  top: -1px;
  left: 32px;
  right: 32px;
  height: 1px;
}

.mm-featured__media::after {
  bottom: -1px;
  left: 32px;
  right: 32px;
  height: 1px;
}

.mm-featured__media-inscription {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 3;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-featured__media-mark {
  width: clamp(80px, 12vw, 120px);
  height: clamp(80px, 12vw, 120px);
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-featured__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.mm-featured__media:hover .mm-featured__image {
  transform: scale(1.035);
}

.mm-featured__media-caption {
  position: absolute;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  z-index: 3;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.7;
}

.mm-featured__body {
  position: relative;
  z-index: 2;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  justify-content: center;
  overflow-wrap: anywhere;
}

.mm-featured__meta {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.86;
  flex-wrap: wrap;
}

.mm-featured__title {
  margin: 0;
}

.mm-featured__title a {
  color: inherit;
  overflow-wrap: anywhere;
}

.mm-featured__title a:hover {
  color: var(--mm-accent);
}

.mm-featured__abstract {
  font-family: var(--mm-body);
  font-size: 17px;
  line-height: 1.65;
  color: var(--mm-fg);
  margin: 0;
  max-width: 56ch;
  overflow-wrap: anywhere;
}

.mm-featured__foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  flex-wrap: wrap;
  margin-top: 0.5rem;
}

.mm-tag {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-bg);
  background: var(--mm-accent);
}

.mm-divider--xs {
  display: inline-block;
  flex: 0 0 auto;
  width: 6px;
  height: 6px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-author {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.mm-author__avatar {
  position: relative;
  width: 40px;
  height: 40px;
  border: 1px solid var(--mm-accent);
  background: transparent;
}

.mm-author__avatar::after {
  content: "";
  position: absolute;
  inset: 30%;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-author__name {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  line-height: 1.4;
}

.mm-author__role {
  color: var(--mm-accent);
  opacity: 0.86;
}

.mm-filter {
  margin-top: 3rem;
  padding: 1.5rem 0;
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 2rem;
  flex-wrap: wrap;
}

.mm-filter__group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mm-filter__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.65rem 1rem;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.2);
  color: var(--mm-fg);
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all 0.18s ease;
}

.mm-filter__chip:hover {
  border-color: var(--mm-accent);
}

.mm-filter__chip-num {
  color: var(--mm-accent);
}

.mm-filter__chip-count {
  font-size: 10px;
  opacity: 0.6;
}

.mm-filter__chip.is-active {
  background: var(--mm-accent);
  border-color: var(--mm-accent);
  color: var(--mm-bg);
}

.mm-filter__chip.is-active .mm-filter__chip-num,
.mm-filter__chip.is-active .mm-filter__chip-count {
  color: var(--mm-bg);
  opacity: 0.8;
}

.mm-filter__sort {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.mm-filter__sort-label {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-filter__sort-select {
  background: transparent;
  color: var(--mm-fg);
  border: 1px solid var(--mm-accent);
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 0.6rem 2.25rem 0.6rem 0.85rem;
  appearance: none;
  cursor: pointer;
  background-image: linear-gradient(135deg, transparent 50%, var(--mm-accent) 50%), linear-gradient(45deg, var(--mm-accent) 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 8px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
}

.mm-filter__sort-select:focus {
  outline: 2px solid var(--mm-accent);
  outline-offset: 2px;
}

.mm-filter__sort-select option {
  background: var(--mm-bg);
  color: var(--mm-fg);
}

.mm-blog {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(280px, 4fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  margin-top: 3.5rem;
  align-items: start;
}

.mm-blog > .blogpagination {
  grid-column: 1/-1;
}

.mm-blog__list {
  grid-column: 1/2;
  min-width: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2.5rem 2rem;
}

.mm-blog__list > .mm-post:first-child,
.mm-blog__list > .mm-post:nth-child(4),
.mm-blog__list > .mm-post:nth-child(7),
.mm-blog__list > .mm-post:nth-child(10) {
  grid-column: 1/-1;
}

.mm-post {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  padding-top: 2rem;
  border-top: 1px solid var(--mm-accent);
}

.mm-post[hidden] {
  display: none;
}

.mm-post__media {
  position: relative;
  aspect-ratio: 16/9;
  border: 1px solid var(--mm-accent);
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  overflow: hidden;
  transition: transform 0.25s ease;
}

.mm-post__media::before,
.mm-post__media::after {
  content: "";
  position: absolute;
  background: var(--mm-accent);
  z-index: 2;
}

.mm-post__media::before {
  top: -1px;
  left: 24px;
  right: 24px;
  height: 1px;
}

.mm-post__media::after {
  bottom: -1px;
  left: 24px;
  right: 24px;
  height: 1px;
}

.mm-post__media-tag {
  position: absolute;
  top: 0.85rem;
  left: 0.85rem;
  z-index: 3;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-bg);
  background: var(--mm-accent);
  padding: 0.25rem 0.55rem;
}

.mm-post__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}

.mm-post__media-mark {
  width: clamp(48px, 8vw, 72px);
  height: clamp(48px, 8vw, 72px);
  background: var(--mm-accent);
  transform: rotate(45deg);
  opacity: 0.85;
  transition: transform 0.25s ease;
}

.mm-post:hover .mm-post__media-mark {
  transform: rotate(135deg);
}

.mm-post:hover .mm-post__image {
  transform: scale(1.035);
}

.mm-blog__list > .mm-post:first-child .mm-post__media {
  aspect-ratio: 21/9;
}

.mm-blog__list > .mm-post:first-child .mm-post__title {
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
}

.mm-post__body {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mm-post__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.7;
  flex-wrap: wrap;
}

.mm-post__meta > span {
  color: var(--mm-accent);
  opacity: 0.5;
}

.mm-post__title {
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  line-height: 1.05;
  text-transform: uppercase;
  letter-spacing: 0;
  margin: 0;
}

.mm-post__title a {
  color: var(--mm-fg);
  display: inline;
  background-image: linear-gradient(var(--mm-accent), var(--mm-accent));
  background-size: 0 1px;
  background-repeat: no-repeat;
  background-position: 0 100%;
  transition: background-size 0.3s ease, color 0.18s ease;
  padding-bottom: 2px;
}

.mm-post__title a:hover {
  color: var(--mm-accent);
  background-size: 100% 1px;
}

.mm-post__title em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-post__abstract {
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.6;
  color: var(--mm-fg);
  opacity: 0.86;
  margin: 0;
  max-width: 60ch;
}

.mm-post__foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1rem;
  flex-wrap: wrap;
  padding-top: 0.5rem;
  border-top: 1px dashed rgba(196, 214, 0, 0.25);
}

.mm-post__author {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-post__author-mark {
  width: 14px;
  height: 14px;
  background: var(--mm-accent);
  transform: rotate(45deg);
  flex: 0 0 auto;
}

.mm-post__tags {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
}

.mm-post__tags a {
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-accent);
  border: 1px solid rgba(196, 214, 0, 0.4);
  padding: 0.25rem 0.55rem;
  transition: all 0.18s ease;
}

.mm-post__tags a::before {
  content: "# ";
  opacity: 0.6;
}

.mm-post__tags a:hover {
  color: var(--mm-bg);
  background: var(--mm-accent);
  border-color: var(--mm-accent);
}

.mm-blog__side {
  grid-column: 2/3;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 3rem;
  position: sticky;
  top: calc(var(--mm-navbar-h) + 1.5rem);
}

.mm-side-block {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mm-side-block__pre {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin: 0;
}

.mm-side-block__body {
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--mm-fg);
  opacity: 0.86;
  margin: 0;
}

.mm-side-block__cta {
  align-self: flex-start;
  margin-top: 0.5rem;
}

.mm-side-author {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.mm-side-author__avatar {
  width: 96px;
  height: 96px;
  border: 1px solid var(--mm-accent);
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.mm-side-author__avatar::before,
.mm-side-author__avatar::after {
  content: "";
  position: absolute;
  background: var(--mm-accent);
}

.mm-side-author__avatar::before {
  top: -1px;
  left: 16px;
  right: 16px;
  height: 1px;
}

.mm-side-author__avatar::after {
  bottom: -1px;
  left: 16px;
  right: 16px;
  height: 1px;
}

.mm-side-author__mark {
  width: 36px;
  height: 36px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-side-author__name {
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(1.5rem, 2vw, 1.85rem);
  line-height: 0.95;
  text-transform: uppercase;
  letter-spacing: 0;
  color: var(--mm-fg);
}

.mm-side-author__name em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-side-author__bio {
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.6;
  color: var(--mm-fg);
  opacity: 0.86;
  margin: 0;
}

.mm-archive {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}

.mm-archive li {
  border-top: 1px solid rgba(196, 214, 0, 0.25);
}

.mm-archive li:first-child {
  border-top: 0;
}

.mm-archive a {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding-block: 0.85rem;
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  transition: padding-left 0.18s ease, color 0.18s ease;
}

.mm-archive a:hover {
  color: var(--mm-accent);
  padding-left: 0.4rem;
}

.mm-archive a em {
  font-style: normal;
  color: var(--mm-accent);
  font-family: var(--mm-display);
  font-weight: 800;
  font-size: 15px;
  letter-spacing: 0;
}

.mm-tagcloud {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.mm-tagcloud a {
  display: inline-block;
  font-family: var(--mm-mono);
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  border: 1px solid rgba(196, 214, 0, 0.4);
  padding: 0.35rem 0.65rem;
  transition: all 0.18s ease;
}

.mm-tagcloud a::before {
  content: "# ";
  opacity: 0.6;
  color: var(--mm-accent);
}

.mm-tagcloud a[data-weight="1"] {
  font-size: 11px;
  opacity: 0.7;
}

.mm-tagcloud a[data-weight="2"] {
  font-size: 12px;
  opacity: 0.86;
}

.mm-tagcloud a[data-weight="3"] {
  font-size: 13px;
  opacity: 1;
  border-color: var(--mm-accent);
}

.mm-tagcloud a:hover {
  color: var(--mm-bg);
  background: var(--mm-accent);
  border-color: var(--mm-accent);
  opacity: 1;
}

.mm-knowledge-page__lead {
  display: flex;
  flex-direction: column;
  gap: clamp(2rem, 4vw, 3.5rem);
  margin-bottom: clamp(3rem, 6vw, 5rem);
}

.mm-knowledge-page__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4rem);
  align-items: start;
}

.mm-knowledge-page__grid.has-sidebar {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
}

.mm-knowledge-page__main,
.mm-knowledge-page__sidebar,
.mm-knowledge-page__cta {
  min-width: 0;
}

.mm-knowledge-page__sidebar {
  position: sticky;
  top: calc(var(--mm-navbar-h) + 2rem);
  align-self: start;
}

.mm-knowledge-page__cta {
  margin-top: clamp(3rem, 6vw, 5rem);
}

@media (max-width: 992px) {
  .mm-featured {
    grid-template-columns: 1fr;
  }
  .mm-blog {
    grid-template-columns: 1fr;
  }
  .mm-blog > .blogpagination,
  .mm-blog__list,
  .mm-blog__side {
    grid-column: 1/-1;
  }
  .mm-blog__side {
    position: static;
  }
  .mm-filter {
    flex-direction: column;
    align-items: stretch;
  }
  .mm-filter__sort {
    justify-content: space-between;
  }
  .mm-wissen-featured__grid,
  .mm-blog-card__grid {
    grid-template-columns: 1fr;
  }
  .mm-wissen-featured__media {
    justify-content: flex-start;
  }
  .mm-wissen-filter__bar {
    align-items: flex-start;
  }
  .mm-knowledge-page__grid.has-sidebar {
    grid-template-columns: 1fr;
  }
  .mm-knowledge-page__sidebar {
    position: static;
  }
  .mm-module-detail__grid {
    grid-template-columns: 1fr;
  }
  .mm-module-detail__meta {
    justify-content: flex-start;
    padding-top: 0;
  }
  .mm-module-detail__row {
    grid-template-columns: 1fr;
    gap: 0.6rem;
  }
  .mm-honorar-rules__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mm-honorar-rules__card:nth-child(2n) {
    border-right: 0;
  }
}
@media (max-width: 720px) {
  .mm-blog__list {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .mm-blog__list > .mm-post {
    grid-column: 1/-1;
  }
  .mm-wissen-filter__chips {
    gap: 0.6rem;
  }
  .mm-wissen-filter__chip {
    width: 100%;
    justify-content: space-between;
  }
  .mm-honorar-rules__grid {
    grid-template-columns: 1fr;
  }
  .mm-honorar-rules__card {
    border-right: 0;
    border-bottom: 1px solid var(--mm-accent);
  }
  .mm-honorar-rules__card:last-child {
    border-bottom: 0;
  }
  .mm-honorar-rules__text {
    max-width: 32ch;
  }
}
.mm-person__headline {
  grid-column: 1/-1;
  margin-bottom: clamp(1rem, 2vw, 2rem);
}

.mm-person__portrait {
  grid-column: 1/span 4;
}

.mm-person__content {
  grid-column: 6/-1;
  display: flex;
  flex-direction: column;
  gap: 2.25rem;
}

.mm-person__card {
  min-height: 540px;
  padding: 1.5rem;
  border: 1px solid var(--mm-accent);
  display: flex;
  flex-direction: column;
}

.mm-person__card-label,
.mm-person__card-footer,
.mm-person__timeline-year,
.mm-zielgruppe__num,
.mm-zielgruppe__meta,
.mm-stimme__name,
.mm-stimme__role,
.mm-stimme__company,
.mm-faq__num {
  font-family: var(--mm-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  margin: 0;
}

.mm-person__card-label,
.mm-person__timeline-year,
.mm-zielgruppe__num,
.mm-faq__num {
  color: var(--mm-accent);
}

.mm-person__card .mm-diamond {
  width: 112px;
  height: 112px;
  margin: auto;
}

.mm-person__card-footer {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

.mm-person__timeline {
  border-top: 1px solid var(--mm-accent);
}

.mm-person__timeline-row,
.mm-zielgruppe__row,
.mm-stimme,
.mm-faq__item {
  border-bottom: 1px solid var(--mm-accent);
}

.mm-person__timeline-row {
  display: grid;
  grid-template-columns: minmax(110px, 140px) 1fr;
  gap: 2rem;
  padding-block: 1.35rem;
}

.mm-person__timeline-text {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 13px;
  letter-spacing: 0.22em;
  line-height: 1.6;
  text-transform: uppercase;
}

.mm-zielgruppe__headline,
.mm-faq__headline {
  margin-top: clamp(1.5rem, 2.5vw, 2.5rem);
  margin-bottom: 3rem;
}

.mm-zielgruppe__rows {
  border-top: 1px solid var(--mm-accent);
}

.mm-zielgruppe__row {
  display: grid;
  grid-template-columns: minmax(90px, 110px) minmax(0, 1fr) minmax(130px, 180px);
  gap: 2rem;
  align-items: center;
  padding-block: 2rem;
}

.mm-zielgruppe__text {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.02;
}

.mm-zielgruppe__meta {
  text-align: right;
}

.mm-stimmen__rows {
  border-top: 1px solid var(--mm-accent);
}

.mm-stimme {
  display: grid;
  grid-template-columns: minmax(90px, 110px) minmax(0, 1fr) minmax(200px, 260px);
  gap: 2rem;
  align-items: start;
  padding-block: 2.5rem;
}

.mm-stimme__quote {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.5rem, 2vw, 2.5rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.mm-stimme__quote-mark {
  color: var(--mm-fg);
}

.mm-stimme__meta {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.mm-stimme__name {
  color: var(--mm-accent);
}

.mm-faq__items {
  border-top: 1px solid var(--mm-accent);
}

.mm-faq__item {
  padding: 0;
}

.mm-faq__summary {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(90px, 110px) minmax(0, 1fr) 40px;
  gap: 2rem;
  align-items: center;
  padding-block: 2rem;
  cursor: pointer;
}

.mm-faq__summary::-webkit-details-marker {
  display: none;
}

.mm-faq__question {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.15;
  letter-spacing: -0.01em;
  color: var(--mm-white);
}
.mm-faq__question p {
  margin: 0;
  font-family: inherit;
  font-weight: inherit;
  font-size: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  text-transform: inherit;
  color: inherit;
}
.mm-faq__question strong, .mm-faq__question b {
  color: var(--mm-lime);
  font-weight: inherit;
}
.mm-faq__question em, .mm-faq__question i {
  color: var(--mm-lime);
  font-style: normal;
}

.mm-faq__icon {
  width: 18px;
  height: 18px;
  background: var(--mm-accent);
  transform: rotate(45deg);
  justify-self: end;
  transition: transform 0.18s ease;
}

.mm-faq__item[open] .mm-faq__icon {
  transform: rotate(90deg);
}

.mm-faq__answer {
  padding: 0 0 2rem clamp(6.5rem, 10vw, 9rem);
  max-width: 860px;
}

/* ----- Responsive: Topline einklappen ----- */
@media (max-width: 720px) {
  .mm-section__topline {
    flex-wrap: wrap;
    gap: 1rem;
  }
  .mm-section__topline .mm-divider {
    display: none;
  }
  .mm-ce-section-intro__content,
  .mm-ce-cta__content,
  .mm-ce-cta__aside,
  .mm-person__headline,
  .mm-person__portrait,
  .mm-person__content {
    grid-column: 1/-1;
  }
  .mm-pillars,
  .mm-steps {
    grid-template-columns: 1fr;
  }
  .mm-step:not(:first-child)::before {
    display: none;
  }
  .mm-ce-cta__aside {
    align-items: flex-start;
  }
  .mm-person__card {
    min-height: 360px;
  }
  .mm-person__timeline-row,
  .mm-zielgruppe__row,
  .mm-stimme,
  .mm-faq__summary {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
  .mm-zielgruppe__meta {
    text-align: left;
  }
  .mm-faq__answer {
    padding: 0 0 1.5rem;
  }
}
/* =============================================================
   mm-cockpit-teaser
   ============================================================= */
.mm-cockpit-teaser__header {
  margin-top: 2rem;
  max-width: 72ch;
}

.mm-cockpit-teaser__headline em {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-cockpit-teaser__lead {
  margin-top: 1.5rem;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
  max-width: 60ch;
}
.mm-cockpit-teaser__lead em, .mm-cockpit-teaser__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-cockpit-teaser__lead strong, .mm-cockpit-teaser__lead b {
  font-weight: 900;
}

/* 3×2 Grid */
.mm-cockpit-teaser__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin-top: 2.5rem;
  border-top: 1px solid var(--mm-lime);
  border-left: 1px solid var(--mm-lime);
}
@media (max-width: 768px) {
  .mm-cockpit-teaser__grid {
    grid-template-columns: 1fr;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
  .mm-cockpit-teaser__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.mm-cockpit-teaser__module {
  padding: 1.5rem;
  border-right: 1px solid var(--mm-lime);
  border-bottom: 1px solid var(--mm-lime);
}

.mm-cockpit-teaser__module-pre {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-lime);
  margin: 0 0 0.6rem 0;
}

.mm-cockpit-teaser__module-title {
  font-family: var(--mm-display);
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(1.1rem, 1.6vw, 1.4rem);
  line-height: 1.05;
  color: var(--mm-white);
  margin: 0 0 0.6rem 0;
}
.mm-cockpit-teaser__module-title em {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-cockpit-teaser__module-text {
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-white);
  margin: 0;
  opacity: 0.85;
}

/* CTA-Bar */
.mm-cockpit-teaser__cta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem 2rem;
  margin-top: 2.5rem;
  padding: 1.5rem 1.75rem;
  border: 1px solid var(--mm-lime);
  background: rgba(196, 214, 0, 0.04);
}

.mm-cockpit-teaser__cta-body {
  flex: 1 1 300px;
}

.mm-cockpit-teaser__cta-eyebrow {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-lime);
  margin: 0 0 0.5rem 0;
}

.mm-cockpit-teaser__cta-text {
  font-size: 16px;
  line-height: 1.5;
  color: var(--mm-white);
  margin: 0;
}
.mm-cockpit-teaser__cta-text strong {
  color: var(--mm-lime);
  font-weight: 700;
}

.mm-cockpit-teaser__cta-buttons {
  display: flex;
  gap: 1rem;
  flex-wrap: wrap;
  flex-shrink: 0;
}

.mm-pagehero__grid {
  display: block !important;
}
.mm-pagehero__grid .mm-hero__main {
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
  grid-column: unset;
  max-width: unset;
  width: 100%;
}

.mm-cockpit-mock {
  margin-top: 3rem;
  border: 1px solid rgba(196, 214, 0, 0.25);
  background: rgba(196, 214, 0, 0.03);
  font-family: var(--mm-mono);
  display: grid;
  grid-template-columns: 1fr;
}

.mm-cockpit-mock__topbar {
  grid-column: 1/-1;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.6rem 1rem;
  border-bottom: 1px solid rgba(196, 214, 0, 0.15);
  font-size: 10px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.4);
}
.mm-cockpit-mock__topbar::before {
  content: "●";
  margin-right: 0.4em;
  color: var(--mm-lime);
  font-size: 8px;
}

.mm-cockpit-mock__live {
  color: var(--mm-lime);
}

.mm-cockpit-mock__cell {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(196, 214, 0, 0.08);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}
.mm-cockpit-mock__cell:last-child {
  border-bottom: 0;
}

@media (min-width: 640px) {
  .mm-cockpit-mock {
    grid-template-columns: repeat(4, 1fr);
  }
  .mm-cockpit-mock__cell {
    border-bottom: 0;
    border-right: 1px solid rgba(196, 214, 0, 0.08);
  }
  .mm-cockpit-mock__cell:last-child {
    border-right: 0;
  }
}
.mm-cockpit-mock__lbl {
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  margin-bottom: 0.15rem;
}

.mm-cockpit-mock__num {
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  font-weight: 700;
  color: var(--mm-white);
  letter-spacing: -0.02em;
  line-height: 1.05;
}

.mm-cockpit-mock__delta {
  font-size: 10px;
  letter-spacing: 0.12em;
  color: var(--mm-lime);
  margin-top: 0.15rem;
}

.mm-pagehero__lead {
  max-width: 60ch;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
}
.mm-pagehero__lead em, .mm-pagehero__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-pagehero__lead strong, .mm-pagehero__lead b {
  font-weight: 900;
}

.mm-pagehero__inscription {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.45);
  text-transform: uppercase;
}

.mm-cockpit-modules__headline-col {
  grid-column: 1/span 11;
}

.mm-cockpit-modules__headline {
  margin-top: 2rem;
}

.mm-cockpit-modules {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 3rem;
  border: 1px solid rgba(196, 214, 0, 0.25);
}

@media (min-width: 768px) {
  .mm-cockpit-modules {
    grid-template-columns: repeat(3, 1fr);
  }
}
.mm-cockpit-module {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  padding: 2rem 1.75rem;
  border-bottom: 1px solid rgba(196, 214, 0, 0.15);
  border-right: 0;
}
@media (min-width: 768px) {
  .mm-cockpit-module {
    border-right: 1px solid rgba(196, 214, 0, 0.15);
    border-bottom: 0;
  }
  .mm-cockpit-module:nth-child(-n+3) {
    border-bottom: 1px solid rgba(196, 214, 0, 0.15);
  }
  .mm-cockpit-module:nth-child(3n) {
    border-right: 0;
  }
}
.mm-cockpit-module:last-child {
  border-bottom: 0;
}

.mm-cockpit-module__num {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: var(--mm-lime);
}

.mm-cockpit-module__title {
  font-family: var(--mm-display);
  font-size: clamp(1.25rem, 1.6vw, 1.6rem);
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--mm-white);
  margin: 0;
}
.mm-cockpit-module__title em {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-cockpit-module__body {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
  flex: 1;
}

.mm-cockpit-module__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: auto;
  padding-top: 0.5rem;
}

.mm-cockpit-module__tag {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-lime);
  border: 1px solid rgba(196, 214, 0, 0.4);
  padding: 0.25rem 0.6rem;
  white-space: nowrap;
}

.mm-cockpit-flow__header {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-bottom: 3.5rem;
}

.mm-cockpit-flow__headline {
  white-space: pre-line;
}
.mm-cockpit-flow__headline em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-cockpit-flow__lead {
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
  max-width: 60ch;
  margin: 0;
}
.mm-cockpit-flow__lead em, .mm-cockpit-flow__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-cockpit-flow__lead strong, .mm-cockpit-flow__lead b {
  font-weight: 900;
}

.mm-cockpit-flow {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}

@media (min-width: 768px) {
  .mm-cockpit-flow {
    grid-template-columns: 1fr auto 1fr auto 1fr;
    align-items: stretch;
  }
}
.mm-cockpit-flow__cell {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  padding: 1.75rem;
  border: 1px solid rgba(196, 214, 0, 0.3);
}

.mm-cockpit-flow__arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 0.75rem;
  font-family: var(--mm-mono);
  font-size: 1.25rem;
  color: var(--mm-lime);
}
@media (max-width: 767px) {
  .mm-cockpit-flow__arrow {
    padding: 0.5rem 0;
    justify-content: flex-start;
  }
}

.mm-cockpit-flow__pre {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--mm-lime);
}

.mm-cockpit-flow__title {
  font-family: var(--mm-display);
  font-size: clamp(1.35rem, 1.8vw, 1.75rem);
  font-weight: 800;
  text-transform: uppercase;
  line-height: 1.05;
  letter-spacing: -0.01em;
  margin: 0;
}
.mm-cockpit-flow__title em {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-cockpit-flow__body {
  font-size: 0.9rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.mm-trust {
  display: grid;
  grid-template-columns: 1fr;
  border-top: 1px solid rgba(196, 214, 0, 0.3);
  border-bottom: 1px solid rgba(196, 214, 0, 0.3);
  margin-top: 2.5rem;
}

@media (min-width: 640px) {
  .mm-trust {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (min-width: 1024px) {
  .mm-trust {
    grid-template-columns: repeat(4, 1fr);
  }
}
.mm-trust__cell {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.75rem 1.5rem;
  border-right: 1px solid rgba(196, 214, 0, 0.15);
  border-bottom: 1px solid rgba(196, 214, 0, 0.15);
}
.mm-trust__cell:last-child {
  border-right: 0;
}
@media (min-width: 640px) {
  .mm-trust__cell:nth-child(2n) {
    border-right: 0;
  }
  .mm-trust__cell {
    border-bottom: 0;
  }
}
@media (min-width: 1024px) {
  .mm-trust__cell:nth-child(2n) {
    border-right: 1px solid rgba(196, 214, 0, 0.15);
  }
  .mm-trust__cell:last-child {
    border-right: 0;
  }
  .mm-trust__cell {
    border-bottom: 0;
  }
}

.mm-trust__pre {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--mm-lime);
}

.mm-trust__strong {
  font-family: var(--mm-display);
  font-size: clamp(1rem, 1.3vw, 1.2rem);
  font-weight: 700;
  color: var(--mm-lime);
  display: block;
  margin-bottom: 0.25rem;
}

.mm-trust__body {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.mm-pricing__headline {
  margin-top: 2rem;
  margin-bottom: 2rem;
}
.mm-pricing__headline em {
  color: var(--mm-accent);
  font-style: normal;
}

.mm-pricing {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  gap: 0;
  border: 1px solid rgba(196, 214, 0, 0.3);
}

.mm-price-card {
  position: relative;
  display: flex;
  flex-direction: column;
  padding: 2.5rem 2rem;
  border-right: 1px solid rgba(196, 214, 0, 0.3);
}
.mm-price-card:last-child {
  border-right: 0;
}
.mm-price-card.is-featured {
  background: rgba(196, 214, 0, 0.07);
}
.mm-price-card.is-featured::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--mm-lime);
}

.mm-price-card__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: var(--mm-lime);
  color: var(--mm-dark);
  font-family: var(--mm-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 4px 14px;
  white-space: nowrap;
  z-index: 1;
}

.mm-price-card__pre {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--mm-lime);
  display: block;
  margin-bottom: 0.75rem;
}

.mm-price-card__name {
  font-family: var(--mm-display);
  font-size: clamp(1.4rem, 2vw, 1.8rem);
  font-weight: 700;
  text-transform: uppercase;
  margin: 0 0 1.75rem;
  color: var(--mm-white);
}

.mm-price-card__amount {
  font-family: var(--mm-display);
  font-size: clamp(2.5rem, 4.5vw, 4rem);
  font-weight: 700;
  color: var(--mm-lime);
  line-height: 1;
  margin-bottom: 0.25rem;
}
.mm-price-card__amount small {
  font-family: var(--mm-body);
  font-size: 0.8rem;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.6);
  margin-left: 0.25rem;
  vertical-align: middle;
}

.mm-price-card__desc {
  font-size: 0.9rem;
  line-height: 1.6;
  color: rgba(255, 255, 255, 0.7);
  margin: 0.75rem 0 1.25rem;
}

.mm-price-card__feats {
  flex: 1;
}
.mm-price-card__feats ul {
  list-style: none;
  padding: 0;
  margin: 0 0 0.5rem;
}
.mm-price-card__feats li {
  font-size: 0.875rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.85);
  padding: 0.3rem 0 0.3rem 1.25rem;
  position: relative;
}
.mm-price-card__feats li::before {
  content: "+";
  position: absolute;
  left: 0;
  color: var(--mm-lime);
  font-weight: 700;
}
.mm-price-card__feats--off li {
  color: rgba(255, 255, 255, 0.3);
  text-decoration: line-through;
}
.mm-price-card__feats--off li::before {
  content: "–";
  color: rgba(255, 255, 255, 0.25);
}

.mm-price-card__cta {
  margin-top: 1.75rem;
}
.mm-price-card__cta .btn-mm-primary,
.mm-price-card__cta .btn-mm-secondary {
  display: inline-block;
  width: 100%;
  text-align: center;
}

.mm-pricing__inscription {
  margin-top: 1.25rem;
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.45);
  text-align: center;
}

.mm-stack__headline {
  font-family: var(--mm-display);
  font-weight: 800;
  font-size: clamp(1.6rem, 2.4vw, 2.4rem);
  text-transform: uppercase;
  letter-spacing: -0.02em;
  margin: 0 0 1rem;
}
.mm-stack__headline em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-stack__lead {
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
  max-width: 60ch;
  margin: 0 0 3rem;
}
.mm-stack__lead em, .mm-stack__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-stack__lead strong, .mm-stack__lead b {
  font-weight: 900;
}

.mm-stack {
  display: flex;
  align-items: stretch;
  border: 1px solid rgba(196, 214, 0, 0.3);
}
@media (max-width: 767px) {
  .mm-stack {
    flex-direction: column;
  }
}

.mm-stack__cell {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 2rem 1.75rem;
}
@media (min-width: 768px) {
  .mm-stack__cell {
    border-right: 1px solid rgba(196, 214, 0, 0.3);
  }
  .mm-stack__cell:last-child {
    border-right: none;
  }
}
@media (max-width: 767px) {
  .mm-stack__cell {
    border-bottom: 1px solid rgba(196, 214, 0, 0.3);
  }
  .mm-stack__cell:last-child {
    border-bottom: none;
  }
}

.mm-stack__arrow {
  display: none;
}
@media (min-width: 768px) {
  .mm-stack__arrow {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    width: 0;
    flex: 0 0 0;
  }
  .mm-stack__arrow > span {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    width: 30px;
    height: 30px;
    border: 1px solid rgba(196, 214, 0, 0.55);
    background: var(--mm-bg, #0b1f2e);
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--mm-mono);
    font-size: 0.85rem;
    color: var(--mm-lime);
    z-index: 2;
  }
}

.mm-stack__role {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.26em;
  text-transform: uppercase;
  color: var(--mm-lime);
}

.mm-stack__name {
  font-family: var(--mm-display);
  font-size: clamp(1.4rem, 1.9vw, 1.9rem);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: -0.01em;
  line-height: 1.05;
  margin: 0;
}
.mm-stack__name em {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-stack__desc {
  font-size: 0.9rem;
  line-height: 1.65;
  color: rgba(255, 255, 255, 0.75);
  margin: 0;
}

.mm-stack__flow {
  margin-top: 1.25rem;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  line-height: 1.8;
}
.mm-stack__flow em, .mm-stack__flow i {
  font-style: normal;
  color: var(--mm-lime);
}

.mm-referenzen-list__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.6rem;
  margin-top: clamp(1.5rem, 2.5vw, 2.5rem);
  margin-bottom: clamp(2rem, 3.5vw, 3.5rem);
}

.mm-referenzen-list__btn {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 1.1rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-accent);
  border: 1px solid var(--mm-accent);
  text-decoration: none;
  transition: background 0.18s ease, color 0.18s ease;
}
.mm-referenzen-list__btn:hover {
  background: var(--mm-accent);
  color: var(--mm-dark);
}

.mm-referenzen-list__lead em, .mm-referenzen-list__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-referenzen-list__lead a {
  color: var(--mm-accent);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.mm-referenzen-list__lead a:hover {
  text-decoration: none;
}

.mm-blog-hero-wrap {
  padding-block: clamp(3.5rem, 8vw, 7rem);
}

.mm-blog-body {
  padding-top: clamp(2rem, 3vw, 3rem);
}

.mm-article-hero {
  padding-block: clamp(3.5rem, 6vw, 6rem);
}

.mm-article-hero__lead {
  max-width: 60ch;
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
}
.mm-article-hero__lead em, .mm-article-hero__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-article-hero__lead strong, .mm-article-hero__lead b {
  font-weight: 900;
}

.mm-article-hero__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.7rem;
  margin-top: 1.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-article-hero__meta .dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  flex: 0 0 auto;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-blog-meta .mm-article-hero__meta {
  margin-top: 0;
}

.mm-blog-meta__author {
  margin: 0.6rem 0 0;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

/* Blog header two_columns: image left, facts right — align to top */
.mm-blog-header .row {
  align-items: start !important;
}

.mm-blog-header .mm-section__topline {
  margin-top: clamp(2rem, 4vw, 3.5rem);
}

picture img.lazy {
  opacity: 1;
}

/* Standard image gallery inside blog header → mm-case-image look */
.mm-blog-header .gallery {
  position: relative;
  aspect-ratio: 16/10;
  border: 1px solid var(--mm-accent);
  overflow: hidden;
  background: transparent;
  margin-top: clamp(1.5rem, 3vw, 2.5rem);
  /* flatten all Bootstrap wrappers so img fills the container */
}
.mm-blog-header .gallery .mx-auto, .mm-blog-header .gallery .row, .mm-blog-header .gallery .col-sm, .mm-blog-header .gallery figure, .mm-blog-header .gallery picture {
  display: contents;
}
.mm-blog-header .gallery img {
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mm-case-image {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/10;
  margin: clamp(3rem, 5vw, 5rem) 0 0;
  border: 1px solid var(--mm-accent);
  overflow: hidden;
  background: transparent;
}

.mm-case-image::before,
.mm-case-image::after {
  content: "";
  position: absolute;
  left: 32px;
  right: 32px;
  z-index: 2;
  height: 1px;
  background: var(--mm-accent);
}

.mm-case-image::before {
  top: -1px;
}

.mm-case-image::after {
  bottom: -1px;
}

.mm-case-image__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.mm-case-image__tl,
.mm-case-image__cap {
  position: absolute;
  z-index: 3;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.mm-case-image__tl {
  top: 1rem;
  left: 1rem;
  color: var(--mm-bg);
  background: var(--mm-accent);
  padding: 0.28rem 0.6rem;
}

.mm-case-image__cap {
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  color: var(--mm-fg);
}

.mm-case-facts {
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--mm-accent);
  padding: 1.25rem !important;
}

.mm-case-facts__pre,
.mm-toc__pre,
.mm-share__pre,
.mm-side-auth__pre {
  margin: 0 0 0.75rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-case-facts__row {
  display: grid;
  grid-template-columns: minmax(90px, 0.8fr) minmax(0, 1.7fr);
  gap: 1rem;
  padding: 0.9rem 0;
  border-top: 1px dashed rgba(196, 214, 0, 0.28);
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mm-case-facts__row:first-of-type {
  border-top: 0;
}

.mm-case-facts__row span {
  color: var(--mm-accent);
}

.mm-case-facts__row strong {
  min-width: 0;
  color: var(--mm-fg);
  font-weight: 600;
  overflow-wrap: anywhere;
}

.mm-prose {
  display: grid;
  grid-template-columns: minmax(0, 8fr) minmax(260px, 3fr);
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
}

.mm-prose__body {
  max-width: 72ch;
}

.mm-prose__body > * + * {
  margin-top: 1.5rem;
}

.mm-prose__body h2,
.mm-prose__body h3 {
  font-family: var(--mm-display);
  font-weight: 900;
  line-height: 0.96;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-prose__body h2:not([class*=display-]) {
  margin: 4rem 0 0;
  font-size: clamp(2.25rem, 4vw, 4rem);
}

/* Allow Bootstrap display-1…display-6 to override prose h2 size */
.mm-prose__body h2[class*=display-],
.mm-prose__body h3[class*=display-] {
  margin: 4rem 0 0;
}

.mm-prose__body h3:not([class*=display-]) {
  margin: 2.5rem 0 0;
  font-size: clamp(1.25rem, 1.8vw, 1.75rem);
}

.mm-prose__chapter {
  display: block;
  margin-bottom: 0.8rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

/* Standalone chapter label (rendered as block before h2 via ContentOverride layout) */
.mm-prose__body > .mm-prose__chapter,
.mm-prose__body > div > .mm-prose__chapter {
  display: block;
  margin-top: 4rem;
  padding-top: 2rem;
  border-top: 1px solid var(--mm-accent);
  margin-bottom: 0;
}

.mm-prose__body > .mm-prose__chapter + h2,
.mm-prose__body > .mm-prose__chapter + h3,
.mm-prose__body > div > .mm-prose__chapter + h2,
.mm-prose__body > div > .mm-prose__chapter + h3 {
  margin-top: 0.8rem;
  padding-top: 0;
  border-top: 0;
}

.mm-prose__body p,
.mm-prose__body li {
  font-family: var(--mm-body);
  font-size: 17px;
  line-height: 1.7;
  color: var(--mm-fg);
}

.mm-prose__body em,
.mm-prose__body strong,
.mm-prose__body b {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-prose__body ul {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 0;
  list-style: none;
}

.mm-prose__body li {
  position: relative;
  padding-left: 1.5rem;
}

.mm-prose__body li::before {
  content: "";
  position: absolute;
  top: 0.75em;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-pullquote {
  display: grid;
  grid-template-columns: minmax(84px, auto) minmax(0, 1fr);
  gap: clamp(1.25rem, 3vw, 2.5rem);
  padding: clamp(2.5rem, 4vw, 3.5rem) 0;
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  margin-block: 3rem;
}

.mm-pullquote__num {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-pullquote__q,
.mm-pullquote .mm-pullquote__q p {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 800;
  font-size: clamp(1.05rem, 1.2vw, 1.2rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  color: var(--mm-fg);
  padding: 0 0 1rem 0;
}

.mm-pullquote__q em,
.mm-pullquote__q strong {
  font-style: normal;
  color: var(--mm-accent);
}

/* When the RTE quote field contains marker as first p — hide it (mm-pullquote__num already shows it) */
.mm-pullquote__q p:first-child:not(:last-child) {
  display: none;
}

/* Last p in the quote field = cite text */
.mm-pullquote__q p + p:last-child {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin-top: 1rem;
}
.mm-pullquote__q p + p:last-child em, .mm-pullquote__q p + p:last-child i, .mm-pullquote__q p + p:last-child strong {
  font-style: normal;
  font-weight: 400;
  color: var(--mm-accent);
}

/* Separate cite field (when used correctly) */
.mm-pullquote .mm-pullquote__cite {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 400;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin: 1rem 0 0;
}

.mm-kpis {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
  margin-block: 2rem;
}

.mm-kpis__cell {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 2rem 1.5rem;
}

.mm-kpis__cell + .mm-kpis__cell {
  border-left: 1px solid var(--mm-accent);
}

.mm-kpis__num {
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 4.5vw, 4rem);
  line-height: 1;
  letter-spacing: 0;
  color: var(--mm-accent);
}

.mm-kpis__lbl {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-prose__sidebar,
.mm-prose__side {
  position: sticky;
  top: calc(var(--mm-navbar-h, 80px) + 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 2.5rem;
}

.mm-toc__list {
  display: flex;
  flex-direction: column;
  padding: 0;
  margin: 0;
  list-style: none;
}

.mm-toc__list li {
  border-top: 1px dashed rgba(196, 214, 0, 0.28);
}

.mm-toc__list li:last-child {
  border-bottom: 1px dashed rgba(196, 214, 0, 0.28);
}

.mm-toc__list a {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.85rem 0;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-toc__list a:hover,
.mm-toc__list a span:first-child {
  color: var(--mm-accent);
}

.mm-share__row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mm-share a {
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.75rem;
  border: 1px solid var(--mm-accent);
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-share a:hover {
  background: var(--mm-accent);
  color: var(--mm-bg);
}

.mm-side-auth {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  padding: 1.5rem;
  border: 1px solid var(--mm-accent);
}

.mm-side-auth__row {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.mm-side-auth__avatar {
  width: 48px;
  height: 48px;
  flex: 0 0 auto;
  background: var(--mm-accent);
  transform: rotate(45deg);
  overflow: hidden;
}

.mm-side-auth__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: rotate(-45deg) scale(1.42);
}

.mm-side-auth__name {
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: 1.25rem;
  line-height: 1;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-side-auth__role {
  margin-top: 0.4rem;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-side-auth__link {
  display: inline-block;
  margin-top: 1rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
  text-decoration: none;
}
.mm-side-auth__link:hover {
  opacity: 0.75;
}

.mm-side-auth__bio,
.mm-side-auth__bio p {
  margin: 0;
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-fg);
}

.mm-blog-detail__footer,
.mm-blog-detail__authors {
  margin-block: 3rem;
}

.mm-related-posts {
  border-top: 1px solid var(--mm-accent);
}

.mm-related-posts__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
}

.mm-related-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1.35rem;
}

.mm-related-card__media {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 16/9;
  border: 1px solid var(--mm-accent);
  color: var(--mm-fg);
  overflow: hidden;
}

.mm-related-card__tag {
  position: absolute;
  top: 1rem;
  left: 1rem;
  z-index: 2;
  padding: 0.35rem 0.7rem;
  background: var(--mm-accent);
  color: var(--mm-bg);
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.mm-related-card__mark {
  width: clamp(54px, 6vw, 82px);
  height: clamp(54px, 6vw, 82px);
  background: var(--mm-accent);
  transform: rotate(45deg);
  transition: transform 0.22s ease;
}

.mm-related-card:hover .mm-related-card__mark,
.mm-related-card:focus-within .mm-related-card__mark {
  transform: rotate(45deg) scale(1.08);
}

.mm-related-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.72;
}

.mm-related-card__title {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(1.65rem, 2.35vw, 2.5rem);
  line-height: 0.96;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-related-card__title a {
  color: inherit;
}

.mm-related-card__title a:hover {
  color: var(--mm-accent);
}

.mm-cta-question.mm-cta {
  border-top: 0;
  border-bottom: 0;
}

.mm-cta-question .mm-cta__action {
  gap: clamp(1.35rem, 2vw, 2rem);
}

.mm-cta-question__text {
  margin: 0;
  max-width: 58ch;
  font-family: var(--mm-body);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--mm-fg);
}

.mm-post__tags span {
  display: inline-flex;
  margin: 0 0.4rem 0.4rem 0;
  padding: 0.25rem 0.55rem;
  border: 1px solid rgba(196, 214, 0, 0.45);
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

@media (max-width: 992px) {
  .mm-prose {
    grid-template-columns: 1fr;
  }
  .mm-related-posts__grid {
    grid-template-columns: 1fr;
  }
  .mm-prose__sidebar,
  .mm-prose__side {
    position: static;
  }
  .mm-kpis {
    grid-template-columns: 1fr;
  }
  .mm-kpis__cell + .mm-kpis__cell {
    border-left: 0;
    border-top: 1px solid var(--mm-accent);
  }
}
/* ── Share-Block (Post Footer) ── */
.mm-share {
  margin-top: 2.5rem;
}

.mm-share__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
}

.mm-share__label {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
  white-space: nowrap;
}

.mm-share__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mm-share__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.55rem 1rem;
  border: 1px solid var(--mm-accent);
  background: transparent;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  cursor: pointer;
  text-decoration: none;
  transition: background 0.15s, color 0.15s;
}

.mm-share__btn:hover,
.mm-share__btn:focus-visible {
  background: var(--mm-accent);
  color: var(--mm-bg);
}

.mm-share__btn-confirm {
  display: none;
}

.mm-share__btn--copied .mm-share__btn-label {
  display: none;
}

.mm-share__btn--copied .mm-share__btn-confirm {
  display: inline;
}

/* Tags in Post-Footer */
.mm-post__tags {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 1.5rem;
}

.mm-post__tags-label {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin-right: 0.25rem;
}

.mm-tag--tag {
  padding: 0.28rem 0.65rem;
  border: 1px solid rgba(196, 214, 0, 0.4);
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.8;
}

/* WhatsApp-Button nur auf Mobile sichtbar */
.mm-share__btn--whatsapp {
  display: none;
}

@media (max-width: 768px) {
  .mm-share__btn--whatsapp {
    display: inline-flex;
  }
}
/* ----- Section Index (menu_section) ----- */
nav.section-menu {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  counter-reset: toc-counter;
}

nav.section-menu .nav-link {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 0.85rem;
  align-items: baseline;
  padding: 0.85rem 0;
  border-top: 1px dashed rgba(196, 214, 0, 0.25);
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--mm-fg);
  text-decoration: none;
  transition: color 0.18s ease;
  border-radius: 0;
  counter-increment: toc-counter;
}
nav.section-menu .nav-link:hover {
  color: var(--mm-accent);
}
nav.section-menu .nav-link:hover .mm-toc__num {
  color: var(--mm-accent);
}

.mm-toc__num {
  color: var(--mm-accent);
  min-width: 2.5ch;
}
.mm-toc__num::before {
  content: counter(toc-counter, upper-roman);
}

.mm-toc__label {
  color: inherit;
}

@media (max-width: 640px) {
  .mm-pullquote {
    grid-template-columns: 1fr;
  }
  .mm-case-image__cap {
    flex-direction: column;
  }
}
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   Section: Footer
   Brand-Block (5 col) + 3 Link-Spalten (7 col), Petrol,
   Bottom-Strip mit Copyright und Diamant.
   Briefing 4.8 + Claude-Design styles.css L759-855.
   ============================================================ */
.mm-footer {
  padding-block: 5rem 2.5rem;
  border-top: 1px solid var(--mm-accent);
}

.mm-footer__top {
  display: grid;
  grid-template-columns: repeat(12, 1fr);
  gap: var(--mm-gutter);
  margin-bottom: 4rem;
}

/* ----- Brand-Block (Logo, Wordmark, Tagline) ----- */
.mm-footer__brand {
  grid-column: 1/span 5;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
}

.mm-footer .mm-brand__logo-wrap {
  display: block;
  color: var(--mm-fg);
  width: min(100%, 360px);
}
.mm-footer .mm-brand__logo {
  display: block;
  width: 100%;
  height: auto !important;
}
.mm-footer .mm-brand__logo--light {
  display: none;
}

.mm-footer__tagline {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-fg);
  margin: 0;
}

/* ----- Link-Spalten ----- */
.mm-footer__content {
  grid-column: 7/span 6;
  min-width: 0;
}
.mm-footer__content .frame {
  margin-block: 0;
}
.mm-footer__content .frame + .frame {
  margin-top: 2rem;
}
.mm-footer__content .frame-container {
  padding: 0;
}
.mm-footer__content .row {
  align-items: start !important;
}
.mm-footer__content .row [class*=mt-] {
  margin-top: 0 !important;
}
.mm-footer__content .frame-header,
.mm-footer__content h2,
.mm-footer__content h3,
.mm-footer__content h4,
.mm-footer__content .mainheader {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin: 0 0 1.25rem 0;
}
.mm-footer__content ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.mm-footer__content li {
  display: flex;
  min-width: 0;
}
.mm-footer__content a {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  text-decoration: none;
  transition: color 0.18s ease;
}
.mm-footer__content a:hover {
  color: var(--mm-accent);
}

.mm-footer__cols {
  grid-column: 7/span 6;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 2rem;
  align-items: start;
}

.mm-footer__col h4,
.mm-footer__col .mainheader {
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  margin: 0 0 1.25rem 0;
}
.mm-footer__col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}
.mm-footer__col a {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
  text-decoration: none;
  transition: color 0.18s ease;
}
.mm-footer__col a:hover {
  color: var(--mm-accent);
}

/* ----- Bottom-Strip (Copyright + Diamant) ----- */
.mm-footer__bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-top: 2.5rem;
  border-top: 1px solid var(--mm-accent);
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

/* ----- Responsive ----- */
@media (max-width: 992px) {
  .mm-footer__brand {
    grid-column: 1/span 12;
  }
  .mm-footer__content {
    grid-column: 1/span 12;
  }
  .mm-footer__cols {
    grid-column: 1/span 12;
  }
}
@media (max-width: 720px) {
  .mm-footer__cols {
    grid-template-columns: 1fr;
    gap: 2rem;
  }
  .mm-footer__bottom {
    flex-direction: column;
    gap: 1rem;
    align-items: flex-start;
  }
}
/* ============================================================
   mms_sitepackage — Layout-Primitives
   12-Spalten-Grid, Container, Asymmetrie-Helper.
   Wird parallel zu Bootstrap-.container/.row verwendet.
   ============================================================ */
/* ============================================================
   EXT:form — Claude Design Overlay
   Ziel: TYPO3 Form Framework (EXT:form, Standard-Prototype)
   auf markt.machen.SYSTEM bringen — ohne Fluid-Template-Override.
   HTML-Struktur: form > .form-group > .form-label + .form-control
                  .form-check > .form-check-label > .form-check-input
                  .actions > .form-navigation > .btn.btn-primary
   ============================================================ */
/* ----- Formular-Container ----- */
.frame-type-form form {
  display: flex;
  flex-direction: column;
  gap: 0;
  padding: clamp(1.75rem, 3vw, 2.75rem);
  border: 1px solid var(--mm-accent);
  background: transparent;
  position: relative;
  /* Lime-Trennlinie oben — wie .mm-form */
}
.frame-type-form form::before {
  content: "";
  position: absolute;
  top: -1px;
  left: 24px;
  right: 24px;
  height: 1px;
  background: var(--mm-bg);
}

/* ----- Feldabstand ----- */
.frame-type-form .form-group {
  margin-bottom: 2rem;
}

.frame-type-form .form-group:last-of-type {
  margin-bottom: 0;
}

/* ----- Label: Mono, Uppercase (ergänzt _bootstrap-overrides) ----- */
.frame-type-form .form-label {
  display: block;
  font-family: var(--mm-mono);
  font-size: 11px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.22em;
  color: var(--mm-fg);
  margin-bottom: 0.5rem;
}

/* Pflichtfeld-Stern */
.frame-type-form .form-label .required,
.frame-type-form .required {
  color: var(--mm-accent);
  margin-left: 0.2em;
}

/* ----- Inputs / Textarea (Underline-Stil) ----- */
.frame-type-form .form-control,
.frame-type-form .form-select {
  display: block;
  width: 100%;
  background: transparent;
  color: var(--mm-fg);
  border: 0;
  border-bottom: 1px solid rgba(196, 214, 0, 0.45);
  border-radius: 0;
  padding: 0.75rem 0;
  font-family: var(--mm-body);
  font-size: var(--mm-body-size);
  line-height: 1.5;
  outline: none;
  transition: border-color 0.18s ease;
  appearance: none;
}
.frame-type-form .form-control::placeholder,
.frame-type-form .form-select::placeholder {
  color: var(--mm-fg);
  opacity: 0.35;
  font-size: var(--mm-body-size);
}
.frame-type-form .form-control:focus,
.frame-type-form .form-select:focus {
  border-bottom-color: var(--mm-accent);
  box-shadow: none;
  outline: none;
  background: transparent;
  color: var(--mm-fg);
}

/* Select: Pfeil als Diamant */
.frame-type-form .form-select {
  padding-right: 2.5rem;
  background-image: linear-gradient(135deg, transparent 50%, var(--mm-accent) 50%), linear-gradient(45deg, var(--mm-accent) 50%, transparent 50%);
  background-position: calc(100% - 14px) 50%, calc(100% - 8px) 50%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.frame-type-form .form-select option {
  background: var(--mm-petrol);
  color: var(--mm-white);
}

/* Fehlerzustand */
.frame-type-form .form-group.has-error .form-control,
.frame-type-form .form-group.has-error .form-select {
  border-bottom-color: #ff6b6b;
}

/* ----- Textarea ----- */
.frame-type-form textarea.form-control {
  min-height: 7rem;
  padding: 0.85rem 0;
  border: 0;
  border-bottom: 1px solid rgba(196, 214, 0, 0.45);
  resize: vertical;
}
.frame-type-form textarea.form-control:focus {
  border-bottom-color: var(--mm-accent);
}

.frame-type-form .form-group.has-error textarea.form-control {
  border-bottom-color: #ff6b6b;
}

/* ----- Fehlermeldung ----- */
.frame-type-form .error.form-text {
  display: block;
  margin-top: 0.4rem;
  font-family: var(--mm-mono);
  font-size: 10px;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: #ff6b6b;
}

/* ----- Feldbeschreibung ----- */
.frame-type-form .form-text:not(.error) {
  display: block;
  margin-top: 0.35rem;
  font-family: var(--mm-body);
  font-size: 13px;
  line-height: 1.5;
  color: var(--mm-fg);
  opacity: 0.6;
}

/* ----- Checkbox (LinkedCheckbox, Checkbox) ----- */
.frame-type-form .form-check {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 0;
  margin: 0;
  cursor: pointer;
}

.frame-type-form .form-check-label {
  display: contents;
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.86;
  cursor: pointer;
}

.frame-type-form .form-check-label span {
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.86;
}

.frame-type-form .form-check-label a {
  color: var(--mm-accent);
  text-decoration: underline;
  text-decoration-color: rgba(196, 214, 0, 0.4);
  text-underline-offset: 3px;
}

.frame-type-form .form-check-input {
  position: relative;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  flex-shrink: 0;
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  appearance: none;
  background: transparent;
  cursor: pointer;
  transition: background 0.15s ease;
}
.frame-type-form .form-check-input:checked {
  background: var(--mm-accent);
  border-color: var(--mm-accent);
}
.frame-type-form .form-check-input {
  /* Checkmark */
}
.frame-type-form .form-check-input:checked::after {
  content: "";
  position: absolute;
  top: 1px;
  left: 5px;
  width: 5px;
  height: 10px;
  border: solid var(--mm-petrol);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
.frame-type-form .form-check-input:focus-visible {
  outline: 2px solid var(--mm-accent);
  outline-offset: 2px;
}

/* ----- Absende-Button ----- */
.frame-type-form .actions {
  margin-top: 2rem;
  padding-top: 1.75rem;
  border-top: 1px solid rgba(196, 214, 0, 0.2);
}

.frame-type-form .form-navigation {
  display: flex;
  align-items: center;
  gap: 1.5rem;
}

.frame-type-form .btn-toolbar,
.frame-type-form .btn-group {
  display: flex;
  gap: 1rem;
  align-items: center;
}

/* Submit-Button → btn-mm-primary Stil */
.frame-type-form .btn.btn-primary,
.frame-type-form button[type=submit] {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  padding: 1rem 1.75rem;
  font-family: var(--mm-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-fg);
  background: transparent;
  border: 1px solid var(--mm-accent);
  border-radius: 0;
  cursor: pointer;
  transition: background 0.2s ease, color 0.2s ease;
  box-shadow: none;
}
.frame-type-form .btn.btn-primary:hover, .frame-type-form .btn.btn-primary:focus-visible,
.frame-type-form button[type=submit]:hover,
.frame-type-form button[type=submit]:focus-visible {
  background: var(--mm-accent);
  color: var(--mm-petrol);
  border-color: var(--mm-accent);
  outline: none;
  box-shadow: none;
}

/* Zurück-Button → ghost */
.frame-type-form .btn.btn-cancel {
  display: inline-flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.25rem 0;
  font-family: var(--mm-mono);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
  background: transparent;
  border: 0;
  cursor: pointer;
  transition: color 0.18s ease;
}
.frame-type-form .btn.btn-cancel:hover {
  color: var(--mm-fg);
}

/* ----- Light-Theme (data-theme="light" Seite) ----- */
body[data-theme=light] .frame-type-form form {
  border-color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-label {
  color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-control,
body[data-theme=light] .frame-type-form .form-select {
  color: var(--mm-petrol);
  border-bottom-color: rgba(0, 49, 60, 0.35);
}
body[data-theme=light] .frame-type-form .form-control::placeholder,
body[data-theme=light] .frame-type-form .form-select::placeholder {
  color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-control:focus,
body[data-theme=light] .frame-type-form .form-select:focus {
  border-bottom-color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-check-input {
  border-color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-check-input:checked {
  background: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .form-check-input:checked::after {
  border-color: var(--mm-white);
}
body[data-theme=light] .frame-type-form .btn.btn-primary {
  border-color: var(--mm-petrol);
  color: var(--mm-petrol);
}
body[data-theme=light] .frame-type-form .btn.btn-primary:hover {
  background: var(--mm-petrol);
  color: var(--mm-white);
}

/* ----- Responsiv ----- */
@media (max-width: 720px) {
  .frame-type-form form {
    padding: 1.5rem;
  }
}
/* ----- Content-Element: Service Overview ----- */
.mm-service-overview {
  --mm-list-title-size: clamp(2.35rem, 3.3vw, 3.35rem);
  --mm-list-row-title-size: clamp(1.25rem, 1.55vw, 1.6rem);
  --mm-list-meta-size: clamp(9px, 0.62vw, 10px);
  --mm-list-body-size: clamp(11px, 0.78vw, 13px);
  display: flex;
  flex-direction: column;
  gap: clamp(2.15rem, 3.6vw, 3.4rem);
}

.mm-service-overview__header {
  display: flex;
  flex-direction: column;
  gap: clamp(2.15rem, 3.6vw, 3.25rem);
}

.mm-service-overview__title {
  margin: 0;
  max-width: 720px;
  font-family: var(--mm-display);
  font-size: var(--mm-list-title-size);
  font-weight: 900;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.mm-service-overview__title span {
  display: block;
}

.mm-service-overview__title em,
.mm-service-overview__copy em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-service-overview__list {
  border-top: 1px solid var(--mm-accent);
}

.mm-service-overview__item {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(105px, 0.8fr) minmax(0, 5fr) minmax(125px, 1.2fr) minmax(130px, 1.1fr);
  gap: clamp(1.5rem, 3vw, 4rem);
  align-items: center;
  min-height: clamp(5.35rem, 6.4vw, 6.85rem);
  padding-block: clamp(1.1rem, 1.8vw, 1.75rem);
  border-bottom: 1px solid var(--mm-accent);
  transition: transform 0.22s ease, border-color 0.22s ease;
}
.mm-service-overview__item::before {
  content: "";
  position: absolute;
  inset: 0 -0.75rem;
  z-index: -1;
  background: var(--mm-accent);
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.28s cubic-bezier(0.2, 0.8, 0.2, 1);
}
.mm-service-overview__item > * {
  position: relative;
  z-index: 1;
}
.mm-service-overview__item:hover, .mm-service-overview__item:focus-within {
  transform: translateX(0.45rem);
  border-color: var(--mm-accent);
}
.mm-service-overview__item:hover::before, .mm-service-overview__item:focus-within::before {
  transform: scaleX(1);
}
.mm-service-overview__item:hover .mm-service-overview__kicker,
.mm-service-overview__item:hover .mm-service-overview__duration,
.mm-service-overview__item:hover .mm-service-overview__link,
.mm-service-overview__item:hover .mm-service-overview__copy h3,
.mm-service-overview__item:hover .mm-service-overview__copy em,
.mm-service-overview__item:hover .mm-service-overview__copy p, .mm-service-overview__item:focus-within .mm-service-overview__kicker,
.mm-service-overview__item:focus-within .mm-service-overview__duration,
.mm-service-overview__item:focus-within .mm-service-overview__link,
.mm-service-overview__item:focus-within .mm-service-overview__copy h3,
.mm-service-overview__item:focus-within .mm-service-overview__copy em,
.mm-service-overview__item:focus-within .mm-service-overview__copy p {
  color: var(--mm-petrol);
}
.mm-service-overview__item:hover .mm-service-overview__copy p,
.mm-service-overview__item:hover .mm-service-overview__link--disabled, .mm-service-overview__item:focus-within .mm-service-overview__copy p,
.mm-service-overview__item:focus-within .mm-service-overview__link--disabled {
  opacity: 1;
}
.mm-service-overview__item:hover .mm-service-overview__link span, .mm-service-overview__item:focus-within .mm-service-overview__link span {
  transform: translateX(0.35rem);
}

.mm-service-overview__kicker,
.mm-service-overview__duration,
.mm-service-overview__link,
.mm-service-overview__copy p {
  font-family: var(--mm-mono);
  text-transform: uppercase;
}

.mm-service-overview__kicker {
  margin: 0;
  color: var(--mm-accent);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.28em;
  line-height: 1.65;
  transition: color 0.18s ease;
}

.mm-service-overview__copy {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
}
.mm-service-overview__copy h3 {
  margin: 0;
  font-family: var(--mm-display);
  font-size: var(--mm-list-row-title-size);
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
  transition: color 0.18s ease;
}
.mm-service-overview__copy p {
  margin: 0;
  color: var(--mm-fg);
  opacity: 0.62;
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.32em;
  line-height: 1.55;
  transition: color 0.18s ease, opacity 0.18s ease;
}

.mm-service-overview__duration {
  margin: 0;
  justify-self: end;
  color: var(--mm-fg);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.28em;
  line-height: 1.45;
  white-space: nowrap;
  transition: color 0.18s ease;
}

.mm-service-overview__link {
  justify-self: end;
  color: var(--mm-accent);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.26em;
  line-height: 1.4;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.18s ease;
}
.mm-service-overview__link span {
  display: inline-block;
  margin-left: 0.45rem;
  transition: transform 0.18s ease;
}
.mm-service-overview__link:hover, .mm-service-overview__link:focus-visible {
  color: var(--mm-fg);
}
.mm-service-overview__link:hover span, .mm-service-overview__link:focus-visible span {
  transform: translateX(0.25rem);
}

.mm-service-overview__link--disabled {
  opacity: 0.55;
}

@media (max-width: 992px) {
  .mm-service-overview__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.25rem;
    align-items: start;
  }
  .mm-service-overview__item:hover, .mm-service-overview__item:focus-within {
    transform: translateX(0);
  }
  .mm-service-overview__duration,
  .mm-service-overview__link {
    justify-self: start;
  }
}
@media (max-width: 640px) {
  .mm-service-overview__title {
    font-size: clamp(2.4rem, 13vw, 3.6rem);
  }
  .mm-service-overview__copy h3 {
    font-size: clamp(1.55rem, 8vw, 2.25rem);
  }
}
/* ----- Content-Element: Exclusion List ----- */
.mm-exclusion-list {
  --mm-list-title-size: clamp(2.35rem, 3.3vw, 3.35rem);
  --mm-list-row-title-size: clamp(1.25rem, 1.55vw, 1.6rem);
  --mm-list-meta-size: clamp(9px, 0.62vw, 10px);
  --mm-list-body-size: clamp(11px, 0.78vw, 13px);
  display: flex;
  flex-direction: column;
  gap: clamp(2.15rem, 3.6vw, 3.4rem);
}

.mm-exclusion-list__header {
  display: flex;
  flex-direction: column;
  gap: clamp(2.15rem, 3.6vw, 3.25rem);
}

.mm-exclusion-list__title {
  margin: 0;
  max-width: 720px;
  font-family: var(--mm-display);
  font-size: var(--mm-list-title-size);
  font-weight: 900;
  line-height: 0.92;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-exclusion-list__title em,
.mm-exclusion-list__copy em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-exclusion-list__lead {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
  max-width: 60ch;
}
.mm-exclusion-list__lead em, .mm-exclusion-list__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-exclusion-list__lead strong, .mm-exclusion-list__lead b {
  font-weight: 900;
}

.mm-exclusion-list__items {
  border-top: 1px solid var(--mm-accent);
}

.mm-exclusion-list__item {
  display: grid;
  grid-template-columns: minmax(90px, 0.8fr) minmax(0, 5.6fr);
  gap: clamp(1.5rem, 4vw, 5.5rem);
  align-items: start;
  padding-block: clamp(1.4rem, 2.2vw, 2rem);
  border-bottom: 1px solid var(--mm-accent);
}

.mm-exclusion-list__kicker {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.28em;
  line-height: 1.65;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-exclusion-list__copy {
  max-width: 880px;
  min-width: 0;
}
.mm-exclusion-list__copy h3 {
  margin: 0 0 clamp(0.55rem, 0.9vw, 0.85rem);
  font-family: var(--mm-display);
  font-size: var(--mm-list-row-title-size);
  font-weight: 900;
  line-height: 0.94;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.mm-exclusion-list__copy em {
  position: relative;
  display: inline-block;
}
.mm-exclusion-list__copy em::after {
  content: "";
  position: absolute;
  left: -0.04em;
  right: -0.04em;
  top: 53%;
  height: 0.08em;
  background: currentColor;
  transform: rotate(-2deg);
  transform-origin: center;
}
.mm-exclusion-list__copy p {
  margin: 0;
  max-width: 640px;
  font-family: var(--mm-body);
  font-size: var(--mm-list-body-size);
  line-height: 1.5;
  color: var(--mm-fg);
  opacity: 0.78;
}

@media (max-width: 992px) {
  .mm-exclusion-list__item {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.15rem;
  }
}
@media (max-width: 640px) {
  .mm-exclusion-list__title {
    font-size: clamp(2.4rem, 13vw, 3.6rem);
  }
  .mm-exclusion-list__copy h3 {
    font-size: clamp(1.55rem, 8vw, 2.25rem);
  }
  .mm-exclusion-list__copy p {
    font-size: 1rem;
  }
}
/* ----- t3sbootstrap Override: Breadcrumb ----- */
.mm-breadcrumb {
  width: 100%;
  margin: 0;
  padding-block: clamp(1.4rem, 2.2vw, 2.2rem);
  border-bottom: 1px solid var(--mm-accent);
  background: var(--mm-bg);
}

.mm-breadcrumb__list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mm-breadcrumb__item {
  display: inline-flex;
  align-items: center;
  min-width: 0;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.mm-breadcrumb__item + .mm-breadcrumb__item::before {
  content: "/";
  margin-inline: clamp(0.8rem, 1.8vw, 1.55rem);
  color: var(--mm-accent);
  opacity: 0.85;
}
.mm-breadcrumb__item.is-current {
  color: var(--mm-accent);
}

.mm-breadcrumb__link,
.mm-breadcrumb__text {
  color: inherit;
  text-decoration: none;
}

.mm-breadcrumb__link {
  transition: color 0.18s ease;
}
.mm-breadcrumb__link:hover, .mm-breadcrumb__link:focus-visible {
  color: var(--mm-accent);
}

@media (max-width: 640px) {
  .mm-breadcrumb {
    padding-block: 1rem;
  }
  .mm-breadcrumb__item {
    font-size: 10px;
    letter-spacing: 0.22em;
  }
}
/* ----- Leistungen KI-Beratung: fehlende Claude-Module ----- */
.mm-modul__header-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: end;
  margin-bottom: clamp(2rem, 3.5vw, 3.5rem);
}

h2 em, h3 em, h1 em,
h2 i, h3 i, h1 i {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-modul__header-title {
  min-width: 0;
}

.mm-modul__header-anchor {
  font-family: var(--mm-mono);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.24em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-modul__lead {
  max-width: 60ch;
  margin: clamp(1.35rem, 2.5vw, 2.4rem) 0 0;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  text-transform: none;
  color: var(--mm-white);
}

.mm-partner-profile .mm-modul__header-row {
  grid-template-columns: repeat(12, 1fr);
  gap: 2rem;
  margin-bottom: 2.5rem;
}
.mm-partner-profile .mm-modul__header-title {
  grid-column: 1/span 8;
}
.mm-partner-profile .mm-modul__header-anchor {
  grid-column: 10/span 3;
  font-size: 11px;
  line-height: normal;
  text-align: right;
}
.mm-partner-profile .mm-modul__lead {
  max-width: 60ch;
  margin: 0 0 3rem;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--mm-fg);
  opacity: 1;
}
.mm-partner-profile .mm-modul__lead em,
.mm-partner-profile .mm-modul__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-partner-profile .mm-partner-profile__footer {
  margin-top: 3rem;
  max-width: 56ch;
}
.mm-partner-profile .mm-partner-profile__footer p {
  margin: 0;
}

.mm-impact-grid__headline {
  max-width: 980px;
  margin-top: 2rem;
}

.mm-impact-grid .mm-modul__lead {
  max-width: 60ch;
  margin: 2rem 0 3rem;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.25rem, 1.85vw, 1.65rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--mm-fg);
  opacity: 1;
}

.mm-impact-grid .mm-modul__lead em,
.mm-impact-grid .mm-modul__lead i {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-impact-grid__footer {
  max-width: 52ch;
  margin-top: 3rem;
  margin-bottom: 0;
}
.mm-impact-grid__footer p {
  margin: 0;
}

.mm-honorar {
  display: grid;
  gap: 0;
  margin-top: clamp(2.2rem, 4.5vw, 4rem);
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
}

.mm-honorar--five {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.mm-impact-grid .mm-honorar--five {
  width: 100%;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr));
}

.mm-impact-grid .mm-honorar__body {
  margin: 0;
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-white);
  opacity: 0.86;
}

.mm-impact-grid .mm-honorar__meta {
  margin: 0 0 clamp(1rem, 1.35vw, 1.45rem);
  font-family: var(--mm-mono);
  font-size: clamp(10px, 0.82vw, 13px);
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: var(--mm-white);
  opacity: 0.66;
}

.mm-impact-grid .mm-honorar__head {
  margin-bottom: clamp(0.95rem, 1.25vw, 1.35rem);
}

.mm-honorar__cell {
  min-width: 0;
  padding: clamp(1.2rem, 2.2vw, 2rem) clamp(1rem, 1.8vw, 1.6rem);
  border-right: 1px solid color-mix(in srgb, var(--mm-accent) 72%, transparent);
}
.mm-honorar__cell:last-child {
  border-right: 0;
}

.mm-honorar__num,
.mm-stufe__pre,
.mm-uc__pre {
  display: block;
  margin: 0 0 1rem;
  font-family: var(--mm-mono);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.28em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-honorar__head {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.05rem, 1.35vw, 1.35rem);
  line-height: 1.02;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-honorar__head em,
.mm-indexed-rows__title em,
.mm-stufe__title em {
  color: var(--mm-accent);
  font-style: normal;
}

.mm-honorar__body {
  margin: 0.9rem 0 0;
  font-family: var(--mm-body);
  font-size: var(--mm-list-body-size);
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.76;
}

/* ----- Content-Element: Direct Contact ----- */
.mm-direct-contact__headline {
  grid-column: 1/span 10;
}

.mm-direkt {
  margin-top: clamp(2.2rem, 4vw, 3rem);
}

.mm-direkt__row {
  display: grid;
  grid-template-columns: 80px 1fr auto;
  gap: 2rem;
  align-items: center;
  padding-block: 2rem;
  border-top: 1px solid var(--mm-accent);
  color: inherit;
  text-decoration: none;
  transition: padding-left 0.2s ease;
}
.mm-direkt__row:last-child {
  border-bottom: 1px solid var(--mm-accent);
}
.mm-direkt__row:hover {
  padding-left: 0.75rem;
}

.mm-direkt__num {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-direkt__body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mm-direkt__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  font-weight: 900;
  line-height: 0.98;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--mm-fg);
}
.mm-direkt__title em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-direkt__meta {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 12px;
  letter-spacing: 0.2em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-direkt__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.24em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
  transition: color 0.18s ease;
}
.mm-direkt__cta::after {
  content: "->";
}

.mm-direkt__row:hover .mm-direkt__cta {
  color: var(--mm-fg);
}

.mm-direkt__row--static {
  cursor: default;
}
.mm-direkt__row--static:hover {
  padding-left: 0;
}

@media (max-width: 1024px) {
  .mm-direct-contact__headline {
    grid-column: 1/-1;
  }
  .mm-direkt__row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .mm-direkt__cta {
    justify-self: start;
  }
}
.mm-indexed-rows__list {
  display: flex;
  flex-direction: column;
  margin: clamp(2rem, 4vw, 3.6rem) 0 0;
  padding: 0;
  border-top: 1px solid var(--mm-accent);
  list-style: none;
}

.mm-indexed-rows__row {
  display: grid;
  grid-template-columns: minmax(70px, 0.18fr) minmax(0, 1fr);
  gap: clamp(1.2rem, 3vw, 3rem);
  padding: clamp(1.15rem, 2.4vw, 2rem) 0;
  border-bottom: 1px solid var(--mm-accent);
}

.mm-indexed-rows__num {
  font-family: var(--mm-mono);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.28em;
  line-height: 1.6;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-indexed-rows__body {
  max-width: 760px;
}

.mm-indexed-rows__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: var(--mm-list-row-title-size);
  line-height: 1.02;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-indexed-rows:not(.mm-indexed-rows--positive) .mm-indexed-rows__title em {
  position: relative;
  display: inline-block;
}
.mm-indexed-rows:not(.mm-indexed-rows--positive) .mm-indexed-rows__title em::after {
  content: "";
  position: absolute;
  left: -0.04em;
  right: -0.04em;
  top: 53%;
  height: 0.08em;
  background: currentColor;
  transform: rotate(-2deg);
}

.mm-indexed-rows__text {
  max-width: 700px;
  margin: 0.7rem 0 0;
  font-family: var(--mm-body);
  font-size: var(--mm-list-body-size);
  line-height: 1.58;
  color: var(--mm-fg);
  opacity: 0.78;
}

.mm-indexed-rows__footer {
  margin-top: clamp(1.6rem, 3vw, 2.6rem);
}

.mm-stufen {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.1rem, 2vw, 1.8rem);
  margin-top: clamp(2.2rem, 4.5vw, 4rem);
}

.mm-stufe {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  border: 1px solid var(--mm-accent);
  padding: clamp(1.15rem, 2vw, 1.7rem);
}
.mm-stufe.is-featured {
  background: rgba(196, 214, 0, 0.07);
}
.mm-stufe.is-featured::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  background: var(--mm-lime);
}

.mm-stufe__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  background: var(--mm-lime);
  color: var(--mm-dark);
  font-family: var(--mm-mono);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  padding: 4px 14px;
  white-space: nowrap;
  z-index: 1;
}

.mm-stufe__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.mm-stufe__letter {
  font-family: var(--mm-display);
  font-size: clamp(2rem, 3vw, 3rem);
  line-height: 0.9;
  color: var(--mm-accent);
}

.mm-stufe__title {
  margin: 0;
  font-family: var(--mm-display);
  font-size: clamp(1.2rem, 1.65vw, 1.7rem);
  line-height: 1.02;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-stufe__sub,
.mm-stufe__listtext,
.mm-stufe__result,
.mm-uc__listtext {
  font-family: var(--mm-body);
  font-size: var(--mm-list-body-size);
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.78;
}

.mm-stufe__sub {
  margin: 0.45rem 0 0;
}

.mm-stufe__listtext {
  margin-top: clamp(1rem, 2vw, 1.5rem);
}

.mm-stufe__foot {
  margin-top: auto;
  padding-top: clamp(1.2rem, 2.5vw, 2rem);
}

.mm-stufe__result {
  margin: 0;
}

.mm-stufe__result span {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--mm-mono);
  font-size: var(--mm-list-meta-size);
  letter-spacing: 0.24em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-uc {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.1rem, 2vw, 1.8rem);
  margin-top: clamp(2.2rem, 4vw, 3.6rem);
}

.mm-uc__col {
  min-width: 0;
}

.mm-uc__col .mm-hairline {
  margin: 0 0 clamp(1rem, 2vw, 1.6rem);
}

.mm-uc__listtext {
  max-width: 28ch;
}

.mm-substrate {
  list-style: none;
  padding: 0;
  margin: 3rem 0 0;
  counter-reset: substrate;
}

.mm-substrate__row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 2rem;
  align-items: baseline;
  padding-block: 1.75rem;
  border-top: 1px solid var(--mm-accent);
}

.mm-substrate__row:last-child {
  border-bottom: 1px solid var(--mm-accent);
}

.mm-substrate__num {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-substrate__body {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  min-width: 0;
}

.mm-substrate__title {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 800;
  font-size: clamp(1.25rem, 1.8vw, 1.6rem);
  line-height: 1.1;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-substrate__title em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-substrate__meta {
  margin: 0;
  max-width: 64ch;
  font-family: var(--mm-body);
  font-size: 15px;
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.86;
}

.mm-question-answers__headline {
  grid-column: 1/span 10;
  min-width: 0;
}

.mm-qa {
  margin-top: 3rem;
}

.mm-qa__row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr);
  gap: 2rem;
  align-items: baseline;
  padding-block: 2rem;
  border-top: 1px solid var(--mm-accent);
}

.mm-qa__row:last-child {
  border-bottom: 1px solid var(--mm-accent);
}

.mm-qa__num {
  font-family: var(--mm-mono);
  font-size: 11px;
  letter-spacing: 0.22em;
  line-height: 1.5;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-qa__body {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  min-width: 0;
}

.mm-qa__q {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(1.5rem, 2.4vw, 2.25rem);
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  text-wrap: balance;
  color: var(--mm-fg);
}

.mm-qa__q em,
.mm-qa__q i {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-qa__a {
  margin: 0;
  max-width: 68ch;
  font-family: var(--mm-body);
  font-size: 16px;
  line-height: 1.6;
  color: var(--mm-fg);
  opacity: 0.92;
}

.mm-offer-stages .mm-modul__lead {
  max-width: 60ch;
}

.mm-stufen {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  margin-top: 3rem;
  border-top: 1px solid var(--mm-accent);
  border-bottom: 1px solid var(--mm-accent);
}

.mm-stufe {
  display: flex;
  min-width: 0;
  min-height: 100%;
  flex-direction: column;
  gap: 1.5rem;
  padding: 2.25rem 1.75rem;
  border: 0;
  border-right: 1px solid var(--mm-accent);
  position: relative;
}

.mm-stufe:last-child {
  border-right: 0;
}

.mm-stufe__head {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.mm-stufe__letter {
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(3rem, 5vw, 4.5rem);
  line-height: 0.8;
  letter-spacing: -0.04em;
  color: var(--mm-accent);
}

.mm-stufe__pre {
  margin: 0 0 0.5rem;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.mm-stufe__title {
  margin: 0 0 0.4rem;
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(1.5rem, 2.2vw, 1.95rem);
  line-height: 1;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-stufe__title em,
.mm-stufe__result em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-stufe__sub {
  margin: 0;
  font-family: var(--mm-mono);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
  opacity: 0.7;
}

.mm-stufe__price {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 1.25rem 0 1rem;
  border-top: 1px solid color-mix(in srgb, var(--mm-accent) 25%, transparent);
}

.mm-stufe__price-amount {
  font-family: var(--mm-display);
  font-size: clamp(2rem, 3.2vw, 2.8rem);
  font-weight: 800;
  line-height: 1;
  color: var(--mm-lime);
  letter-spacing: -0.02em;
}

.mm-stufe__price-note {
  font-family: var(--mm-mono);
  font-size: 9px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
}

.mm-stufe__list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mm-stufe__list li {
  display: grid;
  grid-template-columns: 16px minmax(0, 1fr);
  gap: 0.75rem;
  align-items: baseline;
  padding-block: 0.75rem;
  border-top: 1px solid color-mix(in srgb, var(--mm-accent) 25%, transparent);
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--mm-fg);
  opacity: 0.92;
}

.mm-stufe__list li:first-child {
  border-top: 0;
}

.mm-stufe__list li::before {
  content: "";
  width: 7px;
  height: 7px;
  margin-top: 0.45em;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-stufe__foot {
  margin-top: auto;
  padding-top: 0;
}

.mm-stufe__result {
  margin: 0;
  padding: 1rem;
  border-left: 2px solid var(--mm-accent);
  background: color-mix(in srgb, var(--mm-accent) 6%, transparent);
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 1;
}

.mm-stufe__result span {
  display: block;
  margin-bottom: 0.4rem;
  font-family: var(--mm-mono);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: var(--mm-accent);
}

.mm-application-cases__headline {
  grid-column: 1/span 10;
  min-width: 0;
}

.mm-uc {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(1.5rem, 3vw, 2.5rem);
  margin-top: 3rem;
}

.mm-uc__col {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 1rem;
}

.mm-uc__pre {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.22em;
}

.mm-uc__col .mm-hairline {
  margin: 0;
}

.mm-uc__col ul {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mm-uc__col ul li {
  position: relative;
  padding-block: 0.85rem;
  padding-left: 1.25rem;
  border-bottom: 1px solid color-mix(in srgb, var(--mm-accent) 25%, transparent);
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--mm-fg);
  opacity: 0.92;
}

.mm-uc__col ul li:last-child {
  border-bottom: 0;
}

.mm-uc__col ul li::before {
  content: "";
  position: absolute;
  top: 1.05em;
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-cta {
  padding-block: clamp(4rem, 8vw, 8rem);
}

.mm-checkup-cta {
  padding-block: clamp(5rem, 10vw, 10rem);
}
.mm-checkup-cta .mm-section__topline {
  margin-bottom: clamp(3rem, 5vw, 5rem);
}

.mm-cta__grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: var(--mm-gutter);
  align-items: end;
}

.mm-cta__left {
  grid-column: 1/span 8;
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.mm-cta__lead em, .mm-cta__lead i {
  font-style: normal;
  color: var(--mm-accent);
}
.mm-cta__lead strong, .mm-cta__lead b {
  font-weight: 900;
}

.mm-cta__thesis {
  grid-column: unset;
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  font-size: clamp(2.5rem, 5.5vw, 5.5rem);
  line-height: 0.95;
  letter-spacing: -0.01em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-cta__thesis em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-cta__action {
  grid-column: 9/span 4;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
}

.mm-cta__checklist {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0 0 0.75rem;
  padding: 0;
  list-style: none;
}

.mm-cta__checklist li {
  position: relative;
  padding-block: 1rem;
  padding-left: 1.5rem;
  border-top: 1px solid color-mix(in srgb, var(--mm-accent) 25%, transparent);
  font-family: var(--mm-body);
  font-size: 14px;
  line-height: 1.5;
  color: var(--mm-fg);
}

.mm-cta__checklist li:last-child {
  border-bottom: 1px solid color-mix(in srgb, var(--mm-accent) 25%, transparent);
}

.mm-cta__checklist li::before {
  content: "→";
  position: absolute;
  top: 0.65rem;
  left: 0;
  font-family: var(--mm-mono);
  font-size: 13px;
  color: var(--mm-accent);
}

.mm-kontakt {
  display: grid;
  grid-template-columns: 5fr 7fr;
  gap: clamp(2.5rem, 5vw, 5rem);
  align-items: start;
  margin-top: 3rem;
}

.mm-kontakt__side {
  position: sticky;
  top: calc(var(--mm-navbar-h) + 1.5rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

.mm-receiver {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.mm-receiver__portrait {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  aspect-ratio: 4/3;
  border: 1px solid var(--mm-accent);
  background: transparent;
}

.mm-receiver__portrait .mm-inscription {
  position: absolute;
  top: 1rem;
  left: 1rem;
  color: var(--mm-accent);
}

.mm-receiver__portrait .mm-portrait-caption {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: flex;
  justify-content: space-between;
  font-family: var(--mm-mono);
  font-size: 10px;
  line-height: 1.5;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-receiver__portrait .mm-person__portrait-mark {
  width: 56px;
  height: 56px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-receiver__name,
.mm-receiver__stat-num {
  margin: 0;
  font-family: var(--mm-display);
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.01em;
  color: var(--mm-fg);
}

.mm-receiver__name {
  font-size: clamp(1.75rem, 2.6vw, 2.5rem);
  text-transform: uppercase;
}

.mm-receiver__name em,
.mm-receiver__stat-num em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-receiver__role,
.mm-receiver__pledge cite,
.mm-receiver__stat-label {
  font-family: var(--mm-mono);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-receiver__role {
  margin: 0;
  font-size: 11px;
  line-height: 1.5;
  opacity: 0.86;
}

.mm-receiver__pledge {
  margin: 0;
  padding: 0;
}

.mm-receiver__pledge p {
  margin: 0 0 1rem;
  font-family: var(--mm-display);
  font-weight: 700;
  font-size: clamp(1.15rem, 1.5vw, 1.4rem);
  line-height: 1.25;
  letter-spacing: -0.005em;
  color: var(--mm-fg);
}

.mm-receiver__pledge cite {
  font-size: 11px;
  font-style: normal;
  color: var(--mm-accent);
}

.mm-receiver__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
}

.mm-receiver__stat {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.5rem 0.5rem 0 0;
  border-right: 1px solid var(--mm-accent);
}

.mm-receiver__stat:last-child {
  padding-right: 0;
  border-right: 0;
}

.mm-receiver__stat + .mm-receiver__stat {
  padding-left: 0.85rem;
}

.mm-receiver__stat-num {
  font-size: clamp(1.75rem, 2.6vw, 2.25rem);
}

.mm-receiver__stat-num em {
  margin-left: 0.1em;
  font-size: 0.55em;
  letter-spacing: 0.05em;
}

.mm-receiver__stat-label {
  font-size: 10px;
  line-height: 1.4;
  letter-spacing: 0.2em;
  opacity: 0.86;
}

.mm-form {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 2rem;
  padding: clamp(1.75rem, 3vw, 2.75rem);
  border: 1px solid var(--mm-accent);
  background: transparent;
}

.mm-form__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--mm-accent);
}

.mm-form__pre,
.mm-form__progress-label,
.mm-form__label,
.mm-form__counter,
.mm-choice__num,
.mm-choice__meta,
.mm-timeslot span,
.mm-form__after {
  font-family: var(--mm-mono);
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-form__pre {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.24em;
  color: var(--mm-accent);
}

.mm-form__progress {
  display: flex;
  align-items: center;
  gap: 0.85rem;
}

.mm-form__progress-bar {
  position: relative;
  display: block;
  width: 120px;
  height: 6px;
  overflow: hidden;
  background: color-mix(in srgb, var(--mm-fg) 12%, transparent);
}

.mm-form__progress-fill {
  display: block;
  width: 0;
  height: 100%;
  background: var(--mm-accent);
  transition: width 0.3s ease;
}

.mm-form__progress-fill.is-complete {
  box-shadow: 0 0 0 1px var(--mm-accent);
}

.mm-form__progress-label {
  font-size: 11px;
  letter-spacing: 0.22em;
}

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

.mm-form__group {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

.mm-form__group--choices {
  gap: 1rem;
}

.mm-form__label {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.75rem;
  font-size: 12px;
  line-height: 1.5;
  letter-spacing: 0.2em;
}

.mm-form__num {
  font-size: 11px;
  letter-spacing: 0.24em;
  color: var(--mm-accent);
}

.mm-form__req,
.mm-form__opt {
  margin-left: auto;
  padding: 0.2rem 0.55rem;
  border: 1px solid currentColor;
  font-size: 10px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
}

.mm-form__req {
  color: var(--mm-accent);
}

.mm-form__opt {
  color: var(--mm-fg);
  opacity: 0.5;
}

.mm-form__hint {
  flex: 1 0 100%;
  margin-top: 0.25rem;
  font-family: var(--mm-body);
  font-size: 13px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0;
  text-transform: none;
  color: var(--mm-fg);
  opacity: 0.7;
}

.mm-form__input {
  width: 100%;
  padding: 0.75rem 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--mm-fg) 25%, transparent);
  border-radius: 0;
  outline: none;
  appearance: none;
  background: transparent;
  color: var(--mm-fg);
  font-family: var(--mm-body);
  font-size: 17px;
  line-height: 1.5;
  transition: border-color 0.18s ease;
}

.mm-form__input::placeholder {
  color: var(--mm-fg);
  font-family: var(--mm-body);
  opacity: 0.35;
}

.mm-form__input:focus,
.mm-form__input:focus-visible {
  border-bottom-color: var(--mm-accent);
  outline: none;
}

.mm-form__input.is-invalid {
  border-bottom-color: #ff6b6b;
}

.mm-form__textarea {
  min-height: 6rem;
  padding: 1rem;
  border: 1px solid color-mix(in srgb, var(--mm-fg) 25%, transparent);
  resize: vertical;
}

.mm-form__textarea:focus {
  border-color: var(--mm-accent);
}

.mm-form__counter {
  font-size: 11px;
  letter-spacing: 0.2em;
  text-align: right;
  opacity: 0.6;
}

.mm-form__counter em,
.mm-choice__title em {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem;
}

.mm-choices.is-invalid,
.mm-form__consent.is-invalid {
  outline: 1px solid #ff6b6b;
  outline-offset: 6px;
}

.mm-choice {
  position: relative;
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  padding: 1.1rem 1.25rem;
  border: 1px solid color-mix(in srgb, var(--mm-fg) 25%, transparent);
  cursor: pointer;
  transition: border-color 0.18s ease, background 0.18s ease;
}

.mm-choice:hover,
.mm-choice:focus-within {
  border-color: var(--mm-accent);
}

.mm-choice:focus-within {
  outline: 2px solid var(--mm-accent);
  outline-offset: 2px;
}

.mm-choice input[type=radio],
.mm-timeslot input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.mm-choice__num {
  padding-top: 0.2rem;
  font-size: 11px;
  letter-spacing: 0.24em;
  opacity: 0.6;
}

.mm-choice__body {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

.mm-choice__title {
  font-family: var(--mm-display);
  font-weight: 800;
  font-size: clamp(1.05rem, 1.4vw, 1.2rem);
  line-height: 1.05;
  letter-spacing: -0.005em;
  text-transform: uppercase;
  color: var(--mm-fg);
}

.mm-choice__meta {
  font-size: 10px;
  letter-spacing: 0.2em;
  opacity: 0.6;
}

.mm-choice input[type=radio]:checked + .mm-choice__num,
.mm-choice:has(input:checked) .mm-choice__num {
  color: var(--mm-accent);
  opacity: 1;
}

.mm-choice:has(input:checked) {
  border-color: var(--mm-accent);
  background: color-mix(in srgb, var(--mm-accent) 6%, transparent);
}

.mm-choice:has(input:checked)::after {
  content: "";
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  width: 10px;
  height: 10px;
  background: var(--mm-accent);
  transform: rotate(45deg);
}

.mm-timeslots {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.mm-timeslot {
  position: relative;
  display: inline-flex;
  align-items: center;
  cursor: pointer;
}

.mm-timeslot span {
  display: inline-block;
  padding: 0.65rem 1rem;
  border: 1px solid color-mix(in srgb, var(--mm-fg) 25%, transparent);
  font-size: 11px;
  letter-spacing: 0.2em;
  transition: all 0.18s ease;
}

.mm-timeslot:hover span {
  border-color: var(--mm-accent);
}

.mm-timeslot input:checked + span {
  border-color: var(--mm-accent);
  background: var(--mm-accent);
  color: var(--mm-bg);
}

.mm-timeslot input:focus-visible + span {
  outline: 2px solid var(--mm-accent);
  outline-offset: 2px;
}

.mm-form__consent {
  display: grid;
  grid-template-columns: 24px minmax(0, 1fr);
  gap: 0.85rem;
  align-items: start;
  padding: 0.5rem 0;
  font-family: var(--mm-body);
  font-size: 13px;
  line-height: 1.55;
  color: var(--mm-fg);
  opacity: 0.86;
  cursor: pointer;
}

.mm-form__consent input {
  position: relative;
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  border: 1px solid var(--mm-accent);
  appearance: none;
  background: transparent;
  cursor: pointer;
}

.mm-form__consent input:checked {
  background: var(--mm-accent);
}

.mm-form__consent input:checked::after {
  content: "";
  position: absolute;
  top: 0;
  left: 4px;
  width: 6px;
  height: 12px;
  border: solid var(--mm-bg);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.mm-form__consent a {
  color: var(--mm-accent);
  text-decoration: underline;
  text-decoration-color: color-mix(in srgb, var(--mm-accent) 40%, transparent);
  text-underline-offset: 3px;
}

.mm-form__submit {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
  align-items: flex-start;
}

.mm-form__btn {
  padding: 1.15rem 2rem;
  font-size: 13px;
}

.mm-form__after {
  margin: 0;
  font-size: 11px;
  letter-spacing: 0.2em;
  opacity: 0.6;
}

.mm-form__success {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  padding: clamp(2rem, 4vw, 3rem);
  border: 1px solid var(--mm-accent);
}

.mm-form__success::before {
  content: "";
  position: absolute;
  top: -1px;
  right: 24px;
  left: 24px;
  height: 1px;
  background: var(--mm-bg);
}

.mm-form__success .mm-d2 em,
.mm-form__success .mm-d2 i {
  font-style: normal;
  color: var(--mm-accent);
}

.mm-form__success-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2rem;
  margin-top: 1rem;
}

@media (max-width: 1100px) {
  .mm-honorar--five,
  .mm-uc {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mm-honorar__cell {
    border-bottom: 1px solid color-mix(in srgb, var(--mm-accent) 72%, transparent);
  }
  .mm-honorar__cell:nth-child(2n) {
    border-right: 0;
  }
  .mm-honorar__cell:nth-last-child(-n+2) {
    border-bottom: 0;
  }
  .mm-stufen {
    grid-template-columns: 1fr;
  }
  .mm-stufe {
    border-right: 0;
    border-bottom: 1px solid var(--mm-accent);
  }
  .mm-stufe:last-child {
    border-bottom: 0;
  }
  .mm-cta__thesis {
    grid-column: 1/span 12;
    margin-bottom: 2rem;
  }
  .mm-cta__action {
    grid-column: 1/span 12;
  }
  .mm-kontakt {
    grid-template-columns: minmax(0, 1fr);
    gap: 3rem;
  }
  .mm-kontakt__side {
    position: static;
  }
}
@media (max-width: 760px) {
  .mm-partner-profile .mm-modul__header-title,
  .mm-partner-profile .mm-modul__header-anchor {
    grid-column: 1;
    text-align: left;
  }
  .mm-modul__header-row,
  .mm-indexed-rows__row,
  .mm-substrate__row,
  .mm-qa__row {
    grid-template-columns: minmax(0, 1fr);
  }
  .mm-honorar--five,
  .mm-uc {
    grid-template-columns: 1fr;
  }
  .mm-honorar__cell,
  .mm-honorar__cell:nth-child(2n) {
    border-right: 0;
  }
  .mm-honorar__cell:nth-last-child(-n+2) {
    border-bottom: 1px solid color-mix(in srgb, var(--mm-accent) 72%, transparent);
  }
  .mm-honorar__cell:last-child {
    border-bottom: 0;
  }
  .mm-form__row,
  .mm-choices {
    grid-template-columns: minmax(0, 1fr);
  }
}
/* ----- 8. Content-Elemente (Phase 3+4 — folgen)
@import "contentElements/pillar";
@import "contentElements/step";
@import "contentElements/stimme";
@import "contentElements/faq";
@import "contentElements/cta";
@import "contentElements/zielgruppe";
@import "contentElements/person";
@import "contentElements/bullet-diamond";
*/
/* ----- 9. Extension-Overrides (Phase 5 — folgen)
@import "extensions/forms";
@import "extensions/news";
@import "extensions/blog";
@import "extensions/cookieconsent";
*/
