/* Optional visitor display preferences; no styling changes until selected. */
.a11y-launch{display:inline-flex;align-items:center;min-height:44px;padding:0;border:0;background:none;color:rgba(255,255,255,.7);font:inherit;font-size:.7rem;cursor:pointer}.a11y-footer{display:flex;flex-wrap:wrap;align-items:center;gap:20px;max-width:780px;margin:1rem auto;padding:1.5rem;color:#21323d}.a11y-footer .a11y-launch{color:inherit;font-size:1rem}
#a11y-panel{margin:auto;box-sizing:border-box;max-width:440px;width:calc(100% - 32px);max-height:85dvh;padding:24px;border:1px solid #abb6bb;border-radius:8px;background:#faf7f2;color:#21323d;font:16px/1.5 Barlow,sans-serif;overflow:auto}
#a11y-panel::backdrop{background:#0006}#a11y-panel h2{font:500 24px/1.3 Raleway,sans-serif;margin:0 0 12px}#a11y-panel p{margin:0 0 12px}#a11y-panel label{display:flex;align-items:center;gap:12px;min-height:48px;cursor:pointer}#a11y-panel input{width:20px;height:20px}#a11y-panel button,#a11y-panel a{display:inline-flex;align-items:center;min-height:44px;margin:6px 8px 0 0;padding:4px 10px;color:inherit}#a11y-panel button{border:1px solid #abb6bb;border-radius:4px;background:white;cursor:pointer}#a11y-panel :focus-visible,.a11y-launch:focus-visible{outline:3px solid #165f93;outline-offset:3px}
html.a11y-large-text{font-size:125%}html.a11y-large-text body{font-size:1.125rem}html.a11y-large-text #a11y-panel{font-size:20px}html.a11y-spacing :is(p,li,label,.room-desc,.review-modal-text){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.8!important}
html.a11y-links a{text-decoration:underline!important;text-underline-offset:3px}
html.a11y-contrast :is(p,h1,h2,h3,h4,label,.section-label,.room-title,.room-price,.footer-brand-name,.footer-col-title,.review-modal-name,.review-modal-date,.photo-gallery-hint){color:#10212c!important;background:#fff!important}
html.a11y-contrast a{color:#10212c!important;background:#fff!important}html.a11y-contrast button{color:#fff!important;background:#10212c!important;border:2px solid #fff!important}
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
#a11y-guide{pointer-events:none;position:fixed;left:0;right:0;top:50%;height:5px;background:#176b9b;box-shadow:0 0 0 1px white;z-index:10005}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#a11y-panel select{max-width:100%;min-height:44px;padding:6px;font:inherit;color:#21323d;background:white;border:1px solid #526674}#a11y-panel fieldset{min-width:0;border:1px solid #abb6bb;padding:12px;margin:16px 0}#a11y-panel legend{font-weight:600;padding:0 6px}.a11y-tool-tip{font-size:14px}.a11y-speech-controls{display:flex;flex-wrap:wrap}.a11y-reader-bar{position:fixed;bottom:12px;left:12px;right:12px;z-index:10006;display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;padding:10px;background:#10212c;color:white;box-shadow:0 2px 12px #0006;font:16px/1.5 Barlow,sans-serif}.a11y-reader-bar[hidden]{display:none}.a11y-reader-bar button{min-height:44px;padding:8px 12px;background:white;color:#10212c;border:1px solid #10212c;border-radius:4px;cursor:pointer}.a11y-reader-bar button:focus-visible{outline:3px solid white;outline-offset:3px}
#a11y-mask{position:fixed;left:0;right:0;top:calc(50% - 60px);height:120px;box-shadow:0 0 0 100vmax #000b;pointer-events:none;z-index:10004}
html.a11y-font :is(main,nav,footer,#a11y-panel) *{font-family:Arial,sans-serif!important}html.a11y-bold :is(main,nav,footer) *{font-weight:600!important}html.a11y-headings :is(h1,h2,h3,h4){outline:2px dashed currentColor;outline-offset:4px}html.a11y-link-highlight a{background:#fff0a8!important;color:#10212c!important;text-decoration:underline!important}html.a11y-dark #a11y-panel,html.a11y-dark body,html.a11y-dark :is(main,nav,footer,section,.page,.room-info,.review-card,.review-modal-box,.newsletter-content,.eat-card){background:#10212c!important;color:white!important}html.a11y-dark :is(p,h1,h2,h3,h4,label,a,li,.room-price,.section-label,.review-name,.review-date){color:#fff!important}html.a11y-grayscale :is(main,nav,footer){filter:grayscale(1)}html.a11y-hide-images :is(main img,.page-hero-bg,.hero-bg,.newsletter-img){visibility:hidden!important}
html.a11y-cursor,html.a11y-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='36' height='36' viewBox='0 0 36 36'%3E%3Cpath d='M3 2v28l8-8 6 12 6-3-6-12h12Z' fill='black' stroke='white' stroke-width='2'/%3E%3C/svg%3E") 3 2,auto!important}
#a11y-panel select{min-width:0;flex:1}#a11y-panel label{overflow-wrap:anywhere}html.a11y-dark #a11y-panel button{color:#10212c;background:white}html.a11y-dark #a11y-panel a{color:white}html.a11y-hide-images .statement-banner img{visibility:hidden!important}
@media(max-width:480px){.reviews-track-wrap{padding-inline:1.4rem}.review-card{padding:1.25rem}.reviews-rating-badge{gap:.45rem;padding:.7rem .85rem;flex-wrap:wrap;justify-content:center}.review-name{white-space:normal;overflow-wrap:anywhere}}

#a11y-panel .a11y-panel-header{display:flex;align-items:center;justify-content:space-between;gap:12px;position:sticky;top:-24px;z-index:2;background:#faf7f2;margin:-24px -24px 16px;padding:16px 16px 12px 24px;border-bottom:1px solid #abb6bb}#a11y-panel .a11y-panel-header h2{margin:0}#a11y-panel .a11y-close-top{flex-shrink:0;margin:0;padding:0;min-width:44px;min-height:44px;font:30px/1 Arial,sans-serif}html.a11y-dark #a11y-panel .a11y-panel-header{background:#10212c}

/* Contrast preferences cover every content surface, including card labels and form controls. */
html.a11y-dark :is(main,nav,footer,header,.newsletter-content,.review-modal-box) {--navy:#fff;--dark:#fff;--text:#fff;--muted:#d8e2e8;--accent:#f0d5a7;--white:#10212c;--cream:#10212c;--border:#a7bcc9}
html.a11y-dark :is(nav,nav *,main,main *,footer,footer *,header,header *){transition:none!important}
html.a11y-dark :is(.accom-card-title,.accom-card-price,.review-read-more,.about-detail-label,.about-detail-val,.eat-name,.eat-name span,.sub-label,strong,.footer-brand-name,.footer-col-title,.photo-gallery-hint){color:#fff!important}
html.a11y-dark :is(.accom-card-body,.about-details,.nav-links,.statement-banner,.signup-result){background:#10212c!important;color:#fff!important}
html.a11y-dark :is(.btn,.nav-book,.btn-nl,button:not(.a11y-launch),input,textarea,select){background:#fff!important;color:#10212c!important;border-color:#526674!important}
html.a11y-dark input::placeholder,html.a11y-dark textarea::placeholder{color:#526674!important;opacity:1}
html.a11y-dark .nav-toggle span{background:#10212c!important}
html.a11y-dark :is(.photo-gallery-count,.lb-counter){background:#10212c!important;color:#fff!important}
html.a11y-dark :is(.btn,.nav-book) *{color:#10212c!important}
html.a11y-dark .a11y-launch{color:#fff!important}
html.a11y-dark :focus-visible{outline-color:#fff!important;box-shadow:0 0 0 3px #10212c!important}
html.a11y-contrast :is(.accom-card-title,.accom-card-price,.review-read-more,.about-detail-label,.about-detail-val,.eat-name,.eat-name span,.sub-label,strong){color:#10212c!important;background:#fff!important}
/* Keep the bypass link out of view at every text scale until it is focused. */
.skip-link{position:fixed!important;top:0!important;transform:translateY(-200%)}
.skip-link:focus{top:1rem!important;transform:none}
.property-access-note{max-width:1100px;margin:1.5rem auto;padding:0 1.5rem;line-height:1.7;color:var(--navy)}
.property-access-note a{text-decoration:underline;text-underline-offset:3px}

/* Link emphasis remains legible when combined with either contrast preference. */
html.a11y-dark.a11y-link-highlight a,html.a11y-contrast.a11y-link-highlight a{background:#fff0a8!important;color:#10212c!important}
html.a11y-spacing :is(main p,.review-modal-text){margin-bottom:2em!important}
