/* Contact-page additions; separate asset avoids stale shared stylesheet copies. */
@layer components {
  .contact-layout { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 1.5rem; align-items: start; }
  .contact-layout > section { min-width: 0; padding: 2rem; }
  .contact-details h2, .contact-form-panel h2 { margin-top: 1rem; }
  .contact-details .contact-options > div { flex-direction: column; gap: .3rem; }
  .contact-details .contact-options dd { text-align: left; overflow-wrap: anywhere; }
  .contact-details .contact-options a { color: var(--cyan); }
  .contact-details .text-link { margin-top: 1.2rem; }
  .contact-form .form-honeypot { display: none; }
  .contact-form { display: grid; gap: 1.35rem; margin-top: 1.8rem; }
  .form-field { display: grid; gap: .5rem; min-width: 0; }
  .form-field label { font-size: .85rem; font-weight: 600; }
  .field-optional, .field-required { color: var(--muted); font-size: .75rem; font-weight: 400; }
  .contact-form input, .contact-form textarea { display: block; width: 100%; min-width: 0; min-height: 48px; border: 1px solid #4c5b73; border-radius: 6px; padding: .75rem .9rem; background: var(--bg); color: var(--ink); font: inherit; line-height: 1.5; }
  .contact-form textarea { resize: vertical; min-height: 160px; }
  .contact-form input:focus-visible, .contact-form textarea:focus-visible { border-color: var(--cyan); outline: 2px solid var(--cyan); outline-offset: 3px; }
  .contact-form .field-help { margin-top: 0; font-size: .75rem; }
  .contact-form .form-privacy-note { margin-top: 0; font-size: .75rem; }
  .form-privacy-note a { text-decoration: underline; text-underline-offset: .2em; }
  .contact-form .button { justify-self: start; font: inherit; font-size: .85rem; }
  @media (max-width: 760px) {
    .contact-layout { grid-template-columns: 1fr; }
    .contact-layout > section { padding: 1.5rem; }
    .contact-form .button { width: 100%; }
  }
}
