/* Native dialogs contain keyboard focus and make the page behind them inert. */
html{font-size:100%;scroll-padding-top:150px}
html[data-text-size="125"]{font-size:125%}html[data-text-size="150"]{font-size:150%}html[data-text-size="200"]{font-size:200%}
.eyebrow,.card>span,.stars,.treatment-label,.rate-item strong,h2 em{color:#786032}
.hero .eyebrow,.page-hero .eyebrow,.cta .eyebrow,footer .eyebrow,.hero h1 em,.page-hero em,.cta h2 em,.contact-details span,.foot h3{color:#d8bd89}
nav a:hover,.textlink:hover{color:inherit;text-decoration:underline}
:focus-visible{outline:3px solid #183632!important;outline-offset:4px!important;box-shadow:0 0 0 6px #fff!important}
.skip-link{position:fixed;top:10px;left:10px;z-index:210;padding:12px 18px;background:#fff;color:#183632;transform:translateY(-200%);text-decoration:underline}.skip-link:focus{transform:none}
.a11y-launcher{position:fixed;right:14px;bottom:26px;z-index:40;display:flex;align-items:center;gap:9px;padding:12px 16px;min-height:48px;border:2px solid #f7f5ef;border-radius:999px;background:#183632;color:#fff;box-shadow:0 4px 18px #0003;cursor:pointer;font-size:1rem;font-weight:700}.a11y-launcher span:first-child{font-size:1.5rem;line-height:1}
.a11y-dialog{width:min(520px,calc(100% - 28px));max-height:calc(100dvh - 40px);padding:24px;border:2px solid #183632;border-radius:18px;background:#f7f5ef;color:#183632;overflow:auto;overscroll-behavior:contain}
.a11y-dialog::backdrop,.booking-overlay::backdrop{background:#091d18bd}
.a11y-heading{display:flex;align-items:start;gap:12px}.a11y-heading h2{font:700 1.5rem/1.3 'DM Sans',Arial,sans-serif;letter-spacing:normal;margin:0;flex:1}.a11y-close{width:44px;height:44px;flex-shrink:0;border:1px solid #52645b;border-radius:50%;background:#fff;color:#183632;cursor:pointer;font-size:1.75rem;line-height:1}
.a11y-dialog p{font-size:1rem;line-height:1.6}.a11y-dialog>label:not(.a11y-check){display:block;font-weight:700;margin:18px 0 6px}.a11y-dialog select{display:block;width:100%;min-height:48px;padding:10px;border:1px solid #52645b;border-radius:6px;font:inherit;background:#fff;color:#183632}.a11y-check{display:flex;gap:12px;align-items:start;padding:12px 0;cursor:pointer}.a11y-check input{width:22px;height:22px;margin:3px 0;flex-shrink:0;accent-color:#183632}.a11y-reset,.carousel-pause{border:1px solid #52645b;background:#fff;color:#183632;min-height:46px;padding:10px 14px;border-radius:24px;font:inherit;cursor:pointer}.a11y-reset{margin-top:10px}.a11y-status{min-height:1.6em}.a11y-help{border-top:1px solid #aabbb0;padding-top:16px}.a11y-dialog>a{text-decoration:underline}.carousel-pause{font-size:.875rem;letter-spacing:normal}.carousel-pause:disabled{opacity:1;cursor:default;border-style:dashed}.carousel-toolbar{flex-wrap:wrap}.carousel-toolbar>div{flex-wrap:wrap}
.booking-overlay{border:0;margin:0;width:100%;height:100%;max-width:none;max-height:none;background:transparent}.booking-overlay:not([open]){display:none}
.a11y-readable body,.a11y-readable h1,.a11y-readable h2,.a11y-readable h3,.a11y-readable blockquote,.a11y-readable summary{font-family:Arial,Helvetica,sans-serif!important;letter-spacing:normal!important}.a11y-readable p,.a11y-readable blockquote{line-height:1.9!important}.a11y-links a{text-decoration:underline!important;text-underline-offset:.2em}
.a11y-motion,.a11y-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}.a11y-motion .card:hover,.a11y-motion .button:hover{transform:none}
html:not([data-text-size="100"]) .top{height:auto;min-height:136px;flex-wrap:wrap;padding:12px 0;gap:20px}
html:not([data-text-size="100"]) nav{gap:16px;flex-wrap:wrap}
html:not([data-text-size="100"]) .hero-grid,html:not([data-text-size="100"]) .about-grid,html:not([data-text-size="100"]) .cta-grid{grid-template-columns:1fr}
html:not([data-text-size="100"]) .cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
html:not([data-text-size="100"]) .foot{grid-template-columns:1fr}
html:not([data-text-size="100"]) .hero h1,html:not([data-text-size="100"]) .page-hero h1{font-size:clamp(2rem,8vw,4rem)}
html:not([data-text-size="100"]) h2{font-size:clamp(1.6rem,6vw,3rem)}
.wrap,main,.review-card,.contact-details,.policy{overflow-wrap:anywhere}.carousel-track{grid-auto-columns:min(360px,calc(100vw - 70px))}
@media(max-width:850px){html:not([data-text-size="100"]) header nav{top:100%}.a11y-launcher{right:10px;bottom:14px}.a11y-launcher span:last-child{font-size:.875rem}}
@media(max-width:600px){.rate-item{flex-wrap:wrap}.booking-copy{flex-wrap:wrap}.carousel-track{grid-auto-columns:min(360px,calc(100vw - 70px))}.a11y-dialog{padding:18px}.a11y-launcher{max-width:calc(100% - 20px)}}
.a11y-dialog{max-width:calc(100% - 28px);overflow-wrap:anywhere;word-break:normal}.a11y-heading h2{min-width:0}.a11y-dialog select{min-width:0;font-size:1rem}.a11y-check{min-width:0}.a11y-dialog>a{display:block}.a11y-launcher{overflow-wrap:anywhere}
/* High contrast changes page colors without filtering photographs or embeds. */
html[data-contrast="light"]{--a11y-bg:#fff;--a11y-fg:#111;--a11y-link:#0039a6}
html[data-contrast="dark"]{--a11y-bg:#111;--a11y-fg:#fff;--a11y-link:#9bd8ff}
html[data-contrast="yellow"]{--a11y-bg:#000;--a11y-fg:#ffeb3b;--a11y-link:#ffeb3b}
html:not([data-contrast="default"]) body,html:not([data-contrast="default"]) header,html:not([data-contrast="default"]) nav,html:not([data-contrast="default"]) footer,html:not([data-contrast="default"]) section,html:not([data-contrast="default"]) .strip,html:not([data-contrast="default"]) .card,html:not([data-contrast="default"]) .review-card,html:not([data-contrast="default"]) .insta-card,html:not([data-contrast="default"]) .gift,html:not([data-contrast="default"]) .image-caption,html:not([data-contrast="default"]) .booking-panel,html:not([data-contrast="default"]) .a11y-dialog{background:var(--a11y-bg)!important;color:var(--a11y-fg)!important}
html:not([data-contrast="default"]) :is(p,small,span,strong,b,i,em,h1,h2,h3,blockquote,summary,label,.eyebrow,.treatment-label,.carousel-toolbar,.copyright){color:var(--a11y-fg)!important}
html:not([data-contrast="default"]) :is(a,button,input,select){color:var(--a11y-link)!important}
html:not([data-contrast="default"]) :is(button,input,select,.button,.skip-link){background:var(--a11y-bg)!important;border:2px solid var(--a11y-fg)!important;box-shadow:none}
html:not([data-contrast="default"]) :is(article,details,.about-details,.rate-item,.rate-section,.contact-details,.legal-links,.copyright){border-color:var(--a11y-fg)!important}
html:not([data-contrast="default"]) :focus-visible{outline-color:var(--a11y-fg)!important;box-shadow:0 0 0 6px var(--a11y-bg)!important}
@media(forced-colors:active){.brand-logo{mix-blend-mode:normal;mask-image:none}.a11y-launcher,.button,.carousel-arrow{border:2px solid ButtonText}}
