.contact-page { max-width:600px; margin:0 auto; padding:36px 0 40px; }
.contact-page .section-title { margin:10px 0 14px; font-size:clamp(30px,6vw,42px); }
.contact-intro { color:var(--muted); line-height:1.6; margin:0 0 26px; }
.contact-card { padding:28px; }
.contact-card fieldset { border:0; padding:0; margin:0; min-width:0; display:flex; flex-direction:column; gap:10px; }
.contact-card label { font-size:15px; font-weight:650; margin-top:8px; }
.contact-card input,.contact-card select,.contact-card textarea { font:inherit; font-size:16px; line-height:1.5; color:var(--ink); background:white; border:1px solid var(--line); border-radius:10px; padding:12px; width:100%; min-height:48px; }
.contact-card textarea { resize:vertical; min-height:148px; }
.contact-card textarea:focus-visible { outline:3px solid #d77852; outline-offset:4px; }
.contact-hint { color:var(--muted); font-size:13px; line-height:1.5; margin:0 0 8px; }
.contact-privacy { color:var(--muted); font-size:14px; line-height:1.6; margin:8px 0 12px; }
#contact-availability { margin:16px 0 0; }
#contact-status { margin:20px 0 0; padding:16px; border:1px solid var(--line); border-radius:12px; line-height:1.6; background:#f0f3eb; overflow-wrap:anywhere; }
#contact-status[data-error="true"] { background:#fff0e9; border-color:#b56748; }
#contact-status:focus { outline:3px solid #d77852; outline-offset:4px; }
.contact-back { font-size:14px; padding:12px 0; text-underline-offset:4px; white-space:nowrap; }
.contact-honeypot,.visually-hidden { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:620px) { .contact-page { padding-top:26px; } .contact-card { padding:20px; } .contact-page .eyebrow { font-size:10px; } }
