/* Shared, local-only privacy and accessibility interface. */
:root{--muted:#465b65;--legal-bottom:0px}
html{scroll-padding-top:110px;scroll-padding-bottom:120px}
body{padding-bottom:var(--legal-bottom)}
[hidden]{display:none!important}
:focus-visible{outline:3px solid #155761!important;outline-offset:4px!important}
.field:focus-within{outline:3px solid #155761;outline-offset:3px}
.sheet{margin:0;border:0;padding:0;width:100%;height:100dvh;max-width:none;max-height:none;color:var(--ink)}
.sheet::backdrop{background:transparent}.sheet nav{max-height:calc(100dvh - 24px);overflow-y:auto}
main#mainContent{outline:none}.hero{position:relative;z-index:1}
.legal-main button{font:inherit;min-height:44px;border:1px solid #1f6870;background:#fffdfa;color:#155761;border-radius:10px;padding:6px 12px;cursor:pointer}
.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}
.booking-disclosure{grid-column:1/-1;text-align:start;font-size:14px;line-height:1.65;color:#364c57;margin:3px 0}
.booking-disclosure a,.service-disclosure a{color:#155761;text-decoration:underline;text-underline-offset:3px}
.service-disclosure{font-size:14px;color:#364c57;max-width:700px;margin:14px auto 0;text-align:center;padding:0 16px}
.form-error{grid-column:1/-1;color:#8c2525;background:#fff0ef;border:1px solid #c27c7c;border-radius:12px;padding:10px;margin:0;text-align:start;font-weight:700}
.legal-links{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:4px 18px;padding:10px 18px;max-width:900px}
.legal-links a,.legal-links button{font:inherit;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-decoration:underline;text-underline-offset:4px;background:none;border:0;padding:8px 4px;color:#155761;cursor:pointer}
.legal-contact{overflow-wrap:anywhere;padding:0 16px}.legal-contact a{display:inline-flex;min-height:44px;align-items:center;text-decoration:underline}
.privacy-banner{position:fixed;bottom:0;inset-inline:0;z-index:55;background:#fffdfa;color:#1f2e36;border-top:2px solid #d9c6a6;box-shadow:0 -8px 36px #163e4520;padding:18px max(22px,env(safe-area-inset-left)) calc(18px + env(safe-area-inset-bottom));display:flex;align-items:center;gap:24px;justify-content:center}
.privacy-copy{max-width:620px}.privacy-copy h2{font-size:19px;margin:0 0 4px;font-family:inherit}.privacy-copy p{font-size:15px;margin:0;line-height:1.55}.privacy-copy a{color:#155761;text-decoration:underline;text-underline-offset:3px}
.privacy-actions{display:flex;gap:10px;flex:0 0 auto;flex-wrap:wrap}
.privacy-actions button,.access-dialog button{font:inherit;min-height:46px;padding:10px 16px;border:1px solid #1f6870;border-radius:12px;cursor:pointer;background:#fffdfa;color:#155761;font-weight:700}
.privacy-actions button{background:#1b626b;color:#fff}
.access-launch{position:fixed;inset-inline-end:16px;bottom:22px;z-index:40;display:flex;align-items:center;justify-content:center;gap:7px;padding:8px 14px;min-height:46px;border:1px solid #1f6870;border-radius:14px;background:#fffdfa;color:#155761;box-shadow:0 3px 16px #0002;font:700 15px Assistant,system-ui,sans-serif;cursor:pointer}
.access-launch svg{width:22px;height:22px;fill:currentColor}
.cookie-open .mobile-book,.cookie-open .access-launch{visibility:hidden}
.access-dialog{direction:rtl;max-width:520px;width:calc(100% - 32px);max-height:calc(100dvh - 36px);overflow:auto;padding:26px;border:1px solid #b5caca;border-radius:24px;background:#fffdfa;color:#1f2e36;box-shadow:0 24px 80px #0003;font-family:Assistant,system-ui,sans-serif;line-height:1.6}
.access-dialog::backdrop{background:#132b3699}.access-dialog h2{font-size:26px;margin:0 0 12px}.access-dialog p{font-size:16px}.access-dialog a{color:#155761;text-decoration:underline}.access-dialog label{display:flex;align-items:center;gap:12px;min-height:54px;font-size:18px;font-weight:600;border-bottom:1px solid #ddd;padding:10px 0}.access-dialog input{width:23px;height:23px;accent-color:#1f6870;flex-shrink:0}.access-dialog .dialog-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}
.access-dialog button:first-child{background:#1b626b;color:#fff}
.legal-page{margin:0;background:#f8f3ec;color:#1f2e36;font:18px/1.8 Assistant,system-ui,sans-serif;-webkit-font-smoothing:antialiased}
.legal-header{max-width:950px;margin:auto;padding:24px;display:flex;align-items:center;justify-content:space-between;gap:20px}.legal-header a{min-height:44px;display:inline-flex;align-items:center;color:#155761;text-underline-offset:4px}.legal-brand{direction:ltr;font:700 25px Rubik,system-ui,sans-serif;text-decoration:none}.legal-brand span{color:#1f6870}
.legal-main{max-width:900px;padding:24px 36px 36px;margin:0 auto;background:#fffdfa;border:1px solid #e3d8c9;border-radius:28px;overflow-wrap:anywhere}.legal-main h1{font:700 clamp(29px,5vw,42px)/1.3 Rubik,system-ui,sans-serif;margin:12px 0}.legal-main h2{font-size:24px;line-height:1.4;margin:30px 0 10px}.legal-main p{margin:12px 0}.legal-main a{color:#155761;text-underline-offset:4px}.legal-meta{font-size:15px;color:#465b65}.legal-summary{padding:18px 22px;border-inline-start:4px solid #28737c;background:#eef5f4;border-radius:12px}.legal-main ul{padding-inline-start:26px}.legal-main li{margin:8px 0}.legal-main table{border-collapse:collapse;width:100%;font-size:16px}.legal-main th,.legal-main td{border:1px solid #bccccc;padding:12px;text-align:start;vertical-align:top}.legal-page footer{text-align:center;max-width:950px;margin:24px auto 70px;padding:10px 16px;font-size:16px}.legal-page .skip-link{position:fixed;top:-100px;right:16px;background:white;z-index:100;padding:14px}.legal-page .skip-link:focus{top:12px}
html[data-reduce-motion=true]{scroll-behavior:auto!important}
html[data-reduce-motion=true] *,html[data-reduce-motion=true] *::before,html[data-reduce-motion=true] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html[data-high-contrast=true]{--cream:#fff;--paper:#fff;--ink:#111;--muted:#222;--teal:#124b53;--teal-2:#124b53}
html[data-high-contrast=true] body,html[data-high-contrast=true] .app,html[data-high-contrast=true] .legal-main{background:#fff;color:#111}
html[data-high-contrast=true] .scene-bg{display:none}
html[data-high-contrast=true] :is(.sub,.model-description,.mcat,.section-note,.fleet-note,.booking-disclosure,.service-disclosure,.legal-meta,.brand-copy p,footer,.hero-eyebrow,.brand-tagline){color:#222!important;text-shadow:none}
html[data-high-contrast=true] :is(.card,.book,.field,.faq details,.perks,.promise-badge,.brand-card,.legal-main,.sheet nav){background:#fff;border:2px solid #444;color:#111}
html[data-high-contrast=true] :is(.wa-btn,.wa-pill,.wa-sm,.contact-wa,.mobile-book,.cat.on){background:#124b53;color:#fff}
html[data-high-contrast=true] .brand-name{color:#111}html[data-high-contrast=true] .brand-name span{color:#124b53}
@media(max-width:699px){.privacy-banner{padding:14px 16px calc(14px + env(safe-area-inset-bottom));gap:12px;display:grid;max-height:80dvh;overflow:auto}.privacy-copy h2{font-size:18px}.privacy-copy p{font-size:14px}.privacy-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.privacy-actions button{font-size:14px;padding:8px}.access-launch{bottom:82px;inset-inline-end:16px;padding:8px 10px}.legal-page .access-launch{bottom:18px}.legal-main{padding:18px 20px;margin:0 12px;border-radius:20px}.legal-header{padding:18px 20px;font-size:15px;flex-wrap:wrap}.legal-main h2{font-size:22px}.legal-links{gap:4px 12px}.access-dialog{padding:20px}.legal-main table{font-size:14px}.legal-main th,.legal-main td{padding:7px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
