.contact-form-hub {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}
.contact-form-hub input,
.contact-form-hub textarea {
  font-family: inherit;
  font-size: 1rem;
  padding: 14px 16px;
  border: 1px solid var(--border-strong);
  border-radius: var(--radius-sm);
  background: var(--bg-elevated);
  color: var(--text);
  width: 100%;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.contact-form-hub input:focus,
.contact-form-hub textarea:focus {
  outline: none;
  border-color: var(--primary);
  box-shadow: 0 0 0 3px var(--primary-soft);
}
.contact-form-hub textarea { resize: vertical; min-height: 140px; }
.contact-status-hub {
  margin-top: 16px;
  padding: 12px 16px;
  border-radius: var(--radius-sm);
  font-size: 0.9375rem;
}
.contact-status-hub.success { background: var(--primary-soft); color: var(--primary-dark); }
.contact-status-hub.error { background: #FDEAE8; color: #B3261E; }
.contact-status-hub.hidden { display: none; }

/* Duplicate of hub.css .hp-field — keeps honeypot hidden even on stale hub.css cache */
.hp-field { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
