/* Contact page shares the homepage contact layout and typography. */
.contact-page { --body-text-size: 15px; --body-text-leading: 23px; }
.contact-page .header { position: sticky; height: 88px; background: #fff; color: var(--ink); box-shadow: none; border-bottom: 1px solid var(--line); }
.contact-page .contact { background: #fff; padding-block: 80px 88px; }
.contact-page .contact-layout { align-items: start; }
.contact-page .contact-layout > * { min-width: 0; }
.contact-page .contact h1 { font-size: 56px; font-weight: 400; line-height: 1.08; letter-spacing: -1.3px; text-shadow: none; }
.contact-page .contact h1 em { color: var(--gold); font-style: normal; }
.contact-page .contact-directions { margin-top: 28px; min-height: 44px; }
.contact-page #contact-form .form-bottom { flex-direction: column; align-items: stretch; gap: 24px; }
.contact-page #contact-form button[type="submit"] { align-self: flex-start; }
.contact-page #form-status:empty { display: none; }
.contact-page #form-status:not(:empty) { margin-top: 16px; font-size: 13px; line-height: 20px; }
.contact-page-map { background: var(--gray); }
.contact-page-map iframe { display: block; width: 100%; height: 400px; border: 0; }
@media (max-width: 1000px) {
  .contact-page .contact h1 { font-size: 46px; }
}
@media (max-width: 800px) {
  .contact-page .contact { padding-block: 56px 64px; }
  .contact-page .contact-layout { gap: 48px; }
}
@media (max-width: 600px) {
  .contact-page .header { height: 76px; }
  .contact-page .contact { padding-block: 40px 56px; }
  .contact-page .contact h1 { font-size: clamp(36px, 10.4vw, 44px); }
  .contact-page #contact-form button[type="submit"] { align-self: stretch; }
  .contact-page-map iframe { height: 320px; }
}
