.contact-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin: 30px 0;
}
.contact-card {
  padding: 22px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: #fffafb;
}
.contact-card h2 { margin: 0 0 8px; font-size: 1.12rem; }
.contact-card p { margin: 0 0 14px; }
.contact-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 10px 16px;
  border: 1px solid var(--wine);
  border-radius: 12px;
  color: #fff;
  background: var(--wine);
  font-weight: 800;
  text-decoration: none;
}
.contact-button.secondary { color: var(--wine); background: #fff; }
.contact-status { padding: 14px 16px; border-radius: 12px; color: var(--muted); background: #f7edf1; }
.contact-status.error { color: #7d1d1d; background: #fae8e8; }
@media (max-width: 620px) { .contact-grid { grid-template-columns: 1fr; } }
