.contact-page h1,
.contact-result h2 { margin: 0; font-family: var(--font-primary); font-stretch: 92%; letter-spacing: -.035em; line-height: 1; }
.contact-page-intro p { max-width: 60ch; color: var(--charcoal); }
.contact-form { display: grid; align-content: start; gap: 11px; width: 100%; }
.contact-preview-note { margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--black); font-weight: 700; }
.contact-form button:disabled { opacity: .6; cursor: not-allowed; }
.contact-form label { font-size: .82rem; font-weight: 750; }
.contact-message-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.contact-message-heading output { color: var(--muted); font-size: .82rem; font-variant-numeric: tabular-nums; }
.contact-form input,
.contact-form select,
.contact-form textarea { width: 100%; min-width: 0; padding: 13px 14px; border: 1px solid var(--black); border-radius: 2px; background: var(--white); color: var(--black); font: inherit; font-size: 1rem; }
.contact-form input,
.contact-form select { min-height: 50px; }
.contact-form textarea { min-height: 160px; resize: vertical; line-height: 1.5; }
.contact-form input:focus-visible,
.contact-form select:focus-visible,
.contact-form textarea:focus-visible { outline: 3px solid var(--jmr-green); outline-offset: 3px; }
.contact-privacy-note { margin: 4px 0 9px; padding: 13px 0 15px; border-block: 1px solid var(--charcoal); color: var(--muted); font-size: .86rem; line-height: 1.55; }
.contact-privacy-note a { color: var(--black); text-underline-offset: .2em; }
.contact-form button { width: fit-content; min-height: 50px; padding: 12px 24px; border: 1px solid var(--black); background: var(--black); color: var(--white); font: inherit; font-weight: 750; cursor: pointer; }
.contact-form button:hover { background: var(--charcoal); }
.contact-form button:focus-visible { outline: 3px solid var(--jmr-green); outline-offset: 4px; }
.contact-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-page { width: var(--page); min-height: 64vh; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(40px, 8vw, 110px); margin-inline: auto; padding-block: clamp(70px, 9vw, 120px); }
.contact-page h1 { max-width: 10ch; font-size: clamp(3rem, 7vw, 5.5rem); }
.contact-page-intro p:first-of-type { margin-top: 30px; font-family: var(--font-editorial); font-size: clamp(1.2rem, 2vw, 1.5rem); line-height: 1.45; }
.contact-page-form { padding-top: 9px; }
.contact-error { margin: 0 0 22px; padding: 16px 18px; border: 1px solid #7b1118; color: #7b1118; font-weight: 650; }
.contact-result { border-top: 2px solid var(--black); padding-top: 28px; }
.contact-result h2 { font-size: clamp(2.2rem, 4vw, 3.5rem); }
.contact-result p { max-width: 35ch; margin-block: 22px; font-family: var(--font-editorial); font-size: 1.25rem; }
.contact-result a { font-weight: 750; }
@media (max-width: 760px) {
  .contact-page { grid-template-columns: 1fr; }
  .contact-page { gap: 30px; }
  .contact-form button { width: 100%; }
}
