/* Additive membership presentation. Existing page content and booking controls are untouched. */
html:not(.guest-booking) .membership-nav nav a[aria-current=page]::after{width:100%}
html:not(.guest-booking) .membership-nav nav{gap:clamp(16px,2vw,30px)}
.membership-skip{position:absolute;left:12px;top:-100px;z-index:100;background:#fff;color:#111;padding:12px}
.membership-skip:focus{top:12px}
.membership-teaser{position:relative;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:8%;background:#111;color:#fff;padding-top:64px;padding-bottom:64px}
.membership-teaser .eyebrow{color:#ccc;font-size:11px}
.membership-teaser h2{font-size:clamp(32px,3.3vw,48px);line-height:1.15;max-width:650px}
.membership-teaser h2 em{font-family:Georgia,serif;font-weight:400}
.membership-teaser-copy>p:not(.eyebrow){color:#ccc;max-width:510px;font-size:15px;line-height:1.8;margin:24px 0}
.membership-teaser .button{width:fit-content;margin-top:26px}
.membership-highlights{list-style:none;padding:6px 0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-content:center}
.membership-highlights li{display:flex;gap:16px;align-items:flex-start;min-width:0}
.membership-highlights svg{flex-shrink:0}
.membership-highlights strong{display:block;font-size:14px;font-weight:500}
.membership-highlights span{display:block;color:#bfbfbf;font-size:12px;margin-top:6px}
.membership-light,.membership-dark{justify-content:center;min-height:48px;border-radius:7px;padding:13px 22px;font:500 14px/1.4 'DM Sans',sans-serif;gap:10px;text-align:center}
.membership-light{background:#fff;color:#111;border:1px solid #fff}
.membership-light:hover{background:#e9e9e9}
.membership-dark{background:#111;color:#fff;border:1px solid #111}
.membership-dark:hover{background:#333}
.membership-discovery{max-width:780px;margin:0 auto 22px;font-size:13px;color:#555;text-align:center}
.membership-discovery a{text-decoration:underline;text-underline-offset:4px;display:inline-block;padding:8px 0}
.membership-page .section{padding-top:72px;padding-bottom:72px}
.membership-page .eyebrow{font-size:11px;letter-spacing:1.8px;margin-bottom:20px}
.membership-page h2{font-size:clamp(30px,3.1vw,44px)}
.membership-page .section-heading{gap:48px}
.membership-page .section-heading>p{font-size:13px;max-width:300px;line-height:1.8}
.membership-page .section-heading>p strong{font-weight:500;color:#333}
.membership-hero{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:center;min-height:470px;background:#111;color:#fff}
.membership-hero>div{position:relative;z-index:1;min-width:0;width:48%;max-width:590px}
.membership-hero h1{font-size:clamp(40px,4.5vw,64px);letter-spacing:-2.2px;line-height:1.12;margin-bottom:24px}
.membership-hero h1 em{color:inherit}
.membership-hero>div>p:not(.eyebrow){max-width:400px;font-size:15px;line-height:1.8;color:#eee}
.membership-hero .eyebrow{color:#ddd}
.membership-hero img{position:absolute;inset:0;z-index:-2;display:block;width:100%;height:100%;object-fit:cover;object-position:70% 60%;filter:grayscale(1) brightness(.6)}
.membership-hero .text-link{color:#fff;font-weight:500;font-size:13px;text-decoration:underline;text-underline-offset:5px}
.membership-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.membership-card{display:flex;flex-direction:column;border:1px solid #dedede;border-radius:10px;padding:28px 24px;min-width:0;background:#fff}
.membership-card-signature{border-color:#555}
.membership-card h3{font:600 14px/1.4 'DM Sans',sans-serif;letter-spacing:1.2px;text-transform:uppercase;margin:0 0 14px}
.membership-price{display:flex;gap:8px;align-items:baseline;margin:0 0 24px;color:#111}
.membership-price strong{font:500 48px/1.1 'Manrope',sans-serif;letter-spacing:-1.5px}
.membership-price span{font-size:13px}
.membership-card-description{font-size:14px;line-height:1.7;color:#626262;max-width:260px;margin:0 0 22px;min-height:48px}
.membership-card ul{list-style:none;border-top:1px solid #e5e5e5;margin:0 0 26px;padding:22px 0 0;font-size:13px;line-height:1.7;color:#555}
.membership-card li{position:relative;padding-left:23px;margin-bottom:14px}
.membership-card li::before{content:'✓';position:absolute;left:0;top:2px;color:#222;font-size:11px}
.membership-card .button{margin-top:auto;font-size:12px;padding:13px 10px;width:100%}
.membership-tier-note{font-size:12px;color:#626262;line-height:1.8;margin:20px 0 0}
.membership-tier-note a,.membership-privacy a{text-decoration:underline;text-underline-offset:3px}
.membership-page .membership-benefits{padding-top:16px}
.membership-benefit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:36px}
.membership-benefit-grid>div{padding:0 26px;border-left:1px solid #dedede}
.membership-benefit-grid>div:first-child{padding-left:0;border-left:0}
.membership-benefit-grid svg{margin-bottom:20px}
.membership-benefit-grid h3{font:500 15px/1.4 'DM Sans',sans-serif;letter-spacing:0;margin-bottom:8px}
.membership-benefit-grid p{font-size:13px;line-height:1.8;color:#626262;max-width:260px;margin:0}
.membership-terms,.membership-request{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:8%;background:#f5f5f5}
.membership-terms>div>p:not(.eyebrow),.membership-request>div>p:not(.eyebrow){font-size:14px;line-height:1.8;color:#626262;max-width:400px}
.membership-policy-note,.membership-request-note{border-top:1px solid #d9d9d9;padding-top:22px;margin-top:28px}
.membership-accordions details{border-top:1px solid #d4d4d4}
.membership-accordions details:last-child{border-bottom:1px solid #d4d4d4}
.membership-accordions summary{cursor:pointer;padding:22px 26px 22px 0;font-size:15px;font-weight:500;min-height:48px}
.membership-accordions summary:focus-visible{outline:2px solid #666;outline-offset:4px}
.membership-accordions ul{padding-left:20px;margin:0 0 26px;font-size:14px;color:#555;line-height:1.8}
.membership-accordions li{margin-bottom:12px}
.membership-page .membership-request{background:#fff}
.membership-form-card{background:#fff;border:1px solid #e3e3e3;border-radius:18px;padding:30px;min-width:0}
.membership-form-card h3{font:500 26px/1.3 'Manrope',sans-serif;letter-spacing:-.8px}
.membership-form-card label{font-size:12px;font-weight:500;margin:18px 0 5px}
.membership-form-card label span{color:#626262;font-weight:400}
.membership-form-card input,.membership-form-card select,.membership-form-card textarea{border:1px solid #dedede;border-radius:7px;padding:10px 12px;min-height:46px;background:#fff;color:#171717;font:400 16px/1.4 'DM Sans',sans-serif;width:100%;min-width:0;margin-top:0}
.membership-form-card textarea{resize:vertical}
.membership-form-card [aria-invalid=true]{border:2px solid #333}
.membership-form-card .button{margin-top:22px;width:100%}
.membership-form-card button:disabled{opacity:.6;cursor:wait}
.membership-form-card [hidden]{display:none!important}
.membership-error{font-size:12px;color:#333;margin:5px 0}
.membership-error:empty{display:none}
#membership-status:not(:empty){padding:12px;background:#f5f5f5;border-left:2px solid #333;margin-top:16px}
.membership-privacy,.membership-preview-note{font-size:12px;line-height:1.7;color:#626262}
.membership-preview-note{border:1px dashed #aaa;padding:12px;background:#f8f8f8}
.membership-trap{position:absolute;width:1px;height:1px;clip-path:inset(50%);overflow:hidden}
#membership-success{scroll-margin-top:25px}
#membership-success>p{font-size:14px;line-height:1.8;color:#555}
#membership-success #membership-reference{font-size:11px;letter-spacing:1px}
@media(min-width:1921px){.membership-teaser,.membership-page .section{padding-left:calc((100% - 1600px)/2);padding-right:calc((100% - 1600px)/2)}}
/* Keep the existing exposed-link navigation, with room for the sixth item. */
@media(min-width:601px) and (max-width:1050px){html:not(.guest-booking) header.membership-nav{height:118px;flex-wrap:wrap;align-content:center;gap:4px;padding-top:8px;padding-bottom:8px}html:not(.guest-booking) .membership-nav nav{width:100%;justify-content:space-between;gap:12px}html:not(.guest-booking) .membership-nav nav a{min-height:44px;display:flex;align-items:center}}
@media(max-width:900px){.membership-teaser{gap:6%}.membership-highlights{grid-template-columns:1fr;gap:22px}.membership-cards{gap:12px}.membership-card{padding:22px 16px}.membership-card-description{min-height:72px}.membership-terms,.membership-request{gap:5%}.membership-form-card{padding:22px}}
@media(max-width:700px){.membership-cards{grid-template-columns:1fr;gap:20px}.membership-card{padding:26px 24px}.membership-card-description{min-height:0;max-width:none}.membership-card ul{font-size:14px}.membership-card .button{font-size:14px}.membership-hero{min-height:570px;align-items:flex-start}.membership-hero>div{width:100%;max-width:430px}.membership-hero img{object-position:67% center;filter:grayscale(1) brightness(.45)}.membership-page .section{padding-top:48px;padding-bottom:48px}.membership-page .section-heading{display:block;margin-bottom:26px}.membership-page .section-heading>p{max-width:none}.membership-terms,.membership-request{grid-template-columns:1fr;gap:32px}.membership-benefit-grid{grid-template-columns:1fr 1fr;gap:28px 0}.membership-benefit-grid>div{padding:0 20px}.membership-benefit-grid>div:nth-child(odd){padding-left:0;border-left:0}.membership-page .membership-benefits{padding-top:0}.membership-teaser{grid-template-columns:1fr;gap:34px;padding-top:48px;padding-bottom:48px}.membership-highlights{grid-template-columns:1fr 1fr;gap:24px}.membership-highlights li{flex-direction:column;gap:12px}.membership-teaser .button{width:100%}.membership-discovery{font-size:12px}}
@media(max-width:600px){html:not(.guest-booking) header.membership-nav{height:auto}html:not(.guest-booking) header.membership-nav nav{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 10px}.membership-hero h1{font-size:42px;letter-spacing:-1.8px}.membership-page footer#site-footer{padding-bottom:24px}}
@media(max-width:359px){html:not(.guest-booking) .membership-nav .brand-lockup .wordmark{font-size:10px;letter-spacing:.6px}html:not(.guest-booking) .membership-nav .brand-lockup{gap:8px}.membership-hero h1{font-size:36px}.membership-card{padding:24px 18px}.membership-form-card{padding:20px 16px}.membership-highlights strong{font-size:13px}.membership-page h2{font-size:30px}}

.guest-booking .membership-discovery{display:none}

/* Assistance disclosure stays within its card at every viewport width. */
.membership-info{display:inline}
.membership-info-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;margin:0 0 0 4px;padding:0;border:1px solid #999;border-radius:50%;background:#fff;color:#333;font:600 11px/1 Georgia,serif;vertical-align:middle;cursor:pointer}
.membership-info-button:focus-visible{outline:2px solid #111;outline-offset:3px}
.membership-info-box{position:absolute;z-index:5;top:100%;left:0;right:0;padding:12px;background:#fff;border:1px solid #555;border-radius:7px;font:400 12px/1.5 'DM Sans',sans-serif;color:#444;text-align:left}
.membership-info-box[hidden]{display:none}
.membership-info-box strong,.membership-info-box>span{display:block;margin-bottom:8px}
.membership-info-box strong{color:#111;font-weight:600}
.membership-info-box a{text-decoration:underline;text-underline-offset:3px}
