.contact-page .private-hero {
  gap: 48px;
}
.contact-page .private-hero-photo > img {
  /* Bild 14 ist hochkant: unten Team, Becher und Laptop mit Logo statt Decke */
  object-position: center 78%;
}
@media (min-width: 1151px) {
  .contact-page .contact-section {
    gap: 52px;
  }
}
.contact-page .contact-address {
  /* Adresskasten füllt die Spalte: Die Karte wächst, bis die Spalte bündig
     mit Formular und „Wie geht es weiter?“ abschließt */
  flex: 1;
  display: flex;
  flex-direction: column;
  margin-top: 34px;
  padding: 27px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
}
.contact-page .contact-address .eyebrow {
  margin-bottom: 13px;
}
.contact-page .contact-address address {
  /* rote Marke an der Adresse, passend zum W auf der Karte */
  padding-left: 17px;
  border-left: 3px solid var(--red);
  font-style: normal;
}
.contact-page .contact-address address + p {
  margin-top: 12px;
  font-size: var(--fs-small);
  line-height: 1.6;
  color: var(--muted);
}
.contact-page .contact-address .office-map {
  /* Karte läuft bis an die Kartenränder, damit die Adresskarte auch bei 360px vollständig passt */
  flex: 1;
  min-height: 320px;
  margin: 22px -27px -27px;
  border-top: 1px solid var(--line);
  border-radius: 0 0 calc(var(--radius) - 1px) calc(var(--radius) - 1px);
}
.contact-page .contact-followup {
  position: relative;
  margin-top: 30px;
  padding-top: 26px;
  border-top: 1px solid var(--line);
}
.contact-page .contact-followup::before {
  /* kurze rote Marke auf der Trennlinie */
  content: "";
  position: absolute;
  left: 0;
  top: -1px;
  width: 32px;
  height: 2px;
  background: var(--red);
}
.contact-page .contact-followup h3 {
  margin-bottom: 12px;
}
@media (max-width: 850px) {
  .contact-page .private-hero {
    gap: 35px;
  }
  .contact-page .private-hero-photo {
    height: 350px;
  }
  .contact-page .private-hero-photo > img {
    /* breiter, flacher Kasten: höher ansetzen, damit die Köpfe im Bild bleiben */
    object-position: center 58%;
  }
}
@media (max-width: 540px) {
  .contact-page .private-hero-photo {
    height: 280px;
  }
  .contact-page .private-hero-photo > img {
    object-position: center 70%;
  }
  .contact-page .contact-address {
    padding: 23px 20px;
  }
  .contact-page .contact-address .office-map {
    min-height: 304px;
    margin: 20px -20px -23px;
  }
}
