/* One visual anchor for every main RU section hero. */
@media (min-width: 901px) {
  .section-hero--aligned {
    box-sizing: border-box !important;
    height: 55svh !important;
    min-height: 55svh !important;
    padding-left: 6vw !important;
    padding-right: 6vw !important;
    padding-top: clamp(4.5rem, 5vw, 5rem) !important;
    padding-bottom: clamp(3rem, 4vw, 4.5rem) !important;
    align-items: start !important;
    align-content: start !important;
  }

  .section-hero--aligned > :first-child,
  .section-hero--aligned .service-hero__copy {
    align-self: start !important;
    padding-top: 0 !important;
  }

  .section-hero--aligned h1,
  .template-hero.section-hero--aligned h1,
  .journal-hero.section-hero--aligned h1,
  .about-opening.section-hero--aligned h1,
  .contact-opening.section-hero--aligned h1 {
    max-width: 100% !important;
    margin-top: 0 !important;
    font-size: clamp(3.5rem, 5vw, 5.5rem) !important;
    line-height: .94 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .template-hero--compact.section-hero--aligned,
  .category-title.section-hero--aligned,
  .contact-opening.section-hero--aligned {
    height: auto !important;
  }

  .contact-opening.contact-opening--compact.section-hero--aligned {
    padding-top: clamp(4.5rem, 5vw, 5rem) !important;
    padding-bottom: clamp(3rem, 4vw, 4.5rem) !important;
  }

  .service-hero.section-hero--aligned .service-hero__media {
    align-self: start !important;
  }

  /* Keep the Colors CTA surrounded by the dark hero background. */
  .colour-hero.section-hero--aligned {
    position: relative;
    margin-bottom: 2rem;
  }

  .colour-hero.section-hero--aligned::after {
    content: '';
    position: absolute;
    right: 0;
    bottom: -2rem;
    left: 0;
    height: 2rem;
    background: #172127;
    pointer-events: none;
  }
}

/* Short desktop viewports need equal extra room for the complete hero content. */
@media (min-width: 901px) and (max-height: 890px) {
  .section-hero--aligned {
    height: calc(55svh + 6.5rem) !important;
    min-height: calc(55svh + 6.5rem) !important;
  }

  .template-hero--compact.section-hero--aligned,
  .category-title.section-hero--aligned,
  .contact-opening.section-hero--aligned {
    height: auto !important;
  }
}

@media (max-width: 900px) {
  .section-hero--aligned {
    box-sizing: border-box !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 3.5rem 1.25rem 3.5rem !important;
    align-items: start !important;
    align-content: start !important;
  }

  .section-hero--aligned > :first-child,
  .section-hero--aligned .service-hero__copy {
    align-self: start !important;
    padding-top: 0 !important;
  }

  .section-hero--aligned h1,
  .template-hero.section-hero--aligned h1,
  .journal-hero.section-hero--aligned h1,
  .about-opening.section-hero--aligned h1,
  .contact-opening.section-hero--aligned h1 {
    max-width: 100% !important;
    margin-top: 0 !important;
    font-size: clamp(1.9rem, 9.5vw, 2.75rem) !important;
    line-height: .94 !important;
    overflow-wrap: normal;
    word-break: normal;
    hyphens: none;
  }

  .contact-opening.contact-opening--compact.section-hero--aligned {
    padding: 3.5rem 1.25rem 3.5rem !important;
  }
}

@media (max-width: 600px) {
  .section-hero--aligned {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }

  .contact-opening.contact-opening--compact.section-hero--aligned {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
