.contact-page [hidden] { display: none !important; }
.contact-page .policy-content { max-width: 680px; }
.contact-form { display: grid; gap: 24px; margin-top: 36px; }
.contact-required { color: var(--muted); font-size: 14px; }
.contact-field { display: grid; gap: 8px; min-width: 0; }
.contact-field label { font-size: 15px; line-height: 1.4; }
.contact-field input, .contact-field textarea { width: 100%; min-width: 0; border: 1px solid var(--field-line); border-radius: 3px; background: var(--surface); color: var(--ink); padding: 14px 16px; font: inherit; font-size: 16px; line-height: 1.5; }
.contact-field input { min-height: 52px; }
.contact-field textarea { min-height: 160px; resize: vertical; }
.contact-field input:focus-visible, .contact-field textarea:focus-visible, .contact-page a:focus-visible, .contact-page button:focus-visible { outline: 3px solid #756c00; outline-offset: 3px; }
.contact-field [aria-invalid="true"] { border-color: #a1261c; }
.contact-field-error { color: #a1261c; font-size: 14px; line-height: 1.5; }
.contact-form .button { justify-self: start; min-height: 48px; font-weight: 400; }
.contact-form .button:disabled { opacity: .55; cursor: not-allowed; }
.contact-availability { color: var(--muted); font-size: 14px; line-height: 1.5; }
.contact-status { padding: 16px; font-size: 16px; line-height: 1.5; border: 1px solid var(--line); border-radius: 3px; overflow-wrap: anywhere; }
.contact-success { background: var(--soft); color: var(--ink); }
.contact-failure { background: #fff5f3; border-color: #a1261c; color: #8a2119; }
.contact-page .contact-email-alternative { margin-top: 24px; font-size: 14px; overflow-wrap: anywhere; }
.contact-email-alternative a { color: var(--ink); text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 600px) {
  .contact-form { gap: 22px; margin-top: 28px; }
  .contact-form .button { width: 100%; }
}
