/* Frontpage restoration: photographic composition comes first. */
body[data-page=membership]{--front-night:url('/assets/front-night-ai.webp');--front-day:url('/assets/front-day.webp')}
body[data-page=membership] .scene{background:#02090d!important}
body[data-page=membership] .scene:after{display:none}
body[data-page=membership] .site-header{padding:18px 5% 16px;background:#020b10f5;backdrop-filter:none;gap:6px 24px}
body[data-page=membership] .header-main{grid-column:1;grid-row:1;display:contents}
body[data-page=membership] .brand{grid-column:1;grid-row:1}
body[data-page=membership] .theme-switch{grid-column:2;grid-row:1;justify-self:end}
body[data-page=membership] .header-sub{grid-column:1/-1;grid-row:2;margin-top:0}
body[data-page=membership] .header-sub small{font-size:12px}
body[data-page=membership] nav a{font-size:14px;padding:8px 16px}
body[data-page=membership] .front-hero{position:relative;isolation:isolate;padding:44px 5% 48px;background:linear-gradient(90deg,#02090dde 0%,#02090d9c 28%,#02090d15 57%,transparent 80%),linear-gradient(0deg,#02090d,transparent 22%),var(--front-night) 58% center/cover no-repeat!important;min-height:1010px}
body[data-page=membership] .hero-copy{max-width:650px;padding:0}
body[data-page=membership] .hero h1{font-size:clamp(54px,5.7vw,86px);line-height:.99;letter-spacing:-.045em;margin:14px 0 20px;text-shadow:0 3px 18px #0007}
body[data-page=membership] .hero .eyebrow{font-size:14px;letter-spacing:.18em}
body[data-page=membership] .hero .statement{font-size:16px;line-height:1.5;max-width:340px;margin:20px 0 26px;padding-top:15px;letter-spacing:.12em}
body[data-page=membership] .membership-form{width:min(100%,490px);max-width:490px;padding:25px 28px;border-radius:14px;background:linear-gradient(135deg,#04131bee,#04131bd9);backdrop-filter:blur(6px);box-shadow:0 0 22px #00dce81b,0 14px 36px #0006}
body[data-page=membership] .membership-form h2{font-size:28px;margin:0 0 4px}
body[data-page=membership] .membership-form>.eyebrow{font-size:12px;letter-spacing:.15em;margin:0 0 10px}
body[data-page=membership] .membership-form label:not(.checkbox){margin-top:11px;font-size:14px}
body[data-page=membership] .membership-form input:not([type=checkbox]){height:45px;border-radius:5px;background:#020b11aa}
body[data-page=membership] .checkbox{margin:14px 0;font-size:14px;align-items:center}
body[data-page=membership] .membership-form .primary{min-height:48px;border-radius:5px}
body[data-page=membership] .membership-form .fine{margin:12px 0;font-size:12px}
body[data-page=membership] .form-meta{margin:10px 0;padding-top:10px;font-size:12px}
body[data-page=membership] .preview-note{margin:10px 0 0}
body[data-page=membership] .front-benefits{padding:15px 5% 26px;background:#02090d}
body[data-page=membership] .benefits{max-width:none;margin:0;gap:0}
body[data-page=membership] .benefits>div{display:flex;align-items:center;justify-content:center;gap:15px;padding:20px 16px;border:0;border-right:1px solid #2e535e;border-radius:0;background:none!important;box-shadow:none!important}
body[data-page=membership] .benefits>div:last-child{border-right:0}
body[data-page=membership] .benefits svg{width:37px;height:37px}
body[data-page=membership] .benefits b{font-size:15px}
body[data-page=membership] .benefits small{font-size:13px;margin-top:4px}
body[data-page=membership] .lower{padding:40px 5% 45px;min-height:500px;background:#02090d!important;overflow:hidden}
body[data-page=membership] .steps{max-width:49%}
body[data-page=membership] .steps h2{font-size:34px;margin-top:0}
body[data-page=membership] .steps li{margin-bottom:20px}
body[data-page=membership] .steps p{font-size:16px}
body[data-page=membership] .portal{width:46%;height:560px;right:-1%;bottom:-90px;max-width:680px}
body[data-page=membership] .portal-arrow{left:12%;bottom:25%;font-size:44px}
body[data-page=membership] .portal-world{background-image:var(--front-day);background-position:58% 50%}
body[data-page=membership] .coastal{position:relative;isolation:isolate;min-height:540px;overflow:hidden;background:#02090d}
.coastal-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 55%;z-index:-2}
.coastal:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#02090d 0%,#02090d16 35%,#02090d12 70%,#02090d 100%)}
.coastal-content{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:start;gap:36px;padding:35px 9% 60px}
.coastal-title{max-width:460px;text-shadow:0 2px 18px #000}
.coastal-title h2{font-size:44px;margin:10px 0}.coastal-title .eyebrow{font-size:14px}
body[data-page=membership] .front-map{margin:25px 0 0;width:340px;flex:none;padding:20px 24px;background:#03141eea;border-radius:12px;backdrop-filter:blur(8px)}
.front-map h3{font:850 26px Anybody;margin:0}.front-map .map-box{margin:10px 0}.front-map .map-box iframe{height:230px}
.coastal-palm{position:absolute;z-index:1;pointer-events:none;bottom:-40px;width:220px;height:420px;object-fit:cover;opacity:.8;mix-blend-mode:screen}.palm-left{left:-70px}.palm-right{right:-80px;transform:scaleX(-1)}
body[data-page=membership] footer{padding:28px 5%!important;min-height:165px;background:#02090d!important;display:flex;align-items:center;justify-content:space-between;gap:20px}
[data-theme=day] body[data-page=membership] .scene,[data-theme=day] body[data-page=membership] .front-benefits,[data-theme=day] body[data-page=membership] .lower,[data-theme=day] body[data-page=membership] footer{background:#f5f8f8!important}
[data-theme=day] body[data-page=membership] .site-header{background:#f5f8f8}
[data-theme=day] body[data-page=membership] .front-hero{background:linear-gradient(90deg,#f5f8f8ed 0%,#f5f8f8b5 26%,#f5f8f810 58%,transparent 80%),linear-gradient(0deg,#f5f8f8,transparent 20%),var(--front-day) 55% center/cover no-repeat!important}
[data-theme=day] body[data-page=membership] .hero h1{text-shadow:0 2px 15px #fff8}
[data-theme=day] body[data-page=membership] .membership-form{background:#fffffff0;box-shadow:0 12px 32px #182d3522}
[data-theme=day] body[data-page=membership] .membership-form input:not([type=checkbox]){background:#f2f6f6}
[data-theme=day] body[data-page=membership] .portal-world{background-image:var(--front-night)}
[data-theme=day] .coastal:after{background:linear-gradient(180deg,#f5f8f8,transparent 35%,transparent 80%,#f5f8f8)}
[data-theme=day] .coastal-title{text-shadow:0 2px 12px #fff;background:#ffffffba;padding:15px 20px;border-radius:4px}
[data-theme=day] body[data-page=membership] .front-map{background:#ffffffed}
[data-theme=day] .coastal-palm{mix-blend-mode:multiply;opacity:.85}
@media(max-width:999px){body[data-page=membership] .header-main{display:flex}.coastal-content{padding-left:6%;padding-right:6%}.coastal-title h2{font-size:34px}body[data-page=membership] .front-map{width:310px}}
@media(max-width:760px){
body[data-page=membership] .site-header{padding:15px 18px;background:#020b10}
body[data-page=membership] .header-sub{margin-top:8px;font-size:12px}body[data-page=membership] .header-sub small{font-size:10px}
body[data-page=membership] nav{flex-wrap:wrap;gap:6px}body[data-page=membership] nav a{font-size:12px;padding:8px 7px;flex:1 1 auto}
body[data-page=membership] .front-hero{padding:30px 20px 25px;min-height:0;background:none!important}
body[data-page=membership] .front-hero:before{content:'';position:absolute;inset:0 0 auto;height:680px;z-index:-1;background:linear-gradient(90deg,#02090d9c,transparent 85%),linear-gradient(0deg,#02090d,transparent 45%),var(--front-night) 55% 0/auto 680px no-repeat}
body[data-page=membership] .hero-copy{min-height:320px;max-width:100%}
body[data-page=membership] .hero h1{font-size:clamp(42px,10.9vw,70px);margin:12px 0 18px}
body[data-page=membership] .hero .eyebrow{font-size:12px;letter-spacing:.13em}
body[data-page=membership] .hero .statement{font-size:14px;max-width:250px;line-height:1.5;letter-spacing:.05em}
body[data-page=membership] .membership-form{max-width:100%;padding:22px 20px;background:#04121cea}
body[data-page=membership] .membership-form h2{font-size:25px}
body[data-page=membership] .front-benefits{padding:18px 20px}
body[data-page=membership] .benefits{gap:22px 14px}
body[data-page=membership] .benefits>div{padding:0;border:0;justify-content:start;gap:10px}
body[data-page=membership] .benefits svg{width:29px;height:29px}
body[data-page=membership] .benefits b{font-size:13px}body[data-page=membership] .benefits small{font-size:12px}
body[data-page=membership] .lower{padding:35px 20px 250px;min-height:0}
body[data-page=membership] .steps{max-width:100%}
body[data-page=membership] .steps h2{font-size:29px}
body[data-page=membership] .steps p{font-size:16px;max-width:100%}
body[data-page=membership] .portal{width:69%;height:350px;right:-12px;bottom:-55px}
body[data-page=membership] .portal-arrow{left:-16%;bottom:42%}
body[data-page=membership] .coastal{min-height:620px}
.coastal-content{display:block;padding:35px 25px 180px}.coastal-title h2{font-size:33px}.coastal-title{max-width:100%}.coastal-title .eyebrow{font-size:12px}
body[data-page=membership] .front-map{width:100%;margin-top:20px;padding:19px 20px}
.coastal-photo{object-position:62% center}.coastal-palm{width:155px;height:310px;bottom:-25px}.palm-left{left:-70px}.palm-right{right:-75px}
body[data-page=membership] footer{display:block;padding:25px 20px!important;min-height:200px}footer .footer-brand{align-items:center}
[data-theme=day] body[data-page=membership] .front-hero:before{background:linear-gradient(90deg,#f5f8f8dc,#f5f8f820),linear-gradient(0deg,#f5f8f8,transparent 50%),var(--front-day) 52% 0/auto 650px no-repeat}
[data-theme=day] .coastal-title{padding:12px 15px}
}
body[data-page=membership] h1,body[data-page=membership] h2{letter-spacing:-.012em;word-spacing:.06em}
body[data-page=membership] .portal-world{mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cpath fill='white' d='M70 6Q59 29 45 44Q27 65 8 80Q30 52 43 40Q56 25 70 6Z M90 0Q76 31 62 48Q36 77 15 97Q36 65 54 41Q77 16 90 0Z M97 18Q88 42 71 64Q52 84 38 92Q61 60 74 47Q89 30 97 18Z M100 40Q90 63 75 78Q64 92 57 100L100 100Z'/%3E%3C/svg%3E");opacity:.68}
@media(max-width:760px){body[data-page=membership] .hero-copy{min-height:340px}}
/* Approved correction: clear photograph, no claw, coast immediately after form. */
body[data-page=membership] .front-hero{background:var(--front-night) 58% center/cover no-repeat!important;min-height:0;padding-bottom:35px}
[data-theme=day] body[data-page=membership] .front-hero{background:var(--front-day) 55% center/cover no-repeat!important}
body[data-page=membership] .membership-form{background:#04121c;backdrop-filter:none;box-shadow:0 8px 30px #0006,0 0 12px #00dce822}
[data-theme=day] body[data-page=membership] .membership-form{background:#fff;backdrop-filter:none}
body[data-page=membership] .hero-copy{max-width:570px}
body[data-page=membership] .hero-copy h1{text-shadow:0 2px 5px #000,0 0 20px #0008}
body[data-page=membership] .hero-copy .statement,body[data-page=membership] .hero-copy .eyebrow{text-shadow:0 1px 4px #000,0 0 9px #000}
[data-theme=day] body[data-page=membership] .hero-copy h1,[data-theme=day] body[data-page=membership] .hero-copy .statement,[data-theme=day] body[data-page=membership] .hero-copy .eyebrow{text-shadow:0 1px 3px #fff,0 0 8px #fff}
.opening-sign{position:absolute;top:48px;right:5%;width:230px;aspect-ratio:2.08;border-radius:9% / 20%;background:url('/assets/hours-night.webp') 50% 49%/112.5% auto no-repeat;filter:drop-shadow(0 3px 8px #00dce84d)}
[data-theme=day] .opening-sign{background-image:url('/assets/hours-day.webp');background-size:104% auto;background-position:50% 49%;filter:drop-shadow(0 3px 8px #9b6e2340)}
body[data-page=membership] .coastal-showcase{min-height:0;position:relative;background:#02090d;padding:0}
.coastal-showcase:after{display:none}
.coastal-showcase .coastal-photo{position:relative;display:block;inset:auto;z-index:0;width:100%;height:auto;object-fit:contain}
.coastal-caption{position:relative;z-index:2;padding:19px 5%;background:#02090d;text-align:center}
.coastal-caption p{margin:0;letter-spacing:.25em;font-size:14px}
.coastal-showcase .coastal-palm{z-index:1;width:20%;height:86%;bottom:-12%;object-fit:contain;opacity:.8}
.coastal-showcase .palm-left{left:-6%}.coastal-showcase .palm-right{right:-6%}
[data-theme=day] .coastal-caption,[data-theme=day] body[data-page=membership] .coastal-showcase{background:#f5f8f8}
body[data-page=membership] .front-benefits{padding-top:25px}
body[data-page=membership] .front-details{display:grid;grid-template-columns:1.2fr .8fr;align-items:start;gap:8%;min-height:0;padding-bottom:50px;overflow:visible}
body[data-page=membership] .front-details .steps{max-width:100%}
body[data-page=membership] .front-details .front-map{width:100%;margin:0}
@media(max-width:999px) and (min-width:761px){.opening-sign{width:230px;right:4%;top:38px}body[data-page=membership] .hero-copy{max-width:65%}}
@media(max-width:760px){
body[data-page=membership] .front-hero,[data-theme=day] body[data-page=membership] .front-hero{background:none!important;padding-top:26px;padding-bottom:25px}
body[data-page=membership] .front-hero:before{height:620px;background:var(--front-night) 52% 100%/auto 620px no-repeat!important}
[data-theme=day] body[data-page=membership] .front-hero:before{background:var(--front-day) 55% 100%/auto 620px no-repeat!important}
body[data-page=membership] .hero-copy{min-height:310px;max-width:100%}
.opening-sign{position:absolute;top:78px;right:20px;width:clamp(90px,26vw,140px);margin:0;aspect-ratio:2.08}
body[data-page=membership] .hero h1{max-width:calc(100% - clamp(102px,29vw,155px));font-size:clamp(30px,8.7vw,60px)}
body[data-page=membership] .membership-form{background:#04121c}
body[data-page=membership] .front-details{display:block;padding:30px 20px 38px}
body[data-page=membership] .front-details .front-map{margin:28px 0 0}
.coastal-showcase .coastal-photo{height:210px;object-fit:cover;object-position:58% center}
.coastal-caption{padding:18px 10px}.coastal-caption p{font-size:12px;letter-spacing:.13em}
.coastal-showcase .coastal-palm{height:230px;width:115px;bottom:-28px}.coastal-showcase .palm-left{left:-40px}.coastal-showcase .palm-right{right:-40px}
}
/* Localized original sign artwork and palm wordmark. */
body[data-page=membership] .palm-brand{display:block;width:270px;max-width:45%;mix-blend-mode:screen}
body[data-page=membership] .palm-brand img{display:block;width:100%;height:auto;object-fit:contain;border-radius:0}
[data-theme=day] body[data-page=membership] .palm-brand{mix-blend-mode:multiply;filter:invert(1) hue-rotate(180deg)}
body[data-page=membership] .header-sub>span{visibility:hidden}
.opening-sign{background-image:var(--sign-night);background-size:103% auto;background-position:center;aspect-ratio:2.32;border-radius:12% / 27%}
[data-theme=day] .opening-sign{background-image:var(--sign-day);background-size:103% auto;background-position:center;filter:drop-shadow(0 2px 5px #146e3c40)}
@media(max-width:760px){
body[data-page=membership] .palm-brand{width:180px;max-width:49%}
body[data-page=membership] .header-main{gap:10px}
body[data-page=membership] .theme-switch{min-width:0;width:47%;padding:7px 6px}
.opening-sign{top:76px;width:clamp(96px,27vw,145px);right:16px}
}
body[data-page=membership] .theme-switch>span{white-space:nowrap}

/* Place sign at the actual top-right of the photo, including mobile. */
body[data-page=membership] .opening-sign{top:12px;right:16px}

/* Restore the reference silhouette: left content, full-height room, gold reviews. */
body[data-page=membership] .front-hero{display:block;padding:60px 3.5% 48px;background:linear-gradient(90deg,#02090d99 0%,#02090d33 31%,transparent 55%),var(--front-night) right center/cover no-repeat!important}
body[data-page=membership] .front-hero:before{display:none}
body[data-page=membership] .hero-copy{width:48%;max-width:530px;min-height:0}
body[data-page=membership] .hero h1{font-size:clamp(50px,6.3vw,88px);max-width:none;line-height:1.02}
body[data-page=membership] .hero .statement{max-width:320px;margin-bottom:26px}
body[data-page=membership] .membership-form{margin-left:0;margin-right:auto;width:46%;max-width:490px;border-radius:9px;background:#031017f5;padding:22px 24px}
body[data-page=membership] .opening-sign{top:22px;right:24px}
body[data-page=membership] .review-strip{display:flex;align-items:center;justify-content:center;gap:8%;padding:28px 5%;background:#02090d;border-bottom:1px solid #24414b}
.review-strip>div,.google-reviews{display:flex;flex-direction:column;gap:5px}.google-reviews{text-decoration:none}.google-reviews:hover b{text-decoration:underline}.review-strip b{font-size:16px}.review-strip span{font-size:14px}.review-strip .gold-stars{color:#ffc83d;font-size:29px;letter-spacing:4px;line-height:1.1;text-shadow:0 0 12px #ffc83d33}
[data-theme=day] body[data-page=membership] .front-hero{background:linear-gradient(90deg,#f5f8f8dd,transparent 65%),var(--front-day) right center/cover no-repeat!important}
[data-theme=day] body[data-page=membership] .review-strip{background:#f5f8f8;border-color:#b6cbd2}
[data-theme=day] body[data-page=membership] .membership-form{background:#fffffff5}
@media(max-width:760px){
body[data-page=membership] .front-hero{padding:65px 16px 35px;background:linear-gradient(90deg,#02090d80,transparent 85%),var(--front-night) 62% center/auto 100% no-repeat!important}
body[data-page=membership] .hero-copy{width:77%;max-width:390px;min-height:0;padding-top:0}
body[data-page=membership] .hero h1{font-size:clamp(42px,10vw,69px);max-width:100%;margin:15px 0 20px}
body[data-page=membership] .hero .statement{max-width:230px;font-size:14px;letter-spacing:.07em}
body[data-page=membership] .membership-form{width:88%;max-width:490px;padding:19px 16px}
body[data-page=membership] .membership-form h2{font-size:24px}
body[data-page=membership] .opening-sign{top:12px;right:12px;width:clamp(96px,27vw,145px)}
body[data-page=membership] .hero-copy>.eyebrow{font-size:11px;letter-spacing:.13em}
[data-theme=day] body[data-page=membership] .front-hero{background:linear-gradient(90deg,#f5f8f8bb,transparent 90%),var(--front-day) 58% center/auto 100% no-repeat!important}
body[data-page=membership] .review-strip{gap:20px;padding:25px 18px;justify-content:space-between}.review-strip b{font-size:14px}.review-strip span{font-size:13px}.review-strip .gold-stars{font-size:25px}
}
