/* The contact form (req-004, req-006). Uses main.css's own custom properties
   rather than introducing new ones, so light and dark mode need no extra rules. */
.contact-page{max-width:640px;margin:20px auto 60px}
.contact-page h1{font-size:clamp(40px,5.5vw,64px);margin-bottom:10px}
.contact-page .standfirst{font-size:19px;color:var(--muted);margin-bottom:28px}
.contact-page .banner{border-left:4px solid var(--ink);padding:16px 18px;margin:0 0 28px;font-size:15px}
.contact-page .banner-sent{border-color:#1b7f3a}
.contact-page .banner-failed{border-color:var(--orange)}
.contact-page .nojs{border-left:4px solid var(--orange);background:var(--soft);padding:16px 18px;margin:0 0 28px;font-size:15px}
.contact-page .field{margin:0 0 22px}
.contact-page label{display:block;font-size:13px;font-weight:700;margin:0 0 6px}
.contact-page input[type=text],.contact-page textarea{width:100%;box-sizing:border-box;font:inherit;font-size:16px;padding:11px 13px;border:1px solid var(--line);border-radius:3px;background:var(--paper);color:var(--ink)}
.contact-page textarea{min-height:150px;resize:vertical}
.contact-page input:focus-visible,.contact-page textarea:focus-visible,.contact-page button:focus-visible{outline:3px solid var(--orange);outline-offset:2px}
.contact-page .field.invalid input,.contact-page .field.invalid textarea{border-color:#b3261e}
.contact-page .field-msg{display:none;color:#b3261e;font-size:13px;margin:6px 0 0}
.contact-page .field.invalid .field-msg{display:block}
.contact-page .contact-captcha img{width:150px;height:60px;display:block;margin-bottom:8px;border:1px solid var(--line);background:var(--soft)}
.contact-page .captcha-refresh{font:inherit;font-size:13px;font-weight:700;padding:6px 0;margin-bottom:10px;border:0;background:none;color:var(--orange);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.contact-page button[type=submit]{font:inherit;font-weight:700;padding:13px 28px;border:1px solid var(--ink);border-radius:3px;background:var(--ink);color:var(--paper);cursor:pointer}
.contact-page button[type=submit][disabled]{opacity:.45;cursor:not-allowed}
