/* M&C AG – Grundgestaltung nach Design System „M&C AG“.
   Schriften liegen auf dem eigenen Server (keine Verbindung zu Google). */

@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-latin-400-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/inter-latin-ext-400-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/inter-latin-700-normal.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Inter"; font-style: normal; font-weight: 700; font-display: swap;
  src: url("fonts/inter-latin-ext-700-normal.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Nothing You Could Do"; font-style: normal; font-weight: 400; font-display: swap;
  src: url("fonts/nothing-you-could-do-latin-400-normal.woff2") format("woff2"); }

:root {
 /* Farben */
  --muc-rot: #c41a1b;
  --muc-grau: #7b7468;
  --muc-text: #333333;
  --muc-beige: #e3dfd6;
  --muc-flaeche: #f4f2f0;
  --muc-weiss: #ffffff;
  --muc-feldrahmen: #948d82;   /* 3,29:1 auf Weiß */
  --muc-rot-dunkel: #a91516;   /* nur Hover, gedrückt, Fehler */
  --muc-erfolg: #4f7a3f;       /* nur funktional: Bestätigung, geprüft, vermittelt */
  --muc-linie: #e3dfd6;
 /* Formen */
  --muc-rund: 20px;
  --muc-eckig: 0;
 /* Raster */
  --muc-breite: 1200px;
  --muc-rand: clamp(16px, 4vw, 40px);
  --muc-abstand: clamp(48px, 7vw, 96px);
 /* Schrift */
  --muc-sans: Inter, Arial, sans-serif;
  --muc-hand: "Nothing You Could Do", cursive;
}

/* ---------- Grundlagen ---------- */
body.muc { font-family: var(--muc-sans); color: var(--muc-text); background: var(--muc-weiss);
  font-size: 17px; line-height: 1.65; -webkit-font-smoothing: antialiased; }
.muc h1, .muc h2, .muc h3, .muc h4 { font-family: var(--muc-sans); color: var(--muc-text); font-weight: 700; margin: 0 0 .5em; }
.muc h1 { font-size: clamp(34px, 5vw, 56px); line-height: 1.08; letter-spacing: -0.025em; }
.muc h2 { font-size: clamp(26px, 3vw, 38px); line-height: 1.15; letter-spacing: -0.02em; }
.muc h3 { font-size: 22px; line-height: 1.36; letter-spacing: -0.01em; }
.muc p { margin: 0 0 1em; }
.muc a { color: var(--muc-rot); text-decoration: none; }
.muc a:hover { text-decoration: underline; text-underline-offset: 3px; }
/* Rot auf Beige liegt mit 4,498:1 knapp unter 4,5:1: Textlinks dort im dunklen Rot */
.muc-band--beige p a:not(.muc-btn), .muc-band--beige li a:not(.muc-btn), .muc-band--beige label a { color: var(--muc-rot-dunkel); }
.muc strong { font-weight: 700; }
.muc img { max-width: 100%; height: auto; display: block; }
.muc :focus-visible { outline: 2px solid var(--muc-text); outline-offset: 3px; }
.muc-skip { position: absolute; left: -9999px; }
.muc-skip:focus { left: 16px; top: 16px; z-index: 100; background: #fff; padding: 8px 16px; }

.muc-wrap { max-width: var(--muc-breite); margin: 0 auto; padding: 0 var(--muc-rand); }
.muc-band { padding: var(--muc-abstand) 0; }
.muc-band--beige { background: var(--muc-beige); }
.muc-band--hell { background: var(--muc-flaeche); }
/* Graue Schrift auf hellbeigen Flächen etwas dunkler, damit sie 4,5:1 erreicht */
.muc-band--beige, .muc-band--hell, .muc-fuss, .muc-kasten, .muc-leer, .muc-kurzantwort, .muc-reihe, .muc-inhaltsverzeichnis, .muc-vergleich thead { --muc-grau: #655e54; }
.muc-band--eng { padding: 32px 0; }
.muc-eyebrow { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--muc-grau); margin: 0 0 8px; }
.muc-lead { font-size: 19px; line-height: 1.6; max-width: 40em; }
.muc-klein { font-size: 14px; line-height: 1.6; color: var(--muc-grau); }
.muc-claim { font-family: var(--muc-hand); color: var(--muc-rot); font-size: clamp(32px, 4vw, 50px); line-height: 1.2; text-align: center; margin: 0; }

/* ---------- Buttons und Felder (runde Enden, sonst eckig) ---------- */
.muc-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px;
  padding: 10px 24px; border-radius: var(--muc-rund); border: 1px solid var(--muc-rot);
  background: var(--muc-rot); color: #fff !important; font: 400 15px/20px var(--muc-sans);
  text-decoration: none !important; cursor: pointer; white-space: nowrap; }
.muc-btn:hover, .muc-btn:active { background: var(--muc-rot-dunkel); border-color: var(--muc-rot-dunkel); }
.muc-btn--kontur { background: transparent; color: var(--muc-text) !important; border-color: var(--muc-text); }
.muc-btn--kontur:hover { background: var(--muc-text); color: #fff !important; border-color: var(--muc-text); }
.muc-btn--klein { min-height: 36px; padding: 6px 16px; }
.muc-btn--weiss { background: #fff; border-color: #fff; color: var(--muc-rot) !important; }
.muc-btn--weiss:hover { background: var(--muc-beige); border-color: var(--muc-beige); color: var(--muc-rot-dunkel) !important; }
.muc-link { font-weight: 700; }
.muc-link::after { content: " →"; }
.muc a.muc-link:hover { color: var(--muc-rot-dunkel); text-decoration: none; }

.muc-feld, .muc select, .muc input[type=text], .muc input[type=search], .muc input[type=email], .muc input[type=tel], .muc textarea {
  font: 400 16px/22px var(--muc-sans); color: var(--muc-text); background: #fff;
  border: 1px solid var(--muc-feldrahmen); border-radius: var(--muc-rund); padding: 10px 18px; min-height: 44px; width: 100%; }
.muc ::placeholder { color: var(--muc-grau); opacity: 1; }
.muc input:focus-visible, .muc select:focus-visible, .muc textarea:focus-visible { border-color: var(--muc-text); outline-offset: 1px; }
.muc input.muc-feld--ok, .muc select.muc-feld--ok, .muc textarea.muc-feld--ok { border: 1.5px solid var(--muc-erfolg); }
.muc input.muc-feld--fehler, .muc select.muc-feld--fehler, .muc textarea.muc-feld--fehler,
.muc input:user-invalid, .muc select:user-invalid, .muc textarea:user-invalid { border: 1.5px solid var(--muc-rot-dunkel); }
.muc-feldhinweis { display: block; margin: 6px 0 0 18px; font-size: 13px; line-height: 1.4; }
.muc-feldhinweis--ok { color: var(--muc-erfolg); }
.muc-feldhinweis--fehler { color: var(--muc-rot-dunkel); }
.muc-feldhinweis[hidden] { display: none; }
.muc select { appearance: none; padding-right: 40px; cursor: pointer;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%237d766a' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
  background-repeat: no-repeat; background-position: right 16px center; }
/* Bricks setzt label und figcaption hellgrau (#9e9e9e, Kontrast 2,7:1) */
.muc label { color: inherit; }
.muc label.muc-label, .muc figcaption.muc-label { display: block; font-size: 14px; font-weight: 700; color: var(--muc-text); margin: 0 0 6px 18px; text-align: left; }
.muc textarea { border-radius: var(--muc-rund); min-height: 120px; }

/* ---------- Kopf ---------- */
.muc-kopf { background: #fff; border-bottom: 1px solid var(--muc-beige); position: sticky; top: 0; z-index: 50; }
.muc-kopf__innen { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 76px; }
.muc-logo img { height: 46px; width: auto; }
.muc-nav ul { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 28px; }
.muc-nav a { color: var(--muc-grau); font-size: 15px; font-weight: 700; line-height: 20px; }
.muc-nav a:hover, .muc-nav .aktiv > a { color: var(--muc-text); text-decoration: none; }
.muc-nav .aktiv > a { box-shadow: inset 0 -2px 0 var(--muc-rot); }
.muc-kopf__aktion { display: flex; align-items: center; gap: 16px; }
.muc-menu-toggle { display: none; }
@media (max-width: 1040px) {
  .muc-nav { display: none; position: absolute; left: 0; right: 0; top: 100%; background: #fff; border-bottom: 1px solid var(--muc-beige); }
  .muc-nav ul { flex-direction: column; align-items: stretch; gap: 0; padding: 8px var(--muc-rand) 24px; }
  .muc-nav a { display: block; padding: 12px 0; font-size: 15px; border-bottom: 1px solid var(--muc-flaeche); }
  .muc-menu-toggle { display: inline-flex; align-items: center; background: none; border: 1px solid var(--muc-text); border-radius: var(--muc-rund); min-height: 40px; padding: 6px 16px; font: 400 15px var(--muc-sans); color: var(--muc-text); cursor: pointer; }
  .muc-kopf.offen .muc-nav { display: block; }
  .muc-kopf__aktion .muc-btn { display: none; }
}

/* ---------- Fuß ---------- */
.muc-fuss { background: var(--muc-beige); padding: 56px 0 32px; font-size: 15px; line-height: 1.7; }
.muc-fuss__raster { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1fr; gap: 32px; }
.muc-fuss h2 { font-size: 14px; margin: 0 0 12px; }
.muc-fuss ul { list-style: none; margin: 0; padding: 0; }
.muc-fuss li { margin: 0 0 6px; }
.muc-fuss a { color: var(--muc-text); }
.muc-fuss__knopf { background: none; border: 0; padding: 0; font: inherit; line-height: inherit; color: var(--muc-text); cursor: pointer; text-align: left; }
.muc-fuss__knopf:hover { text-decoration: underline; text-underline-offset: 3px; }
.muc-fuss__logo img { height: 40px; width: auto; margin-bottom: 16px; }
.muc-fuss__unten { border-top: 1px solid rgba(51,51,51,.15); margin-top: 40px; padding-top: 20px; display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; font-size: 13px; }
@media (max-width: 860px) { .muc-fuss__raster { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .muc-fuss__raster { grid-template-columns: 1fr; } }

/* ---------- Brotkrumen ---------- */
.muc-krumen { font-size: 13px; color: var(--muc-grau); margin: 0 0 16px; }
.muc-krumen ol { list-style: none; display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.muc-krumen li + li::before { content: "›"; margin-right: 6px; }
.muc-krumen a { color: var(--muc-grau); }

/* ---------- Praxisbörse: Kopf und Filter ---------- */
.muc-boerse-kopf { padding: 48px 0 32px; }
.muc-boerse-kopf h1 { margin-bottom: 12px; }
.muc-umschalter { display: inline-flex; border: 1px solid var(--muc-text); border-radius: var(--muc-rund); padding: 3px; margin: 8px 0 24px; }
.muc-umschalter a { padding: 6px 18px; border-radius: var(--muc-rund); color: var(--muc-text); font-size: 15px; }
.muc-umschalter a[aria-current="true"] { background: var(--muc-text); color: #fff; text-decoration: none; }
.muc-boerse-kopf__zeile { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; flex-wrap: wrap; }
.muc-boerse-raster { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; }
@media (max-width: 960px) { .muc-boerse-raster { grid-template-columns: 1fr; } }
.muc-filter { display: flex; flex-direction: column; gap: 20px; position: sticky; top: 96px; max-height: calc(100vh - 112px); overflow-y: auto; overscroll-behavior: contain; padding-right: 6px; scrollbar-width: thin; }
@media (max-width: 960px) { .muc-filter { position: static; max-height: none; overflow: visible; padding-right: 0; } }
.muc-filter fieldset { border: 0; margin: 0; padding: 0; }
.muc-filter legend { font-size: 14px; font-weight: 700; color: var(--muc-text); margin: 0 0 8px 18px; padding: 0; }
.muc-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.muc-chips input { position: absolute; opacity: 0; pointer-events: none; }
.muc-chips label { display: inline-flex; align-items: center; min-height: 34px; padding: 4px 14px; border: 1px solid var(--muc-feldrahmen); border-radius: var(--muc-rund); font-size: 14px; color: var(--muc-text); cursor: pointer; background: #fff; }
.muc-chips input:checked + label { background: var(--muc-text); border-color: var(--muc-text); color: #fff; }
.muc-chips input:focus-visible + label { outline: 2px solid var(--muc-text); outline-offset: 2px; }
.muc-suchprofil { background: #fff; border: 1px solid var(--muc-linie); padding: 20px; font-size: 15px; line-height: 1.55; }
.muc-suchprofil strong { display: block; margin-bottom: 4px; }
.muc-sortierung { display: flex; align-items: center; gap: 8px; font-size: 15px; }
.muc-sortierung label { color: var(--muc-grau); }
.muc-sortierung select { width: auto; min-height: 40px; padding: 4px 36px 4px 14px; font-size: 16px; }
.muc-treffer { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin: 0 0 24px; }
.muc-treffer p { margin: 0; font-weight: 700; }
.muc-aktive-filter { display: flex; gap: 8px; flex-wrap: wrap; }
.muc-chip { display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--muc-feldrahmen); border-radius: var(--muc-rund); padding: 2px 12px; font-size: 14px; color: var(--muc-text) !important; background: #fff; }
.muc-chip:hover { border-color: var(--muc-text); text-decoration: none !important; }

/* ---------- Praxis-Karte ---------- */
.muc-karten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 1280px) { .muc-karten--breit { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 640px) { .muc-karten { grid-template-columns: 1fr; } }
.muc-karte { background: #fff; border: 1px solid var(--muc-beige); display: flex; flex-direction: column; height: 100%; position: relative; }
.muc-karte:hover { border-color: var(--muc-grau); }
.muc-karte:hover h2 a, .muc-karte:hover h3 a { color: var(--muc-rot); }
.muc-karte__bild { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--muc-flaeche); }
.muc-karte__bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.muc-karte__bild--muster img { object-position: right bottom; }
.muc-muster { position: absolute; left: 0; bottom: 0; background: rgba(255,255,255,.9); color: var(--muc-grau); font-size: 11px; line-height: 1; padding: 6px 8px; }
/* Etikett: rote Fläche, weiße Schrift, bündig oben rechts – einzige rote Fläche */
.muc-marke { position: absolute; right: 0; top: 0; background: var(--muc-rot); color: #fff; font-size: 13px; line-height: 18px; font-weight: 700; padding: 6px 12px; }
.muc-marke--grau { background: var(--muc-grau); }
.muc-karte__text { padding: 20px 24px 18px; display: flex; flex-direction: column; gap: 4px; flex: 1; }
.muc-karte__fach { font-size: 13px; color: var(--muc-grau); margin: 0; }
.muc-karte__region { font-size: 15px; color: var(--muc-grau); margin: 0 0 8px; }
.muc-karte h2, .muc-karte h3 { font-size: 19px; line-height: 1.3; letter-spacing: -0.01em; margin: 0; }
.muc-karte h2 a, .muc-karte h3 a { color: var(--muc-text); }
.muc-karte h2 a::after, .muc-karte h3 a::after { content: ""; position: absolute; inset: 0; }
.muc-karte__fakten { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; margin: 0; padding-top: 14px; border-top: 1px solid var(--muc-beige); line-height: 1.3; }
.muc-karte__fakten dt { color: var(--muc-grau); font-size: 13px; margin: 0 0 2px; }
.muc-karte__fakten dd { margin: 0; font-weight: 700; font-size: 17px; letter-spacing: -0.01em; }
.muc-karte__fuss { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--muc-flaeche); display: flex; justify-content: space-between; font-size: 13px; color: var(--muc-grau); }

/* ---------- Seitenzahlen ---------- */
.muc-seiten { display: flex; justify-content: center; gap: 8px; margin: 48px 0 0; flex-wrap: wrap; }
.muc-seiten .page-numbers { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; border-radius: var(--muc-rund); border: 1px solid var(--muc-feldrahmen); color: var(--muc-text); padding: 0 12px; }
.muc-seiten .page-numbers.current { background: var(--muc-text); border-color: var(--muc-text); color: #fff; }

/* ---------- Exposé ---------- */
.muc-expose-kopf { padding: 40px 0 32px; }
.muc-expose-raster { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: start; }
@media (max-width: 960px) { .muc-expose-raster { grid-template-columns: 1fr; } }
.muc-expose-bild { position: relative; aspect-ratio: 3 / 2; overflow: hidden; background: var(--muc-flaeche); margin: 0 0 12px; }
.muc-expose-bild img { width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
.muc-expose-bild--muster img { object-position: right bottom; }
.muc-fakten { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 0; margin: 0 0 32px; padding: 1px 0 0 1px; }
.muc-fakten div { background: #fff; padding: 16px 20px; border: 1px solid var(--muc-beige); margin: -1px 0 0 -1px; }
.muc-fakten dt { font-size: 13px; color: var(--muc-grau); margin: 0 0 4px; }
.muc-fakten dd { margin: 0; font-weight: 700; font-size: 16px; line-height: 1.4; }
.muc-inhalt ul { padding-left: 20px; margin: 0 0 1.2em; }
.muc-inhalt li { margin: 0 0 4px; }
.muc-inhalt li::marker { color: var(--muc-rot); }
.muc-seitenleiste { position: sticky; top: 100px; display: flex; flex-direction: column; gap: 24px; }
.muc-kasten { background: var(--muc-flaeche); padding: 28px; }
.muc-kasten h2 { font-size: 18px; margin-bottom: 16px; }
.muc-person { display: grid; grid-template-columns: 88px 1fr; gap: 16px; align-items: start; margin-bottom: 20px; }
.muc-person img { width: 88px; aspect-ratio: 2 / 3; object-fit: cover; }
.muc-person--team { grid-template-columns: 1fr; gap: 14px; }
.muc-person__team { display: grid; grid-auto-flow: column; grid-auto-columns: 1fr; gap: 4px; max-width: 360px; }
.muc-person__team img { width: 100%; aspect-ratio: 3 / 4; object-position: 50% 20%; }
.muc-person p { margin: 0; font-size: 15px; line-height: 1.6; }
.muc-person strong { display: block; font-size: 17px; }
.muc-kasten .muc-btn { width: 100%; }
.muc-kasten .muc-btn + .muc-btn { margin-top: 10px; }
.muc-hinweis { font-size: 13px; line-height: 1.6; color: var(--muc-grau); margin-top: 32px; }

/* ---------- Leere Ergebnisse ---------- */
.muc-leer { background: var(--muc-flaeche); padding: 40px; text-align: center; }
.muc-leer h2 { font-size: 22px; }

/* ---------- Formulare ---------- */
.muc-formular h2 { font-size: 24px; margin-bottom: 20px; }
.muc-formular__raster { display: grid; grid-template-columns: 1fr 1fr; gap: 16px 20px; margin-bottom: 16px; }
.muc-formular__ganz { grid-column: 1 / -1; }
@media (max-width: 640px) { .muc-formular__raster { grid-template-columns: 1fr; } }
.muc-formular input[type=file] { border: 1px dashed var(--muc-feldrahmen); border-radius: var(--muc-rund); padding: 10px 16px; width: 100%; background: #fff; font-size: 15px; }
.muc-einwilligung { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; color: var(--muc-text); line-height: 1.55; margin: 0 0 8px; cursor: pointer; }
.muc-einwilligung input { margin: 0; accent-color: var(--muc-rot); width: 22px; height: 22px; flex: none; }
.muc-honig { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
/* Rückmeldung: einziger Ort für Grün (erfolg), Fehler in rot-dunkel; immer mit Zeichen und Text */
.muc-meldung { position: relative; padding: 16px 20px 16px 52px; margin: 0 0 20px; font-size: 16px; line-height: 1.55; border: 1.5px solid; background: #fff; }
.muc-meldung strong { display: block; }
.muc-meldung::before { position: absolute; left: 18px; top: 16px; width: 22px; height: 22px; border-radius: 50%; color: #fff; font-size: 13px; font-weight: 700; line-height: 22px; text-align: center; }
.muc-meldung--ok { border-color: var(--muc-erfolg); }
.muc-meldung--ok::before { content: "✓"; background: var(--muc-erfolg); }
.muc-meldung--fehler { border-color: var(--muc-rot-dunkel); }
.muc-meldung--fehler::before { content: "!"; background: var(--muc-rot-dunkel); }

/* ---------- Stellenkarten ---------- */
.muc-karte--stelle .muc-karte__text { padding-top: 24px; }
.muc-marke--inline { position: static; align-self: flex-start; padding: 3px 10px; margin-bottom: 6px; }

/* ==========================================================================
   Bausteine aus dem Style-Relaunch (Design System „M&C AG“)
   ========================================================================== */

/* Status-Marke (Börse): Neu rot, In Gesprächen grau, Vermittelt grün – immer mit Wort */
.muc-status { display: inline-flex; align-items: center; gap: 6px; padding: 3px 11px; border: 1.5px solid currentColor; border-radius: var(--muc-rund); font-size: 12px; line-height: 18px; font-weight: 700; white-space: nowrap; }
.muc-status--neu { color: var(--muc-rot); }
.muc-status--gespraech { color: var(--muc-grau); }
.muc-status--vermittelt { color: var(--muc-erfolg); }
.muc-status--vermittelt::before { content: "✓"; }

/* Akzentlinie unter Überschriften */
.muc-akzent { display: block; width: 56px; height: 4px; background: var(--muc-rot); border: 0; margin: 16px 0 24px; }

/* Hinweis-Kasten: das eine stärkste Argument */
.muc-hinweiskasten { background: #fff; color: var(--muc-text); border: 1px solid var(--muc-linie); border-top: 3px solid var(--muc-rot); padding: 16px 20px; display: grid; gap: 4px; }
.muc-hinweiskasten strong { font-size: 17px; line-height: 1.4; }
.muc-hinweiskasten span { font-size: 15px; line-height: 1.45; color: var(--muc-grau); }
/* Zwei Wege zum Praxiswert: zwei Karten mit „oder“ dazwischen; Zeilen per Subgrid auf gleicher Höhe */
.muc-pw-wege { display: grid; grid-template-columns: minmax(0, 1fr) 72px minmax(0, 1fr); grid-template-rows: repeat(6, auto); margin-top: 32px; }
.muc-pw-weg { grid-row: 1 / span 6; display: grid; grid-template-rows: subgrid; margin: 0; background: #fff; border-top: 4px solid var(--muc-grau); padding: 0 28px; }
.muc-pw-weg--gutachten { border-top-color: var(--muc-rot); }
.muc-pw-weg > * { margin: 0; padding: 14px 0; border-bottom: 1px solid var(--muc-linie); }
.muc-pw-weg > :last-child { border-bottom: 0; padding: 20px 0 24px; }
.muc-pw-weg__kopf { padding: 22px 0 18px !important; }
.muc-pw-weg__kopf small { display: block; font-size: 13px; font-weight: 600; color: var(--muc-grau); margin-bottom: 2px; }
.muc-pw-weg__kopf strong { font-size: 22px; line-height: 1.3; }
.muc-pw-weg dt { font-size: 13px; font-weight: 600; color: var(--muc-grau); margin-bottom: 2px; }
.muc-pw-weg dd { margin: 0; font-size: 16px; line-height: 1.5; color: var(--muc-text); }
.muc-pw-oder { grid-row: 1 / span 6; grid-column: 2; position: relative; display: flex; align-items: center; justify-content: center; margin: 0; }
.muc-pw-oder::before { content: ""; position: absolute; top: 0; bottom: 0; left: 50%; border-left: 1px solid #b9b2a5; }
.muc-pw-oder span { position: relative; background: var(--muc-beige); padding: 10px 0; font-size: 14px; font-weight: 600; color: var(--muc-grau); }
@media (max-width: 760px) {
  .muc-pw-wege { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; }
  .muc-pw-weg { grid-row: auto; grid-template-rows: none; padding: 0 20px; }
  .muc-pw-weg .muc-btn { white-space: normal; text-align: center; }
  .muc-pw-oder { grid-row: auto; grid-column: auto; height: 64px; }
  .muc-pw-oder::before { top: 50%; bottom: auto; left: 0; right: 0; border-left: 0; border-top: 1px solid #b9b2a5; }
  .muc-pw-oder span { padding: 0 14px; }
}
.muc-veroeffentlichungen { list-style: none; margin: 24px 0 0; padding: 0; border-top: 1px solid var(--muc-linie); }
.muc-veroeffentlichungen li { padding: 16px 0; border-bottom: 1px solid var(--muc-linie); display: grid; gap: 4px; }
.muc-veroeffentlichungen span { font-size: 15px; color: var(--muc-grau); }

/* Kennzahlen */
.muc-kennzahlen { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.muc-kennzahl { border-top: 2px solid var(--muc-text); padding-top: 16px; }
.muc-kennzahl b { display: block; font-size: clamp(40px, 5vw, 56px); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.muc-kennzahl span { display: block; margin-top: 10px; font-size: 15px; line-height: 1.45; }

/* Dunkles Band (#333): höchstens einmal pro Seite, Schrift weiß, kein Rot */
.muc-band--dunkel { background: var(--muc-text); color: #fff; }
.muc-band--dunkel h2, .muc-band--dunkel h3, .muc-band--dunkel .muc-kennzahl b { color: #fff; }
.muc-band--dunkel p, .muc-band--dunkel .muc-kennzahl span { color: var(--muc-beige); }
.muc-band--dunkel .muc-kennzahl { border-top-color: #fff; }
.muc-band--dunkel a:not(.muc-btn) { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.muc-band--dunkel :focus-visible { outline-color: #fff; }
.muc-termin { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 28px; align-items: center; }
.muc-termin__kal { border: 1px solid #6b665f; text-align: center; padding: 8px 16px; line-height: 1.1; }
.muc-termin__kal small { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; color: var(--muc-beige); }
.muc-termin__kal b { display: block; font-size: 34px; font-variant-numeric: tabular-nums; }
.muc-termin h2 { font-size: clamp(22px, 2.4vw, 28px); margin: 0 0 6px; }
.muc-termin p { margin: 0; font-size: 16px; }
@media (max-width: 760px) { .muc-termin { grid-template-columns: 1fr; } .muc-termin__kal { justify-self: start; } }

/* Ansprechpartner (groß, für Fachseiten) */
.muc-ansprech { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 24px; align-items: start; }
.muc-ansprech img { width: 120px; aspect-ratio: 2 / 3; object-fit: cover; }
.muc-ansprech__fach { font-size: 13px; font-weight: 700; letter-spacing: .04em; color: var(--muc-grau); margin: 0; }
.muc-ansprech__name { font-size: 22px; font-weight: 700; line-height: 1.3; margin: 2px 0; }
/* Kontaktzeilen: ruhig in Textfarbe mit kleinem Symbol, Rot erst beim Darüberfahren */
.muc .muc-ansprech__tel, .muc .muc-ansprech__mail { display: flex; align-items: center; gap: 8px; width: fit-content; color: var(--muc-text); font-size: 15px; line-height: 1.5; text-decoration: none; white-space: nowrap; }
.muc .muc-ansprech__tel { margin: 10px 0 2px; }
.muc .muc-ansprech__tel:hover, .muc .muc-ansprech__mail:hover { color: var(--muc-rot); }
.muc-ansprech__tel::before, .muc-ansprech__mail::before { content: ""; flex: none; width: 15px; height: 15px; background: var(--muc-grau); -webkit-mask: var(--muc-symbol) center / contain no-repeat; mask: var(--muc-symbol) center / contain no-repeat; }
.muc-ansprech__tel { --muc-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.9v3a2 2 0 0 1-2.2 2 19.8 19.8 0 0 1-8.6-3.1 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.1 4.2 2 2 0 0 1 4.1 2h3a2 2 0 0 1 2 1.7c.1 1 .4 1.9.7 2.8a2 2 0 0 1-.5 2.1L8 9.9a16 16 0 0 0 6 6l1.3-1.3a2 2 0 0 1 2.1-.4c.9.3 1.8.6 2.8.7a2 2 0 0 1 1.7 2z'/%3E%3C/svg%3E"); }
.muc-ansprech__mail { --muc-symbol: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
.muc-ansprech__tel:hover::before, .muc-ansprech__mail:hover::before { background: var(--muc-rot); }
@media (forced-colors: active) { .muc-ansprech__tel::before, .muc-ansprech__mail::before { background: CanvasText; } }
.muc a[href^="tel:"] { white-space: nowrap; }

/* Ablauf mit echter Reihenfolge */
.muc-ablauf { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 0 20px; counter-reset: mucschritt; }
.muc-ablauf li { counter-increment: mucschritt; border-top: 2px solid var(--muc-linie); padding: 14px 0 24px; display: grid; gap: 6px; align-content: start; font-size: 15px; line-height: 1.5; }
.muc-ablauf li::before { content: counter(mucschritt, decimal-leading-zero); font-size: 32px; line-height: 1; font-weight: 700; letter-spacing: -0.02em; color: var(--muc-rot); font-variant-numeric: tabular-nums; }
.muc-ablauf li:first-child { border-top-color: var(--muc-rot); }
.muc-ablauf strong { font-size: 17px; }

/* Kundenstimme */
.muc-stimme { margin: 0; border-top: 4px solid var(--muc-rot); padding-top: 18px; display: grid; gap: 14px; }
.muc-stimme blockquote { margin: 0; font-size: clamp(19px, 2vw, 22px); line-height: 1.45; font-weight: 700; letter-spacing: -0.01em; max-width: 46ch; }
.muc-stimme figcaption { font-size: 14px; color: var(--muc-grau); }

/* ==========================================================================
   Startseite und Fachseiten
   ========================================================================== */

/* Einstieg: große Überschrift links, Live-Zahlen rechts */
.muc-held { padding: clamp(40px, 6vw, 88px) 0 clamp(40px, 5vw, 72px); }
.muc-held__raster { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: clamp(32px, 5vw, 72px); align-items: end; }
@media (max-width: 960px) { .muc-held__raster { grid-template-columns: 1fr; } }
.muc-held h1 { font-size: clamp(38px, 6vw, 72px); margin-bottom: 20px; }
.muc-held--seite h1 { font-size: clamp(34px, 5vw, 56px); max-width: 18ch; }
.muc-held__zahlen { border-left: 2px solid var(--muc-linie); padding-left: 28px; display: grid; gap: 20px; }
@media (max-width: 960px) { .muc-held__zahlen { border-left: 0; border-top: 2px solid var(--muc-linie); padding: 24px 0 0; grid-template-columns: 1fr 1fr; } .muc-held__zahlen .muc-eyebrow, .muc-held__zahlen .muc-klein { grid-column: 1 / -1; } }
.muc-held__zahl { display: grid; gap: 4px; color: var(--muc-text) !important; }
.muc-held__zahl b { font-size: clamp(40px, 5vw, 56px); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.muc-held__zahl span { font-size: 15px; line-height: 1.45; color: var(--muc-grau); }
.muc-held__zahl:hover { text-decoration: none !important; }
.muc-held__zahl:hover b { color: var(--muc-rot); }

/* Schnellsuche */
.muc-schnellsuche { display: grid; grid-template-columns: 1fr 1fr auto; gap: 12px 16px; align-items: end; margin-top: 32px; max-width: 760px; }
@media (max-width: 640px) { .muc-schnellsuche { grid-template-columns: 1fr; } }

/* Drei Wege: eckige Spalten mit Linie, ganze Spalte klickbar */
.muc-wege { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 860px) { .muc-wege { grid-template-columns: 1fr; } }
.muc-wege li { position: relative; background: #fff; border: 1px solid var(--muc-linie); border-top: 4px solid var(--muc-text); padding: 24px 24px 22px; display: flex; flex-direction: column; gap: 4px; }
.muc-wege li:hover { border-top-color: var(--muc-rot); }
.muc-wege h3 { font-size: 22px; margin: 0 0 8px; }
.muc-wege h3 a { color: var(--muc-text); }
.muc-wege h3 a::after { content: ""; position: absolute; inset: 0; }
.muc-wege li:hover h3 a { color: var(--muc-rot); text-decoration: none; }
.muc-wege p:not(.muc-eyebrow) { font-size: 16px; line-height: 1.6; margin: 0 0 16px; }
.muc-wege .muc-link { margin-top: auto; color: var(--muc-rot); }

/* Überschrift mit Link rechts */
.muc-zeile { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 28px; }
.muc-zeile h2 { margin: 0; }

/* Stimmen, Kontaktband */
.muc-stimmen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; margin-top: 32px; }
@media (max-width: 860px) { .muc-stimmen { grid-template-columns: 1fr; } }
.muc-kontaktband { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 32px; align-items: center; }
@media (max-width: 860px) { .muc-kontaktband { grid-template-columns: 1fr; } }

/* Fachseiten */
.muc-hinweise { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 12px; margin-top: 40px; }
.muc-text { max-width: 780px; }
.muc-text h2 { margin-top: 1.4em; }
.muc-text h2:first-child { margin-top: 0; }
.muc-erklaert { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 24px; margin-top: 32px; }
.muc-erklaert article { background: #fff; padding: 28px; border-top: 4px solid var(--muc-rot); }
.muc-erklaert h3 { margin: 0 0 16px; }
.muc-erklaert dl { margin: 0; display: grid; gap: 14px; }
.muc-erklaert dt { font-size: 13px; font-weight: 700; color: var(--muc-grau); }
.muc-erklaert dd { margin: 2px 0 0; font-size: 16px; line-height: 1.55; }
.muc-personen { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 32px 40px; margin-top: 32px; }
.muc-personen .muc-ansprech { grid-template-columns: 96px minmax(0, 1fr); gap: 20px; }
.muc-personen .muc-ansprech img { width: 96px; }
.muc-personen .muc-ansprech__name { font-size: 19px; }

/* Häufige Fragen */
.muc-faq-raster { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 40px; align-items: start; }
@media (max-width: 860px) { .muc-faq-raster { grid-template-columns: 1fr; } }
.muc-faq details { border-top: 1px solid var(--muc-feldrahmen); }
.muc-faq details:last-child { border-bottom: 1px solid var(--muc-feldrahmen); }
.muc-faq summary { cursor: pointer; list-style: none; padding: 18px 40px 18px 0; position: relative; font-weight: 700; font-size: 18px; line-height: 1.4; }
.muc-faq summary::-webkit-details-marker { display: none; }
.muc-faq summary::after { content: "+"; position: absolute; right: 4px; top: 14px; font-size: 26px; font-weight: 400; color: var(--muc-rot); }
.muc-faq details[open] summary::after { content: "–"; }
.muc-faq__antwort p { margin: 0 0 20px; max-width: 62ch; }

/* Börse: vermittelte Praxen als Referenz */
.muc-karte .muc-status { align-self: flex-start; margin-bottom: 6px; }
.muc-vermittelt { border-top: 1px solid var(--muc-linie); }
.muc-vermittelt .muc-karte__bild img { filter: grayscale(.35); }

/* Ruhiges Einblenden beim Scrollen (nur wo unterstützt, nie bei reduzierter Bewegung) */
@supports (animation-timeline: view()) {
  @media (prefers-reduced-motion: no-preference) {
    .muc-wege li, .muc-karten > li, .muc-kennzahl, .muc-erklaert article, .muc-ablauf li, .muc-stimme {
      animation: muc-auftauchen linear both; animation-timeline: view(); animation-range: entry 0% entry 40%; }
  }
}
@keyframes muc-auftauchen { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* ==========================================================================
   Börsen-Karte, Suchprofil, Kurz erklärt, Praxiswert
   ========================================================================== */
.muc-gebietskarte ol { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); gap: 4px; }
.muc-gebiet a, .muc-gebiet--leer { display: grid; gap: 1px; min-height: 64px; padding: 8px 8px 6px; background: #fff; border: 1px solid var(--muc-linie); color: var(--muc-text) !important; line-height: 1.2; text-decoration: none !important; height: 100%; box-sizing: border-box; }
.muc-gebiet b { font-size: 20px; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.muc-gebiet span { font-size: 11px; color: var(--muc-grau); hyphens: auto; }
.muc-gebiet small { font-size: 10px; color: var(--muc-grau); }
.muc-gebiet a:hover { border-color: var(--muc-text); }
.muc-gebiet a:hover b { color: var(--muc-rot); }
.muc-gebiet--aktiv a { background: var(--muc-text); border-color: var(--muc-text); color: #fff !important; }
.muc-gebiet--aktiv a span, .muc-gebiet--aktiv a small { color: var(--muc-beige); }
.muc-gebiet--leer { opacity: .45; }

.muc-begriffe { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(300px, 100%), 1fr)); gap: 24px; }
.muc-begriffe li { position: relative; background: #fff; border-top: 4px solid var(--muc-rot); padding: 24px; display: flex; flex-direction: column; }
.muc-begriffe h2, .muc .muc-begriffe h3 { font-size: 22px; margin: 0 0 10px; }
.muc-begriffe h2 a, .muc-begriffe h3 a { color: var(--muc-text); }
.muc-begriffe h2 a::after, .muc-begriffe h3 a::after { content: ""; position: absolute; inset: 0; }
.muc-begriffe li:hover h2 a, .muc-begriffe li:hover h3 a { color: var(--muc-rot); text-decoration: none; }
.muc-begriffe p:not(.muc-eyebrow) { font-size: 16px; line-height: 1.55; }
.muc-begriffe .muc-link { margin-top: auto; color: var(--muc-rot); }
.muc-begriff { margin: 0; display: grid; gap: 24px; }
.muc-begriff dt { font-size: 13px; font-weight: 700; color: var(--muc-grau); }
.muc-begriff dd { margin: 4px 0 0; font-size: 20px; line-height: 1.5; }
.muc-erklaert h3 a { color: var(--muc-text); }

.muc-pw { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.muc-pw__ganz { grid-column: 1 / -1; }
@media (max-width: 860px) { .muc-pw { grid-template-columns: 1fr; } }
.muc-pw__eingabe { display: grid; gap: 16px; }
.muc-pw__eingabe h2 { font-size: 24px; margin: 0; }
.muc-pw__ergebnis { background: #fff; border-top: 4px solid var(--muc-text); padding: 28px; position: sticky; top: 100px; }
.muc-pw__wert { font-size: clamp(28px, 3.4vw, 40px); font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; margin: 0 0 8px; font-variant-numeric: tabular-nums; }

/* Antwort auf ein Schreiben: große Flächen, wenige Felder, gut lesbar */
.muc-antwort fieldset { border: 0; margin: 0 0 32px; padding: 0; }
.muc-antwort legend { font-size: 22px; font-weight: 700; margin: 0 0 16px; display: flex; align-items: center; gap: 12px; padding: 0; }
.muc-antwort__schritt { display: inline-flex; width: 34px; height: 34px; border-radius: 50%; background: var(--muc-text); color: #fff; font-size: 17px; align-items: center; justify-content: center; flex: none; }
.muc-antwort__anliegen { display: grid; gap: 10px; }
.muc-antwort__anliegen label { display: flex; align-items: center; gap: 14px; background: #fff; border: 1.5px solid var(--muc-feldrahmen); padding: 16px 20px; font-size: 18px; line-height: 1.4; color: var(--muc-text); cursor: pointer; }
.muc-antwort__anliegen input { width: 22px; height: 22px; accent-color: var(--muc-rot); flex: none; margin: 0; }
.muc-antwort__anliegen label:has(input:checked) { border-color: var(--muc-text); box-shadow: inset 4px 0 0 var(--muc-rot); }
.muc-antwort__mehr { margin: 0 0 24px; }
.muc-antwort__mehr summary { cursor: pointer; font-weight: 700; color: var(--muc-rot); }
.muc-antwort__knopf { min-height: 52px; padding: 12px 32px; font-size: 17px; width: 100%; max-width: 360px; }

/* Karte nach PLZ-Gebieten (Umrisse © OpenStreetMap) */
.muc-plzkarte { margin: -8px 0 0; }
.muc-filter--schublade .muc-plzkarte { display: none; }
.muc-plzkarte svg { width: 100%; height: auto; display: block; }
.muc-plz { stroke: #fff; stroke-width: .7; transition: fill .15s; }
.muc-plz--0 { fill: var(--muc-flaeche); }
.muc-plz--1 { fill: #e3dfd6; } .muc-plz--2 { fill: #cfc8bb; } .muc-plz--3 { fill: #aea597; } .muc-plz--4 { fill: #8a8174; }
.muc-plzkarte a .muc-plz { cursor: pointer; }
.muc-plzkarte a:hover .muc-plz, .muc-plzkarte a:focus .muc-plz { fill: var(--muc-text); }
.muc-plz--aktiv, .muc-plzkarte a:hover .muc-plz--aktiv { fill: var(--muc-rot) !important; }
.muc-plz-zone { fill: none; stroke: var(--muc-text); stroke-width: .9; pointer-events: none; opacity: .55; }
.muc-plzkarte__info { font-size: 13px; line-height: 1.4; margin: 6px 0 0; min-height: 2.8em; }
.muc-plzkarte__quelle { font-size: 10px; color: var(--muc-grau); margin: 2px 0 0; }

/* Bildergalerie im Exposé */
.muc-galerie { display: grid; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); gap: 6px; margin: 0 0 32px; }
.muc-galerie button { padding: 0; border: 2px solid transparent; background: var(--muc-flaeche); cursor: zoom-in; aspect-ratio: 1; overflow: hidden; }
.muc-galerie button:hover, .muc-galerie button:focus-visible { border-color: var(--muc-text); }
.muc-galerie img { width: 100%; height: 100%; object-fit: cover; }
.muc-bildansicht { border: 0; padding: 0; background: transparent; max-width: min(92vw, 1200px); max-height: 92vh; }
.muc-bildansicht::backdrop { background: rgba(51,51,51,.88); }
.muc-bildansicht img { max-width: 100%; max-height: 86vh; display: block; margin: 0 auto; }
.muc-bildansicht form { text-align: right; margin: 0 0 8px; }
.muc-bildansicht button { background: #fff; border: 0; border-radius: var(--muc-rund); padding: 6px 16px; font: 700 14px var(--muc-sans); cursor: pointer; }

/* Kontakt und Textseiten */
.muc-kontakt { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 48px; align-items: start; }
@media (max-width: 960px) { .muc-kontakt { grid-template-columns: 1fr; } }
.muc-kontakt .muc-kasten { background: #fff; }
.muc-kontakt__tel { display: grid; grid-template-columns: 80px 1fr; margin: 0 0 4px; }
.muc-kontakt__tel span { color: var(--muc-grau); font-size: 15px; }
.muc-textseite h2 { font-size: 20px; margin: 1.6em 0 .4em; }
.muc-textseite h2:first-child { margin-top: 0; }
.muc .muc-textseite h3 { font-size: 17px; margin: 1.4em 0 .3em; }
.muc-textseite ul { padding-left: 1.2em; }
.muc-textseite li + li { margin-top: .4em; }

@media (prefers-reduced-motion: reduce) { .muc * { transition: none !important; } }

/* ---------- Kontakt: Anfahrt (eigene Karte aus OpenStreetMap-Daten, kein Google) ---------- */
.muc-anfahrt { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: center; }
@media (max-width: 960px) { .muc-anfahrt { grid-template-columns: 1fr; gap: 32px; } }
.muc-anfahrt__karte { display: block; }
.muc-anfahrt__karte img { display: block; width: 100%; height: auto; }
.muc-anfahrt h3 { font-size: 17px; margin: 24px 0 6px; }
.muc-anfahrt p { margin: 0 0 8px; }
.muc-anfahrt .muc-klein { margin-top: 16px; }
.muc-anfahrt__knoepfe { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }

/* ---------- Über M&C: Leistungen, Haltung, Partner, Team ---------- */
.muc-saeulen { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px 40px; }
.muc-saeulen--vier { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px 32px; }
.muc-saeulen--zwei { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
@media (max-width: 1080px) { .muc-saeulen--vier { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 860px) { .muc-saeulen, .muc-saeulen--vier, .muc-saeulen--zwei { grid-template-columns: 1fr; } }
.muc-saeulen li { border-top: 2px solid var(--muc-linie); padding: 18px 0 24px; display: flex; flex-direction: column; }
.muc-saeulen h3 { font-size: 20px; margin: 0 0 8px; }
.muc-saeulen p { font-size: 16px; line-height: 1.6; margin: 0 0 14px; }
.muc-saeulen .muc-link { margin-top: auto; }
.muc-saeulen li.muc-saeule--kasten { background: #fff; border-top: 4px solid var(--muc-text); padding: 28px; }
.muc-saeulen li.muc-saeule--kasten .muc-eyebrow { margin-bottom: 6px; }
.muc .muc-team__gruppe { font-size: 15px; font-weight: 700; color: var(--muc-grau); margin: 48px 0 0; padding-bottom: 10px; border-bottom: 1px solid var(--muc-linie); }
.muc-ansprech__abschluesse { font-size: 13px; line-height: 1.5; color: var(--muc-grau); margin: 6px 0 4px; }
.muc-band--beige p + .muc-kennzahlen { margin-top: 40px; }
.muc-nav a { white-space: nowrap; }

/* ---------- Wissen: häufige Fragen ---------- */
.muc-kurzantwort { background: var(--muc-flaeche); border-left: 4px solid var(--muc-rot); padding: 20px 24px; margin: 24px 0 0; }
.muc-band--hell .muc-kurzantwort, .muc-held .muc-kurzantwort { background: #fff; }
.muc-kurzantwort__titel { font-size: 13px; font-weight: 700; color: var(--muc-grau); margin: 0 0 6px; }
.muc-kurzantwort p:last-child { font-size: 19px; line-height: 1.55; margin: 0; }
.muc-frage__stand { margin: 14px 0 0; }
.muc-frage__text h2 { font-size: 24px; }
.muc-frage__text ul, .muc-frage__text ol { padding-left: 1.2em; }
.muc-frage__text li { margin-bottom: 8px; }
.muc-frage__kontakt { border-top: 2px solid var(--muc-linie); margin-top: 40px; padding-top: 24px; }
.muc-fragen { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(340px, 100%), 1fr)); gap: 24px; margin-top: 24px; }
@media (max-width: 420px) { .muc-fragen { grid-template-columns: 1fr; } }
.muc-fragen__eintrag { position: relative; background: #fff; padding: 24px; display: flex; flex-direction: column; border-top: 4px solid var(--muc-text); }
.muc-fragen__eintrag:hover { border-top-color: var(--muc-rot); }
.muc .muc-fragen__eintrag h4 { font-size: 19px; line-height: 1.35; margin: 0 0 10px; }
.muc-fragen__eintrag h4 a { color: var(--muc-text); }
.muc-fragen__eintrag h4 a::after { content: ""; position: absolute; inset: 0; }
.muc-fragen__eintrag:hover h4 a { color: var(--muc-rot); text-decoration: none; }
.muc-fragen__eintrag p { font-size: 16px; line-height: 1.55; margin: 0 0 14px; }
.muc-fragen__eintrag .muc-link { margin-top: auto; color: var(--muc-rot); }
.muc-frage__autor { margin-bottom: 24px; }
.muc-frage__autor .muc-ansprech { grid-template-columns: 96px minmax(0, 1fr); gap: 20px; }
.muc-frage__autor .muc-ansprech img { width: 96px; }
.muc-fuss__profile a { text-decoration: underline; text-underline-offset: 3px; display: inline-block; padding: 6px 0; }

/* ---------- Veranstaltungen ---------- */
.muc-termine { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 16px; }
.muc-termine__eintrag { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 24px; align-items: center; background: #fff; padding: 24px; border-top: 4px solid var(--muc-text); }
.muc-termine__eintrag:hover { border-top-color: var(--muc-rot); }
.muc .muc-termine__eintrag h3 { font-size: 21px; margin: 0 0 6px; }
.muc-termine__eintrag h3 a { color: var(--muc-text); }
.muc-termine__eintrag h3 a::after { content: ""; position: absolute; inset: 0; }
.muc-termine__eintrag:hover h3 a { color: var(--muc-rot); text-decoration: none; }
.muc-termine__eintrag p { margin: 0; }
.muc-termine__eintrag .muc-eyebrow { margin-bottom: 4px; }
.muc-termine__eintrag .muc-link { color: var(--muc-rot); white-space: nowrap; }
.muc-termin__kal--hell { border-color: var(--muc-text); min-width: 76px; }
.muc-termin__kal--hell small { color: var(--muc-grau); }
@media (max-width: 760px) { .muc-termine__eintrag { grid-template-columns: auto minmax(0, 1fr); } .muc-termine__eintrag .muc-link { grid-column: 1 / -1; } }
.muc-veranstaltung__bild { margin: 32px 0 0; aspect-ratio: 4 / 1; overflow: hidden; background: var(--muc-flaeche); }
.muc-veranstaltung__bild img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
@media (max-width: 760px) { .muc-veranstaltung__bild { aspect-ratio: 3 / 1; margin-top: 24px; } }
/* Kopf der Detailseite: Eckdaten auf einen Blick */
.muc-va-eckdaten { margin: 28px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 1000px; border-top: 1px solid var(--muc-linie); }
.muc-va-eckdaten > div { padding: 16px 24px 0 0; }
.muc-va-eckdaten > div + div { padding-left: 24px; border-left: 1px solid var(--muc-linie); }
.muc-va-eckdaten dt { font-size: 13px; font-weight: 700; color: var(--muc-grau); margin-bottom: 4px; }
.muc-va-eckdaten dd { margin: 0; font-size: 16px; line-height: 1.5; }
.muc-va-eckdaten strong { display: block; font-size: 17px; }
.muc-va-eckdaten a { font-size: 15px; white-space: nowrap; }
@media (max-width: 760px) {
  .muc-va-eckdaten { grid-template-columns: 1fr; }
  .muc-va-eckdaten > div, .muc-va-eckdaten > div + div { padding: 12px 0; border-left: 0; border-bottom: 1px solid var(--muc-linie); display: grid; grid-template-columns: 84px minmax(0, 1fr); gap: 12px; }
  .muc-va-eckdaten dt { margin: 3px 0 0; }
}
.muc-va-aktion { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin: 24px 0 0; }
.muc-va-aktion .muc-countdown { margin: 0 0 0 8px; }
@media (max-width: 600px) { .muc-va-aktion .muc-countdown { margin: 0; } }
/* Inhalt links, Anmeldung als Karte rechts */
.muc-veranstaltung { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 56px; align-items: start; }
.muc-veranstaltung--vorbei { grid-template-columns: minmax(0, 1fr); max-width: 820px; }
@media (max-width: 960px) { .muc-veranstaltung { grid-template-columns: 1fr; gap: 40px; } }
.muc .muc-veranstaltung__inhalt h2 { font-size: 26px; margin: 48px 0 0; }
.muc .muc-veranstaltung__inhalt > h2:first-child, .muc .muc-veranstaltung__inhalt > .muc-meldung + h2 { margin-top: 0; }
.muc-va-anmeldung { background: #fff; padding: 28px 28px 20px; border-top: 4px solid var(--muc-rot); }
@media (max-width: 600px) { .muc-va-anmeldung { padding: 24px 18px 16px; margin: 0 calc(-1 * var(--muc-rand) + 4px); } }
.muc-programm { list-style: none; counter-reset: punkt; margin: 20px 0 0; padding: 0; }
.muc-programm > li { counter-increment: punkt; position: relative; padding: 18px 0 18px 64px; border-top: 1px solid var(--muc-beige); }
.muc-programm > li:last-child { border-bottom: 1px solid var(--muc-beige); }
.muc-programm > li::before { content: counter(punkt, decimal-leading-zero); position: absolute; left: 0; top: 14px; font-size: 26px; font-weight: 700; color: var(--muc-rot); font-variant-numeric: tabular-nums; }
.muc-programm strong { display: block; font-size: 18px; line-height: 1.4; }
.muc-programm ul { margin: 6px 0 0; padding: 0; list-style: none; }
.muc-programm ul li { margin: 2px 0 0; font-size: 16px; line-height: 1.5; color: var(--muc-grau); }
.muc-veranstaltung__karten { display: flex; gap: 20px; margin-top: 8px; font-size: 15px; }
.muc-va-ort { display: grid; gap: 16px 32px; margin-top: 16px; }
.muc-va-ort p { margin: 0; font-size: 16px; line-height: 1.55; }
.muc-referenten { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.muc-referenten li { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 14px; align-items: center; background: #fff; padding: 14px; }
.muc-referenten img, .muc-referenten__kuerzel { width: 64px; height: 64px; border-radius: 50%; object-fit: cover; object-position: center 20%; display: block; }
.muc-referenten__kuerzel { display: grid; place-items: center; background: var(--muc-beige); color: var(--muc-text); font-weight: 700; font-size: 20px; }
.muc-referenten strong { display: block; font-size: 16px; line-height: 1.35; }
.muc-referenten a.muc-person-link { color: var(--muc-text); }
.muc-referenten div span { display: block; margin-top: 2px; font-size: 14px; color: var(--muc-grau); line-height: 1.45; }
/* Ablauf als Zeitleiste */
.muc-va-ablauf { list-style: none; margin: 20px 0 0; padding: 0; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
.muc-va-ablauf li { position: relative; padding: 26px 12px 0 0; }
.muc-va-ablauf li::before { content: ""; position: absolute; left: 0; top: 5px; width: 13px; height: 13px; border-radius: 50%; background: var(--muc-flaeche); border: 3px solid var(--muc-rot); box-sizing: border-box; z-index: 1; }
.muc-va-ablauf li:not(:last-child)::after { content: ""; position: absolute; left: 13px; right: 0; top: 10px; height: 3px; background: var(--muc-beige); }
.muc-va-ablauf .muc-va-ablauf__beginn::before { background: var(--muc-rot); }
.muc-va-ablauf b { display: block; font-size: 22px; font-variant-numeric: tabular-nums; line-height: 1.2; }
.muc-va-ablauf span { display: block; font-size: 15px; color: var(--muc-grau); margin-top: 2px; }
/* Regionalkarte bei „Ort und Anfahrt“ */
.muc-va-ort--karte { grid-template-columns: 180px minmax(0, 1fr); align-items: start; }
.muc-va-ort > div { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 200px), 1fr)); gap: 16px 32px; }
@media (max-width: 520px) { .muc-va-ort--karte { grid-template-columns: 110px minmax(0, 1fr); gap: 16px; } }
/* Lageplan (SVG im Stil der Anfahrtskarte, auf dem eigenen Server) */
.muc-va-ort--stadt { grid-template-columns: minmax(0, 1fr); }
.muc-stadtkarte { margin: 0; }
.muc-stadtkarte a { display: block; border-bottom: 4px solid var(--muc-text); transition: border-color .2s; }
.muc-stadtkarte a:hover { border-bottom-color: var(--muc-rot); }
.muc-stadtkarte img { width: 100%; height: auto; aspect-ratio: 16 / 10; display: block; background: #ece8e1; }
.muc-ortskarte { margin: 0; }
.muc-ortskarte svg { width: 100%; height: auto; display: block; background: #fff; }
.muc-ortskarte path { fill: var(--muc-beige); stroke: #fff; stroke-width: .8; }
.muc-ortskarte__punkt { fill: var(--muc-rot); stroke: #fff; stroke-width: 1.5; }
.muc-ortskarte__ring { fill: rgba(196, 26, 27, .18); }
.muc-ortskarte text { font: 700 10px var(--muc-sans); fill: var(--muc-text); paint-order: stroke; stroke: #fff; stroke-width: 3px; stroke-linejoin: round; }
.muc-ortskarte figcaption { font-size: 11px; color: var(--muc-grau); margin-top: 6px; }
/* Kalenderauswahl */
.muc-kalender { position: relative; }
.muc-kalender summary { list-style: none; cursor: pointer; }
.muc-kalender summary::-webkit-details-marker { display: none; }
.muc-kalender summary::after { content: ""; width: 7px; height: 7px; border: solid currentColor; border-width: 0 2px 2px 0; transform: translateY(-2px) rotate(45deg); margin-left: 4px; transition: transform .2s; }
.muc-kalender[open] summary::after { transform: translateY(2px) rotate(-135deg); }
.muc-kalender ul { position: absolute; left: 0; top: calc(100% + 6px); z-index: 20; min-width: 100%; margin: 0; padding: 6px 0; list-style: none; background: #fff; border: 1px solid var(--muc-beige); box-shadow: 0 10px 30px rgba(51, 51, 51, .12); }
.muc-kalender a { display: block; padding: 10px 18px; color: var(--muc-text); font-size: 15px; white-space: nowrap; }
.muc-kalender a:hover, .muc-kalender a:focus-visible { background: var(--muc-flaeche); color: var(--muc-rot); text-decoration: none; }
/* Anmeldekarte steht beim Scrollen, wenn sie passt (Klasse per JavaScript) */
.muc-va-anmeldung.muc-haftend { position: sticky; top: 96px; }
/* Referentenkarten: leichtes Anheben */
.muc-referenten li { transition: transform .2s ease, box-shadow .2s ease; }
.muc-referenten li:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(51, 51, 51, .08); }
/* Nacheinander einblenden (Ablauf, Programm) */
@media (prefers-reduced-motion: no-preference) {
  .muc-nacheinander--bereit > li { opacity: 0; transform: translateY(10px); transition: opacity .5s ease calc(var(--muc-schritt, 0) * .14s), transform .5s ease calc(var(--muc-schritt, 0) * .14s); }
  .muc-nacheinander--sichtbar > li { opacity: 1; transform: none; }
  .muc-va-ablauf.muc-nacheinander--bereit li:not(:last-child)::after { transform: scaleX(0); transform-origin: left; transition: transform .6s ease calc(var(--muc-schritt, 0) * .14s + .2s); }
  .muc-va-ablauf.muc-nacheinander--sichtbar li:not(:last-child)::after { transform: none; }
}
.muc-umschalter { flex-wrap: wrap; }
.muc-va-raster { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
.muc-va-raster--ohne-karte { grid-template-columns: minmax(0, 1fr); }
@media (max-width: 1000px) { .muc-va-raster { grid-template-columns: 1fr; } .muc-va-karte-aside { max-width: 360px; } }
.muc-va-karten { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 340px), 1fr)); gap: 24px; }
.muc-va-karte { position: relative; background: #fff; display: flex; flex-direction: column; border-bottom: 4px solid var(--muc-text); }
.muc-va-karte:hover { border-bottom-color: var(--muc-rot); }
.muc-va-karte__bild { aspect-ratio: 3 / 1; overflow: hidden; background: var(--muc-beige); }
.muc-va-karte__bild img { width: 100%; height: 100%; object-fit: cover; object-position: right center; }
.muc-va-karte__bild--online { display: flex; align-items: center; padding: 0 24px; }
.muc-va-karte__bild--online span { font-weight: 700; font-size: 17px; line-height: 1.35; }
.muc-va-karte__inhalt { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px; padding: 20px 22px 8px; align-items: start; }
.muc .muc-va-karte h3 { font-size: 19px; line-height: 1.3; margin: 0 0 6px; }
.muc-va-karte h3 a { color: var(--muc-text); }
.muc-va-karte h3 a::after { content: ""; position: absolute; inset: 0; }
.muc-va-karte:hover h3 a { color: var(--muc-rot); text-decoration: none; }
.muc-va-karte p { margin: 0; font-size: 15px; line-height: 1.5; }
.muc-va-karte .muc-eyebrow { margin-bottom: 4px; }
.muc-va-karte > .muc-link { margin: auto 22px 18px; padding-top: 10px; color: var(--muc-rot); }
.muc-terminkarte { margin: 8px 0 0; }
.muc-terminkarte svg { width: 100%; height: auto; display: block; }
.muc-terminkarte__land { fill: var(--muc-beige); stroke: #fff; stroke-width: 1; }
.muc-terminkarte__punkt { fill: var(--muc-rot); stroke: #fff; stroke-width: 3; }
.muc-terminkarte text { font: 700 19px var(--muc-sans); fill: var(--muc-text); paint-order: stroke; stroke: var(--muc-flaeche); stroke-width: 4px; stroke-linejoin: round; }
.muc-terminkarte .muc-terminkarte__datum { font-weight: 400; font-size: 16px; fill: var(--muc-grau); }
.muc-terminkarte a:hover text { fill: var(--muc-rot); }
.muc-terminkarte figcaption { font-size: 11px; color: var(--muc-grau); margin-top: 6px; }
.muc-reihen { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(320px, 100%), 1fr)); gap: 24px; margin-top: 28px; }
.muc-reihe { border-top: 4px solid var(--muc-text); background: var(--muc-flaeche); padding: 24px 28px; }
.muc .muc-reihe h3 { font-size: 21px; margin: 0 0 4px; }
.muc-reihe ul { margin: 16px 0 0; padding-left: 1.1em; }
.muc-reihe li { margin-bottom: 8px; line-height: 1.5; }
.muc-veranstaltung__frist { margin: 0 0 12px; }
.muc-umschalter .muc-kurz { display: none; }
@media (max-width: 600px) { .muc-umschalter .muc-lang { display: none; } .muc-umschalter .muc-kurz { display: inline; } .muc-umschalter a { padding: 6px 14px; } }
@media (max-width: 380px) { .muc-umschalter a { padding: 6px 9px; font-size: 14px; } }
/* Sprungziele nicht unter dem mitlaufenden Kopf verstecken (Tastatur, Anker) */
html { scroll-padding-top: 96px; }
/* Rote Links auf beigem Grund dunkler, damit sie 4,5:1 erreichen */
.muc .muc-band--beige .muc-link, .muc .muc-band--beige .muc-text a:not(.muc-btn) { color: var(--muc-rot-dunkel); }
/* Auf Touch-Geräten Tippflächen von mindestens 44 × 44 Punkt */
@media (pointer: coarse) {
  .muc-btn--klein, .muc-umschalter a, .muc-chip, .muc-menu-toggle, .muc .muc-sortierung select, .muc-seiten .page-numbers { min-height: 44px; }
  .muc-umschalter a { display: inline-flex; align-items: center; }
  .muc-merken { min-height: 44px; min-width: 44px; }
  .muc-seiten .page-numbers { min-width: 44px; }
  .muc input:not([type=checkbox]):not([type=radio]), .muc select { min-height: 44px; }
}
.muc-terminkarte__punkt--vorbei { fill: var(--muc-text); stroke-width: 2.5; }
.muc-terminkarte--vorbei text { fill: var(--muc-grau); font-weight: 400; font-size: 16px; }
.muc-terminkarte__legende { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 18px; font-size: 13px; color: var(--muc-grau); margin: 10px 0 0; }
.muc-terminkarte__legende span { white-space: nowrap; }
.muc-terminkarte__marke { display: inline-block; width: 11px; height: 11px; border-radius: 50%; background: var(--muc-rot); margin-right: 6px; vertical-align: -1px; }
.muc-terminkarte__marke--vorbei { background: var(--muc-text); }
.muc-va-vergangen { list-style: none; margin: 16px 0 0; padding: 0; }
.muc-va-vergangen li { border-bottom: 1px solid var(--muc-linie); }
.muc-va-vergangen a { display: grid; grid-template-columns: 90px 150px minmax(0, 1fr); gap: 16px; padding: 10px 0; color: var(--muc-text); font-size: 15px; }
.muc-va-vergangen a:hover { color: var(--muc-rot); text-decoration: none; }
.muc-va-vergangen span:first-child { color: var(--muc-grau); font-variant-numeric: tabular-nums; }
.muc-va-vergangen span:last-child { color: var(--muc-grau); }
@media (max-width: 600px) { .muc-va-vergangen a { grid-template-columns: 88px minmax(0, 1fr); } .muc-va-vergangen span:last-child { grid-column: 2; } }
/* Lange Fachwörter (z. B. Nachbesetzungsverfahren) in schmalen Spalten trennen statt überlaufen lassen */
.muc-ablauf li, .muc-saeulen li, .muc-begriffe li, .muc-fragen__eintrag, .muc-va-karte { min-width: 0; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 14 6 6; overflow-wrap: break-word; }
/* Marke M&C 2027: rotes & in Überschriften wie Baustein „RotesUnd“ (.mc-und) im Design System: höchstens einmal pro Seite, nie im dunklen Band und Unterzeile im Fuß */
.muc .muc-und { color: var(--muc-rot); font-family: var(--muc-sans); font-weight: 700; }
.muc .muc-band--dunkel .muc-und { color: inherit; }
.muc-held--seite h1:has(.muc-und) { max-width: none; text-wrap: balance; }
.muc-fuss__unterzeile { font-weight: 700; max-width: 24em; }

/* ---------- Bildband: großes Foto zwischen zwei Abschnitten, Inhalt scrollt darüber ---------- */
.muc-bildband { height: clamp(220px, 34vw, 460px); background-size: cover; background-repeat: no-repeat; background-color: var(--muc-beige); }
/* Tablets und Handys (iOS kennt „fixed“ nicht sauber) sowie reduzierte Bewegung: normales Mitscrollen */
@media (max-width: 1024px), (hover: none), (prefers-reduced-motion: reduce) { .muc-bildband { background-attachment: scroll; height: clamp(180px, 45vw, 320px); } }
/* Praxiswertrechner (Entwurf): Jahre als Spalten */
.muc-pw2__tabelle { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 8px 10px; align-items: center; }
.muc-pw2__jahr { font-size: 13px; font-weight: 700; color: var(--muc-grau); text-align: right; padding-right: 8px; }
.muc-pw2__zeile { font-size: 15px; line-height: 1.35; }
.muc-pw2__tabelle input { text-align: right; min-width: 0; padding: 8px 12px; }
.muc-pw2__gewinn { text-align: right; padding-right: 12px; font-weight: 700; font-variant-numeric: tabular-nums; border-top: 1px solid var(--muc-linie); padding-top: 8px; }
.muc-pw2__frage { border: 0; margin: 0; padding: 0; }
@media (max-width: 600px) { .muc-pw2__tabelle { grid-template-columns: repeat(3, minmax(0, 1fr)); } .muc-pw2__tabelle > span:first-child { display: none; } .muc-pw2__zeile { grid-column: 1 / -1; margin-top: 6px; } }

/* Beraterseite: Kopf mit Porträt, Profil statt Faktenraster (lange Abschlüsse liefen über den Rand) */
.muc-berater-kopf { display: grid; grid-template-columns: 140px 1fr; gap: 32px; align-items: center; }
.muc-berater-kopf__bild { width: 140px; aspect-ratio: 2 / 3; object-fit: cover; }
.muc-berater-kopf h1 { margin-bottom: 12px; overflow-wrap: anywhere; hyphens: auto; }
.muc-profil { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 24px 40px; margin: 0 0 40px; padding: 24px 28px; border: 1px solid var(--muc-beige); background: #fff; }
.muc .muc-profil__titel { font-size: 13px; line-height: 1.4; letter-spacing: 0; font-weight: 400; color: var(--muc-grau); margin: 0 0 10px; }
.muc-profil__chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.muc-profil__chips li { background: var(--muc-flaeche); padding: 6px 12px; font-weight: 700; font-size: 15px; }
.muc-profil__liste { margin: 0; padding: 0 0 0 18px; }
.muc-profil__liste li { margin: 0 0 4px; font-size: 16px; line-height: 1.5; overflow-wrap: anywhere; hyphens: auto; }
.muc-berater-kontakt { margin: 0 0 20px; line-height: 1.8; }
.muc-kasten a, .muc-person p { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  .muc-berater-kopf { grid-template-columns: 96px 1fr; gap: 18px; align-items: start; }
  .muc-berater-kopf__bild { width: 96px; }
  .muc-profil { padding: 20px; }
}
/* Kennzahlen in schmalen Karten (z. B. auf Beraterseiten): lange Werte wie „Verhandlungsbasis“ trennen statt überlaufen */
.muc-karte__fakten dd, .muc-karte__fakten dt { overflow-wrap: break-word; hyphens: auto; min-width: 0; }
.muc-karte h2, .muc-karte h3 { overflow-wrap: break-word; hyphens: auto; }
/* Lange deutsche Wörter („Geschlechtskrankheiten“, „Nachbesetzungsverfahren“, „Personaldienstleistungskauffrau“) trennen statt über den Rand laufen */
.muc h1, .muc h2, .muc h3, .muc-fakten dd, .muc-fakten dt, .muc-ansprech p, .muc-person p, .muc-lead, .muc-frage__antwort, .muc-kasten p {
  min-width: 0; overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 12 5 5;
}
.muc-fakten div { min-width: 0; }
.muc main p, .muc main li { overflow-wrap: break-word; hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 12 5 5; }

/* ==========================================================================
   Feinschliff: Seitenwechsel, Karten, Merkliste, Vergleich, Lesefortschritt
   ========================================================================== */

/* Weiche Seitenwechsel (Browser ohne Unterstützung wechseln wie bisher); Exposé-Bild gleitet von der Karte ins Exposé */
@media (prefers-reduced-motion: no-preference) {
  @view-transition { navigation: auto; }
  ::view-transition-old(root), ::view-transition-new(root) { animation-duration: .28s; }
  ::view-transition-group(*) { animation-duration: .38s; animation-timing-function: cubic-bezier(.2, .7, .2, 1); }

  .muc-karte { transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
  .muc-karte:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(51, 51, 51, .09); }
  .muc-karte__bild img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
  .muc-karte:hover .muc-karte__bild img { transform: scale(1.035); }
  .muc-held__zahl, .muc-wege li { transition: transform .22s ease; }
  .muc-held__zahl:hover { transform: translateX(3px); }
}

/* Merken: Herz auf der Karte (oben links, die Marke „Neu“ sitzt rechts) und im Exposé mit Beschriftung */
.muc-merken { position: absolute; left: 10px; top: 10px; z-index: 2; display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .92); color: var(--muc-text); cursor: pointer;
  box-shadow: 0 2px 8px rgba(51, 51, 51, .15); }
.muc-merken svg { fill: none; stroke: currentColor; stroke-width: 1.8; }
.muc-merken:hover { color: var(--muc-rot); }
.muc-merken[aria-pressed="true"] { color: var(--muc-rot); }
.muc-merken[aria-pressed="true"] svg { fill: currentColor; }
.muc-merken:focus-visible { outline: 3px solid var(--muc-rot); outline-offset: 2px; }
.muc-merken--text { position: static; width: auto; height: 40px; padding: 0 16px 0 12px; border-radius: var(--muc-rund); border: 1px solid var(--muc-feldrahmen);
  box-shadow: none; background: #fff; font-size: 15px; font-weight: 700; }
.muc-expose-aktionen { display: flex; align-items: center; gap: 16px; margin: 16px 0 0; }
@media (prefers-reduced-motion: no-preference) {
  .muc-merken--puls svg { animation: muc-puls .45s cubic-bezier(.2, .7, .2, 1); }
}
@keyframes muc-puls { 0% { transform: scale(1); } 35% { transform: scale(1.3); } 100% { transform: scale(1); } }

/* Merkliste in der Kopfzeile */
.muc-merkliste-link { display: inline-flex; align-items: center; gap: 4px; color: var(--muc-rot) !important; font-weight: 700; font-size: 15px; margin-right: 12px; }
.muc-merkliste-link svg { fill: currentColor; }
.muc-merkliste-link[hidden] { display: none; }

/* Kurzer Hinweis unten („Zur Merkliste hinzugefügt“) */
.muc-toast { position: fixed; left: 50%; bottom: 24px; z-index: 50; transform: translate(-50%, 20px); opacity: 0; pointer-events: none;
  background: var(--muc-text); color: #fff; padding: 12px 18px; border-radius: 8px; font-size: 15px; box-shadow: 0 8px 24px rgba(0, 0, 0, .18);
  transition: opacity .2s ease, transform .2s ease; max-width: calc(100% - 32px); }
.muc-toast a { color: #fff !important; text-decoration: underline; font-weight: 700; }
.muc-toast--an { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }

/* Merkliste: Auswahl zum Vergleich und Leiste */
.muc-vergleich-wahl { display: flex; align-items: center; gap: 8px; margin: 0 20px 20px; font-size: 15px; cursor: pointer; position: relative; z-index: 2; } /* über dem Kartenlink */
.muc-vergleich-wahl input { width: 18px; height: 18px; accent-color: var(--muc-rot); }
.muc-vergleich-leiste { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin-top: 32px; padding: 14px 20px; background: #fff; border-top: 3px solid var(--muc-rot); box-shadow: 0 -6px 20px rgba(51, 51, 51, .08); }
.muc-vergleich-leiste p { margin: 0; }
.muc-vergleich-leiste[hidden] { display: none; }
.muc-vergleich-leiste .muc-btn:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 640px) {
  .muc-vergleich-leiste { flex-wrap: nowrap; padding: 10px 16px; gap: 12px; }
  .muc-vergleich-leiste p { font-size: 14px; line-height: 1.3; }
  .muc-vergleich-leiste .muc-btn { min-height: 40px; padding: 6px 14px; flex-shrink: 0; }
}

/* Vergleichstabelle */
#vergleich { scroll-margin-top: 96px; }
#vergleich h2 { margin-top: 48px; }
.muc-vergleich { overflow-x: auto; border: 1px solid var(--muc-beige); background: #fff; }
.muc-vergleich table { width: 100%; border-collapse: collapse; min-width: 560px; }
.muc-vergleich th, .muc-vergleich td { padding: 12px 16px; border-bottom: 1px solid var(--muc-beige); text-align: left; vertical-align: top; font-size: 15px; }
.muc-vergleich thead th { background: var(--muc-flaeche); }
.muc-vergleich thead a { display: block; font-weight: 700; color: var(--muc-text) !important; margin: 2px 0; }
.muc-vergleich__nr, .muc-vergleich__region { display: block; font-size: 13px; font-weight: 400; color: var(--muc-grau); }
.muc-vergleich tbody th { color: var(--muc-grau); font-weight: 400; white-space: nowrap; }
.muc-vergleich tbody tr:hover td { background: #fbfaf8; }

/* Wissen: Lesefortschritt und Inhaltsverzeichnis */
.muc-lesefortschritt { position: fixed; left: 0; top: 0; z-index: 60; width: 100%; height: 3px; background: var(--muc-rot); transform: scaleX(0); transform-origin: left; }
.muc-inhaltsverzeichnis { background: var(--muc-flaeche); border-left: 4px solid var(--muc-rot); padding: 16px 20px; margin: 0 0 32px; }
.muc-inhaltsverzeichnis ol { margin: 0; padding-left: 20px; }
.muc-inhaltsverzeichnis li { margin: 4px 0; }
.single-begriff .muc-text h2 { scroll-margin-top: 96px; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Exposé: Teilen und Drucken neben „Merken“ */
.muc-expose-aktionen { flex-wrap: wrap; gap: 10px; }
.muc-expose-aktionen .muc-merkliste-verweis { margin-left: 6px; }

/* Feste Anfrageleiste im Exposé, nur auf kleinen Bildschirmen */
.muc-anfrageleiste { display: none; }
.muc-druck-fuss { display: none; }
@media (max-width: 960px) {
  .muc-anfrageleiste { display: flex; align-items: center; gap: 10px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 40;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 3px solid var(--muc-rot);
    box-shadow: 0 -6px 20px rgba(51, 51, 51, .1); transition: transform .25s ease; }
  .muc-anfrageleiste__nr { margin-right: auto; font-size: 13px; color: var(--muc-grau); white-space: nowrap; }
  .muc-anfrageleiste--weg { transform: translateY(120%); }
  body.muc-mit-anfrageleiste { padding-bottom: 72px; }
  body.muc-mit-anfrageleiste .muc-toast { bottom: 88px; }
}

/* Filter als Schublade auf kleinen Bildschirmen (muc.js); ohne JavaScript bleiben die Filter über der Liste */
.muc-filter-knopf, .muc-filter__kopf, .muc-schublade-hintergrund { display: none; }
@media (max-width: 960px) {
  .muc-filter-knopf { display: inline-flex; justify-self: start; }
  .muc-filter-knopf svg { fill: none; stroke: currentColor; stroke-width: 2; }
  .muc-filter-knopf__zahl { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px; padding: 0 6px;
    border-radius: 11px; background: var(--muc-rot); color: #fff; font-size: 13px; }
  .muc-filter.muc-filter--schublade { position: fixed; left: 0; right: 0; bottom: 0; top: auto; z-index: 80; max-height: 85vh; overflow-y: auto;
    padding: 0 20px 24px; background: #fff; border-radius: 16px 16px 0 0; box-shadow: 0 -12px 40px rgba(0, 0, 0, .2);
    transform: translateY(105%); visibility: hidden; transition: transform .3s cubic-bezier(.2, .7, .2, 1), visibility 0s linear .3s; }
  .muc-filter.muc-filter--schublade.muc-filter--offen { transform: none; visibility: visible; transition: transform .3s cubic-bezier(.2, .7, .2, 1); }
  .muc-filter--schublade .muc-filter__kopf { display: flex; justify-content: space-between; align-items: center; position: sticky; top: 0; z-index: 1;
    margin: 0 -20px; padding: 16px 20px 12px; background: #fff; border-bottom: 1px solid var(--muc-beige); }
  .muc-filter__kopf button { border: 0; background: none; font-size: 20px; line-height: 1; padding: 6px; cursor: pointer; color: var(--muc-text); }
  .muc-filter--schublade > button[type=submit] { position: sticky; bottom: 0; }
  .muc-schublade-hintergrund { display: block; position: fixed; inset: 0; z-index: 79; background: rgba(0, 0, 0, .35); opacity: 0; pointer-events: none; transition: opacity .25s; }
  .muc-schublade-hintergrund.an { opacity: 1; pointer-events: auto; }
  html.muc-gesperrt { overflow: hidden; }
}

/* Zurück zur Liste: Karte des zuletzt geöffneten Exposés kurz hervorheben */
.muc-karten > li[id^="praxis-"] { scroll-margin-top: 110px; }
@media (prefers-reduced-motion: no-preference) {
  .muc-karten > li:target .muc-karte { animation: muc-hervor 1.6s ease-out; }
}
@keyframes muc-hervor { 0%, 30% { box-shadow: 0 0 0 3px var(--muc-rot); } 100% { box-shadow: 0 0 0 3px transparent; } }

/* Bilder blenden weich ein (nur mit JavaScript, sonst sofort sichtbar) */
.muc-js .muc-karte__bild img, .muc-js .muc-expose-bild img, .muc-js .muc-va-karte__bild img, .muc-js .muc-veranstaltung__bild img { opacity: 0; transition: opacity .5s ease; }
.muc-js img.muc-geladen { opacity: 1; }
.muc-expose-bild, .muc-veranstaltung__bild { background: var(--muc-flaeche); }
@media (prefers-reduced-motion: reduce) { .muc-js .muc-karte__bild img, .muc-js .muc-expose-bild img, .muc-js .muc-va-karte__bild img, .muc-js .muc-veranstaltung__bild img { opacity: 1; } }

/* Fachbegriffe zum Antippen */
.muc-glossar { display: inline; padding: 1px 4px; margin: 0 -1px; border: 0; border-radius: 4px; font: inherit; color: inherit; cursor: help;
  background-color: rgba(227, 223, 214, .55); -webkit-box-decoration-break: clone; box-decoration-break: clone;
  transition: background-color .2s, color .2s; }
.muc-glossar::after { content: ""; display: inline-block; width: .72em; height: .72em; margin-left: .3em; vertical-align: .05em; background: var(--muc-grau);
  -webkit-mask: var(--muc-info) center / contain no-repeat; mask: var(--muc-info) center / contain no-repeat; transition: background-color .2s; }
.muc { --muc-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7' fill='none' stroke='%23000' stroke-width='1.6'/%3E%3Crect x='7.2' y='6.8' width='1.6' height='5.4' fill='%23000'/%3E%3Ccircle cx='8' cy='4.5' r='1.05' fill='%23000'/%3E%3C/svg%3E"); }
.muc-glossar:hover, .muc-glossar[aria-expanded="true"] { background-color: var(--muc-beige); }
.muc-glossar:hover::after, .muc-glossar[aria-expanded="true"]::after { background-color: var(--muc-rot); }
@media (forced-colors: active) { .muc-glossar { text-decoration: underline dotted; } }
/* Kleiner Info-Knopf neben einer Feldbezeichnung, blendet einen Hinweis ein */
.muc-label-zeile { display: flex; align-items: center; gap: 6px; }
.muc-label-zeile .muc-label { margin-right: 0; }
.muc-info-knopf { width: 22px; height: 22px; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; position: relative; flex: none; }
.muc-info-knopf::before { content: ""; position: absolute; inset: 3px; background: var(--muc-grau); -webkit-mask: var(--muc-info) center / contain no-repeat; mask: var(--muc-info) center / contain no-repeat; transition: background-color .2s; }
.muc-info-knopf:hover::before, .muc-info-knopf[aria-expanded="true"]::before { background: var(--muc-rot); }
.muc-info-knopf:focus-visible { outline: 2px solid var(--muc-rot); outline-offset: 2px; }
.muc-info-text { margin: 6px 0 0 18px; }
.muc-glossar:focus-visible { outline: 2px solid var(--muc-rot); outline-offset: 2px; border-radius: 2px; }
.muc-glossar-blase { position: absolute; z-index: 90; background: #fff; border-top: 3px solid var(--muc-rot); padding: 14px 16px 16px;
  box-shadow: 0 12px 32px rgba(51, 51, 51, .18); font-size: 15px; line-height: 1.5; }
.muc-glossar-blase .muc-eyebrow { margin: 0 0 4px; font-size: 11px; }
.muc-glossar-blase strong { display: block; font-size: 16px; margin-bottom: 4px; }
.muc-glossar-blase p { margin: 0 0 8px; }
.muc-glossar-blase a { font-weight: 700; }
@media (prefers-reduced-motion: no-preference) {
  .muc-glossar-blase { animation: muc-blase .18s ease-out; }
}
@keyframes muc-blase { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }

/* Abläufe: Schritte erscheinen nacheinander, die rote Linie wächst mit (Browser ohne CSS-Scroll-Animation) */
.muc-ablauf li { position: relative; }
.muc-ablauf li::after { content: ""; position: absolute; left: 0; top: -2px; height: 2px; width: 0; background: var(--muc-rot); }
.muc-ablauf--bereit li::after { transition: width .6s cubic-bezier(.2, .7, .2, 1) calc(var(--muc-schritt, 0) * .18s); }
.muc-ablauf--sichtbar li::after { width: 100%; }
@supports not (animation-timeline: view()) {
  .muc-ablauf--bereit li { opacity: 0; transform: translateY(12px); transition: opacity .5s ease calc(var(--muc-schritt, 0) * .18s), transform .5s ease calc(var(--muc-schritt, 0) * .18s); }
  .muc-ablauf--sichtbar li { opacity: 1; transform: none; }
}

/* Veranstaltungen: „In 12 Tagen“ */
.muc-countdown { display: inline-flex; align-items: center; gap: 6px; margin: 12px 0 0; padding: 4px 12px; border: 1px solid var(--muc-rot);
  border-radius: var(--muc-rund); color: var(--muc-rot); font-size: 14px; font-weight: 700; }
.muc-countdown::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--muc-rot); }
.muc-countdown--klein { margin: 6px 0 0; padding: 2px 10px; font-size: 13px; }
.muc-countdown[hidden] { display: none; }

/* Feinschliff: Links mit wachsender Unterstreichung, Klick-Rückmeldung auf Knöpfen, „Nach oben“ */
.muc-text a:not(.muc-btn), .muc-inhalt a:not(.muc-btn), .muc-link { background: linear-gradient(currentColor, currentColor) no-repeat 0 100% / 0 1px; padding-bottom: 1px; }
@media (prefers-reduced-motion: no-preference) {
  .muc-text a:not(.muc-btn), .muc-inhalt a:not(.muc-btn), .muc-link { transition: background-size .3s ease; }
  .muc-btn, .muc-merken { transition: transform .12s ease, background-color .2s ease, color .2s ease, border-color .2s ease; }
  .muc-btn:active, .muc-merken:active { transform: scale(.97); }
}
.muc-text a:not(.muc-btn):hover, .muc-inhalt a:not(.muc-btn):hover, .muc-link:hover, li:hover > .muc-link, article:hover .muc-link { background-size: 100% 1px; text-decoration: none; }
.muc-nach-oben { position: fixed; right: 20px; bottom: 24px; z-index: 35; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--muc-beige);
  background: #fff; color: var(--muc-text); box-shadow: 0 6px 18px rgba(51, 51, 51, .14); cursor: pointer; display: flex; align-items: center; justify-content: center;
  opacity: 0; transform: translateY(12px); pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.muc-nach-oben svg { fill: none; stroke: currentColor; stroke-width: 2.2; }
.muc-nach-oben--an { opacity: 1; transform: none; pointer-events: auto; }
.muc-nach-oben:hover { color: var(--muc-rot); border-color: var(--muc-rot); }
@media (max-width: 960px) { body.muc-mit-anfrageleiste .muc-nach-oben { bottom: 88px; } }

/* Druckansicht Exposé: eine saubere Seite mit Logo, Kennzahlen, Beschreibung und Ansprechperson */
@media print {
  @page { size: A4; margin: 15mm 15mm 18mm; }
  body.muc { background: #fff; font-size: 10pt; line-height: 1.4; }
  html, body, main, #brx-content, .brx-body { min-height: 0 !important; height: auto !important; }
  body.muc-mit-anfrageleiste { padding-bottom: 0 !important; }
  .muc-wrap { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
  .muc-kasten h2 { margin-top: 0; }
  .muc-kopf .muc-logo img { height: 34px; width: auto; }
  .muc-inhalt li, .muc-inhalt p { margin-top: 0; margin-bottom: 1mm; }
  .muc-inhalt ul { margin: 1mm 0 2mm; }
  .muc-skip, .muc-nav, .muc-kopf__aktion, .muc-krumen, .muc-expose-aktionen, .muc-galerie, .muc-bildansicht, #formular, .muc-anfrageleiste,
  .muc-seitenleiste .muc-btn, .muc-band--hell, .muc-fuss, footer, .muc-toast, .muc-lesefortschritt, [id^="BorlabsCookie"], .brlbs-cmpnt-container { display: none !important; }
  [id^="BorlabsCookie"], .brlbs-cmpnt-container, .brlbs-cmpnt-widget { visibility: hidden !important; } /* Cookie-Schaltfläche setzt display per Inline-Stil */
  .muc-kopf { position: static; border: 0; box-shadow: none; padding: 0 0 6mm; }
  .muc-kopf { padding-bottom: 3mm !important; }
  .muc-expose-kopf { padding: 0 0 3mm; }
  .muc-expose-kopf h1 { font-size: 18pt; margin-bottom: 0; }
  .muc-expose-raster h2 { font-size: 12pt; margin: 5mm 0 2mm; }
  .muc-expose-bild { float: right; width: 55mm; margin: 0 0 3mm 6mm; }
  .muc-fakten { margin-bottom: 2mm; }
  .muc-fakten > div { padding: 2mm 3mm; }
  .muc-hinweis { font-size: 8.5pt; margin: 3mm 0 0; }
  .muc-expose-raster { display: block; }
  .muc-seitenleiste { position: static; margin-top: 4mm; break-inside: avoid; }
  .muc-kasten { padding: 4mm 5mm; border: 1px solid #ddd; background: #fff; }
  .muc-kasten h2 { font-size: 12pt; margin-bottom: 2mm; }
  .muc-person { display: flex; gap: 4mm; align-items: flex-start; }
  .muc-person img { width: 18mm; height: auto; }
  .muc-person--team { display: block; }
  .muc-person__team { display: flex; gap: 2mm; margin-bottom: 3mm; }
  .muc-person__team img { width: 16mm; }
  .muc-nicht-drucken { display: none !important; }
  .muc-expose-bild img { width: 100%; height: 38mm; object-fit: cover; }
  .muc-fakten, .muc-fakten > div { break-inside: avoid; }
  .muc-inhalt { font-size: 10pt; }
  a { color: inherit !important; text-decoration: none; }
  .muc-band { padding: 0 !important; }
  .muc-druck-fuss { display: block !important; margin-top: 5mm; padding-top: 2mm; border-top: 1px solid #ccc; font-size: 8pt; color: #555; break-inside: avoid; }
  img { view-transition-name: none !important; opacity: 1 !important; }
  .muc-nach-oben, .muc-glossar-blase, .muc-countdown { display: none !important; }
  .muc-glossar { text-decoration: none; background: none !important; padding: 0; margin: 0; }
  .muc-glossar::after { display: none; }
}

/* ---------- Startseite: Einstieg „Praxis finden | Praxis abgeben“, Bewertung, Beratungsteam ---------- */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; padding: 0; margin: -1px; }
.muc-bewertung { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; margin: 4px 0 0; color: var(--muc-text) !important; font-size: 15px; text-decoration: none !important; }
.muc-bewertung b { font-size: 17px; }
.muc-bewertung span:last-child { color: var(--muc-grau); }
.muc-bewertung:hover span:last-child { color: var(--muc-rot); text-decoration: underline; }
.muc-sterne { color: var(--muc-rot); letter-spacing: 2px; font-size: 17px; line-height: 1; }

.muc-einstieg { position: relative; margin-top: 32px; max-width: 780px; }
.muc-einstieg__wahl { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.muc-einstieg__reiter { display: flex; gap: 8px; border-bottom: 1px solid var(--muc-linie); }
.muc-einstieg__reiter label { padding: 10px 4px; margin-right: 20px; font-weight: 700; font-size: 17px; color: var(--muc-grau); cursor: pointer; border-bottom: 3px solid transparent; margin-bottom: -1px; min-height: 44px; display: inline-flex; align-items: center; }
.muc-einstieg__reiter label:hover { color: var(--muc-text); }
#e-finden:checked ~ .muc-einstieg__reiter label[for="e-finden"],
#e-abgeben:checked ~ .muc-einstieg__reiter label[for="e-abgeben"] { color: var(--muc-text); border-bottom-color: var(--muc-rot); }
#e-finden:focus-visible ~ .muc-einstieg__reiter label[for="e-finden"],
#e-abgeben:focus-visible ~ .muc-einstieg__reiter label[for="e-abgeben"] { outline: 2px solid var(--muc-rot); outline-offset: 2px; }
.muc-einstieg__inhalt { display: none; padding-top: 22px; }
#e-finden:checked ~ .muc-einstieg__inhalt--finden,
#e-abgeben:checked ~ .muc-einstieg__inhalt--abgeben { display: block; }
.muc-einstieg .muc-schnellsuche { margin-top: 0; }
.muc-einstieg__frage { font-size: clamp(20px, 2.2vw, 24px); font-weight: 700; line-height: 1.3; margin: 0 0 8px; }
.muc-einstieg__inhalt--abgeben p { max-width: 62ch; }
.muc .muc-einstieg__knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin: 20px 0 0; }

.muc-schnellsuche__bereich { grid-column: 1 / -1; border: 0; margin: 0; padding: 0; display: flex; gap: 8px; }
.muc-schnellsuche__bereich input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.muc-schnellsuche__bereich label { border: 1px solid var(--muc-feldrahmen); border-radius: var(--muc-rund); padding: 6px 16px; font-size: 15px; cursor: pointer; min-height: 36px; display: inline-flex; align-items: center; }
.muc-schnellsuche__bereich input:checked + label { background: var(--muc-text); border-color: var(--muc-text); color: #fff; }
.muc-schnellsuche__bereich input:focus-visible + label { outline: 2px solid var(--muc-rot); outline-offset: 2px; }
@media (pointer: coarse) { .muc-schnellsuche__bereich label { min-height: 44px; } }

.muc-stimmen__kopf { align-items: end; }
.muc-note { display: grid; grid-template-columns: auto auto; gap: 0 14px; align-items: center; color: var(--muc-text) !important; text-decoration: none !important; }
.muc-note > b { font-size: clamp(44px, 5vw, 60px); line-height: 1; letter-spacing: -0.03em; }
.muc-note > span { display: grid; gap: 4px; font-size: 14px; color: var(--muc-grau); }
.muc-note:hover > span { color: var(--muc-rot); }
.muc-stimme blockquote { font-family: var(--muc-sans); font-style: normal; font-weight: 400; font-size: clamp(18px, 1.8vw, 20px); line-height: 1.55; letter-spacing: 0; quotes: none; }
.muc-stimme blockquote::before, .muc-stimme blockquote::after { content: none; }
.muc .muc-stimme blockquote { border: 0; padding: 0; margin: 0; background: none; }
.muc-stimme figcaption { text-align: left; }

.muc-berater { margin-top: 32px; }
.muc-berater__fotos { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; }
.muc-berater__fotos li { margin-right: -10px; }
.muc-berater__fotos a { display: block; width: 58px; height: 58px; border-radius: 50%; overflow: hidden; border: 3px solid #fff; background: var(--muc-beige); transition: transform .2s ease; }
.muc-berater__fotos a:hover, .muc-berater__fotos a:focus-visible { transform: translateY(-4px); position: relative; z-index: 1; }
.muc-berater__fotos img { width: 100%; height: 100%; object-fit: cover; object-position: center 25%; display: block; }
@media (prefers-reduced-motion: reduce) { .muc-berater__fotos a { transition: none; } }
@media print { .muc-einstieg__reiter, .muc-berater { display: none; } }

/* ---------- Startseite: großes, zartes rotes & im Kopfbereich (Marke „Das & ist unser Beruf“), Bilder bei den drei Wegen ---------- */
.muc-held--und { position: relative; overflow: hidden; }
.muc-held--und .muc-wrap { position: relative; z-index: 1; }
.muc-held__und { position: absolute; z-index: 0; right: -3vw; bottom: -8%; pointer-events: none; user-select: none; font-family: var(--muc-sans); font-weight: 700; line-height: .8; font-size: clamp(320px, 44vw, 700px); color: var(--muc-rot); opacity: .07; }
@media (max-width: 960px) { .muc-held__und { right: -12vw; bottom: auto; top: 0; font-size: 70vw; opacity: .06; } }
@media print { .muc-held__und { display: none; } }
.muc-wege--bilder li { overflow: hidden; padding-top: 0; }
.muc .muc-wege__bild { display: block; width: calc(100% + 48px); max-width: none; align-self: stretch; margin: 0 -24px 18px; aspect-ratio: 16 / 9; object-fit: cover; transition: transform .5s ease; }
.muc-wege--bilder li:nth-child(1) .muc-wege__bild { object-position: 62% 62%; }
.muc-wege--bilder li:nth-child(3) .muc-wege__bild { object-position: 42% 28%; }
.muc-wege--bilder li:hover .muc-wege__bild { transform: scale(1.04); }
@media (prefers-reduced-motion: reduce) { .muc-wege__bild { transition: none; } .muc-wege--bilder li:hover .muc-wege__bild { transform: none; } }

/* Beratungsteam: Gesicht in der Kreismitte (Porträts im Hochformat) */
.muc-berater__fotos img { object-position: 50% 18%; }

/* Exposé: Hinweis „Vertraulich“ im Kontaktkasten */
.muc .muc-vertraulich { display: grid; grid-template-columns: 18px minmax(0, 1fr); gap: 2px 10px; margin: 28px 0 0; padding-top: 20px; border-top: 1px solid var(--muc-linie); font-size: 14px; line-height: 1.5; color: var(--muc-text); }
.muc-vertraulich::before { content: ""; grid-row: span 2; width: 18px; height: 18px; margin-top: 1px; background: var(--muc-rot); -webkit-mask: var(--muc-schloss) center / contain no-repeat; mask: var(--muc-schloss) center / contain no-repeat;
  --muc-schloss: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='11' width='16' height='10' rx='2'/%3E%3Cpath d='M8 11V7a4 4 0 0 1 8 0v4'/%3E%3C/svg%3E"); }
.muc-vertraulich strong { font-size: 14px; }
@media (forced-colors: active) { .muc-vertraulich::before { background: CanvasText; } }

/* Merkliste: Sammelanfrage unter den Karten */
.muc-sammel { margin-top: 48px; border-top: 1px solid var(--muc-linie); padding-top: 40px; }

/* ---------- Abstände: nichts klebt aneinander ----------
 * „.muc p“ setzt den oberen Rand auf 0; deshalb hier mit „.muc“ davor, damit die Abstände greifen. */
.muc form > button.muc-btn, .muc form > .muc-btn[type="submit"], .muc form > p > button.muc-btn { margin-top: 12px; }
.muc .muc-einwilligung { margin-bottom: 8px; }
.muc .muc-ansprech .muc-ansprech__abschluesse { margin: 6px 0 4px; }
.muc .muc-va-karten .muc-eyebrow { margin-bottom: 10px; }
.muc .muc-formular + p { margin-top: 24px; }
.muc .muc-karten + p { margin-top: 20px; }
.muc .muc-klein + a.muc-btn { margin-top: 10px; }
.muc .muc-text h3 { margin: 1.8em 0 .4em; }
.muc .muc-text h2 + h3 { margin-top: .9em; }
.muc-textseite h2 { scroll-margin-top: 96px; }
.muc-tabelle { overflow-x: auto; margin: 1em 0 1.4em; }
.muc-tabelle table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.45; }
.muc-tabelle th, .muc-tabelle td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--muc-linie); }
.muc-tabelle th { font-weight: 700; border-bottom-width: 2px; }

/* ==========================================================================
   Feinschliff Gestaltung
   ========================================================================== */
/* Überschriften ausgewogen umbrechen; auf breiten Bildschirmen nicht trennen (Trennwörterbuch setzt sonst falsche Fugen) */
.muc h1, .muc h2, .muc h3 { text-wrap: balance; }
@media (min-width: 641px) {
  .muc h1, .muc h2, .muc h3, .muc-karte h2, .muc-karte h3 { hyphens: manual; -webkit-hyphens: manual; }
}
@media (max-width: 640px) {
  .muc h1, .muc h2, .muc h3, .muc-karte h2, .muc-karte h3 { hyphenate-limit-chars: 16 7 7; }
}
/* Links und Adressen nie mit Trennstrich zerlegen */
.muc main a { hyphens: manual; -webkit-hyphens: manual; }
.muc main a[href^="http"] { overflow-wrap: anywhere; }

/* Pfeil bleibt beim Linktext */
.muc-link::after { content: "\00a0→"; }

/* Kontaktbox der Beraterseite: Abstand zum Knopf */
.muc-kasten .muc-ansprech__mail + .muc-btn { margin-top: 20px; }

/* Lebenslauf-Feld im Stil der übrigen Felder */
.muc-formular input[type=file] { color: var(--muc-grau); cursor: pointer; font-size: 13px; }
.muc-formular input[type=file]::file-selector-button { margin-right: 10px; padding: 8px 16px; border: 1px solid var(--muc-text); border-radius: var(--muc-rund); background: #fff; color: var(--muc-text); font: 700 14px/1.2 var(--muc-sans); cursor: pointer; }
.muc-formular input[type=file]:hover::file-selector-button { background: var(--muc-text); color: #fff; }

/* Feldgruppen-Beschriftung (legend) wie die übrigen Feldbeschriftungen */
.muc legend.muc-label { display: block; padding: 0; font-size: 14px; font-weight: 700; color: var(--muc-text); margin: 0 0 6px 18px; }

/* Faktenraster ohne verwaiste Einzelzelle */
@media (min-width: 961px) {
  .muc-fakten:has(> div:nth-child(5):last-child) > div:last-child { grid-column: 1 / -1; }
  .muc-fakten:has(> div:nth-child(6):last-child), .muc-fakten:has(> div:nth-child(9):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .muc-fakten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .muc-fakten > div:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Tabellen (Datenschutz) auf dem Handy umbrechen statt abschneiden */
@media (max-width: 640px) {
  .muc-tabelle table { font-size: 13.5px; }
  .muc-tabelle th, .muc-tabelle td { padding-right: 8px; overflow-wrap: anywhere; }
}

/* Fußzeile: Copyright und Profil-Links auf einer Linie */
.muc-fuss__unten { align-items: baseline; }

/* Tippflächen auf Touch-Geräten und schmalen Bildschirmen */
@media (pointer: coarse), (max-width: 760px) {
  .muc .muc-ansprech__tel, .muc .muc-ansprech__mail { min-height: 44px; }
  .muc .muc-ansprech__tel { margin: 4px 0 0; }
  .muc-chips label { min-height: 44px; }
  .muc-fuss__profile a { display: inline-block; padding: 10px 4px; }
}

/* Druck: Einblend-Animationen aus, alles sichtbar */
@media print {
  .muc-wege li, .muc-karten > li, .muc-kennzahl, .muc-erklaert article, .muc-ablauf li, .muc-stimme { animation: none !important; opacity: 1 !important; transform: none !important; }
}

/* Zahnmedizin-Börse: Kopf mit Ansprechpartnern und Einstiegswegen */
.muc-zahnkopf { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px 56px; align-items: end; margin: 8px 0 0; }
.muc-zahnkopf .muc-lead { margin: 0; max-width: 620px; }
.muc-zahnteam { display: grid; grid-template-columns: repeat(2, auto); gap: 8px 32px; }
.muc-zahnteam__titel { grid-column: 1 / -1; margin: 0; font-size: 13px; font-weight: 600; color: var(--muc-grau); }
.muc-zahnteam__person { display: grid; grid-template-columns: 56px auto; gap: 14px; align-items: center; }
.muc-zahnteam__person img, .muc-zahnteam__person > span { width: 56px; aspect-ratio: 2 / 3; object-fit: cover; background: var(--muc-flaeche); }
.muc-zahnteam__person p { margin: 0; font-size: 14px; line-height: 1.45; }
.muc-zahnteam__person strong { display: block; font-size: 16px; color: var(--muc-text); }
.muc-zahnteam__person p > span { display: block; color: var(--muc-grau); }
.muc-zahnteam__person .muc-ansprech__tel { display: inline-block; margin-top: 2px; }
.muc-zahnwege { list-style: none; padding: 0; margin: 40px 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px; }
.muc-zahnwege li { font-size: 15px; line-height: 1.55; color: var(--muc-grau); }
.muc-zahnwege img { display: block; width: 100%; max-width: 300px; height: auto; margin: 0 0 16px; border-bottom: 1px solid var(--muc-linie); }
.muc-zahnwege strong { display: block; font-size: 17px; color: var(--muc-text); margin-bottom: 4px; }
@media (max-width: 860px) {
  .muc-zahnkopf { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .muc-zahnwege { grid-template-columns: 1fr; gap: 20px; margin-top: 28px; }
  .muc-zahnwege li { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 0 16px; align-items: start; }
  .muc-zahnwege img { grid-row: span 2; margin: 0; }
  .muc-zahnteam { grid-template-columns: 1fr; gap: 12px; }
}
.muc-karte__wege { list-style: none; margin: 0 0 12px; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.muc-karte__wege li { font-size: 13px; line-height: 18px; padding: 3px 10px; background: var(--muc-flaeche); border-left: 2px solid var(--muc-rot); }
.muc-wege-kasten { background: var(--muc-flaeche); border-left: 3px solid var(--muc-rot); padding: 20px 24px; margin: 0 0 40px; }
.muc-wege-kasten ul { margin: 8px 0; padding-left: 20px; }
.muc-wege-kasten p { margin: 0; }
.muc-zahn-unten { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 56px; align-items: start; }
.muc-zahn-unten__team { display: grid; gap: 28px; margin-top: 16px; }
.muc-zahn-unten__team .muc-ansprech { grid-template-columns: 96px minmax(0, 1fr); gap: 20px; }
.muc-zahn-unten__team .muc-ansprech img { width: 96px; }
.muc-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; }
@media (max-width: 860px) {
  .muc-zahn-unten { grid-template-columns: 1fr; gap: 32px; }
}

/* Cookie-Symbol (Borlabs): nur, wo der Seitenrand Platz bietet; sonst über „Cookie-Einstellungen“ im Footer */
#BorlabsCookieWidget .brlbs-cmpnt-widget { transform: scale(.75); transform-origin: left bottom; }
@media (max-width: 1239px) {
  /* Borlabs setzt display inline mit !important; visibility nimmt das Symbol auch aus Tab-Reihenfolge und Vorlese-Ansicht */
  #BorlabsCookieWidget .brlbs-cmpnt-widget { visibility: hidden !important; pointer-events: none !important; }
}

/* Humanmedizin-Börse: Zeile „Häufig gesucht“ über den Karten */
.muc-haeufig { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: -8px 0 24px; font-size: 15px; }
.muc-haeufig span { color: var(--muc-grau); }
.muc-haeufig a { color: var(--muc-text); text-decoration: underline; text-decoration-color: var(--muc-feldrahmen); text-underline-offset: 3px; }
.muc-haeufig a:hover { color: var(--muc-rot); text-decoration-color: currentColor; }

/* Namen von Ansprechpartnern verlinken auf die Berater-Seite */
.muc-person-link { color: var(--muc-text); text-decoration: none; }
.muc-person-link:hover, .muc-person-link:focus-visible { color: var(--muc-rot); text-decoration: underline; text-underline-offset: 3px; }
.muc-person p > .muc-person-link > strong { display: block; }

/* Fachrichtung Zahnmedizin: Hinweis für die Praxisabgabe */
.muc-abgabe-kasten { background: #fff; border-left: 3px solid var(--muc-rot); padding: 24px 28px; margin: 32px 0 8px; max-width: 760px; }
.muc-abgabe-kasten h2 { font-size: 22px; margin: 0 0 8px; }
.muc-abgabe-kasten p { margin: 0 0 16px; }
.muc-abgabe-kasten .muc-knoepfe { margin: 0; }
