.contact-page {
  align-items: start;
  padding-top: var(--page-pad);
}

.contact-office-photo {
  grid-column: 2 / 4;
  margin: 0 0 1.15em;
}

.contact-office-photo img {
  display: block;
  width: 100%;
  height: auto;
}

.contact-main {
  grid-column: 2 / 3;
}

.imprint-title {
  grid-column: 3 / 4;
  margin: 0 0 1.15em;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.imprint-column--single {
  grid-column: 3 / 4;
}

.contact-legal {
  grid-column: 3 / 4;
  margin-top: 1.15em;
}

.contact-main p,
.imprint-column p,
.contact-legal p {
  margin: 0 0 1.15em;
  font-size: inherit;
  font-weight: 400;
  line-height: inherit;
}

.contact-lines {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 1.1em;
  row-gap: 0;
}

.contact-lines br {
  display: none;
}

.contact-page a {
  text-decoration: underline;
  text-decoration-thickness: from-font;
  text-underline-offset: 0.08em;
}

.imprint-column {
  min-width: 0;
  font-family: "__jpba_mono", "Courier New", monospace;
  font-size: var(--mono-small-size);
  line-height: 1.15;
}

@media (max-width: 1020px) {
  .contact-page {
    padding-top: calc(var(--page-pad) + 3.45em);
  }

  .contact-office-photo,
  .contact-main,
  .imprint-title,
  .imprint-column--single,
  .contact-legal {
    grid-column: 1 / 5;
  }
}

@media (max-width: 760px) {
  .contact-page {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    column-gap: var(--grid-gap);
    row-gap: 0;
  }

  .contact-office-photo,
  .contact-main,
  .imprint-title,
  .imprint-column--single,
  .contact-legal {
    grid-column: 1 / 3;
  }
}


.privacy-link {
  font-family: "__jpba_mono", "Courier New", monospace;
  font-size: var(--mono-small-size);
  line-height: 1.15;
}

/* 2026-06 contact page: move contact links below the office photo in column 3. */
.contact-methods {
  grid-column: 3 / 4;
  margin: 0 0 1.15em;
}

.contact-methods .contact-lines {
  margin-bottom: 0;
}

.imprint-title {
  margin-top: 0;
}

@media (max-width: 1020px) {
  .contact-methods {
    grid-column: 1 / 5;
  }
}

@media (max-width: 760px) {
  .contact-methods {
    grid-column: 1 / 3;
  }
}


/* 2026-06 Kontakt: Kontaktdaten unter Adresse links, Impressum direkt in Spalte 3. */
.contact-methods {
  grid-column: auto;
  margin: 0 0 1.15em;
}

.contact-main .contact-methods {
  margin-top: 0;
}

.imprint-title {
  grid-column: 3 / 4;
  grid-row: auto;
  margin-top: 0;
}

.imprint-column--single,
.contact-legal {
  grid-column: 3 / 4;
}

@media (max-width: 1020px) {
  .contact-main .contact-methods,
  .contact-methods {
    grid-column: auto;
  }
}


/* 2026-06 Anpassung: Impressumtext direkt unter der Überschrift mit einer Leerzeile Abstand. */
.imprint-title {
  grid-row: 2;
  margin: 0;
}

.imprint-column--single {
  grid-row: 2;
  margin-top: 2.3em;
}

.contact-legal {
  grid-row: 3;
}

@media (max-width: 1020px) {
  .imprint-title,
  .imprint-column--single,
  .contact-legal {
    grid-row: auto;
  }

  .imprint-column--single {
    margin-top: 0;
  }

  .imprint-title {
    margin-bottom: 1.15em;
  }
}

/* 2026-06 Kontakt mobil: analog Projektseite als sauberer 1-Spalter. */
@media (max-width: 760px) {
  .contact-page {
    display: block;
    padding-top: calc(var(--page-pad) + 3.45em);
  }

  .contact-office-photo,
  .contact-main,
  .imprint-title,
  .imprint-column--single,
  .contact-legal {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0;
  }

  .contact-office-photo {
    margin-bottom: 1.15em;
  }

  .imprint-title {
    margin-top: 2.3em;
    margin-bottom: 1.15em;
  }

  .imprint-column--single {
    margin-top: 0;
  }
}
