.mi-contact-page .mi-hero-copy .contact-eyebrow {
  color: var(--gold);
  font-weight: 700;
  font-size: .75rem;
  letter-spacing: .14em;
  margin-bottom: .5rem;
}

.mi-contact-page .mi-hero-copy > p:last-child { margin-bottom: 0; }
.contact-main { padding: 1.75rem 0; }
.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.5rem, 5vw, 4rem);
}

.contact-portrait {
  display: block;
  width: min(100%, 9rem);
  aspect-ratio: 4 / 5;
  object-fit: cover;
  object-position: center 30%;
  margin-bottom: .75rem;
}

.contact-grid h2 { color: var(--navy); margin: 0 0 .5rem; }
.contact-details p, .contact-details address { margin: 0 0 .75rem; }
.contact-details address { font-style: normal; }
.contact-details [data-contact-label] a { text-decoration: underline; }
.contact-details .contact-actions { padding: 0; }
.contact-details .contact-actions .btn { padding: .5rem .75rem; margin: 0; color: var(--navy); }
.contact-form { scroll-margin-top: 5rem; }
.contact-field { margin-bottom: .75rem; }
.contact-field label { display: block; font-weight: 700; margin-bottom: .25rem; }
.contact-field label span { font-size: .85em; font-weight: 400; }
.contact-field :is(input, select, textarea) {
  display: block;
  width: 100%;
  font: inherit;
  min-height: 2.5rem;
  padding: .45rem .6rem;
  color: var(--ink);
  background: #fff;
  border: 1px solid #627082;
  border-radius: 4px;
}

.contact-field textarea { resize: vertical; }
.contact-field-error { margin: .25rem 0 0; font-weight: 700; }
.contact-status { background: var(--cream); border-inline-start: 2px solid var(--gold); padding: .65rem .85rem; }
.mi-contact-page :is(a, input, select, textarea, button):focus-visible { outline: 2px solid var(--navy); outline-offset: 3px; }

@media (max-width: 760px) {
  .contact-grid { grid-template-columns: 1fr; }
}
