:focus-visible{outline:3px solid #bd740d!important;outline-offset:5px!important}button,a,input,summary{touch-action:manipulation}button{cursor:pointer}.settings-dialog{color:var(--ink);background:var(--cream);border:1px solid var(--line);border-radius:12px;padding:40px;width:min(620px,calc(100% - 28px));max-height:85dvh;overflow:auto}.settings-dialog::backdrop{background:#071f32b3}.settings-dialog h2{font:42px/1.05 var(--serif);margin:15px 0 22px}.settings-dialog h3{font:30px/1.2 var(--serif)}.settings-dialog p{font:16px/1.65 Arial,sans-serif;margin:14px 0}.settings-dialog label{display:flex;gap:12px;align-items:center;min-height:48px}.settings-dialog input{width:22px;height:22px;accent-color:#24475c}.choice-actions{display:grid;gap:10px;margin-top:22px}.choice-actions button{font:15px Arial,sans-serif;min-height:48px;background:var(--surface);color:var(--ink);border:1px solid var(--ink);padding:12px;border-radius:5px}.widget-gate{padding:24px;background:var(--surface);border:1px solid var(--line);border-radius:10px}.widget-gate p{line-height:1.65}.widget-slot iframe{border:0;max-width:100%;display:block;margin:18px 0;background:white}.widget-slot>a{display:block;padding:12px}.reserve-dialog{width:min(780px,calc(100% - 24px));max-height:90dvh;overflow:auto}.reserve-dialog .widget-gate{padding:12px}.large-text body{font-size:20px}.large-text main p,.large-text .newsletter-section p{font-size:20px!important;line-height:1.75!important}.more-contrast{--ink:#091e2c;--muted:#243a49;--cream:#fff;--surface:#fff}.more-contrast[data-theme=dark]{--ink:#fff;--muted:#eee;--cream:#07121a;--surface:#07121a}.less-motion *{scroll-behavior:auto!important;animation:none!important;transition:none!important}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}.news-content p{white-space:pre-line}.topic-copy p{overflow-wrap:anywhere}summary{min-height:48px}.topic-directory{flex-wrap:wrap}@media(max-width:600px){.settings-dialog{padding:28px 20px}.settings-dialog h2{font-size:34px}.widget-gate{padding:16px}.reserve-dialog{padding:30px 14px}.reserve-dialog h2{font-size:34px}}

[hidden]{display:none!important}

/* Quiet footer utilities; independent of the mobile booking bar. */
.footer-service{display:flex;justify-content:space-between;align-items:center;gap:40px;padding:28px 0;border-bottom:1px solid #6b859266}.footer-news{display:flex;align-items:center;justify-content:space-between;gap:44px;min-height:72px;text-align:left;color:inherit;background:transparent;border:0;padding:0;font:inherit}.footer-news-copy{display:grid;gap:8px}.footer-kicker{font:9px/1.5 Arial,sans-serif;letter-spacing:.19em;color:#c1d0d8}.footer-news-title{font:32px/1.1 var(--serif);letter-spacing:-.02em}.footer-news-arrow{display:grid;place-items:center;width:38px;height:38px;border:1px solid #8299a5;border-radius:50%;font:21px Arial,sans-serif;transition:background .2s}.footer-news:hover .footer-news-arrow{background:#ffffff14}.footer-settings{display:flex;gap:25px;align-items:center}.footer-settings button{display:inline-flex;align-items:center;gap:9px;min-height:48px;background:transparent;border:0;padding:8px 0;color:#d5dfe4;font:12px/1.4 Arial,sans-serif;text-align:left}.footer-settings svg{width:21px;height:21px;flex:none}.footer-settings button:hover span,.team-login:hover span{text-decoration:underline;text-underline-offset:5px}.footer-bottom{flex-wrap:wrap;gap:16px 25px;align-items:center}.footer-bottom .team-login{display:inline-flex;align-items:center;gap:7px;min-height:44px;font:11px/1.4 Arial,sans-serif;color:#c1d0d8}.team-login svg{width:14px;height:14px}.more-contrast .footer-settings button,.more-contrast .footer-kicker,.more-contrast .team-login{color:#fff}
@media(max-width:800px){.footer-service{gap:25px}.footer-settings{gap:18px}.footer-news{gap:22px}.footer-news-title{font-size:29px}}
@media(max-width:600px){.footer-service{display:block;padding:25px 0 15px}.footer-news{width:100%;min-height:70px;padding:0 0 20px}.footer-news-title{font-size:32px}.footer-settings{display:grid;grid-template-columns:1.15fr 1fr;gap:12px;border-top:1px solid #6b859244;padding-top:12px}.footer-settings button{font-size:11px;gap:7px;min-height:48px}.footer-settings svg{width:19px;height:19px}.footer-bottom{gap:12px;padding-top:20px}.footer-bottom .team-login{justify-content:center}.footer-kicker{font-size:8px}}
.news-image{width:100%;max-height:320px;object-fit:cover;border-radius:4px;margin:12px 0 20px}.news-content p{white-space:pre-line}
