.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#formError{color:#b23c4c;padding:12px 0;font-size:14px}.enquiry-received>.f-row,.enquiry-received>.f-group,.enquiry-received>.btn,.enquiry-received>.eyebrow,.enquiry-received>h3,.enquiry-received>.cf-turnstile{display:none}.form-ok.received{display:block}#enqForm button:disabled{opacity:.65;cursor:wait}
/* Footer credit inherits the approved footer color. */
.footer-credit{color:inherit;text-decoration:underline;text-decoration-color:transparent;text-underline-offset:4px;transition:text-decoration-color .2s}
.footer-credit:hover,.footer-credit:focus-visible{color:inherit;text-decoration-color:#0fa3b1}

/* Fixed controls have pixel dimensions and explicit corners, never viewport sizes. */
#wa{inset:auto 24px 24px auto!important;width:58px!important;height:58px!important;max-width:58px!important;max-height:58px!important;min-width:0;min-height:0;padding:0;box-sizing:border-box;z-index:95;flex:none;pointer-events:auto}
#wa svg{width:28px;height:28px;max-width:28px;max-height:28px;pointer-events:none}
#backToTop{position:fixed;inset:auto 24px 96px auto;width:44px;height:44px;min-width:0;min-height:0;max-width:44px;max-height:44px;box-sizing:border-box;border:0;border-radius:50%;padding:0;display:grid;place-items:center;background:#0fa3b1;color:#fff;box-shadow:0 6px 18px rgba(15,163,177,.25);z-index:95;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(8px);transition:opacity .2s,visibility .2s,transform .2s;cursor:pointer}
#backToTop.visible{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
#backToTop svg{width:20px;height:20px;max-width:20px;max-height:20px;pointer-events:none}
#backToTop:focus-visible{outline:3px solid #087b86;outline-offset:4px}
@media(hover:hover){#backToTop.visible:hover{transform:translateY(-3px)}}

/* Audit of remaining fixed layers: only intentionally opened overlays intercept taps. */
#cur-dot,#cur-ring,#prog,#pt{pointer-events:none!important}
#cur-dot{max-width:7px;max-height:7px}
#cur-ring{max-width:60px;max-height:60px}
#prog{inset:0 auto auto 0;height:3px;max-height:3px;max-width:100%}
#hdr{bottom:auto;max-width:100%}
#mmenu{max-width:100%;max-height:100%;overflow:auto;pointer-events:none;visibility:hidden}
#mmenu.open{pointer-events:auto;visibility:visible}
.modal{max-width:100%;max-height:100%;pointer-events:none}
.modal.on{pointer-events:auto}
#pre.done{pointer-events:none!important}
#toast{width:max-content;max-width:min(420px,calc(100% - 48px));max-height:140px;overflow:hidden;bottom:168px;pointer-events:none;overflow-wrap:anywhere}
#toast:not(.on){visibility:hidden;opacity:0}
#toast.on{visibility:visible;opacity:1}
.float-card,.rate-card,.hero-sm{pointer-events:none;box-sizing:border-box}
@media(hover:none){#cur-dot,#cur-ring{display:none!important}body,a,button,input,select,textarea,label{cursor:auto!important}}
@media(pointer:coarse){#cur-dot,#cur-ring{display:none!important}}
@media(max-width:992px){#cur-dot,#cur-ring{display:none!important}body,a,button,input,select,textarea,label{cursor:auto!important}}
@media(max-width:639px){
 .hero-art{position:relative;isolation:isolate;max-width:100%;min-width:0;overflow:hidden;border-radius:28px;animation:none}
 .hero-sm{position:absolute;inset:auto 12px 12px auto;width:clamp(92px,28%,132px);height:auto;max-width:132px;max-height:132px;aspect-ratio:1;border-width:4px;border-radius:16px;animation:none}
 .float-card{position:absolute;inset:16px auto auto 12px;width:fit-content;max-width:min(220px,calc(100% - 24px));height:auto;max-height:96px;padding:10px 12px;gap:10px;border-radius:14px;animation:none}
 .float-card .fc-ic{width:36px;height:36px;flex:0 0 36px}
 .float-card b{font-size:18px}
 .float-card span{font-size:9px}
 .rate-card{position:absolute;inset:auto auto 12px 12px;width:fit-content;max-width:min(200px,calc(100% - 164px));height:auto;max-height:90px;padding:10px 12px;border-radius:14px;animation:none}
 .rate-card b{font-size:13px}
 .rate-card span{font-size:9px;margin-left:3px}
 .rate-card .stars{font-size:11px;letter-spacing:2px}
}
@media(prefers-reduced-motion:reduce){#backToTop,.footer-credit{transition:none}#wa{animation:none}}
/* Contain decorative transforms so mobile layout retains its actual viewport width. */
@media(max-width:992px){html{overflow-x:clip}body{width:100%;max-width:100%;overflow-x:clip}}

body.menu-open #hdr{z-index:105}

/* Shared premium interior treatment keeps every public dark band consistent. */
.dark{background-color:#182529;background-image:linear-gradient(rgba(12,22,25,.82),rgba(12,22,25,.82)),url("https://images.unsplash.com/photo-1586023492125-27b2c045efd7?auto=format&fit=crop&w=2000&q=85");background-size:cover;background-position:center;color:#f7f5f0}
.dark .mut-t,.dark .lead,.dark .t-quote,.dark .t-loc{color:#e1e6e5!important}
.dark .eyebrow{color:#70dce4!important}
.intro-heading{font-family:var(--h);font-size:clamp(24px,2.4vw,34px);font-weight:700;line-height:1.3;letter-spacing:-.035em;margin:18px 0 20px}
.intro-heading+.lead{margin:0 0 26px}

.dark{--mut2:#e1e6e5}
.dark .stat-num i,.dark .bar-top i{color:#70dce4!important}
html{overflow-x:clip}
