.contact-map-section {
  overflow: hidden;
  border-top: 1px solid rgba(217, 163, 59, .28);
  background: var(--brand-surface);
}

.contact-map-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: clamp(1.5rem, 4vw, 4rem);
  padding-top: clamp(2.8rem, 5vw, 4.8rem);
  padding-bottom: clamp(2.2rem, 4vw, 3.6rem);
}

.contact-map-intro .kicker {
  margin-bottom: .65rem;
}

.contact-map-intro h2 {
  max-width: 850px;
  font-size: clamp(2.3rem, 4vw, 4.15rem);
  line-height: 1;
}

.contact-map-intro p {
  max-width: 700px;
  margin-top: .9rem;
  font-size: clamp(1rem, 1.25vw, 1.12rem);
}

.contact-map-intro .btn {
  flex: 0 0 auto;
  white-space: nowrap;
}

.contact-map-frame {
  width: 100%;
  height: clamp(420px, 45vw, 600px);
  border-top: 1px solid rgba(36, 27, 24, .12);
  background: var(--brand-placeholder);
}

.contact-map-frame iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

@media (max-width: 720px) {
  .contact-map-intro {
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
  }

  .contact-map-intro h2 {
    font-size: clamp(2.15rem, 10vw, 3.3rem);
  }

  .contact-map-intro .btn {
    width: 100%;
    white-space: normal;
  }

  .contact-map-frame {
    height: 420px;
  }
}
