/* Contact Us v026. Scoped to the public contact page. */
.contact-page { padding-bottom:96px; }
.contact-layout { max-width:760px; box-sizing:border-box; margin:0 auto; padding:32px 24px 0; }
.contact-email { margin:24px 0 0; text-align:center; font:400 16px/1.5 'Jost',sans-serif; }
.contact-email a { color:var(--fg); text-decoration:underline; text-decoration-color:var(--gold); text-underline-offset:5px; }
.contact-form { min-width:0; position:relative; border:1px solid var(--rule-2); border-top:2px solid var(--gold); border-radius:16px; background:var(--surface); padding:36px; box-shadow:var(--card-shadow); display:flex; flex-direction:column; gap:24px; }
.contact-form h2 { margin:0 0 4px; font:400 26px/1.3 'Marcellus',serif; color:var(--fg); }
.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-form label { min-width:0; display:flex; flex-direction:column; gap:9px; color:var(--fg); font:400 15px/1.5 'Jost',sans-serif; }
.contact-form input,.contact-form textarea { width:100%; box-sizing:border-box; padding:13px 14px; border:1px solid var(--rule-4); border-radius:7px; background:var(--bg); color:var(--fg); font:400 17px/1.5 'Jost',sans-serif; }
.contact-form textarea { resize:vertical; min-height:144px; }
.contact-form input:focus-visible,.contact-form textarea:focus-visible,.contact-page a:focus-visible,.contact-form button:focus-visible { outline:2px solid var(--gold); outline-offset:3px; }
.contact-note { margin:0; font:400 13px/1.6 'Jost',sans-serif; color:var(--muted); }
.contact-note a { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.contact-submit-row { display:flex; justify-content:flex-end; }
.contact-form .submit { display:inline-flex; align-items:center; justify-content:center; gap:12px; cursor:pointer; min-height:48px; }
.contact-form .contact-send-arrow { display:block; width:20px; height:20px; flex:0 0 20px; }
.contact-form .submit:disabled { opacity:.65; cursor:wait; }
.contact-status { margin:0; font:400 15px/1.6 'Jost',sans-serif; color:var(--fg); }
.contact-status:empty { display:none; }
.contact-status:not(:empty) { padding:16px; border:1px solid var(--gold); border-radius:7px; background:var(--bg); }
.contact-form .contact-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
[data-theme="light"] .contact-page { --muted:#526279; }
@media(max-width:800px) {
 .contact-layout { padding-top:24px; }
 .contact-form { padding:26px; }
 .contact-page { padding-bottom:56px; }
}
@media(max-width:480px) {
 .contact-layout { padding-inline:18px; }
 .contact-fields { grid-template-columns:1fr; gap:20px; }
 .contact-form { padding:24px 20px; gap:22px; }
 .contact-submit-row .submit { width:100%; }
}
