.contact-page { max-width: 1040px; }
.contact-intro { max-width: 790px; }
.contact-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .75fr);
  gap: 22px;
  align-items: start;
}
.contact-card,
.contact-side-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.contact-card { padding: 24px; }
.contact-card-head { margin-bottom: 20px; }
.contact-card-head h2,
.contact-side-card h2 { margin: 3px 0 7px; }
.contact-card-head p:last-child,
.contact-side-card p { color: var(--muted); line-height: 1.55; }
.contact-two-col {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.contact-label { margin-top: 15px; }
.contact-textarea {
  resize: vertical;
  min-height: 160px;
  line-height: 1.5;
  font: inherit;
}
.contact-privacy {
  margin: 11px 0 0;
  color: var(--muted);
  font-size: .74rem;
  line-height: 1.5;
}
.contact-privacy a { color: inherit; }
.contact-actions { margin-top: 17px; }
.contact-actions .primary-button { min-width: 150px; }
.contact-status {
  min-height: 21px;
  margin: 12px 0 0;
  color: #3c6640;
  font-size: .82rem;
}
.contact-status.is-error { color: #8b4037; }
.contact-status a { color: inherit; font-weight: 760; }
.contact-honeypot {
  position: absolute !important;
  left: -9999px !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
}
.contact-side-card { padding: 22px; }
.contact-side-card p { margin: 0 0 13px; }
.contact-about-link { display: inline-block; margin-top: 3px; }

@media (max-width: 780px) {
  .contact-layout { grid-template-columns: 1fr; }
  .contact-side-card { order: 2; }
}

@media (max-width: 560px) {
  .contact-card { padding: 20px 16px; }
  .contact-two-col { grid-template-columns: 1fr; }
  .contact-actions .primary-button { width: 100%; }
}
