.contact-page .product-banner__copy { width: max-content; max-width: 60%; }
.contact-page .product-banner__copy > i { width: 100%; }
.contact-layout { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5%; width: min(1360px, calc(100% - 1rem)); margin-inline: auto; padding-block: 2.5rem 3.75rem; color: #333; }
.contact-map iframe { display: block; width: 100%; height: 645px; border: 0; }
.contact-details h1 { margin: 0; font-size: 3rem; line-height: 1.5; }
.contact-details h1 span { color: #d02c2e; }
.contact-lead { margin: 0 0 2.25rem; color: #666; font-size: .875rem; line-height: 1.5; }
.contact-card { display: flex; align-items: center; gap: 1.875rem; margin-bottom: 1.25rem; padding: 2.5rem; border: 1px solid #eee; border-radius: 4px; }
.contact-card > img { flex: 0 0 3.75rem; width: 3.75rem; height: auto; }
.contact-card > div { min-width: 0; }
.contact-card h2 { margin: 0 0 .3125rem; font-size: 1.5rem; line-height: 1.5; }
.contact-card p { margin: 0; color: #666; font-size: 1rem; line-height: 1.5; overflow-wrap: anywhere; }
.contact-card a { text-decoration: none; }
@media (max-width: 700px) {
  .contact-layout { display: block; width: calc(100% - 1.875rem); padding-block: 2rem 1.5rem; }
  .contact-map { display: none; }
  .contact-details h1 { font-size: 1.875rem; }
  .contact-page .product-banner__copy > span { font-size: 1.875rem; }
  .contact-page .product-banner__copy { padding-inline: 1.25rem; max-width: 100%; }
  .contact-page .product-banner__copy > i { width: 85%; }
  .contact-lead { margin-bottom: .875rem; }
  .contact-card { gap: 1.875rem; padding: 1.25rem; margin-bottom: .625rem; }
  .contact-card:last-child { margin-bottom: 0; }
  .contact-card h2 { font-size: 1.25rem; }
}
