.contact-page { max-width: 740px; margin-inline: auto; padding-block: 48px 64px; }
.contact-intro { font-size: 19px; line-height: 1.65; color: var(--muted); }
.contact-form { margin-top: 32px; }
.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 #879b97; background: var(--paper); border-radius: 5px; 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; margin-bottom: 8px; }
.contact-note { color: var(--muted); font-size: 14px; line-height: 1.75; }
.contact-disclosure { margin-block: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 5px; background: var(--soft); }
.contact-disclosure p:last-child { margin-bottom: 0; }
.contact-note a { color: var(--teal-dark); 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(--teal); padding: 16px 20px; background: var(--soft); }
.contact-status[data-error="true"] { border-left-color: #9b3b25; }
.contact-another { margin-top: 18px; }
.contact-page [hidden] { display: none; }
@media (max-width: 600px) { .contact-page { padding-block: 32px 48px; } .contact-intro { font-size: 18px; } .contact-form input, .contact-form textarea { font-size: 16px; } }
