/* One public Website header; does not load in native /client/ or legacy Guest. */
@font-face{font-family:'DM Sans';src:url('/fonts/DMSans-variable.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:'Manrope';src:url('/fonts/Manrope-variable.ttf') format('truetype');font-weight:400 800;font-display:swap}
html:not(.guest-booking) header.membership-nav{height:92px;padding:0 max(6%,calc((100% - 1400px)/2));box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:24px}
html:not(.guest-booking) header.membership-nav nav{display:flex;align-items:center;gap:30px;margin:0;font:400 12px/1.6 'DM Sans',sans-serif}
html:not(.guest-booking) header.membership-nav nav a{margin:0;padding:10px 0;font:inherit;white-space:nowrap;flex:none}
html:not(.guest-booking) header.membership-nav .wordmark{font:600 15px/1 'Manrope',sans-serif;letter-spacing:1px}
@media(max-width:1050px){
 html:not(.guest-booking) header.membership-nav{height:auto;min-height:118px;flex-wrap:wrap;align-content:center;gap:4px;padding:12px 6%}
 html:not(.guest-booking) header.membership-nav nav{width:100%;justify-content:space-between;gap:12px}
 html:not(.guest-booking) header.membership-nav nav a{min-height:44px;display:flex;align-items:center}
}
@media(max-width:600px){
 html:not(.guest-booking) header.membership-nav{justify-content:center;padding:18px 6% 10px;gap:10px}
 html:not(.guest-booking) header.membership-nav nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px;text-align:center}
 html:not(.guest-booking) header.membership-nav nav a{justify-content:center}
 html:not(.guest-booking) header.membership-nav .wordmark{font-size:10px;letter-spacing:.6px}
}

html:not(.guest-booking) header.membership-nav .nav-account-menu{margin:0;padding:0}
.customer-account-page .signin-benefits strong{margin-left:0}

@media(max-width:600px){html:not(.guest-booking) header.membership-nav .nav-account-menu{justify-content:center}html:not(.guest-booking) header.membership-nav .nav-account-menu>a{width:100%}}

/* Shared public overlay header. Native/legacy Guest navigation is excluded. */
html:not(.guest-booking){--public-header-height:92px}
html:not(.guest-booking) header.membership-nav{position:relative;z-index:30;height:var(--public-header-height);min-height:var(--public-header-height);margin-bottom:calc(-1 * var(--public-header-height));background:rgba(12,12,12,.48);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.16);color:#fff}
html:not(.guest-booking) header.membership-nav .wordmark{font-size:18px;letter-spacing:.8px}
html:not(.guest-booking) header.membership-nav nav{font-size:16px;gap:26px}
html:not(.guest-booking) header.membership-nav nav a{color:#fff}
html:not(.guest-booking) header.membership-nav .logo{width:34px;height:34px}
html:not(.guest-booking) main>.hero{padding-top:calc(var(--public-header-height) + 42px)}
html:not(.guest-booking) .membership-page .membership-hero{padding-top:calc(var(--public-header-height) + 52px)}
html:not(.guest-booking) [data-reservation-page] .reservation-scene-copy{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-contact .inline-contact{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-account:has(#signin:not([hidden])) .account-main{padding-top:calc(var(--public-header-height) + 64px)}
html:not(.guest-booking) .noir-account>.noir-scene{top:0}
html:not(.guest-booking) .portal-main .portal-container{padding-top:calc(var(--public-header-height) + 40px)}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav{margin-bottom:0;background:#111}
@media(max-width:1150px){html:not(.guest-booking) header.membership-nav nav{font-size:14px;gap:16px}html:not(.guest-booking) header.membership-nav .wordmark{font-size:16px}}
@media(max-width:1050px){html:not(.guest-booking){--public-header-height:128px}}
@media(max-width:600px){html:not(.guest-booking){--public-header-height:174px}html:not(.guest-booking) header.membership-nav .wordmark{font-size:12px}html:not(.guest-booking) header.membership-nav nav{font-size:14px}html:not(.guest-booking) main>.hero{padding-top:calc(var(--public-header-height) + 28px)}html:not(.guest-booking) .membership-page .membership-hero{padding-top:calc(var(--public-header-height) + 32px)}html:not(.guest-booking) [data-reservation-page] .reservation-scene-copy{padding-top:calc(var(--public-header-height) + 36px)}}
@media(max-width:1050px){html:not(.guest-booking) header.membership-nav{flex-direction:row;flex-wrap:wrap}html:not(.guest-booking) header.membership-nav nav{flex:0 0 100%;min-width:0}}
@media(max-width:600px){html:not(.guest-booking) header.membership-nav nav{gap:0 10px}html:not(.guest-booking) header.membership-nav .brand-lockup{max-width:100%}html:not(.guest-booking) header.membership-nav .wordmark{font-size:11px}}

/* Edge-aligned transparent public header, with room for the language control. */
html:not(.guest-booking) header.membership-nav{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:0;padding-inline:clamp(20px,2.7vw,52px);width:100%;max-width:none}
html:not(.guest-booking) header.membership-nav nav{margin-left:auto;gap:clamp(14px,1.7vw,30px)}
@media(max-width:1150px){html:not(.guest-booking){--public-header-height:128px}html:not(.guest-booking) header.membership-nav{flex-wrap:wrap;align-content:center;gap:6px}html:not(.guest-booking) header.membership-nav nav{flex:0 0 100%;justify-content:space-between}}
@media(max-width:600px){html:not(.guest-booking){--public-header-height:210px}html:not(.guest-booking) header.membership-nav{padding-inline:16px}html:not(.guest-booking) header.membership-nav nav{gap:0 8px}html:not(.guest-booking) header.membership-nav nav .language-control{grid-column:3;justify-self:end}}

html:not(.guest-booking) .public-legal-page header.membership-nav{margin-bottom:0;background:transparent;color:#111}
html:not(.guest-booking) .public-legal-page header.membership-nav :is(a,.wordmark,.language-control){color:#111}
html:not(.guest-booking) .public-legal-page header.membership-nav .language-options button{color:#fff}
.public-legal-page{background:#f5f5f5;color:#111}.public-legal-page main{width:calc(100% - 40px)}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav{background:transparent;backdrop-filter:none}
html:not(.guest-booking) .noir-account:has(#signin[hidden]) header.membership-nav :is(a,.wordmark,.language-control){color:#111}
/* The mobile address sheet owns the viewport while searching. */
@media(max-width:700px){
 html:not(.guest-booking) body[data-reservation-page]:has(.address-widget.address-searching) header.membership-nav{visibility:hidden;pointer-events:none}
}
