/* Contact controls use the existing teal/sage identity. */
#modal-title:focus{outline:none}
.whatsapp-contact{position:fixed;right:24px;bottom:24px;z-index:40;display:flex;align-items:center;gap:10px;padding:12px 18px 12px 12px;min-height:52px;border:1px solid #FAF7ED;border-radius:999px;background:#075E54;color:#fff;box-shadow:0 4px 20px #173c3533;text-decoration:none;font-size:14px;font-weight:700}
.whatsapp-contact[hidden]{display:none}
.whatsapp-contact svg{width:28px;height:28px;flex:none}
.whatsapp-contact:hover{background:#064D44}
.whatsapp-contact:focus-visible{outline:3px solid #8EB69A;outline-offset:4px}
.modal-open .whatsapp-contact{visibility:hidden}
@media(max-width:620px){.whatsapp-contact{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));width:56px;height:56px;min-height:56px;justify-content:center;padding:10px}.whatsapp-contact span{display:none}}
@media(forced-colors:active){.whatsapp-contact{border:2px solid LinkText}}

.footer-contact{display:flex;flex-wrap:wrap;gap:3px 20px;max-width:470px;margin-top:18px;font-size:13px}
.footer-contact strong{flex-basis:100%;color:var(--navy,#123D39);font-size:14px}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;text-decoration:none;color:#075E54;font-weight:650}
.footer-contact a:hover{text-decoration:underline}
.modal-contact{display:flex;flex-direction:column;align-items:flex-start;gap:8px;margin:18px 0 22px}
.contact-whatsapp{background:#075E54;color:#fff;border-color:#075E54;min-height:48px}
.contact-whatsapp:hover{background:#064D44;color:#fff}
.contact-phone-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 15px;font-size:13px}
.contact-phone-links span{color:#52635c}
.contact-phone-links a{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-weight:700;color:#075E54}
@media(max-width:620px){.modal-intro{padding-right:0}.modal-contact{align-items:stretch}.modal-contact .button{justify-content:center}.contact-phone-links{gap:0 12px}.contact-phone-links span{flex-basis:100%}.footer-contact{gap:0 16px}}

/* The native Google Form is the submission and confirmation surface. */
#enquiry-modal{width:min(740px,calc(100% - 32px));padding:32px;max-height:calc(100dvh - 32px);overscroll-behavior:contain}
#enquiry-modal .modal-intro h2{font-size:38px}
#enquiry-modal .modal-intro h2 br{display:none}
#enquiry-modal .modal-intro .eyebrow{margin-bottom:12px;padding-right:35px}
#enquiry-modal .modal-contact{margin:14px 0 20px;gap:4px}
#enquiry-modal .modal-close{position:sticky;top:0;float:right;margin:-18px -18px 0 0;z-index:3;background:#fff;border:1px solid #d6e1d5;box-shadow:0 2px 8px #173c351a}
.enquiry-embed{min-width:0;border-radius:12px;overflow:hidden;background:#eff6f3;border:1px solid #d6e1d5}
#enquiry-frame{display:block;width:100%;height:720px;border:0;background:#eff6f3}
.form-loading{padding:18px;text-align:center;font-size:13px;color:#52635c}
.form-loading[hidden]{display:none}
.form-fallback{font-size:12px;color:#52635c;line-height:1.8;margin:0 0 14px}
.form-fallback a{font-weight:700;color:#075E54;text-decoration:underline;text-underline-offset:3px}
@media(max-width:620px){#enquiry-modal{width:calc(100% - 20px);padding:18px 12px;max-height:calc(100dvh - 20px);border-radius:16px}#enquiry-modal .modal-intro{padding:0 4px}#enquiry-modal .modal-intro h2{font-size:28px;line-height:1.2;padding-right:22px}#enquiry-modal .modal-intro .eyebrow{font-size:9px;letter-spacing:.07em}#enquiry-modal .modal-close{margin:-10px -4px 0 0}#enquiry-modal .form-notice{font-size:12px;margin-top:12px}#enquiry-frame{height:780px}.enquiry-embed{border-radius:9px}}

/* Review is local; the Google result is shown only after the final Send. */
#enquiry-fields[hidden],#enquiry-review[hidden],#enquiry-form[hidden],#enquiry-response[hidden]{display:none}
.enquiry-consent{display:flex;align-items:flex-start;gap:12px;margin:22px 0;font-size:13px;line-height:1.7;cursor:pointer}
.enquiry-consent input{width:20px;height:20px;flex:none;margin:3px 0 0;accent-color:#075E54}
.field label span{font-weight:400}
#enquiry-review,#enquiry-response{padding-top:10px}
#enquiry-review h3,#enquiry-response h3{font-size:30px;line-height:1.2;margin-bottom:14px}
#enquiry-review>p{font-size:14px;line-height:1.8;color:#52635c}
.enquiry-summary{display:grid;grid-template-columns:155px minmax(0,1fr);gap:12px 20px;padding:22px;margin:24px 0;background:#eff6f3;border:1px solid #d6e1d5;border-radius:12px;font-size:14px;line-height:1.7}
.enquiry-summary dt{font-weight:700;color:#123D39}
.enquiry-summary dd{margin:0;overflow-wrap:anywhere;color:#52635c;white-space:pre-wrap}
.enquiry-actions{display:flex;gap:12px;flex-wrap:wrap}
#enquiry-response #enquiry-frame{height:600px;border:1px solid #d6e1d5;border-radius:12px;margin:20px 0}
#send-enquiry:disabled{opacity:.65;cursor:wait}
@media(max-width:620px){.enquiry-summary{grid-template-columns:1fr;padding:18px;gap:4px}.enquiry-summary dd{margin-bottom:12px}.enquiry-summary dd:last-child{margin-bottom:0}.enquiry-actions .button{flex:1}#enquiry-review h3,#enquiry-response h3{font-size:26px}#enquiry-form .field input,#enquiry-form .field select{font-size:16px}}

/* Required candidate phone number, with an inline accessible error. */
.field-hint,.field-error{display:block;font-size:12px;line-height:1.6;margin-top:7px}
.field-hint{color:#52635c}
.field-error{color:#a32921;font-weight:600}
.field-error:empty{display:none}
#enquiry-phone[aria-invalid="true"]{border-color:#a32921}

@media(max-width:620px){.header-cta>.icon{display:none}}

/* Keep the post-send view short; only Google's receipt states success. */
#enquiry-modal.enquiry-sent .modal-intro{display:none}
#enquiry-response{clear:both}
#enquiry-response>.eyebrow{display:block;margin-bottom:10px;padding-right:32px}
#response-title:focus{outline:none}
#enquiry-response #response-title{font-size:30px;margin-bottom:10px;padding-right:24px}
.response-note{font-size:14px;line-height:1.6;color:#52635c;margin:0 0 16px}
#enquiry-response #enquiry-frame{height:410px;margin:16px 0 20px}
.response-contact{padding:20px;background:#edf2e6;border:1px solid #d6e1d5;border-radius:12px;margin-bottom:16px}
.response-contact h4{font-size:20px;line-height:1.3;color:#123d39;margin:0 0 10px}
.response-contact p{font-size:14px;line-height:1.6;margin:0;color:#52635c}
.response-call-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 12px;margin:2px 0 12px}
.response-call-links a{display:inline-flex;align-items:center;min-height:44px;color:#075e54;font-size:21px;font-weight:750;white-space:nowrap;text-underline-offset:4px}
.response-call-links span{font-size:14px;color:#52635c}
.response-whatsapp{display:flex;flex-wrap:wrap;gap:6px 12px;justify-content:center;text-align:center}
.response-whatsapp span{white-space:nowrap}
@media(max-width:620px){#enquiry-response #response-title{font-size:27px}#enquiry-response #enquiry-frame{height:420px}.response-contact{padding:16px}.response-contact h4{font-size:19px}.response-call-links{gap:0 10px}.response-call-links a{font-size:20px}.response-whatsapp{font-size:14px}}
@media(max-width:360px){.response-call-links{flex-direction:column;align-items:flex-start;gap:0}.response-call-links span{line-height:1}.response-whatsapp{flex-direction:column}}
@media(max-width:620px){#enquiry-review .form-fine{text-align:left}}
