/* Targeted mobile refinements for Leistungen. */
@media screen and (max-width: 809px) {
  /* Remove the dark teaser and anchor the title/button group lower in the hero. */
  body.rc-subpage.rc-editorial--leistungen .rc-services-hero-secondary {
    display: none !important;
  }

  body.rc-subpage.rc-editorial.rc-editorial--leistungen
    .rc-editorial-hero--immersive
    .title-hero-content.rc-services-reference-hero {
    justify-content: flex-end !important;
    gap: 0 !important;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-services-hero-primary {
    margin-top: auto;
    gap: 30px !important;
  }

  /* Never split the long compound word in the first service title. */
  body.rc-subpage.rc-editorial--leistungen
    .rc-services-showcase__item:first-child
    .rc-services-showcase__copy
    h3 {
    width: 100%;
    max-width: none;
    hyphens: none;
    word-break: normal;
    overflow-wrap: normal;
  }

  /* Bring the parts imagery a little closer to its introduction. */
  body.rc-subpage.rc-editorial--leistungen
    #bauteile
    > .main-container
    > .title-top-section {
    gap: 56px;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-parts-title > span {
    display: block;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-parts-title > span:last-child {
    white-space: nowrap;
  }

  /* Compact and rebalance the testimonial composition. */
  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof {
    padding-top: 0;
    padding-bottom: 0;
    margin-top: -120px;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__grid {
    gap: 22px;
    padding-top: 28px;
    padding-bottom: 30px;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__panel {
    width: 100%;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__top {
    height: 44px;
    padding-left: 0;
    align-items: flex-start;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__middle {
    padding: 36px 0 10px;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__bottom {
    padding: 8px 0 18px;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__statement {
    max-width: 30rem;
    line-height: 1.42;
    text-wrap: pretty;
  }

  body.rc-subpage.rc-editorial--leistungen .rc-cta .cta-box > .heading---h2 {
    color: #171717;
    opacity: 1;
    visibility: visible;
  }
}

@media screen and (max-width: 359px) {
  body.rc-subpage.rc-editorial--leistungen .rc-parts-title {
    font-size: 29px;
  }

  body.rc-subpage.rc-editorial--leistungen
    .rc-services-showcase__item:first-child
    .rc-services-showcase__copy
    h3 {
    font-size: 27px;
  }
}
/* Divider between the logo and quote, kept visually close to the quote. */
body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__statement::before {
  content: "";
  display: block;
  width: calc(100% + 18px);
  margin-bottom: 24px;
  border-top: 1px solid rgba(23, 23, 23, 0.16);
}

@media screen and (max-width: 809px) {
  body.rc-subpage.rc-editorial--leistungen .rc-backup-proof__statement::before {
    width: 100%;
  }
}

/* Mobil ist das Hero-Bild breiter als der Viewport und wird von object-fit
   mittig beschnitten. Der Bildausschnitt wandert etwas nach links, damit das
   Bauteil am rechten Rand nicht angeschnitten wirkt. */
@media screen and (max-width: 809px) {
  body.rc-subpage.rc-editorial--leistungen .rc-editorial-hero__image {
    object-position: 38% 50%;
  }
}
