/* ── Contact Form ── */
.contact__inner {
  max-width: var(--max-medium);
  margin-inline: auto;
}
.contact__form {
  display: grid;
  gap: 24px;
  margin-bottom: 64px;
}
.form-group {
  width: 100%;
}
.contact__submit {
  justify-self: start;
}
.contact__status {
  font-size: 1rem;
  min-height: 1.5em;
}
.contact__status.is-success { color: var(--accent-sage); }
.contact__status.is-error { color: var(--accent-terracotta); }

/* ── Social ── */
.contact__social {
  text-align: center;
  margin-bottom: 64px;
}
.contact__social h2 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  margin-bottom: 24px;
}
.social-row {
  display: flex;
  justify-content: center;
  gap: 32px;
}
.social-row a {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--text-primary);
  transition: color var(--transition-fast);
}
.social-row a:hover {
  color: var(--accent-terracotta);
}
.social-row span {
  font-size: 0.9375rem;
  font-weight: 500;
}

/* ── Newsletter ── */
.contact__newsletter {
  background: var(--bg-secondary);
  padding: 48px;
  text-align: center;
  border-radius: 4px;
}
.contact__newsletter h2 {
  font-family: var(--font-display);
  font-size: 1.75rem;
  margin-bottom: 24px;
}
.newsletter-form {
  display: flex;
  gap: 12px;
  max-width: 480px;
  margin-inline: auto;
}
.newsletter-form .form-field {
  flex: 1;
}
@media (max-width: 640px) {
  .newsletter-form { flex-direction: column; }
}
