.legal-page { padding-bottom: max(100px, calc(80px + env(safe-area-inset-bottom))); }
#contact-form { display: grid; gap: 20px; margin-top: 30px; }
.contact-field { display: grid; gap: 8px; min-width: 0; }
.contact-field label { font-weight: 700; }
.contact-field label span { color: var(--muted); font-weight: 400; }
.contact-field input, .contact-field textarea {
  width: 100%; min-width: 0; border: 1px solid var(--border); border-radius: 12px;
  padding: 12px 14px; background: #100d16; color: var(--text); font: inherit;
  font-size: 16px; line-height: 1.6;
}
.contact-field textarea { min-height: 160px; resize: vertical; }
.contact-field [aria-invalid="true"] { border-color: var(--pink); }
.legal-card .contact-hint { margin: 0; font-size: 14px; line-height: 1.6; }
.legal-card .contact-field-error { margin: 0; color: var(--pink-soft); font-size: 14px; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.contact-actions button { min-height: 48px; }
.legal-card .contact-status { margin: 0; overflow-wrap: anywhere; }
.contact-status[data-kind="error"] { color: var(--pink-soft); }
.contact-status[data-kind="success"] { color: #c5eaa8; }
#contact-verification { min-width: 0; }
@media (max-width: 560px) {
  .legal-page { padding-inline: 12px; }
  .legal-card { padding: 20px; }
  .contact-actions { flex-direction: column; }
  .contact-actions button { width: 100%; }
}
