.page-hero--contact { min-height: 440px; }
.page-hero--contact .page-hero__inner { padding-bottom: 168px; }
.page-hero--contact .page-hero__sub { max-width: 36em; }

.contact-main { padding-bottom: 96px; }
.contact-main .split { align-items: start; }
.contact-card {
  position: relative; z-index: 2; margin-top: -128px; padding: 40px 44px 34px;
  background: var(--white); border-radius: 2px; box-shadow: 0 18px 40px rgba(17, 28, 46, .18);
}
.contact-card .lead-form__title { font-size: 38px; margin-bottom: 26px; }
.contact-direct { padding-top: 44px; }
.contact-direct__label { margin: 0 0 8px; font-size: 16px; font-weight: 600; color: var(--muted); }
.contact-direct__phone { color: var(--base); font-size: 50px; }
.contact-direct__phone .ico { width: 34px; height: 34px; }
.contact-direct__sms { margin: 16px 0 0; }
.contact-direct__sms a { display: inline-flex; align-items: center; gap: 10px; color: var(--base); font-size: 18px; font-weight: 600; text-decoration: none; }
.contact-direct__sms a:hover span { text-decoration: underline; text-underline-offset: 3px; }
.contact-direct__sms .ico { color: var(--base); }
.contact-direct__facts { margin-top: 34px; }
.contact-direct__facts .specs__row { grid-template-columns: 9.5em minmax(0, 1fr); font-size: 16.5px; padding: 13px 0 14px; }
.contact-direct__facts dd { color: var(--text); }
.contact-direct__facts a { color: var(--accent-dark); }
.contact-direct__leak { margin: 28px 0 0; padding: 20px 22px; background: var(--white); border: 1px solid var(--line); border-radius: 2px; font-size: 16.5px; line-height: 1.55; color: var(--text); }
.contact-direct__leak strong { display: block; margin-bottom: 4px; color: var(--base); }

.contact-next .steps { column-gap: 48px; }
.contact-next .step__text { font-size: 17px; }
.contact-next .steps__close { margin-top: 44px; }

.contact-area__inner { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gap); align-items: baseline; }
.contact-area__label { grid-column: 1 / span 2; margin: 0; font-size: 16px; font-weight: 600; color: var(--muted); }
.contact-area__body { grid-column: 3 / span 10; }
.contact-area__text { margin: 0 0 12px; font-size: 18px; color: var(--text); }
.contact-area .link-arrow { color: var(--accent-dark); }
.town-line-wrap { overflow: hidden; margin-bottom: 18px; }
.town-line { --sep: 31px; list-style: none; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 0; margin: 0 0 0 calc(var(--sep) * -1); }
.town-line li { display: inline-flex; align-items: center; font-family: var(--display); font-weight: 600; font-size: 21px; line-height: 1.15; text-transform: uppercase; letter-spacing: .02em; color: var(--base); white-space: nowrap; }
.town-line li::before { content: ""; flex: none; width: 5px; height: 5px; margin: 0 13px; background: var(--field-line); }

@media (max-width: 1023px) {
  .contact-card { margin-top: -96px; }
  .page-hero--contact .page-hero__inner { padding-bottom: 136px; }
  .contact-direct { padding-top: 8px; }
  .contact-area__label, .contact-area__body { grid-column: 1 / -1; }
  .contact-area__label { margin-bottom: 10px; }
}

@media (max-width: 767px) {
  .page-hero--contact { min-height: 0; }
  .page-hero--contact .page-hero__inner { padding-bottom: 96px; }
  .contact-main { padding-bottom: 64px; }
  .contact-card { margin: -64px calc(var(--gutter) * -.5) 0; padding: 26px 18px 22px; }
  .contact-card .lead-form__title { font-size: 30px; margin-bottom: 20px; }
  .contact-direct__phone { font-size: 38px; }
  .contact-direct__phone .ico { width: 26px; height: 26px; }
  .contact-direct__facts .specs__row { grid-template-columns: 8em minmax(0, 1fr); font-size: 15.5px; }
  .contact-direct__leak { padding: 16px 16px; }
  .contact-next .steps__close { margin-top: 18px; }
  .town-line { --sep: 23px; }
  .town-line li { font-size: 18px; }
  .town-line li::before { margin: 0 9px; }
}
