/* ==========================================================================
   Mauss & Coll – Theme
   Markenfarben: Lime #96c11f (Logo) · Dunkelgrün #2f4a1c · Dunkelgrau #2e2e2d
   ========================================================================== */

:root {
  /* Marke */
  --mc-lime:        #96c11f;
  /* dunkle Variante: erfüllt auf hellem Grund die Kontrastnorm WCAG AA (5,1:1) */
  --mc-lime-dark:   #4b7a12;
  --mc-lime-light:  #b4d94f;
  --mc-lime-soft:   #f2f8e4;

  --mc-green:       #2f4a1c;
  --mc-green-deep:  #223716;
  --mc-green-soft:  #3d5f26;

  --mc-grey:        #2e2e2d;
  --mc-grey-mid:    #5c5c5a;
  --mc-grey-light:  #f4f5f2;
  --mc-border:      #e2e4dd;

  /* Bootstrap-Variablen überschreiben */
  --bs-primary:            #96c11f;
  --bs-primary-rgb:        150, 193, 31;
  --bs-body-color:         #2e2e2d;
  --bs-body-color-rgb:     46, 46, 45;
  --bs-body-font-family:   'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --bs-body-font-size:     1.0625rem;
  --bs-body-line-height:   1.7;
  --bs-link-color:         #4b7a12;
  --bs-link-color-rgb:     75, 122, 18;
  --bs-link-hover-color:   #2f4a1c;
  --bs-border-color:       #e2e4dd;
  --bs-border-radius:      .5rem;
  --bs-border-radius-lg:   .75rem;
  --bs-heading-color:      #2f4a1c;
}

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

html { scroll-behavior: smooth; scroll-padding-top: 90px; }

body {
  font-family: var(--bs-body-font-family);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4 {
  font-weight: 700;
  letter-spacing: -.02em;
  color: var(--mc-green);
  /* Lange deutsche Wörter wie "Mandanteninformationen" müssen auch auf
     320-Pixel-Bildschirmen umbrechen dürfen. */
  overflow-wrap: break-word;
  hyphens: auto;
}

h1, .h1 { font-size: clamp(1.9rem, 1.3rem + 2.4vw, 2.9rem); line-height: 1.15; }
h2, .h2 { font-size: clamp(1.5rem, 1.1rem + 1.6vw, 2.15rem); line-height: 1.2;  }
h3, .h3 { font-size: clamp(1.15rem, 1rem + .7vw, 1.4rem);    line-height: 1.3;  }

.lead { font-size: 1.175rem; font-weight: 400; color: var(--mc-grey-mid); }

a { text-decoration-thickness: 1px; text-underline-offset: .18em; }

/* Lange Wörter, E-Mail-Adressen und Fachbegriffe dürfen auf schmalen
   Bildschirmen umbrechen, statt aus dem Layout zu ragen. */
p, li, address, dd, dt, td, th, figcaption, .mc-legal, .mc-feed, .mc-person__mail {
  overflow-wrap: break-word;
}

/* Knöpfe in Flex-Reihen nicht schmaler quetschen als ihr Inhalt –
   sie sollen lieber umbrechen. */
.d-flex > .btn { flex: 0 0 auto; }

strong, b { font-weight: 600; }

/* Fokus – gut sichtbar, für Tastaturbedienung */
:focus-visible {
  outline: 3px solid var(--mc-lime);
  outline-offset: 2px;
  border-radius: 3px;
}
.navbar :focus-visible,
.mc-footer :focus-visible { outline-color: var(--mc-lime-light); }

/* Sprunglinks – nur bei Tastaturfokus sichtbar */
.mc-skip {
  position: absolute; top: 0; left: 0; z-index: 2000;
  width: 1px; height: 1px; overflow: hidden;
  clip-path: inset(50%); white-space: nowrap;
  background: var(--mc-green); color: #fff;
  padding: .75rem 1.25rem; font-weight: 600;
  border-radius: 0 0 .5rem 0;
}
.mc-skip:focus {
  width: auto; height: auto; overflow: visible; clip-path: none;
  outline: 3px solid var(--mc-lime); outline-offset: -3px;
}

/* Icons */
.ico { width: 1em; height: 1em; fill: currentColor; flex: none; vertical-align: -.125em; }
.ico-lg { width: 1.5rem; height: 1.5rem; }

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

.mc-topbar {
  background: var(--mc-green-deep);
  color: rgba(255,255,255,.82);
  font-size: .875rem;
}
.mc-topbar a {
  color: rgba(255,255,255,.82); text-decoration: none;
  display: inline-flex; align-items: center; min-height: 24px;
}
.mc-topbar a:hover, .mc-topbar a:focus { color: var(--mc-lime-light); text-decoration: underline; }
.mc-topbar .ico { color: var(--mc-lime); }

.navbar.mc-nav {
  background: var(--mc-green);
  padding-top: .5rem; padding-bottom: .5rem;
  box-shadow: 0 2px 14px rgba(0,0,0,.14);
}
.mc-nav .navbar-brand { padding: .25rem 0; }
.mc-nav .navbar-brand img { width: 190px; height: auto; display: block; }

.mc-nav .nav-link {
  color: rgba(255,255,255,.9);
  font-weight: 500;
  padding: .6rem .9rem !important;
  border-radius: .4rem;
  display: flex; align-items: center; gap: .45rem;
  transition: background-color .15s ease, color .15s ease;
}
.mc-nav .nav-link .ico { color: var(--mc-lime); transition: color .15s ease; }
.mc-nav .nav-link:hover,
.mc-nav .nav-link:focus,
.mc-nav .nav-item.show > .nav-link { background: rgba(255,255,255,.1); color: #fff; }
.mc-nav .nav-link.active {
  background: var(--mc-lime); color: var(--mc-green-deep); font-weight: 600;
}
.mc-nav .nav-link.active .ico { color: var(--mc-green-deep); }

.mc-nav .navbar-toggler {
  border-color: rgba(255,255,255,.35); color: #fff; padding: .4rem .7rem;
  align-items: center; gap: .5rem;
}
/* Bootstrap blendet den Knopf ab 992px aus – display nur darunter setzen */
@media (max-width: 991.98px) { .mc-nav .navbar-toggler { display: flex; } }
.mc-nav .navbar-toggler:focus { box-shadow: none; }

.mc-nav .dropdown-menu {
  border: 0; border-radius: .6rem; padding: .45rem;
  box-shadow: 0 10px 34px rgba(0,0,0,.16);
  border-top: 3px solid var(--mc-lime);
  margin-top: .35rem;
}
.mc-nav .dropdown-item {
  border-radius: .4rem; padding: .55rem .7rem;
  display: flex; align-items: center; gap: .6rem;
  font-weight: 500; color: var(--mc-grey);
}
.mc-nav .dropdown-item .ico { color: var(--mc-lime-dark); }
.mc-nav .dropdown-item:hover,
.mc-nav .dropdown-item:focus { background: var(--mc-lime-soft); color: var(--mc-green); }
.mc-nav .dropdown-item.active { background: var(--mc-lime); color: var(--mc-green-deep); }
.mc-nav .dropdown-item.active .ico { color: var(--mc-green-deep); }
.mc-nav .dropdown-item small { display: block; font-weight: 400; font-size: .8rem; color: var(--mc-grey-mid); }
.mc-nav .dropdown-item:hover small, .mc-nav .dropdown-item:focus small { color: var(--mc-green-soft); }

/* Auf grossen Schirmen oeffnet das Untermenue beim Darueberfahren (siehe js/main.js).
   Der Abstand zwischen Knopf und Menue wird durch eine unsichtbare Bruecke
   ueberspannt – sonst verliert der Mauszeiger auf dem Weg nach unten den Kontakt
   und das Menue klappt wieder zu. */
@media (min-width: 992px) {
  .mc-nav .dropdown-menu::before {
    content: '';
    position: absolute;
    left: 0; right: 0;
    top: -.55rem;
    height: .55rem;
  }
  /* Grosszuegigerer Zielbereich links und rechts vom Menue */
  .mc-nav .nav-item.dropdown > .dropdown-menu { min-width: 15.5rem; }
}
/* Auf kleinen Schirmen Menue nicht ueber den Bildschirm hinaus wachsen lassen */
@media (max-width: 991.98px) {
  .mc-nav .navbar-collapse { max-height: 76vh; overflow-y: auto; margin-top: .75rem; }
  .mc-nav .dropdown-menu { background: rgba(255,255,255,.07); box-shadow: none; border-top: 0; margin: .2rem 0 .5rem .6rem; }
  .mc-nav .dropdown-item { color: rgba(255,255,255,.88); }
  .mc-nav .dropdown-item small { color: rgba(255,255,255,.6); }
  .mc-nav .dropdown-item:hover, .mc-nav .dropdown-item:focus { background: rgba(255,255,255,.14); color: #fff; }
}

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

.mc-hero {
  position: relative;
  background: var(--mc-green-deep) url('../images/hintergrund.svg') center/cover no-repeat;
  min-height: 62vh;
  display: flex; align-items: center; justify-content: center;
  text-align: center;
  padding: 4.5rem .75rem;
  overflow: hidden;
}
.mc-hero::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(34,55,22,.28) 0%, rgba(34,55,22,.55) 100%);
}
.mc-hero > * { position: relative; z-index: 2; }

/* Slogan als echter Text – Wortlaut unveraendert */
.mc-slogan { margin: 0; }
.mc-slogan__main {
  display: block;
  /* Ein Wort mit 14 Zeichen – muss auch auf schmalen Handys in eine Zeile passen */
  font-size: min(9vw, 6.5rem);
  font-weight: 700;
  line-height: .92;
  letter-spacing: -.035em;
  color: #fff;
  text-transform: uppercase;
  text-shadow: 0 3px 22px rgba(0,0,0,.4);
}
.mc-slogan__sub {
  display: flex; flex-wrap: wrap; justify-content: center;
  align-items: center; gap: .5rem .95rem;
  margin-top: 1.35rem;
  font-size: clamp(.95rem, .7rem + .9vw, 1.4rem);
  font-weight: 600;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--mc-lime);
}
.mc-slogan__sub span { display: inline-block; }
.mc-slogan__sub i {
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.6); display: inline-block;
}

.mc-hero__actions { margin-top: 2.4rem; display: flex; flex-wrap: wrap; gap: .85rem; justify-content: center; }

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

.btn { font-weight: 600; border-radius: .45rem; padding: .7rem 1.4rem; }
.btn-mc {
  background: var(--mc-lime); border: 2px solid var(--mc-lime); color: var(--mc-green-deep);
}
.btn-mc:hover, .btn-mc:focus {
  background: var(--mc-lime-dark); border-color: var(--mc-lime-dark); color: #fff;
}
.btn-mc-outline {
  background: transparent; border: 2px solid rgba(255,255,255,.75); color: #fff;
}
.btn-mc-outline:hover, .btn-mc-outline:focus { background: #fff; border-color: #fff; color: var(--mc-green); }

.btn-mc-ghost {
  background: transparent; border: 2px solid var(--mc-lime); color: var(--mc-green);
}
.btn-mc-ghost:hover, .btn-mc-ghost:focus { background: var(--mc-lime); color: var(--mc-green-deep); }

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

.mc-section { padding: clamp(3rem, 2rem + 3.5vw, 5.5rem) 0; }
.mc-section--tint { background: var(--mc-grey-light); }
.mc-section--dark { background: var(--mc-green); color: rgba(255,255,255,.9); }
.mc-section--dark h1, .mc-section--dark h2, .mc-section--dark h3 { color: #fff; }
.mc-section--dark .lead { color: rgba(255,255,255,.8); }

.mc-section__head { max-width: 760px; margin: 0 auto clamp(2rem, 1.5rem + 1.5vw, 3.25rem); text-align: center; }
.mc-section__head p:last-child { margin-bottom: 0; }

.mc-eyebrow {
  display: inline-flex; align-items: center; gap: .5rem;
  font-size: .8rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
  color: var(--mc-lime-dark); margin-bottom: .85rem;
}
.mc-eyebrow::before { content: ''; width: 26px; height: 2px; background: var(--mc-lime); }
.mc-section--dark .mc-eyebrow { color: var(--mc-lime); }
.mc-section--dark .mc-eyebrow::before { background: var(--mc-lime); }

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

.mc-card {
  height: 100%;
  background: #fff;
  border: 1px solid var(--mc-border);
  border-radius: .75rem;
  padding: 2rem 1.75rem;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.mc-card:hover, .mc-card:focus-within {
  transform: translateY(-4px);
  box-shadow: 0 14px 38px rgba(47,74,28,.12);
  border-color: var(--mc-lime);
}
.mc-card__icon {
  width: 56px; height: 56px; border-radius: .65rem;
  background: var(--mc-lime-soft); color: var(--mc-green);
  display: flex; align-items: center; justify-content: center;
  margin-bottom: 1.15rem;
}
.mc-card__icon .ico { width: 26px; height: 26px; }
.mc-card:hover .mc-card__icon { background: var(--mc-lime); }
.mc-card h3 { margin-bottom: .6rem; }
.mc-card p { color: var(--mc-grey-mid); margin-bottom: 1.1rem; }
.mc-card__link {
  font-weight: 600; text-decoration: none; color: var(--mc-green);
  display: inline-flex; align-items: center; gap: .4rem;
}
.mc-card__link .ico { transition: transform .15s ease; color: var(--mc-lime-dark); }
.mc-card__link:hover .ico, .mc-card__link:focus .ico { transform: translateX(3px); }
.mc-card__link::after { content: ''; position: absolute; inset: 0; }
.mc-card { position: relative; }

/* ---------------------------------------------------------------- Team --- */

.mc-team-grid { --cols: 6; display: grid; grid-template-columns: repeat(var(--cols), 1fr); gap: 1.5rem 1.25rem; }
.mc-team-grid--lead { --cols: 5; gap: 1.75rem 1.5rem; max-width: 1000px; margin: 0 auto; }

@media (max-width: 1199.98px) { .mc-team-grid { --cols: 4; } .mc-team-grid--lead { --cols: 5; } }
@media (max-width: 991.98px)  { .mc-team-grid { --cols: 3; } .mc-team-grid--lead { --cols: 3; } }
@media (max-width: 575.98px)  { .mc-team-grid { --cols: 2; gap: 1.15rem .9rem; } .mc-team-grid--lead { --cols: 2; } }

.mc-person { text-align: center; }
.mc-person__photo {
  position: relative;
  aspect-ratio: 3 / 4;
  border-radius: .6rem;
  overflow: hidden;
  background: var(--mc-grey-light);
  border: 1px solid var(--mc-border);
  margin-bottom: .75rem;
}
.mc-person__photo img { width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.mc-person__name {
  font-size: 1rem; font-weight: 600; color: var(--mc-green);
  margin: 0 0 .2rem; line-height: 1.25;
  min-height: 2.5em;              /* zweizeilige Namen kippen das Raster nicht */
  display: flex; align-items: flex-start; justify-content: center;
}
.mc-person__mail {
  font-size: .8125rem; word-break: break-word; color: var(--mc-grey-mid);
  text-decoration: none; display: inline-flex; align-items: center; gap: .3rem; justify-content: center;
  min-height: 24px; padding: .15rem .2rem;
}
.mc-person__mail:hover, .mc-person__mail:focus { color: var(--mc-lime-dark); text-decoration: underline; }
.mc-person--lead .mc-person__name { font-size: 1.125rem; }
.mc-person--placeholder .mc-person__photo { display: flex; align-items: center; justify-content: center; }
.mc-person--placeholder .mc-person__photo::after {
  content: 'Foto folgt';
  position: absolute; inset: auto 0 0 0;
  background: rgba(47,74,28,.82); color: #fff;
  font-size: .7rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase;
  padding: .3rem;
}

.mc-team-photo {
  border-radius: .75rem; overflow: hidden; border: 1px solid var(--mc-border); background: #fff;
}
.mc-team-photo img { width: 100%; height: auto; display: block; }
.mc-team-photo figcaption {
  padding: .85rem 1.15rem; font-size: .9rem; font-weight: 600; color: var(--mc-green);
  display: flex; align-items: center; gap: .5rem;
}
.mc-team-photo figcaption .ico { color: var(--mc-lime-dark); }

/* ----------------------------------------------------------- Accordion --- */

.accordion { --bs-accordion-border-color: var(--mc-border); --bs-accordion-btn-focus-box-shadow: none; }
.accordion-item { border-radius: .6rem !important; overflow: hidden; margin-bottom: .85rem; border: 1px solid var(--mc-border); }
.accordion-button {
  font-weight: 600; font-size: 1.075rem; color: var(--mc-green); background: #fff;
  padding: 1.15rem 1.35rem; gap: .75rem;
}
.accordion-button:not(.collapsed) { background: var(--mc-lime-soft); color: var(--mc-green); box-shadow: none; }
.accordion-button::after {
  background-image: none; content: ''; width: .8rem; height: .8rem; flex: none;
  border-right: 2.5px solid var(--mc-lime-dark); border-bottom: 2.5px solid var(--mc-lime-dark);
  transform: rotate(45deg); margin-top: -.35rem; transition: transform .2s ease;
}
.accordion-button:not(.collapsed)::after { transform: rotate(-135deg); margin-top: .2rem; }
.accordion-button .ico { color: var(--mc-lime-dark); }
.accordion-body { padding: 1.35rem; }

/* Aufzaehlungen mit Marke */
.mc-list { list-style: none; padding: 0; margin: 0; }
.mc-list li { position: relative; padding-left: 1.6rem; margin-bottom: .55rem; }
.mc-list li::before {
  content: ''; position: absolute; left: 0; top: .62em;
  width: .5rem; height: .5rem; border-radius: 2px; background: var(--mc-lime);
}
.mc-list--check li::before {
  width: .75rem; height: .42rem; border-radius: 0; background: none;
  border-left: 2.5px solid var(--mc-lime-dark); border-bottom: 2.5px solid var(--mc-lime-dark);
  transform: rotate(-45deg); top: .5em;
}

/* --------------------------------------------------------- Karte 2Klick --- */

.mc-map {
  position: relative; border-radius: .7rem; overflow: hidden;
  border: 1px solid var(--mc-border); background: var(--mc-grey-light);
}
.mc-map iframe { display: block; width: 100%; border: 0; }
.mc-map__consent {
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; gap: .85rem; padding: 2.25rem 1.5rem;
  background:
    linear-gradient(rgba(244,245,242,.93), rgba(244,245,242,.93)),
    url('../images/map.jpg') center/cover no-repeat;
}
.mc-map__consent .ico { width: 2.25rem; height: 2.25rem; color: var(--mc-lime-dark); }
.mc-map__consent p { max-width: 46ch; font-size: .9rem; color: var(--mc-grey-mid); margin: 0; }
.mc-map__title { font-size: 1.1rem !important; font-weight: 700; color: var(--mc-green); margin: 0 !important; }

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

.mc-contact-bar { background: var(--mc-lime); color: var(--mc-green-deep); }
.mc-contact-bar h2 { color: var(--mc-green-deep); }
.mc-contact-bar a { color: var(--mc-green-deep); font-weight: 700; }

.mc-infobox {
  background: #fff; border: 1px solid var(--mc-border); border-left: 4px solid var(--mc-lime);
  border-radius: .6rem; padding: 1.5rem;
}
.mc-infobox h3 { font-size: 1.1rem; margin-bottom: .75rem; }
.mc-infobox address { margin: 0; font-style: normal; }
/* Alle Verweise in Adressblöcken bequem antippbar */
.mc-infobox a, .mc-note a { display: inline-flex; align-items: center; min-height: 24px; }

.mc-contact-line { display: flex; align-items: center; gap: .6rem; margin-bottom: .35rem; }
.mc-contact-line .ico { color: var(--mc-lime-dark); }
.mc-contact-line a { display: inline-flex; align-items: center; min-height: 24px; }
.mc-legal address a, .mc-map__consent a { display: inline-flex; align-items: center; min-height: 24px; }

/* -------------------------------------------------------------- Downloads */

.mc-download {
  display: flex; align-items: center; gap: 1rem;
  background: #fff; border: 1px solid var(--mc-border); border-radius: .6rem;
  padding: 1.1rem 1.35rem; text-decoration: none; color: inherit; height: 100%;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.mc-download:hover, .mc-download:focus {
  border-color: var(--mc-lime); box-shadow: 0 10px 26px rgba(47,74,28,.1); transform: translateY(-2px);
}
.mc-download__icon {
  width: 44px; height: 44px; flex: none; border-radius: .5rem;
  background: var(--mc-lime-soft); color: var(--mc-green);
  display: flex; align-items: center; justify-content: center;
}
.mc-download__icon .ico { width: 22px; height: 22px; }
.mc-download strong { display: block; font-weight: 600; color: var(--mc-green); line-height: 1.35; }
.mc-download small { color: var(--mc-grey-mid); }

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

.mc-footer { background: var(--mc-green-deep); color: rgba(255,255,255,.72); padding-top: 3.5rem; }
.mc-footer h2, .mc-footer h3 { color: #fff; font-size: 1rem; letter-spacing: .04em; text-transform: uppercase; margin-bottom: 1.1rem; }
.mc-footer a { color: rgba(255,255,255,.72); text-decoration: none; }
.mc-footer a:hover, .mc-footer a:focus { color: var(--mc-lime); text-decoration: underline; }
.mc-footer ul { list-style: none; padding: 0; margin: 0; }
.mc-footer li { margin-bottom: .35rem; }
/* Komfortable Trefferfläche für Finger – mindestens 24 px hoch */
.mc-footer li a { display: inline-flex; align-items: center; gap: .5rem; padding: .2rem 0; min-height: 24px; }
.mc-footer address a { display: inline-flex; align-items: center; min-height: 24px; }
.mc-footer li .ico { color: var(--mc-lime); }
.mc-footer__brand img { width: 200px; height: auto; margin-bottom: 1.1rem; }
.mc-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.14); margin-top: 2.75rem; padding: 1.35rem 0;
  font-size: .875rem;
}
.mc-footer__bottom ul { display: flex; flex-wrap: wrap; gap: .35rem 1.35rem; }
.mc-footer__bottom li { margin: 0; }

/* Nach-oben-Knopf */
.mc-totop {
  position: fixed; right: 1.15rem; bottom: 1.15rem; z-index: 1030;
  width: 44px; height: 44px; border-radius: 50%; border: 0;
  background: var(--mc-green); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 6px 20px rgba(0,0,0,.24);
  opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s;
}
.mc-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.mc-totop:hover, .mc-totop:focus { background: var(--mc-lime); color: var(--mc-green-deep); }

/* ------------------------------------------------------------ Sonstiges --- */

.mc-badges { display: flex; flex-wrap: wrap; gap: 1.25rem; align-items: center; }
.mc-badges img { height: 74px; width: auto; }

.mc-video { border-radius: .7rem; overflow: hidden; border: 1px solid var(--mc-border); background: #000; }
.mc-video video { display: block; width: 100%; height: auto; }

.mc-figure { border-radius: .7rem; overflow: hidden; border: 1px solid var(--mc-border); }
.mc-figure img { width: 100%; height: auto; display: block; }

/* Kanzleifotos auf den Standortseiten einheitlich hoch halten */
.mc-figure--haus { aspect-ratio: 4 / 3; }
.mc-figure--haus img { height: 100%; object-fit: cover; object-position: center 35%; }
.mc-figure--haus picture { display: block; height: 100%; }

/* Inhalte aus dem Deubner-Feed einbetten, ohne dass Layout bricht */
.mc-feed { max-width: 100%; overflow-x: auto; }
.mc-feed img { max-width: 100%; height: auto; }
.mc-feed table { max-width: 100%; }
.mc-feed a { color: var(--bs-link-color); }
.mc-feed h1, .mc-feed h2, .mc-feed h3 { color: var(--mc-green); }

.mc-note {
  background: var(--mc-lime-soft); border: 1px solid var(--mc-lime-light);
  border-radius: .6rem; padding: 1.25rem 1.5rem;
}

/* Rechtstexte lesbar halten */
.mc-legal { max-width: 78ch; }
.mc-legal h2 { font-size: 1.4rem; margin-top: 2.25rem; }
.mc-legal h3 { font-size: 1.1rem; margin-top: 1.75rem; }

/* Bewegung reduzieren, wenn vom System gewuenscht */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .mc-card:hover { transform: none; }
}

/* Druckausgabe */
@media print {
  .mc-nav, .mc-topbar, .mc-totop, .mc-hero__actions, .mc-map { display: none !important; }
  body { color: #000; }
  a[href^="http"]::after { content: ' (' attr(href) ')'; font-size: .8em; }
}
