/* Contact content intentionally stays unframed so it reads as part of the
   public site rather than a form or application panel. The shared landing
   stylesheet provides the tokens, wordmark, navigation, and footer. */
.contact-intro {
  min-height: calc(100vh - 242px);
  padding: clamp(84px, 14vw, 178px) 0;
  background: var(--cream);
}

.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 0.8fr) minmax(280px, 0.58fr);
  gap: clamp(52px, 13vw, 174px);
  align-items: end;
}

.contact-intro h1 { max-width: 500px; margin-bottom: 0; }

.contact-details { max-width: 380px; padding-bottom: 8px; }
.contact-details > p:first-child { margin-bottom: 13px; color: var(--muted); font-size: 17px; font-weight: 300; }

.contact-email {
  display: inline-block;
  padding-bottom: 5px;
  border-bottom: 1px solid var(--gold-deep);
  color: var(--ink);
  font-family: "Playfair Display", serif;
  font-size: clamp(25px, 3vw, 34px);
  line-height: 1.25;
}

.contact-email:hover,
.contact-email:focus-visible { color: var(--gold-deep); }

.contact-response { margin: 20px 0 0; color: var(--muted); font-size: 13px; }

@media (max-width: 780px) {
  .contact-intro { min-height: calc(100vh - 309px); padding: 76px 0; }
  .contact-layout { grid-template-columns: 1fr; gap: 38px; align-items: start; }
}
