/* Preserve the established palette and layout while making controls usable. */
:focus-visible{outline:3px solid #386cf0;outline-offset:4px}
input:focus-visible{outline-offset:2px}
main:focus{outline:none}
button,a,input,summary{scroll-margin-block:120px 30px}
summary,button,input,.footer a:not(.brand){min-height:44px}
.footer a:not(.brand){display:inline-flex;align-items:center}
.footer>div>a:not(.brand){display:flex;margin-bottom:0}
.footer-bottom{align-items:center;flex-wrap:wrap}
.footer-tools{display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.motion-toggle{padding:8px 0;border:0;background:transparent;color:var(--muted);font-size:12px;text-decoration:underline;text-underline-offset:4px}
.motion-toggle:disabled{cursor:default;text-decoration:none}
.motion-control{margin:0 auto 14px;text-align:right;max-width:1200px;padding-inline:32px}
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.calculator-error{font-size:14px;color:var(--ink);margin-top:16px}
.calculator-error:empty{display:none}
.booking-live .close-dialog{width:44px;height:44px}
.booking-live .booking-privacy{font-size:13px;line-height:1.6;margin-top:14px;max-width:70ch}
.booking-privacy a,.privacy-page a{ text-decoration:underline;text-underline-offset:4px }
.booking-live .cal-inline{position:relative}
.privacy-page{max-width:850px;padding-top:60px;padding-bottom:85px}
.privacy-page h1{margin-bottom:20px}
.privacy-page h2{font-size:27px;letter-spacing:-.7px;margin:36px 0 14px}
.privacy-page p{margin-bottom:18px;overflow-wrap:anywhere}
.privacy-page .updated{font-size:13px}
html[data-motion-paused=true] *,html[data-motion-paused=true] *::before,html[data-motion-paused=true] *::after{animation-play-state:paused!important;scroll-behavior:auto!important;transition:none!important}
@media(max-width:760px){
 .motion-control{padding-inline:22px}
 .footer-tools{gap:14px}
 .header{gap:12px}
 .header .wordmark{font-size:clamp(20px,6.3vw,25px)}
 .header .menu-toggle{gap:8px;flex-shrink:0}
 .hero-actions{flex-wrap:wrap}
 .privacy-page{padding-top:32px;padding-bottom:55px}
 .privacy-page h1{font-size:44px;letter-spacing:-1.8px}
 .booking-live .booking-intro{padding-right:46px}
}

/* Pausing must never hide content that is being revealed for the first time. */
html[data-motion-paused=true] .hero .lead,html[data-motion-paused=true] .hero-actions,html[data-motion-paused=true] .detail-content,html[data-motion-paused=true] .header #navigation.is-open{animation:none!important;opacity:1!important;transform:none!important;filter:none!important}
@media(max-width:360px){.page-intro h1{font-size:clamp(34px,12vw,42px)}}
.calculator-inputs input{border-color:#78867b}
.calculator-inputs input[aria-invalid=true]{border-color:#9b3c25;border-width:2px}
