/* Contact cover only; the existing quote form and contact details retain their styles. */
.contact-page .contact-cover {
  position: relative;
  isolation: isolate;
  display: grid;
  align-items: center;
  min-height: min(720px, calc(100svh - 24px));
  padding: 170px 0 100px;
  overflow: hidden;
  background: #10212e;
  color: #fff;
}

.contact-page .contact-cover > .wrap {
  width: min(1320px, calc(100% - 80px));
}

.contact-page .contact-cover-image {
  position: absolute;
  inset: 0;
  z-index: -2;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.contact-page .contact-cover::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, #0a1b28e8 0%, #0a1b28cc 32%, #0a1b2866 58%, #0a1b2814 100%),
    linear-gradient(0deg, #091a2859, transparent 45%);
  pointer-events: none;
}

.contact-page .contact-cover-copy {
  width: min(650px, 57%);
}

.contact-page .contact-cover .eyebrow {
  color: #bed5e7;
}

.contact-page .contact-cover h1 {
  margin: 18px 0 26px;
  color: #fff;
  font-size: clamp(46px, 5.2vw, 80px);
  font-weight: 400;
  line-height: 1.04;
  letter-spacing: -0.055em;
  text-wrap: balance;
}

.contact-page .contact-cover-copy > p:last-child {
  max-width: 540px;
  margin: 0;
  color: #e1e9ef;
  font-size: 18px;
  line-height: 1.75;
  text-wrap: pretty;
}

@media (max-width: 1000px) {
  .contact-page .contact-cover-copy { width: min(600px, 68%); }
  .contact-page .contact-cover-image { object-position: 60% center; }
}

@media (max-width: 760px) {
  .contact-page .contact-cover { min-height: 0; padding: 155px 0 90px; }
  .contact-page .contact-cover > .wrap { width: calc(100% - 40px); }
  .contact-page .contact-cover::before {
    background: linear-gradient(90deg, #0a1b28eb, #0a1b28b8),
      linear-gradient(0deg, #091a2866, transparent);
  }
  .contact-page .contact-cover-image { object-position: 70% center; }
  .contact-page .contact-cover-copy { width: min(560px, 100%); }
  .contact-page .contact-cover h1 { font-size: clamp(44px, 8.7vw, 62px); }
  .contact-page .contact-cover-copy > p:last-child { font-size: 17px; }
}

@media print {
  .contact-page .contact-cover { min-height: 0; padding: 0 0 24px; background: #fff; }
  .contact-page .contact-cover-image,
  .contact-page .contact-cover::before { display: none; }
  .contact-page .contact-cover > .wrap,
  .contact-page .contact-cover-copy { width: 100%; }
  .contact-page .contact-cover h1 { color: #142938; font-size: 30pt; }
  .contact-page .contact-cover .eyebrow,
  .contact-page .contact-cover-copy > p:last-child { color: #142938; }
}
