#contact-form { padding:clamp(8px,2vw,20px); }
#contact-form label { display:block; font-weight:600; margin:22px 0 8px; }
#contact-form label span { font-size:.75rem; color:var(--color-link); margin-left:8px; }
#contact-form label small { font-weight:400; color:var(--muted); margin-left:8px; }
#contact-form input, #contact-form textarea { display:block; box-sizing:border-box; width:100%; min-width:0; padding:12px; border:1px solid var(--gbo-nibi); border-radius:4px; background:#fff; color:var(--ink); font:inherit; font-size:16px; }
#contact-form textarea { resize:vertical; }
#contact-form :focus-visible, #contact-retry:focus-visible { outline:3px solid var(--color-focus); outline-offset:3px; }
#contact-form button { min-height:48px; margin-top:12px; }
#contact-form button:disabled { opacity:.6; cursor:wait; }
#contact-form .form-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.form-note { font-size:.875rem; line-height:1.8; }
.form-note a { text-decoration:underline; }
#contact-status { padding:0 20px; overflow-wrap:anywhere; }
#contact-status[data-error="true"] { color:var(--color-link); }
#contact-status:focus { outline:2px solid var(--color-focus); outline-offset:3px; }
#contact-retry { margin:12px 20px; }
[hidden] { display:none !important; }
@media(max-width:600px) { #contact-submit { width:100%; } }
