/* Contact page only */
.contact__grid { display: grid; gap: var(--space-6); align-items: start; }
.form { max-width: 640px; }
.field { margin-bottom: var(--space-4); }
.field label { display: block; font-weight: 500; margin-bottom: var(--space-2); }
.field__opt { font-weight: 400; color: var(--muted); }
.field input, .field select, .field textarea {
  width: 100%; min-height: 48px; padding: 0.7rem 0.9rem;
  font: inherit; color: var(--ink); background: var(--paper-light);
  border: 1.5px solid var(--border); border-radius: var(--radius);
  transition: border-color var(--t-mid) var(--ease-out);
}
.field textarea { resize: vertical; min-height: 10rem; }
.field input:focus-visible, .field select:focus-visible, .field textarea:focus-visible { border-color: var(--gold-deep); outline: 3px solid var(--gold); outline-offset: 2px; }
.field [aria-invalid="true"] { border-color: var(--danger); border-width: 2px; }
.field__error { color: var(--danger); font-weight: 500; font-size: 0.95rem; margin: var(--space-2) 0 0; }
.field__error::before { content: "Error: "; }
.form__note { color: var(--muted); font-size: 0.92rem; }
.form__trap { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.contact__aside { border-top: 1px solid var(--border); padding-top: var(--space-4); }
.contact__aside-title { font-size: 1.6rem; }
.contact__links { list-style: none; padding: 0; }
.contact__links li { padding: var(--space-2) 0; border-bottom: 1px solid var(--border); display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--space-2); }
.contact__links .num { color: var(--muted); font-size: 0.95rem; }
@media (min-width: 900px) {
  .contact__grid { grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); }
  .contact__aside { border-top: 0; border-left: 1px solid var(--border); padding: 0 0 0 var(--space-5); }
}
