/* Shared navigation and page contents. */
.site-header .header-inner{gap:18px}
.site-header .desktop-nav{gap:16px}
.site-header .desktop-nav>a,.directions-toggle{display:flex;align-items:center;min-height:44px;white-space:nowrap;font-size:14px}
.directions-toggle{gap:8px;background:transparent;border:0;cursor:pointer;padding:0;color:inherit;font-family:inherit}
.directions-toggle>span{transition:transform .15s}.directions-toggle[aria-expanded="true"]>span{transform:rotate(180deg)}
.directions-disclosure{position:relative}
.directions-dropdown{position:absolute;top:calc(100% + 10px);left:-18px;width:310px;padding:10px;background:#f8f5f0;border:1px solid #d4cbbb;box-shadow:0 18px 40px #15151520;border-radius:3px}
.directions-dropdown::before{content:"";position:absolute;left:0;right:0;top:-11px;height:11px}
.directions-dropdown[hidden]{display:none!important}
.directions-dropdown a{display:flex;align-items:center;min-height:48px;padding:10px 12px;line-height:1.4;white-space:normal}
.directions-dropdown a:hover,.directions-dropdown a[aria-current="page"]{background:#ece4d8;color:#80582e}
.directions-dropdown .all-directions{margin-top:8px;border-top:1px solid #d4cbbb;color:#80582e}
.site-header a:focus-visible,.site-header button:focus-visible,.page-contents a:focus-visible,.page-contents summary:focus-visible{outline:2px solid #80582e;outline-offset:4px}
.site-header .header-inner>.button{font-size:13px;flex-shrink:0;white-space:nowrap}
.booking-mobile{display:none}.site-brand{flex-shrink:0}
.breadcrumbs{flex-wrap:wrap;align-items:baseline;gap:8px 12px;line-height:1.6}.breadcrumbs [aria-current="page"]{color:#403b34}
.page-contents{margin-top:28px;margin-bottom:28px}
.page-contents-desktop{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-block:16px;border-block:1px solid #d4cbbb;font-size:14px}
.page-contents-desktop>span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:#766c5e}
.page-contents a{display:flex;align-items:center;min-height:44px;color:#80582e}.page-contents a:hover{text-decoration:underline}
.page-contents-mobile{display:none}
@media(max-width:1100px){
 .booking-desktop{display:none}.booking-mobile{display:inline}
 .site-header .header-inner{gap:12px}
 .site-header #mobile-menu{position:absolute;top:64px;left:0;right:0;background:#f8f5f0;box-shadow:0 20px 30px #15151524;max-height:calc(100dvh - 64px);padding:16px max(24px,calc((100vw - 1152px)/2)) calc(20px + env(safe-area-inset-bottom));overscroll-behavior:contain}
 #mobile-menu .mobile-nav-label{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:#766c5e;margin:4px 0 8px}
 #mobile-menu .mobile-directions{padding-bottom:12px;border-bottom:1px solid #d4cbbb}
 #mobile-menu a{min-height:44px;display:flex;align-items:center;padding:10px 12px;font-size:15px;line-height:1.4;border:0}
 #mobile-menu .mobile-directions a[aria-current="page"]{background:#ece4d8;color:#80582e;border-left:2px solid #9b7041;padding-left:10px}
 #mobile-menu .mobile-main-links{padding-block:8px;border-bottom:1px solid #d4cbbb}
 #mobile-menu .mobile-main-links [aria-current="page"]{color:#80582e}
 #mobile-menu .mobile-call{margin-top:16px;padding:14px 16px;flex-direction:column;align-items:flex-start;background:#ece4d8;gap:5px}
 .mobile-call span{font-size:12px;color:#766c5e}.mobile-call strong{font-size:19px;font-weight:400}
 .page-contents-desktop{display:none}.page-contents-mobile{display:block;border-block:1px solid #d4cbbb}
 .page-contents-mobile summary{cursor:pointer;min-height:52px;padding:15px 0;color:#403b34;font-size:14px}
 .page-contents-mobile nav{padding-bottom:14px}.page-contents-mobile a{padding-block:10px}
}
@media(max-width:359px){.site-header #mobile-menu{padding-inline:16px}}
@media(prefers-reduced-motion:reduce){.directions-toggle>span{transition:none}}
@media(max-width:1100px){
 .menu-toggle[aria-expanded="true"] span:first-child{transform:translateY(6px) rotate(45deg)}
 .menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
 .menu-toggle[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}
 .page-contents-mobile summary{display:flex;align-items:center;justify-content:space-between}
 .page-contents-mobile summary::after{content:'+';font-size:20px;color:#80582e}
 .page-contents-mobile[open] summary::after{content:'−'}
}
