/* Full desktop navigation and the mobile dialog share the native WordPress menu. */
html{scrollbar-gutter:stable}
.site-header{--header-height:108px;position:sticky;top:0;z-index:20;height:var(--header-height);pointer-events:none}
.header-inner{display:flex;align-items:center;gap:clamp(18px,2vw,28px);width:100%;max-width:1480px;height:var(--header-height);margin-inline:auto;padding:24px clamp(24px,3vw,48px);border:1px solid transparent;border-bottom-color:var(--line);background:var(--paper);pointer-events:auto;transition:width .32s ease,max-width .32s ease,height .32s ease,padding .32s ease,transform .32s ease,border-radius .32s ease,border-color .32s ease,background-color .32s ease,box-shadow .32s ease}
.site-header .brand .rosette{transition:transform .4s ease}
.site-header.is-scrolled .header-inner{width:calc(100% - 48px);max-width:1280px;height:78px;padding:12px 24px;transform:translateY(12px);border-color:var(--line);border-radius:12px;box-shadow:0 10px 32px -12px #253b3033,0 2px 6px #253b3008}
.site-header.is-scrolled .brand .rosette{transform:rotate(30deg)}
@supports (backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px)){
 .site-header.is-scrolled .header-inner{background:color-mix(in srgb,var(--paper) 90%,transparent);-webkit-backdrop-filter:blur(18px) saturate(115%);backdrop-filter:blur(18px) saturate(115%)}
}
.admin-bar .site-header{top:32px}
.site-header .brand{margin-right:auto;flex-shrink:0}
.header-navigation{flex-shrink:0}
.header-menu{display:flex;gap:clamp(14px,1.7vw,24px);align-items:center;list-style:none;padding:0;margin:0}
.header-menu a{display:flex;align-items:center;min-height:44px;padding:10px 0;font-size:13px;position:relative;white-space:nowrap}
.header-menu a::after{content:'';position:absolute;left:0;right:0;bottom:5px;height:1px;background:var(--rust);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.header-menu a:hover::after,.header-menu a[aria-current]::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:28px;flex-shrink:0}
.header-booking{min-height:46px}
.menu-toggle,.menu-close{display:inline-flex;align-items:center;justify-content:center;gap:15px;border:0;background:transparent;padding:0;color:var(--ink);min-height:48px;font-size:12px}
.menu-toggle{display:none}
.menu-icon,.close-icon{display:grid;align-content:center;justify-items:center;gap:6px;width:48px;height:48px;border:1px solid var(--line);border-radius:50%;transition:background .2s,border-color .2s}
.menu-icon i{display:block;width:18px;height:1px;background:currentColor;transition:transform .2s}
.menu-icon i:last-child{width:12px;justify-self:end;margin-right:14px}
.menu-toggle:hover .menu-icon,.menu-close:hover .close-icon{background:var(--paper-dark);border-color:var(--rust)}
.menu-toggle:focus-visible,.menu-close:focus-visible{outline:0}
.menu-toggle:focus-visible .menu-icon,.menu-close:focus-visible .close-icon{outline:2px solid var(--rust);outline-offset:4px}
.menu-toggle:hover .menu-icon i:last-child{transform:translateX(-3px)}
.close-icon{position:relative}
.close-icon::before,.close-icon::after{content:'';position:absolute;width:19px;height:1px;background:currentColor;top:23px;left:14px;transform:rotate(45deg)}
.close-icon::after{transform:rotate(-45deg)}
.site-menu{position:fixed;inset:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;border:0;background:var(--paper);color:var(--ink);overflow:hidden}
.site-menu::backdrop{background:var(--paper)}
.site-menu[open]{animation:menu-arrive .25s ease-out}
.menu-shell{max-width:1480px;margin:auto;padding-inline:var(--gutter);height:100%;display:flex;flex-direction:column}
.menu-bar{display:flex;justify-content:space-between;align-items:center;gap:25px;min-height:108px;flex-shrink:0;border-bottom:1px solid var(--line);padding-block:24px}
.menu-body{min-height:0;overflow:auto;overscroll-behavior:contain;display:grid;grid-template-columns:1.06fr 1fr;gap:8%;padding:30px 8px 35px 0;flex:1;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.primary-nav{min-width:0}
.menu-without-stays{grid-template-columns:1fr}
.directory-list,.directory-list .sub-menu{list-style:none;padding:0;margin:0}
.directory-list{counter-reset:menu-entry}
.directory-list>li{counter-increment:menu-entry;border-bottom:1px solid var(--line)}
.directory-list>li:first-child{border-top:1px solid var(--line)}
.directory-list>li>a{display:flex;align-items:center;gap:20px;padding:14px 10px 14px 0;min-height:65px;transition:color .2s,background .2s}
.directory-list>li>a::before{content:counter(menu-entry,decimal-leading-zero);font:400 11px/1.5 var(--sans);color:var(--rust);align-self:flex-start;margin-top:9px;min-width:19px}
.directory-link-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.directory-link-title{font:400 31px/1.12 var(--serif);letter-spacing:-.035em;overflow-wrap:anywhere}
.directory-link-description{font-size:11px;line-height:1.6;color:var(--muted);overflow-wrap:anywhere}
.directory-arrow{font-size:22px;margin-left:auto;opacity:.5;transition:transform .2s,opacity .2s}
.directory-list a:hover,.directory-list a[aria-current=page]{color:var(--rust)}
.directory-list a:hover .directory-arrow{transform:translate(3px,-3px);opacity:1}
.directory-list .current-menu-item>a .directory-link-title{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.directory-list .sub-menu{padding:0 0 12px 39px;display:grid;gap:4px}
.directory-list .sub-menu a{display:flex;gap:15px;padding:9px 10px 9px 0;min-height:44px}
.directory-list .sub-menu .directory-link-title{font:500 13px/1.5 var(--sans);letter-spacing:0}
.menu-stays{align-self:start;padding-top:8px;min-width:0}
.menu-stays>.eyebrow{color:var(--rust);font-size:9px;margin-bottom:16px}
.menu-stays h2{font-size:clamp(32px,3.2vw,46px);line-height:1.12;margin:0 0 28px}
.menu-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.menu-stay{display:block;min-width:0}
.menu-stay-photo{display:block;position:relative;aspect-ratio:.92;overflow:hidden;background:var(--paper-dark);margin-bottom:17px}
.menu-stay-photo>.editable-photo{width:100%;height:100%}
.menu-stay-photo img{width:100%;height:100%;object-fit:cover;transition:transform .45s}
.menu-stay:hover img{transform:scale(1.035)}
.menu-stay-photo>span:last-child{position:absolute;bottom:12px;right:12px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);width:36px;height:36px;font-size:22px}
.menu-stay-title{display:block;font:400 28px/1.2 var(--serif);letter-spacing:-.035em;margin-bottom:9px}
.menu-stay-facts{display:block;font-size:10px;line-height:1.8;color:var(--muted)}
.menu-footer{display:flex;align-items:center;gap:35px;flex-shrink:0;padding:20px 0;border-top:1px solid var(--line)}
.menu-address{margin:0 auto 0 0;font-size:12px;line-height:1.6}
.menu-address>span:last-child{display:block;font-size:10px;color:var(--muted)}
.menu-phone{font:400 24px/1.5 var(--serif);white-space:nowrap;padding-block:8px}
.menu-booking{min-height:48px}
.static-navigation{padding-block:20px}
.static-menu{display:flex;flex-wrap:wrap;gap:12px 24px;list-style:none;padding:0;margin:0}
.static-menu a{display:inline-block;padding:8px 0;text-decoration:underline}
@keyframes menu-arrive{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:none}}
@media(min-width:1024px){.static-navigation{display:none}}
@media(max-width:1023px){.header-navigation{display:none}.menu-toggle{display:inline-flex}.site-header{--header-height:98px}.menu-bar{min-height:98px}.menu-body{gap:6%}.directory-link-title{font-size:29px}.menu-stay-grid{gap:15px}.menu-stay-title{font-size:25px}.menu-stay-photo{aspect-ratio:.78}}
@media(max-width:760px){
 .site-header{--header-height:88px}
 .header-inner,.menu-bar{padding-block:18px;gap:20px}
 .menu-bar{min-height:88px}
 .site-header.is-scrolled .header-inner{width:calc(100% - 20px);height:68px;padding:10px 12px;transform:translateY(8px);border-radius:10px;gap:12px}
 .header-booking{display:none}
 .site-header .brand-name,.menu-bar .brand-name{font-size:29px}
 .site-header .brand-caption,.menu-bar .brand-caption{font-size:6px}
 .site-header .brand .rosette,.menu-bar .brand .rosette{width:35px;height:35px}
 .menu-toggle,.menu-close{gap:10px;font-size:11px}
 .menu-icon,.close-icon{width:44px;height:44px}
 .menu-icon i:last-child{margin-right:12px}
 .close-icon::before,.close-icon::after{top:21px;left:12px}
 .menu-body{display:block;padding:12px 5px 25px 0}
 .directory-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
 .directory-list>li>a{position:relative;flex-direction:column;align-items:flex-start;padding:12px 0 14px;min-height:100%;gap:6px}
 .directory-list>li:nth-child(-n+2){border-top:0}
 .directory-link-title{font-size:clamp(20px,6vw,25px)}
 .directory-link-description{font-size:11px}
 .directory-list>li>a::before{font-size:9px;margin:0}
 .directory-arrow{position:absolute;right:1px;top:8px;font-size:17px}
 .directory-list .sub-menu{padding-left:0}
 .directory-list .sub-menu a{position:relative;padding-right:20px}
 .menu-stays{padding:24px 0 5px}
 .menu-stays>.eyebrow,.menu-stays h2{display:none}
 .menu-stay-photo{aspect-ratio:1.7;margin-bottom:10px}
 .menu-stay-title{font-size:23px;margin-bottom:5px}
 .menu-stay-facts{font-size:10px;line-height:1.5}
 .menu-footer{gap:15px;padding-block:14px}
 .menu-address{display:none}
 .menu-phone{font:500 11px/1.5 var(--sans);margin-right:auto}
 .menu-booking{padding:14px 16px;font-size:10px;gap:16px;min-height:48px}
}
@media(max-width:782px){.admin-bar .site-header{top:46px}}
@media(max-width:600px){.admin-bar .site-header{top:0}}
@media(max-height:500px){.menu-bar{min-height:72px;padding-block:12px}.menu-footer{padding-block:10px}.menu-body{padding-top:16px}.menu-address{display:none}.menu-phone{margin-right:auto}}
@media(max-width:370px){.site-header .brand .rosette,.menu-bar .brand .rosette{display:none}.menu-stay-title{font-size:23px}.menu-booking{gap:10px;padding-inline:12px}}
@media(prefers-reduced-motion:reduce){.site-menu[open]{animation:none}.menu-stay-photo img,.directory-arrow,.menu-icon i,.header-inner,.site-header .brand .rosette{transition:none}}
@media(prefers-reduced-transparency:reduce){.site-header.is-scrolled .header-inner{background:var(--paper);-webkit-backdrop-filter:none;backdrop-filter:none}}
@media print{.site-menu,.site-header,.static-navigation{display:none!important}}
