/* Accessible contact form. */
.contact-email a{color:var(--teal);text-underline-offset:3px;overflow-wrap:anywhere}
.contact-form{margin-top:28px;border-top:1px solid #38506a;padding-top:24px}
.contact-form fieldset{padding:0;margin:0;border:0;min-width:0}
.contact-form>p,.form-privacy{font-size:14px;color:#b7c8d5;line-height:1.7}
.form-field{margin-bottom:18px}
.form-field label{display:block;margin-bottom:7px;font-size:15px;font-weight:700}
.form-field label span{font-weight:400;color:#b7c8d5}
.form-field input,.form-field textarea{display:block;width:100%;min-width:0;min-height:48px;padding:11px 12px;border:1px solid #71879d;border-radius:6px;background:#0b1326;color:#fff;font:inherit;font-size:16px}
.form-field textarea{resize:vertical;min-height:140px}
.form-field .form-hint{font-size:13px;color:#b7c8d5;margin:7px 0 0}
.contact-submit{width:100%;margin-top:18px;border:0;cursor:pointer;min-height:48px}
.contact-submit:disabled{opacity:.65;cursor:not-allowed;transform:none}
.contact-form[aria-busy="true"] .contact-submit{cursor:wait}
.contact-status{margin:18px 0 0;overflow-wrap:anywhere;color:#e4f4f3;font-size:15px}
.contact-status:empty{display:none}
.contact-status[data-state="error"]{color:#ffcbc4}
.visually-hidden,.form-trap{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#contact-spam-check{min-height:65px}


/* Keep the enquiry card spacious and aligned with the site's colours. */
.contact-grid{align-items:start}
.contact-card{box-shadow:0 24px 60px #0002}
.contact-form fieldset{display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.form-field{margin:0}
.form-field input,.form-field textarea{border-color:#526b83;border-radius:9px;padding:13px 15px;background:#101e33;transition:border-color .2s,box-shadow .2s}
.form-field input:hover,.form-field textarea:hover{border-color:#8aa5ba}
.form-field input:focus,.form-field textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px #8cf0d51a}
.form-field textarea{min-height:160px}
.form-privacy{margin:0;font-size:13px}
.contact-submit{margin:0;justify-content:center;min-height:52px;font-size:15px}
.contact-status:not(:empty){padding:14px 16px;border:1px solid #8cf0d54d;border-radius:9px;background:#8cf0d50d}
.contact-status[data-state="error"]{border-color:#ffcbc44d;background:#ffcbc40d}
@media(max-width:720px){.contact-card{padding:24px}.contact-form{margin-top:24px;padding-top:22px}}
