.contact-page { max-width: 760px; padding-top: 64px; padding-bottom: 72px; }
.contact-intro { margin-bottom: 32px; }
.contact-intro h1 { font-size: clamp(2.2rem, 5vw, 3.4rem); margin: 12px 0 16px; }
.contact-intro .lead { max-width: 38rem; }
.contact-card { padding: 32px; border: max(1px, var(--bw)) solid var(--c-line); border-radius: var(--r-card); background: var(--c-surface); box-shadow: var(--sh-card); }
.contact-card fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.contact-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.contact-field { display: grid; gap: 8px; margin-bottom: 22px; min-width: 0; }
.contact-field[hidden] { display: none; }
.contact-field label { font-weight: 700; }
.contact-field label span, .contact-field small, .contact-privacy { font-weight: 400; color: var(--c-muted); }
.contact-field input, .contact-field select, .contact-field textarea {
  display: block; width: 100%; min-width: 0; min-height: 48px; box-sizing: border-box;
  padding: 12px 14px; border: 1px solid var(--c-muted); border-radius: 10px;
  background: var(--c-surface-alt); color: var(--c-text); font: inherit; font-size: 16px;
}
.contact-field textarea { resize: vertical; min-height: 140px; }
.contact-field :is(input, select, textarea):focus-visible { outline: 3px solid var(--c-focus); outline-offset: 3px; }
.contact-field small { font-size: .85rem; }
.contact-trap { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.contact-privacy { font-size: .9rem; line-height: 1.6; margin: 0 0 24px; }
.contact-status { border-top: 1px solid var(--c-line); padding-top: 20px; margin-bottom: 0; overflow-wrap: anywhere; }
.contact-status:focus { outline: none; }
.contact-card button:disabled { cursor: wait; opacity: .7; }
.contact-footer { display: flex; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.contact-footer nav { display: flex; gap: 20px; flex-wrap: wrap; }
@media (max-width: 560px) {
  .contact-page { padding-top: 36px; padding-bottom: 48px; }
  .contact-card { padding: 22px; }
  .contact-row { grid-template-columns: 1fr; gap: 0; }
  .contact-card button { width: 100%; }
}
