.contact-fields { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.contact-page form { margin:32px 0; }
.contact-page label { display:block; font-weight:600; margin:0 0 8px; }
.contact-page label span { font-weight:400; color:var(--muted); }
.contact-page input,.contact-page textarea,.contact-page select { box-sizing:border-box; width:100%; padding:12px; margin-bottom:20px; border:1px solid var(--rule); border-radius:4px; background:var(--surface); color:var(--ink); font:inherit; }
.contact-page textarea { resize:vertical; }
.contact-page :is(input,textarea,select,button):focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.contact-page .contact-help { font-size:14px; }
.contact-page button { cursor:pointer; }
.contact-page button:disabled { opacity:.65; cursor:wait; }
.contact-trap { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
#contact-status { margin-top:16px; }
@media(max-width:560px) { .contact-fields { grid-template-columns:1fr; gap:0; } }
