.contact-stage {
  align-items: start;
  padding: clamp(28px, 7vw, 72px) 20px 80px;
}

.contact-panel {
  width: min(100%, 640px);
  gap: 24px;
  border: 0;
  padding: 0;
}

.contact-panel h1 { font-size: clamp(28px, 6vw, 40px); }
.contact-form { gap: 10px; }
.contact-message-label { font-size: 14px; font-weight: 800; }

.contact-form textarea {
  min-height: 150px;
  border: 0;
  border-radius: 16px;
  outline: 1px solid #d8dee9;
  background: #f7f9fc;
  padding: 16px;
  font-weight: 600;
  line-height: 1.55;
  resize: vertical;
}

.contact-form textarea:focus {
  outline: 2px solid var(--blue);
  background: #fff;
}

.contact-form-foot span { font-variant-numeric: tabular-nums; }
.contact-form button { min-width: 88px; border: 0; border-radius: 999px; background: var(--blue); color: #fff; }
.contact-form button:hover:not(:disabled) { background: var(--blue-hover); }
.contact-form button:disabled { opacity: .42; cursor: default; }
.contact-status { min-height: 20px; margin: -14px 0 0; color: #b42318; font-size: 13px; font-weight: 700; }
.contact-list { gap: 0; border-top: 1px solid #e3e7ee; }
.contact-card, .contact-empty { border: 0; border-bottom: 1px solid #e3e7ee; padding: 18px 2px; }
.contact-card { gap: 7px; }
.contact-card p { font-weight: 650; line-height: 1.55; }
.contact-card time { font-weight: 600; }
.contact-empty { text-align: center; }

@media (max-width: 560px) {
  .contact-stage { padding: 28px 18px 64px; }
  .contact-form textarea { min-height: 132px; }
}
