/*
 * Lesbarkeits- und Abstandspruefung 5.7
 *
 * Diese Datei wird bewusst zuletzt geladen. Sie trennt im Leistungs-Slider
 * die Ueberschrift, Navigation und hochwachsende aktive Karte voneinander und
 * verhindert abgeschnittene Texte bei unterschiedlichen Browserbreiten.
 */

main h1,
main h2,
main h3 {
  overflow-wrap: normal;
  text-wrap: balance;
}

.services {
  overflow: visible;
}

.services > .container > .row {
  position: relative;
  z-index: 30;
}

.services h2 {
  position: relative;
  z-index: 30;
  max-width: 1450px;
  margin: 0;
  line-height: 1.12;
}

.services .swiper {
  margin-top: 0;
  overflow: visible;
}

.services .swiper-wrapper {
  align-items: flex-end;
}

.services .swiper-slide {
  overflow: visible;
}

/* Das Wort BAU soll im Signet genauso klar erkennbar sein wie das AC. */
.header .logo strong,
.footer .logo strong {
  display: inline-block;
  font-weight: 700;
  line-height: 1;
  letter-spacing: .13em;
}

/* Starre Hoehen vermeiden, damit auch vergroesserte Besucherschrift passt. */
.ac-home .intro {
  box-sizing: border-box;
  height: auto;
}

.intro-grid > *,
.split > *,
.service-detail > *,
.contact-grid > *,
.about-story-grid > *,
.standards-grid > *,
.service-area-grid > * {
  min-width: 0;
}

@media (min-width: 1200px) {
  .ac-home .intro {
    min-height: clamp(760px, 43vw, 920px);
    padding-top: clamp(105px, 6vw, 165px);
    padding-bottom: clamp(105px, 6vw, 165px);
  }

  .services h2 {
    width: min(78vw, 1450px);
    font-size: clamp(46px, 2.65vw, 74px);
  }

  /*
   * Die aktive Karte ist bis zu 280 px hoeher als die uebrigen Karten.
   * Dieser Innenabstand reserviert dafuer Platz, ohne die Ueberschrift zu
   * ueberdecken. Die Pfeile liegen in der freien Zone dazwischen.
   */
  .services .swiper {
    padding-top: clamp(320px, 18vw, 450px);
  }

  .services .services__nav {
    top: clamp(115px, 7vw, 175px);
    right: 0;
  }

  .header .logo strong {
    font-size: clamp(29px, 1.75vw, 48px);
  }

  .footer .logo strong {
    font-size: clamp(26px, 1.55vw, 42px);
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .ac-home .intro {
    min-height: 720px;
    padding: 95px 0;
  }

  .services h2 {
    max-width: 880px;
    font-size: 48px;
  }

  .services .swiper {
    padding-top: 270px;
  }

  .services .services__nav {
    top: 95px;
    right: 0;
  }

  .header .logo strong {
    font-size: 25px;
  }

  .footer .logo strong {
    font-size: 24px;
  }
}

@media (max-width: 991px) {
  .ac-home .intro {
    min-height: 0;
  }

  .services h2 {
    width: 100%;
    max-width: 100%;
    font-size: clamp(30px, 7vw, 44px);
    line-height: 1.15;
  }

  .services .swiper {
    padding-top: 82px;
  }

  .services .services__nav {
    top: 12px;
    right: 0;
    margin: 0;
  }

  .header .logo strong {
    font-size: 21px;
  }

  .footer .logo strong {
    font-size: 22px;
  }
}

@media (max-width: 680px) {
  .services h2 {
    font-size: clamp(29px, 9vw, 39px);
  }

  .services .swiper {
    padding-top: 72px;
  }

  .header .logo strong {
    font-size: 19px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .services .swiper-slide figure {
    transition: none;
  }
}
