.contact-page { max-width: 760px; margin: 0 auto; padding: 12px 0 36px; }
.contact-page h1 { font-size: clamp(34px, 5vw, 48px); margin-bottom: 20px; }
.contact-page .intro { font-size: 20px; line-height: 1.65; color: var(--muted); margin-bottom: 24px; }
.contact-form { margin-top: 28px; }
.contact-form label { display: block; margin-bottom: 8px; font-size: 16px; font-weight: 650; }
.contact-form label span { font-weight: 400; color: var(--muted); }
.contact-form input, .contact-form textarea { display: block; width: 100%; border: 1px solid #87948e; background: var(--white); border-radius: 0; padding: 12px 14px; font: inherit; color: var(--ink); margin-bottom: 22px; }
.contact-form input { min-height: 48px; }
.contact-form textarea { min-height: 210px; resize: vertical; line-height: 1.7; }
.contact-note { color: var(--muted); font-size: 14px; line-height: 1.75; }
.contact-note a { color: var(--ink); text-decoration: underline; text-underline-offset: 3px; }
.contact-form .contact-honeypot { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.contact-form button, .contact-another { min-height: 48px; }
.contact-form button:disabled { opacity: .65; cursor: wait; }
.contact-status { margin-top: 24px; font-size: 17px; line-height: 1.7; overflow-wrap: anywhere; }
.contact-status:not(:empty) { border-left: 3px solid var(--ink); padding: 16px 20px; background: var(--pale); }
.contact-status[data-error="true"] { border-left-color: var(--orange); }
.contact-another { margin-top: 18px; }
.contact-page [hidden] { display: none; }
@media (max-width: 600px) {
  .contact-page .intro { font-size: 18px; }
  .contact-form input, .contact-form textarea { font-size: 16px; }
}
/* Local theme tokens and comfortable width; the shared form behavior is unchanged. */
.contact-page { --white:#fff; --ink:#152422; --muted:#54615e; --pale:#f1f5f3; --orange:#9b3b25; padding-block:36px 60px; }
