/* Shared public dropdown, matching the Projects navigation. */
.site-menu{position:relative;z-index:30;color:#283139;font-family:'Helvetica Neue',Helvetica,Arial,sans-serif;flex:0 0 auto}
.site-menu>summary{display:grid;align-content:center;gap:4px;width:40px;height:40px;padding:10px 7px;cursor:pointer;list-style:none;box-sizing:border-box}
.site-menu>summary::-webkit-details-marker{display:none}
.site-menu>summary>span{display:block;width:25px;height:1px;background:#283139;transition:transform .2s,opacity .2s}
.site-menu[open]>summary>span:first-child{transform:translateY(5px) rotate(45deg)}
.site-menu[open]>summary>span:nth-child(2){opacity:0}
.site-menu[open]>summary>span:last-child{transform:translateY(-5px) rotate(-45deg)}
.site-menu>.site-menu-panel{position:absolute;z-index:30;right:0;top:calc(100% + 10px);min-width:160px;padding:7px;background:#fff;border:1px solid #e6e6e6;box-shadow:0 10px 25px #00000014;border-radius:0;display:block;box-sizing:border-box}
.site-menu>.site-menu-panel>a{display:block;margin:0;padding:11px 12px;color:#283139;font:400 12px/1.5 'Helvetica Neue',Helvetica,Arial,sans-serif;letter-spacing:.6px;text-transform:uppercase;text-decoration:none;white-space:nowrap;border:0;border-radius:0}
.site-menu>.site-menu-panel>a:hover,.site-menu>.site-menu-panel>a[aria-current=page]{background:#edf0f2;color:#283139}
.site-menu>summary:focus-visible,.site-menu>.site-menu-panel>a:focus-visible{outline:2px solid #738897;outline-offset:3px}
.site-menu[open]>.site-menu-panel{animation:public-menu-in .18s ease-out}
@keyframes public-menu-in{from{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:none}}
.auth-nav,.booking-nav{display:flex;justify-content:space-between;align-items:center;gap:24px;position:relative;z-index:30}
.auth-nav{margin-bottom:2rem}.auth-nav .auth-brand{margin-bottom:0}
.auth-page .site-menu>summary>span{background:#edf0f2}
.booking-nav{margin-bottom:36px}.booking-nav .wordmark{margin:0}
.book-header{align-items:center;position:relative;z-index:30}
.book-header .site-menu>summary>span{display:block}
.ad-landing-header{position:relative;z-index:30;gap:20px}
.ad-landing-header-actions{display:flex;align-items:center;gap:24px}
@media(max-width:520px){.ad-landing-header-actions{gap:10px}.ad-landing-header-actions .ad-landing-header-cta{font-size:9px}.auth-nav{margin-bottom:1.5rem}}
@media(prefers-reduced-motion:reduce){.site-menu[open]>.site-menu-panel{animation:none}.site-menu>summary>span{transition:none}}
