.contact-page { max-width: 740px; }
.contact-page h1 { font-size: clamp(1.95rem, 4.5vw, 3.2rem); }

.header-inner .nav-links { flex-wrap: wrap; justify-content: flex-end; min-width: 0; }
.header-inner .nav-admin { white-space: nowrap; }
.nav-links a[aria-current="page"] { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }

.contact-form {
  margin-top: 22px;
  padding: clamp(18px, 4vw, 32px);
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--white);
}

.contact-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.contact-fields .field + .field { margin-top: 0; }
.contact-form > .field { margin-top: 14px; }
.contact-form [hidden], .contact-form input[type="hidden"] { display: none; }
.contact-form .field input { min-height: 42px; }
.contact-form .button { min-height: 44px; }
.contact-form textarea {
  width: 100%;
  resize: vertical;
  min-height: 140px;
  padding: 8px 10px;
  border: 1px solid #bcc7d8;
  border-radius: 6px;
  color: var(--ink);
  font: 400 1rem/1.5 var(--body);
}
.contact-form textarea:focus-visible { outline: 3px solid #5776df; outline-offset: 3px; }
.contact-note { margin: 13px 0 16px; font-size: .88rem; }
.contact-note a { color: var(--blue); text-underline-offset: 3px; }

@media (max-width: 590px) {
  .contact-fields { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 430px) {
  .header-inner:not(.header-with-date) { flex-wrap: wrap; gap: 8px; padding-block: 8px; }
  .header-with-date .nav-links { grid-column: 1 / -1; grid-row: 3; }
}
