/* CONTACT only: keep the visual order aligned with the document order. */
.page-contact .contact-honeypot { display: none; }
.page-contact .form-status { min-height: 3.6em; margin: 12px 0; font-size: .9375rem; line-height: 1.8; overflow-wrap: anywhere; }
.page-contact .form-field-error { color: #aa213d; font-size: .875rem; line-height: 1.7; margin: 6px 0 0; }
.page-contact [aria-invalid="true"] { border-color: #aa213d; outline: 1px solid #aa213d; }
.page-contact .check-field:has(.form-field-error) { flex-wrap: wrap; }
.page-contact .check-field .form-field-error { flex-basis: 100%; }
.page-contact .submit-button:disabled { cursor: wait; opacity: .65; }
.page-contact .contact-layout {
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
}

.page-contact .contact-note,
.page-contact .contact-form,
.page-contact .form-field {
  min-width: 0;
}

.page-contact .contact-note > p:not(.section-kicker),
.page-contact .contact-note li {
  font-size: var(--subpage-body-size, 1rem);
  line-height: var(--subpage-body-leading, 1.9);
}

.page-contact .contact-note .section-kicker {
  color: #82bdff;
}

.page-contact .contact-note li::before {
  top: calc(10px + .95em - 2.5px);
}

.page-contact .form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.page-contact .form-field label {
  gap: 8px;
  font-size: var(--subpage-label-size, .9375rem);
  line-height: 1.6;
}

.page-contact .required {
  flex: 0 0 auto;
  font-size: .75rem;
  line-height: 1.4;
  white-space: nowrap;
}

.page-contact .form-field input,
.page-contact .form-field select,
.page-contact .form-field textarea {
  min-width: 0;
  min-height: 52px;
  font-size: 1rem;
  line-height: 1.6;
  scroll-margin-top: calc(var(--header-height) + 24px);
}

.page-contact .form-field textarea {
  min-height: 190px;
}

.page-contact .check-field {
  font-size: var(--subpage-label-size, .9375rem);
  line-height: 1.8;
}

.page-contact .check-field input {
  flex: 0 0 20px;
}

.page-contact .check-field .required {
  margin-inline-start: 8px;
  vertical-align: .08em;
}

.page-contact #main .submit-button {
  gap: 18px;
  min-width: 0;
  min-height: 56px;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: .04em;
}

@media (max-width: 899px) {
  .page-contact .contact-layout {
    grid-template-columns: minmax(0, 1fr);
    gap: 34px;
  }
}

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