.visit-contact {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
  gap: clamp(24px, 6vw, 90px);
  padding-block: 42px 68px;
  border-top: 1px solid var(--line);
}
.visit-contact h2 { font-size: clamp(33px, 4vw, 54px); margin: 10px 0; }
.visit-contact p { color: var(--muted); line-height: 1.6; }
.visit-contact .text-link { display: inline-block; margin-top: 16px; }
.visit-contact-form { display: grid; gap: 10px; align-content: start; }
.visit-contact-form label, .visit-contact-form legend { font-weight: 600; }
.visit-contact-form input, .visit-contact-form textarea {
  width: 100%;
  padding: 11px 13px;
  border: 1px solid #83909a;
  border-radius: 3px;
  color: var(--ink);
  background: #fff;
  font: inherit;
}
.visit-contact-form textarea { resize: vertical; }
.visit-contact-form fieldset { border: 0; margin: 5px 0; padding: 0; }
.visit-contact-verification label { display: block; margin: 6px 0; font-weight: 400; }
.visit-contact-verification input { width: 90px; margin-right: 10px; }
#contact-refresh { border: 0; background: transparent; color: var(--ink); text-decoration: underline; cursor: pointer; }
.visit-contact-form > .button { justify-self: start; cursor: pointer; }
.visit-contact-form button:disabled { opacity: .6; cursor: default; }
#contact-status:empty { display: none; }
#contact-status[data-error] { color: #8e2525; }
@media (max-width: 700px) {
  .visit-contact { grid-template-columns: 1fr; padding-block: 32px 45px; }
}
