/* Calm navigation, then a distinct berry footer to close the spa experience. */
:root{--header-surface:#fcfbf8;--header-ink:#35282e;--header-muted:#686368;--header-line:#e6d9df;--header-panel:#fff;--header-accent:#762d50}
html[data-theme=dark]{--header-surface:#1b171c;--header-ink:#f8eef3;--header-muted:#c9b9c3;--header-line:#53434f;--header-panel:#272129;--header-accent:#efadcc}
html{scroll-padding-top:108px}
.site-header{position:sticky;top:0;z-index:20;background:var(--header-surface);border-bottom:1px solid var(--header-line)}
.site-header .main-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:36px;position:static;max-width:1280px;height:88px;padding:0 32px;margin:0 auto;border:0;background:transparent;color:var(--header-ink)}
html[data-theme=dark] .site-header .main-nav{background:transparent}
.site-header .brand{margin:0;color:var(--header-accent);gap:10px;flex-shrink:0}
.site-header .brand-symbol{display:block;width:30px;height:36px}
.site-header .brand strong{font-size:28px;letter-spacing:3.6px}
.site-header .brand small{font-size:11px;letter-spacing:2.1px;margin-top:5px}
.site-header .header-links{display:flex;align-items:center;justify-content:center;gap:26px;min-width:0}
.header-links>a:not(.button){display:inline-flex;align-items:center;min-height:44px;font:400 16px/1.4 var(--sans);color:var(--header-muted);white-space:nowrap;text-decoration:none;text-underline-offset:7px}
.header-links>a:not(.button):hover,.header-links>a[aria-current]:not(.button){color:var(--header-accent);text-decoration:underline;text-decoration-thickness:1px}
.header-actions{display:flex;align-items:center;gap:18px}
.site-header .header-book{min-height:46px;padding:11px 20px;gap:17px;font-size:16px;white-space:nowrap}
.header-book svg,.mobile-menu-book svg,.footer-book svg{width:20px;height:20px;flex:none}
.site-header .theme-toggle{width:76px;height:44px;padding:5px}
.site-header .theme-toggle:before{width:30px;height:30px;top:6px;left:5px}
.site-header .theme-toggle[aria-checked=true]:before{transform:translateX(34px)}
.site-header .theme-toggle svg{width:20px;height:20px;margin:0 3px}
.site-header .header-menu-toggle,.site-header .mobile-menu-book{display:none}
.site-header .header-menu-toggle{width:44px;height:44px;padding:10px;border:1px solid var(--header-line);border-radius:50%;background:transparent;color:var(--header-ink)}
.header-menu-toggle svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}

html .site-footer{--footer-bg:#34212d;--footer-text:#fff5fa;--footer-muted:#d8c0ce;--footer-line:#735363;display:block;background:var(--footer-bg);color:var(--footer-text);border:0;margin:0;padding:0 32px 28px}
html[data-theme=dark] .site-footer{--footer-bg:#171218;--footer-line:#493441;background:var(--footer-bg);color:var(--footer-text);border-top:1px solid var(--footer-line)}
.footer-inner{max-width:1216px;margin:0 auto}
.footer-invitation{display:flex;justify-content:space-between;align-items:center;gap:32px;padding:42px 0;border-bottom:1px solid var(--footer-line)}
.footer-invitation h2{font:400 clamp(29px,3.2vw,40px)/1.2 var(--serif);letter-spacing:-.6px;color:var(--footer-text);margin:0}
.footer-invitation p{font-size:16px;line-height:1.6;color:var(--footer-muted);margin:10px 0 0}
.site-footer .footer-book{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:50px;padding:13px 24px;border-radius:999px;background:#f4d4e3;color:#432633;font-size:16px;font-weight:500;white-space:nowrap;transition:background .2s}
.site-footer .footer-book:hover{background:#fff0f7}
.footer-grid{display:grid;grid-template-columns:1.2fr .6fr 1.3fr 1fr;gap:48px;padding:46px 0 38px;align-items:start}
html .site-footer .brand{color:var(--footer-text);margin:0;gap:12px}
.site-footer .brand-symbol{display:block;width:35px;height:42px}
.site-footer .brand strong{font-size:34px;letter-spacing:4px}
.site-footer .brand small{font-size:12px;letter-spacing:2.8px;margin-top:6px}
.footer-identity>p{font-size:16px;line-height:1.75;max-width:29ch;margin:20px 0 19px;color:var(--footer-muted)}
.footer-socials{display:flex;align-items:center;gap:10px}
.site-footer .footer-socials a{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--footer-line);border-radius:50%;color:var(--footer-text);background:transparent;transition:background .2s,border-color .2s}
.footer-socials svg{width:22px;height:22px}
.site-footer .footer-socials a:hover{background:#674052;border-color:#d8a4bd}
.footer-grid h3{font:500 17px/1.4 var(--sans);letter-spacing:0;color:var(--footer-text);margin:0 0 18px}
.footer-explore{display:flex;align-items:flex-start;flex-direction:column}
.footer-explore a{min-height:44px;display:flex;align-items:center;color:var(--footer-muted);font-size:16px;line-height:1.5}
.site-footer a:not(.brand):not(.footer-book):not(.footer-socials a):hover{color:#fff;text-decoration:underline;text-underline-offset:5px}
.footer-location+.footer-location{margin-top:22px}
.footer-location>a{display:inline-flex;align-items:center;gap:10px;color:var(--footer-text);font-size:16px;font-weight:500;line-height:1.5;min-height:44px}
.footer-location svg{width:16px;height:16px;flex:none;color:#ebbad3}
.footer-location p,.footer-location address{color:var(--footer-muted);font:400 15px/1.65 var(--sans);margin:6px 0 0;max-width:32ch}
.footer-reach>span{display:block;font-size:14px;color:var(--footer-muted);line-height:1.5}
.footer-reach .footer-phone{display:block;width:fit-content;min-height:40px;font-size:18px;color:var(--footer-text);line-height:1.7;margin-bottom:10px}
.footer-reach>p{max-width:23ch;color:var(--footer-muted);font-size:16px;line-height:1.7;margin:15px 0 0}
.footer-base{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px 24px;border-top:1px solid var(--footer-line);padding-top:20px;color:var(--footer-muted);font-size:14px;line-height:1.6}
.footer-base a{min-height:36px;display:inline-flex;align-items:center;color:var(--footer-text)}
.site-footer a:focus-visible{outline:3px solid #f1bdd7;outline-offset:5px}
.location-google{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin-top:9px;color:var(--wine);font-size:15px;text-decoration:underline;text-underline-offset:4px}
.location-google svg{width:17px;height:17px;flex:none}

@media(max-width:1100px){.site-header .main-nav{gap:22px}.site-header .header-links{gap:18px}.header-actions{gap:12px}.footer-grid{gap:28px;grid-template-columns:1.1fr .65fr 1.2fr 1fr}}
@media(max-width:1100px){
 .site-header .main-nav{grid-template-columns:1fr auto;height:76px;padding:0 24px}
 .site-header .header-menu-toggle{display:inline-grid;place-items:center}
 .site-header .header-links{display:none;position:absolute;left:24px;right:24px;top:calc(100% + 8px);padding:16px 22px 22px;border:1px solid var(--header-line);border-radius:16px;background:var(--header-panel);box-shadow:0 12px 30px #24131c18;max-height:calc(100dvh - 180px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0}
 .site-header .header-links.open{display:flex}
 .header-links>a:not(.button){min-height:52px;color:var(--header-ink);border-bottom:1px solid var(--header-line)}
 .site-header .mobile-menu-book{display:inline-flex;margin-top:17px;justify-content:center;gap:16px;font-size:16px;min-height:48px}
 .footer-grid{grid-template-columns:1fr 1fr;gap:32px 48px}
 .footer-identity{grid-column:1;grid-row:1}.footer-explore{grid-column:2;grid-row:1}.footer-locations{grid-column:1;grid-row:2}.footer-reach{grid-column:2;grid-row:2}
 .footer-base>span:nth-child(2){display:none}
}
@media(max-width:760px){
 html{scroll-padding-top:92px}
 .site-header .main-nav{height:72px;padding:0 20px;gap:12px}
 .site-header .brand{gap:7px}.site-header .brand-symbol{width:23px;height:31px}.site-header .brand strong{font-size:24px;letter-spacing:2.8px}.site-header .brand small{font-size:10px;letter-spacing:1.3px;margin-top:4px}
 .site-header .header-book{display:none}.header-actions{gap:10px}
 .site-header .header-links{left:16px;right:16px}
 html .site-footer{padding:0 20px calc(100px + env(safe-area-inset-bottom))}
 html .site-footer.is-booking-footer{padding-bottom:26px}
 .footer-invitation{display:block;padding:32px 0}.footer-invitation h2{font-size:31px}.site-footer .footer-book{margin-top:22px;min-height:48px}
 .footer-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:30px 22px;padding:32px 0}
 .footer-identity{grid-column:1/-1;grid-row:1}.footer-identity>p{max-width:35ch;margin:15px 0}.site-footer .brand strong{font-size:30px}
 .footer-explore{grid-column:1;grid-row:2}.footer-reach{grid-column:2;grid-row:2}.footer-locations{grid-column:1/-1;grid-row:3;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:22px;border-top:1px solid var(--footer-line);padding-top:26px}
 .footer-locations h3{grid-column:1/-1;margin-bottom:14px}.footer-location+.footer-location{margin:0}.footer-location>a{align-items:flex-start;gap:7px}.footer-location svg{margin-top:4px}.footer-reach .footer-phone{font-size:16px;white-space:nowrap}.footer-reach>p{font-size:15px}.footer-location address{font-size:14px}.footer-location p{font-size:14px}
 .footer-base{gap:7px 20px;padding-top:16px;font-size:14px}
}
@media(max-width:360px){.site-header .main-nav{padding:0 14px}.header-actions{gap:6px}.site-header .brand-symbol{display:none}.footer-locations{grid-template-columns:1fr;gap:18px}.footer-locations h3{margin:0}.footer-location address{max-width:34ch}}
@media(prefers-reduced-motion:reduce){.site-footer .footer-socials a,.site-footer .footer-book{transition:none}}
