/* Fixed Haskoch hero pattern for core company pages. */
.about-page .about-hero,
.team-page .team-hero,
.awards-page .header-overlay.about-header-height {
  position: relative;
  min-height: 420px;
  height: 420px;
  display: flex;
  align-items: center;
  padding: 0;
  overflow: hidden;
  isolation: isolate;
  background: #071a2b;
  color: #fff;
}

.about-page .about-hero::before,
.team-page .team-hero::before,
.awards-page .header-overlay.about-header-height::before {
  background-position: center;
  opacity: .64;
  filter: saturate(.68) contrast(1.08);
}

.about-page .about-hero::after,
.team-page .team-hero::after,
.awards-page .header-overlay.about-header-height::after {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgb(5 20 34 / .9), rgb(5 20 34 / .4));
  content: "";
}

.awards-page .header-overlay.about-header-height::after {
  z-index: 1;
}

.about-page .about-hero .about-shell,
.team-page .team-hero .team-shell,
.awards-page .header-overlay .header-content {
  width: min(calc(100% - 64px), 1180px);
  max-width: 1180px;
  padding: 112px 0 36px !important;
  margin: 0 auto;
}

.about-page .about-hero-copy,
.team-page .team-hero-copy {
  max-width: 660px;
  margin: 0;
  text-align: left;
  text-shadow: none;
}

.awards-page .header-overlay .pt-36 {
  width: 100%;
  height: 100%;
  padding: 0 !important;
}

.awards-page .header-overlay .header-content {
  position: relative;
  z-index: 2;
  height: 100%;
  align-items: flex-start;
  text-align: left;
}

.about-page .about-hero h1,
.team-page .team-hero h1,
.awards-page .header-overlay h1 {
  margin: 0 !important;
  font-size: clamp(2.3rem, 4.2vw, 4rem) !important;
  font-weight: 750 !important;
  letter-spacing: -.045em;
  line-height: 1.04;
  text-align: left !important;
}

.about-page .about-hero h1::before,
.team-page .team-hero h1::before,
.awards-page .header-overlay h1::before {
  display: block;
  margin: 0 0 18px;
  color: #b9c7ff;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .16em;
  line-height: 1;
  text-transform: uppercase;
}

.about-page .about-hero h1::before { content: "About Haskoch Group"; }
.team-page .team-hero h1::before { content: "Our leadership"; }
.awards-page .header-overlay h1::before { content: "Our recognition"; }

.about-page .about-hero-lead,
.team-page .team-hero p,
.awards-page .header-overlay p.text-lg {
  max-width: 540px;
  margin: 18px 0 0 !important;
  color: rgb(255 255 255 / .82) !important;
  font-size: 1.05rem !important;
  line-height: 1.6;
  text-align: left !important;
}

@media (max-width: 760px) {
  .about-page .about-hero,
  .team-page .team-hero,
  .awards-page .header-overlay.about-header-height {
    min-height: 380px;
    height: 380px;
  }

  .about-page .about-hero .about-shell,
  .team-page .team-hero .team-shell,
  .awards-page .header-overlay .header-content {
    width: min(calc(100% - 48px), 1180px);
    padding: 126px 0 30px !important;
  }

  .about-page .about-hero h1,
  .team-page .team-hero h1,
  .awards-page .header-overlay h1 {
    font-size: clamp(2.15rem, 11vw, 3rem) !important;
  }
}
