body{background:var(--vls-white)}
.navbar{min-height:82px;border-bottom:1px solid var(--vls-line);background:rgba(255,255,255,.97);box-shadow:0 .35rem 1.5rem rgba(18,35,63,.06)}
.navbar-brand{display:inline-flex;align-items:center;padding:0}
.navbar-brand picture{display:block;line-height:0}
.navbar-brand img{display:block;width:150px;height:56px;max-height:none;object-fit:cover;object-position:center}
.brand-wordmark{margin-left:.65rem;color:var(--vls-ink);font-size:1rem;font-weight:850;letter-spacing:.025em;white-space:nowrap}
.brand-wordmark strong{color:var(--vls-orange)}
.navbar .nav-link{position:relative;padding:.75rem .7rem!important;color:var(--vls-ink);font-size:.88rem;font-weight:750}
.navbar .nav-link:hover,.navbar .nav-link:focus,.navbar .nav-link[aria-current="page"]{color:var(--vls-blue)}
.navbar .nav-link[aria-current="page"]:after{position:absolute;right:.7rem;bottom:.42rem;left:.7rem;height:2px;background:var(--vls-orange);content:""}
.nav-cta{margin-left:.7rem;white-space:nowrap}
.language-switcher{margin:0 .35rem;white-space:nowrap}
.language-menu-toggle{display:inline-flex;min-height:44px;align-items:center;gap:.55rem;padding-inline:.75rem!important;font-size:.9rem!important}
.language-menu-icon{width:1.25rem;height:1.25rem;flex:none;color:var(--vls-blue);fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.8}
.language-switcher .dropdown-menu{min-width:220px;padding:.5rem;border:1px solid var(--vls-line);border-radius:var(--vls-radius-sm);box-shadow:var(--vls-shadow-soft)}
.language-switcher .dropdown-item{display:grid;grid-template-columns:2.35rem minmax(0,1fr);gap:.65rem;align-items:center;padding:.75rem .8rem;border-radius:.35rem;color:var(--vls-ink);font-size:.95rem;font-weight:750}
.language-switcher .dropdown-item:hover,.language-switcher .dropdown-item:focus{background:var(--vls-sky);color:var(--vls-blue)}
.language-switcher .dropdown-item.is-active{background:var(--vls-sky);color:var(--vls-blue)}
.language-menu-code{display:inline-grid;width:2.15rem;height:2.15rem;place-items:center;border:1px solid #BCD3EC;border-radius:50%;background:#fff;color:var(--vls-blue);font-size:.72rem;font-weight:900;letter-spacing:.02em}
.mobile-booking-cta{display:none}
.site-footer{padding:4rem 0;background:var(--vls-ink);color:#fff}
.footer-grid{display:flex;align-items:flex-start;justify-content:space-between;gap:3rem}
.site-footer strong{display:block;letter-spacing:.09em}
.site-footer p{max-width:580px;margin:.7rem 0 0;color:rgba(255,255,255,.7)}
.site-footer .footer-grid>div:last-child{display:flex;gap:1.5rem}
.site-footer a{color:#fff;font-weight:750;text-decoration:none}
.site-footer a:hover{color:#B7D7FF}

.editorial-hero{display:grid;grid-template-columns:minmax(420px,46%) minmax(0,54%);min-height:650px;background:var(--vls-ivory)}
.editorial-hero__copy{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;padding:clamp(3.5rem,5.5vw,6rem) clamp(2rem,4.5vw,5rem)}
.editorial-hero .eyebrow{max-width:520px}
.orange-rule{display:block;width:62px;height:4px;margin:1.45rem 0 1.1rem;background:var(--vls-orange)}
.editorial-hero h1{max-width:690px;margin:.95rem 0 0;color:var(--vls-ink);font-size:clamp(3.35rem,4.35vw,5.45rem);font-weight:600;line-height:.98}
[lang="zh"] .editorial-hero h1{max-width:620px;font-family:var(--vls-zh-display-font);font-size:clamp(3rem,4.55vw,5.15rem);font-weight:850;line-height:1.08;letter-spacing:-.055em}
.editorial-hero__lead{max-width:590px;margin:1.1rem 0 1.5rem;color:#3D4B60;font-size:clamp(1rem,1.25vw,1.2rem)}
.editorial-hero__promise{display:flex;flex-wrap:wrap;gap:.45rem 1.1rem;margin:0;font-family:var(--vls-display-font);font-size:clamp(1.1rem,1.4vw,1.4rem);font-weight:700}
[lang="zh"] .editorial-hero__promise{font-family:var(--vls-zh-display-font);font-weight:800}
.editorial-hero__promise span{position:relative}
.editorial-hero__promise span:not(:last-child):after{position:absolute;right:-.68rem;color:rgba(18,35,63,.35);content:"/"}
.editorial-hero__promise .is-accent{color:var(--vls-orange)}
.editorial-hero__media{position:relative;min-width:0;min-height:650px;margin:0;overflow:hidden;background:#DCE7F3}
.editorial-hero__media picture,.editorial-hero__media img{display:block;width:100%;height:100%}
.editorial-hero__media img{object-fit:cover;object-position:center}
.editorial-hero__media .editorial-hero__brush{position:absolute;z-index:1;top:0;bottom:0;left:-155px;width:420px;height:100%;object-fit:fill;pointer-events:none;user-select:none}
.editorial-hero__media figcaption{position:absolute;z-index:2;right:1.25rem;bottom:1.25rem;max-width:380px;padding:.65rem .85rem;background:rgba(255,255,255,.92);color:var(--vls-ink);font-size:.74rem;box-shadow:var(--vls-shadow-soft)}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem 1.5rem}
.hero-text-link{color:var(--vls-blue);font-weight:850;text-decoration:none}
.hero-text-link:after{display:inline-block;margin-left:.55rem;content:"→";transition:transform .18s ease}
.hero-text-link:hover:after,.hero-text-link:focus-visible:after{transform:translateX(4px)}

.trust-ribbon{background:var(--vls-ink);color:#fff}
.trust-ribbon .container{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-ribbon .container>div{padding:1.45rem clamp(1rem,3vw,2.5rem);border-right:1px solid rgba(255,255,255,.16)}
.trust-ribbon .container>div:first-child{padding-left:0}
.trust-ribbon .container>div:last-child{border-right:0}
.trust-ribbon strong,.trust-ribbon span{display:block}
.trust-ribbon strong{font:600 clamp(1.6rem,2.4vw,2.45rem)/1 var(--vls-display-font)}
.trust-ribbon span{margin-top:.45rem;color:#BFD1E6;font-size:.7rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}

.editorial-heading{max-width:900px}
.editorial-heading h2,.detail-proof__heading h2,.events-heading h2,.pricing-heading h2,.calendar-intro h2{margin:.8rem 0 1.25rem;color:var(--vls-ink);font-size:clamp(2.55rem,5vw,5.4rem);font-weight:500;line-height:1}
[lang="zh"] .editorial-heading h2,[lang="zh"] .detail-proof__heading h2,[lang="zh"] .events-heading h2,[lang="zh"] .pricing-heading h2,[lang="zh"] .calendar-intro h2{font-family:var(--vls-zh-display-font);font-weight:850;line-height:1.15;letter-spacing:-.045em}
.editorial-heading>p:last-child,.detail-proof__heading>p:last-child,.events-heading>p:last-child,.pricing-heading>p:last-child,.calendar-intro>p:last-child{max-width:720px;color:var(--vls-muted);font-size:1.08rem}

.why-editorial{background:var(--vls-white)}
.pain-ledger{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.8rem;border-top:1px solid var(--vls-line);border-bottom:1px solid var(--vls-line)}
.pain-ledger article{min-height:225px;padding:1.7rem clamp(1.2rem,3vw,2.5rem);border-right:1px solid var(--vls-line)}
.pain-ledger article:first-child{padding-left:0}.pain-ledger article:last-child{border-right:0}
.pain-ledger span,.people-columns article>span,.facility-ledger article>span,.experience-editorial li>span{color:var(--vls-orange);font-size:.75rem;font-weight:900;letter-spacing:.12em}
.pain-ledger p{margin:4.25rem 0 0;color:var(--vls-ink);font-size:1.15rem;font-weight:720;line-height:1.45}
.belief-note{max-width:840px;margin:3.25rem 0 0;padding-left:1.25rem;border-left:4px solid var(--vls-orange);font-family:var(--vls-display-font);font-size:clamp(1.55rem,2.6vw,2.55rem);line-height:1.3}

.people-editorial{background:var(--vls-ivory)}
.people-columns{display:grid;grid-template-columns:repeat(3,1fr);margin-top:3.8rem;border-top:1px solid var(--vls-line);border-bottom:1px solid var(--vls-line)}
.people-columns article{min-height:350px;padding:1.8rem clamp(1.2rem,3vw,2.7rem);border-right:1px solid var(--vls-line)}
.people-columns article:first-child{padding-left:0}.people-columns article:last-child{border-right:0}
.people-columns small{display:block;margin:4.5rem 0 .55rem;color:var(--vls-muted);font-size:.72rem;font-weight:850;letter-spacing:.12em;text-transform:uppercase}
.people-columns h3{margin:0 0 .8rem;color:var(--vls-blue);font-size:clamp(1.65rem,2.7vw,2.6rem);font-weight:850}
.people-columns p{max-width:360px;margin:0;color:var(--vls-muted)}

.modes-editorial{background:var(--vls-white)}
.mode-story{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);margin-top:3rem;overflow:hidden;border:1px solid var(--vls-line);background:#fff;box-shadow:var(--vls-shadow-soft)}
.mode-story--event{grid-template-columns:minmax(340px,.85fr) minmax(0,1.15fr);margin-top:1.5rem}
.mode-story__media{display:block;min-height:520px;overflow:hidden;background:#DCE7F3}
.mode-story__media img{display:block;width:100%;height:100%;min-height:520px;object-fit:cover}
.mode-story__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,5vw,5rem)}
.mode-story__copy>strong{color:var(--vls-orange);font:500 clamp(5rem,9vw,9rem)/.8 var(--vls-display-font)}
.mode-capacity{margin:.8rem 0 2.5rem;color:var(--vls-blue);font-size:.73rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.mode-story h3{margin:0 0 1rem;color:var(--vls-ink);font-size:clamp(1.8rem,3vw,3.1rem);font-weight:850}
.mode-story__copy>p:not(.mode-capacity){color:var(--vls-muted)}
.mode-story ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.35rem 0 0;padding:0;list-style:none}
.mode-story li{padding:.38rem .65rem;border:1px solid var(--vls-line);border-radius:99px;color:var(--vls-ink);font-size:.75rem;font-weight:750}

.detail-proof{background:var(--vls-ink);color:#fff}
.detail-proof .eyebrow{color:#8FC2FF}
.detail-proof__heading h2{color:#fff}
.detail-proof__heading>p:last-child{color:#BBC8D7}
.detail-proof__feature{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:clamp(2rem,5vw,5rem);align-items:stretch;margin-top:3.5rem}
.detail-proof__feature figure{min-height:520px;margin:0;overflow:hidden}
.detail-proof__feature picture,.detail-proof__feature img{display:block;width:100%;height:100%}
.detail-proof__feature img{object-fit:cover}
.reason-chain{display:flex;flex-direction:column;justify-content:center}
.reason-chain article{padding:1.45rem 0;border-bottom:1px solid rgba(255,255,255,.16)}
.reason-chain article:first-child{border-top:1px solid rgba(255,255,255,.16)}
.reason-chain span{color:#8FC2FF;font-size:.72rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}
.reason-chain p{margin:.6rem 0 0;color:#fff;font-size:1.05rem}
.facility-ledger{margin-top:4rem;border-top:1px solid rgba(255,255,255,.18)}
.facility-ledger article{display:grid;grid-template-columns:60px minmax(220px,.65fr) minmax(0,1.35fr);gap:1.5rem;padding:1.45rem 0;border-bottom:1px solid rgba(255,255,255,.18)}
.facility-ledger h3{margin:0;font-size:1.3rem}
.facility-ledger p{max-width:720px;margin:0;color:#BBC8D7}

.pantry-editorial{padding:var(--vls-section) 0;background:var(--vls-sky);color:var(--vls-ink)}
.pantry-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:clamp(2rem,7vw,7rem);align-items:center}
.pantry-grid>div{max-width:760px}
.pantry-grid h2{margin:.8rem 0 1.5rem;font-size:clamp(2.6rem,5vw,5.1rem);font-weight:500;line-height:1}
.pantry-grid>div>p{max-width:650px;font-size:1.08rem}
.pantry-grid>div>strong{display:block;margin-top:1.4rem;padding-left:1rem;border-left:4px solid var(--vls-orange);color:var(--vls-blue)}
.pantry-grid ul{margin:0;padding:0;border-top:1px solid var(--vls-line);list-style:none}
.pantry-grid li{padding:1rem 0;border-bottom:1px solid var(--vls-line);font-size:1.08rem;font-weight:850}
.pantry-nearby{grid-column:1/-1;margin:0;padding-top:1.25rem;border-top:1px solid var(--vls-line);color:var(--vls-muted);font-size:.86rem;font-weight:750}

.room-tour{background:var(--vls-white)}
.room-tour-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.2rem;margin-top:3rem}
.room-tour figure{position:relative;min-height:470px;margin:0;overflow:hidden;background:#DCE7F3}
.room-tour picture,.room-tour img{display:block;width:100%;height:100%}
.room-tour img{min-height:470px;object-fit:cover}
.room-tour figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:1rem;background:rgba(255,255,255,.94);box-shadow:var(--vls-shadow-soft)}
.room-tour figcaption strong,.room-tour figcaption span{display:block}
.room-tour figcaption strong{color:var(--vls-ink);font-size:1rem}
.room-tour figcaption span{margin-top:.25rem;color:var(--vls-muted);font-size:.78rem}

.events-editorial{background:var(--vls-ivory)}
.events-heading{max-width:850px}
.event-strip{margin-top:3rem;border-top:1px solid var(--vls-line)}
.event-strip article{display:grid;grid-template-columns:130px 1fr;align-items:center;padding:1.4rem 0;border-bottom:1px solid var(--vls-line)}
.event-strip time{display:flex;align-items:baseline;gap:.55rem}
.event-strip time strong{color:var(--vls-orange);font:500 2.8rem/1 var(--vls-display-font)}
.event-strip time span,.event-strip small{color:var(--vls-muted);font-size:.72rem;font-weight:850;letter-spacing:.09em;text-transform:uppercase}
.event-strip h3{margin:.3rem 0 0;font-size:1.4rem;font-weight:850}
.event-empty{margin:3rem 0 0;padding:1.5rem 0;border-top:1px solid var(--vls-line);border-bottom:1px solid var(--vls-line);color:var(--vls-muted)}

.experience-editorial{background:#fff}
.experience-editorial ol{display:grid;grid-template-columns:repeat(3,1fr);margin:3rem 0 0;padding:0;border-top:1px solid var(--vls-line);border-bottom:1px solid var(--vls-line);list-style:none}
.experience-editorial li{min-height:300px;padding:1.7rem clamp(1.2rem,3vw,2.5rem);border-right:1px solid var(--vls-line)}
.experience-editorial li:first-child{padding-left:0}.experience-editorial li:last-child{border-right:0}
.experience-editorial h3{margin:4rem 0 .8rem;font-size:1.5rem;font-weight:850}
.experience-editorial p{margin:0;color:var(--vls-muted)}

.membership-editorial{background:var(--vls-ink);color:#fff}
.membership-editorial .eyebrow{color:#8FC2FF}
.membership-editorial .editorial-heading h2{color:#fff}
.membership-panels{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;margin-top:3rem}
.membership-panels article{padding:clamp(2rem,4vw,3.5rem);border:1px solid rgba(255,255,255,.18);background:#192D4C}
.membership-panels article.is-svip{border-top:4px solid var(--vls-orange)}
.membership-panels article>div{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}
.membership-panels article>div>span{color:#8FC2FF;font-weight:900;letter-spacing:.12em}
.membership-panels article>div>strong{font:500 clamp(2.6rem,4vw,4.6rem)/1 var(--vls-display-font)}
.membership-panels small{font:700 .75rem/1 ui-sans-serif,system-ui,sans-serif}
.membership-panels h3{max-width:540px;margin:3rem 0 1.5rem;font-size:1.45rem;line-height:1.35}
.membership-panels ul{margin:0;padding-left:1.2rem;color:#C6D2DF}

.pricing-editorial{background:var(--vls-ivory)}
.pricing-heading{max-width:850px}
.price-list{margin-top:3rem;border-top:1px solid var(--vls-line)}
.price-list article{display:grid;grid-template-columns:minmax(0,1fr) 170px 230px;gap:1.5rem;align-items:center;padding:1.25rem 0;border-bottom:1px solid var(--vls-line)}
.price-list h3{margin:0;font-size:1.1rem;font-weight:850}
.price-list span,.price-list small{color:var(--vls-muted)}
.price-list strong{color:var(--vls-blue);font:600 1.75rem/1 var(--vls-display-font)}

.calendar-editorial{background:#fff}
.calendar-intro{max-width:900px}
.calendar-experience{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(290px,370px);gap:1.25rem;align-items:start;margin-top:3rem}
.calendar-shell{padding:1.2rem;border:1px solid var(--vls-line);border-radius:var(--vls-radius);background:#fff;box-shadow:var(--vls-shadow-soft)}
.calendar-toolbar{display:grid;grid-template-columns:48px 1fr 48px;align-items:center;gap:.75rem;margin-bottom:1rem}
.calendar-toolbar h3{margin:0;text-align:center;font-size:1.2rem;font-weight:850}
.calendar-toolbar button{min-width:48px;min-height:48px;border:1px solid var(--vls-line);border-radius:.55rem;background:#fff;color:var(--vls-blue);font-weight:900}
.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.45rem}
.calendar-weekdays{margin-bottom:.45rem}
.calendar-weekdays span{text-align:center;color:var(--vls-muted);font-size:.72rem;font-weight:850;text-transform:uppercase}
.calendar-day{position:relative;min-height:88px;padding:.6rem;border:1px solid var(--vls-line);border-radius:.55rem;background:#fff;color:var(--vls-ink);text-align:left;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.calendar-day:not(:disabled):hover{transform:translateY(-2px);border-color:var(--vls-blue);box-shadow:0 .5rem 1.2rem rgba(0,74,173,.11)}
.calendar-day.is-empty{border-color:transparent;background:transparent;pointer-events:none}
.calendar-day.is-past{opacity:.43;pointer-events:none}
.calendar-day strong,.calendar-day small{display:block}
.calendar-day small{margin-top:.45rem;font-size:.65rem;font-weight:800}
.calendar-day.AVAILABLE{border-bottom:4px solid var(--vls-success)}
.calendar-day.LIMITED{border-bottom:4px solid #D89215}
.calendar-day.HELD,.calendar-day.PENDING_PAYMENT{border-bottom:4px solid var(--vls-orange)}
.calendar-day.BOOKED,.calendar-day.BLOCKED,.calendar-day.MAINTENANCE,.calendar-day.INTERNAL_USE,.calendar-day.TRAINER_RESERVED{border-bottom:4px solid var(--vls-danger);background:#FFF7F6}
.calendar-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1rem;color:var(--vls-muted);font-size:.78rem}
.calendar-legend i{display:inline-block;width:.7rem;height:.7rem;margin-right:.35rem;border-radius:50%;background:#687486}
.calendar-legend i.available{background:var(--vls-success)}.calendar-legend i.limited{background:#D89215}.calendar-legend i.booked{background:var(--vls-danger)}
.calendar-detail{position:sticky;top:6.5rem;padding:1.5rem;border:1px solid var(--vls-line);border-radius:var(--vls-radius);background:var(--vls-ivory);box-shadow:var(--vls-shadow-soft)}
.detail-close{float:right;min-width:42px;min-height:42px;border:1px solid var(--vls-line);border-radius:50%;background:#fff;color:var(--vls-ink)}
.calendar-detail [data-detail-packages]{display:grid;gap:.7rem;margin-top:1.2rem}
.calendar-detail [data-detail-packages]>*{width:100%}

.faq-editorial{background:var(--vls-sky)}
.faq-editorial .accordion{margin-top:2.5rem;border-top:1px solid var(--vls-line)}
.faq-editorial .accordion-item{border:0;border-bottom:1px solid var(--vls-line);background:transparent}
.faq-editorial .accordion-header{margin:0}
.faq-editorial .accordion-button{position:relative;display:flex;width:100%;align-items:center;justify-content:space-between;gap:1.25rem;margin:0;padding:1.35rem 0;border:0;border-radius:0;background:transparent;color:var(--vls-ink);font-size:1.04rem;font-weight:800;line-height:1.45;text-align:left;box-shadow:none;appearance:none}
.faq-editorial .accordion-button::after{content:"";width:.72rem;height:.72rem;flex:0 0 .72rem;margin-right:.25rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;background:transparent;transform:rotate(45deg);transition:transform .2s ease}
.faq-editorial .accordion-button:not(.collapsed)::after{transform:rotate(-135deg)}
.faq-editorial .accordion-button:not(.collapsed){color:var(--vls-blue)}
.faq-editorial .accordion-button:hover{color:var(--vls-blue)}
.faq-editorial .accordion-button:focus-visible{outline:3px solid rgba(0,74,173,.24);outline-offset:5px}
.faq-editorial .accordion-body{max-width:820px;padding:0 3rem 1.4rem 0;color:var(--vls-muted);line-height:1.7}
@media(max-width:575.98px){
  .faq-editorial .accordion-button{gap:1rem;padding:1.15rem 0;font-size:1rem}
  .faq-editorial .accordion-body{padding-right:1.75rem;font-size:.95rem}
}

.final-cta{padding:clamp(5rem,9vw,9rem) 0;background:var(--vls-blue);color:#fff;text-align:center}
.final-cta .eyebrow{color:#B7D7FF}
.final-cta h2{max-width:900px;margin:1rem auto;color:#fff;font-size:clamp(3rem,6vw,6rem);font-weight:500;line-height:.98}
.final-cta p:not(.eyebrow){max-width:640px;margin:0 auto 2rem;color:#DCEAFF;font-size:1.08rem}
.final-cta .btn-light{color:var(--vls-blue)}
.contact-strip{padding:clamp(3rem,6vw,5.5rem) 0;background:var(--vls-ivory)}
.contact-strip .container{display:grid;grid-template-columns:minmax(260px,.7fr) minmax(460px,1.3fr);align-items:center;gap:clamp(2rem,5vw,5rem)}
.contact-strip__details strong{display:block;font-family:var(--vls-display-font);font-size:clamp(1.8rem,3vw,3rem);font-weight:600;line-height:1.08}
[lang="zh"] .contact-strip__details strong{font-family:var(--vls-zh-display-font);font-weight:850}
.contact-strip p{margin:.75rem 0 1.25rem;color:var(--vls-muted)}
.studio-map{min-height:360px;overflow:hidden;border:1px solid var(--vls-line);border-radius:var(--vls-radius);background:#DCE7F3;box-shadow:var(--vls-shadow-soft)}
.studio-map iframe{display:block;width:100%;height:100%;min-height:360px;border:0}

[data-reveal]{transition:opacity .7s ease,transform .7s ease}
.motion-ready [data-reveal]{opacity:0;transform:translateY(24px)}
.motion-ready [data-reveal].is-visible{opacity:1;transform:none}

body>.container.py-5,main>.container.py-5{padding-top:clamp(2.5rem,5vw,4.5rem)!important;padding-bottom:clamp(4rem,7vw,7rem)!important}
body>.container.py-5 h1,main>.container.py-5 h1{color:var(--vls-ink);font-size:clamp(2.5rem,4vw,4.5rem);font-weight:500}
.booking-panel h2,.form-card h2{font-family:var(--vls-display-font);font-weight:500}
.booking-panel .card,.form-card .card{border-color:var(--vls-line);border-radius:.8rem}
.addon-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--vls-line)}
.addon-row small{display:block;color:var(--vls-muted)}

@media (max-width:1199.98px){
  .brand-wordmark{display:none}
  .navbar .container{max-width:100%}
  .navbar .nav-link{font-size:.8rem;padding-inline:.48rem!important}
  .nav-cta{margin-left:.35rem;padding-inline:.8rem}
  .editorial-hero{grid-template-columns:46% 54%}
  .editorial-hero__copy{padding-inline:clamp(2rem,4vw,4rem)}
}
@media (max-width:991.98px){
  .navbar{min-height:74px}
  .navbar-brand img{width:132px;height:50px;max-height:none}
  .brand-wordmark{display:none}
  .navbar-collapse{margin:1rem -12px -1px;padding:1rem 12px 1.35rem;border-top:1px solid var(--vls-line);background:#fff}
  .navbar .nav-link{padding:.68rem 0!important}
  .navbar .nav-link[aria-current="page"]:after{right:auto;bottom:.3rem;left:0;width:36px}
  .language-switcher{margin:.3rem 0 .9rem}
  .language-menu-toggle{width:100%;justify-content:flex-start;padding:.72rem 0!important;font-size:1rem!important}
  .language-switcher .dropdown-menu{position:static!important;width:100%;margin:.2rem 0 .4rem;transform:none!important;box-shadow:none}
  .language-switcher--mobile{margin:0 .35rem 0 auto}
  .language-switcher--mobile .language-menu-toggle{width:46px;height:46px;justify-content:center;padding:.5rem!important;border:1px solid var(--vls-line);border-radius:50%}
  .language-switcher--mobile .language-menu-icon{width:1.35rem;height:1.35rem}
  .language-switcher--mobile .dropdown-menu{position:absolute!important;right:0!important;left:auto!important;width:220px;margin:.45rem 0 0;transform:none!important;box-shadow:var(--vls-shadow-soft)}
  .nav-cta{margin:0;width:100%}
  .editorial-hero{grid-template-columns:1fr;min-height:auto}
  .editorial-hero__copy{padding:5.5rem max(1.5rem,5vw) 4rem}
  .editorial-hero h1{max-width:820px}
  .editorial-hero__media{min-height:540px}
  .editorial-hero__media .editorial-hero__brush{display:none}
  .pain-ledger,.people-columns,.experience-editorial ol{grid-template-columns:1fr}
  .pain-ledger article,.people-columns article,.experience-editorial li{min-height:0;padding:1.5rem 0;border-right:0;border-bottom:1px solid var(--vls-line)}
  .pain-ledger article:last-child,.people-columns article:last-child,.experience-editorial li:last-child{border-bottom:0}
  .pain-ledger p,.people-columns small,.experience-editorial h3{margin-top:1.5rem}
  .mode-story,.mode-story--event{grid-template-columns:1fr}
  .mode-story--event .mode-story__copy{order:2}
  .mode-story__media,.mode-story__media img{min-height:430px}
  .detail-proof__feature{grid-template-columns:1fr}
  .detail-proof__feature figure{min-height:430px}
  .facility-ledger article{grid-template-columns:45px minmax(190px,.7fr) minmax(0,1.3fr)}
  .pantry-grid{grid-template-columns:1fr}
  .membership-panels{grid-template-columns:1fr}
  .calendar-experience{grid-template-columns:1fr}
  .calendar-detail{position:relative;top:auto}
}
@media (max-width:767.98px){
  body{padding-bottom:72px}
  .mobile-booking-cta{position:fixed;z-index:1040;right:12px;bottom:10px;left:12px;display:block;box-shadow:0 .75rem 2rem rgba(18,35,63,.28)}
  .section-pad{padding:4.5rem 0}
  .editorial-hero__copy{width:100%;padding-top:4.25rem}
  .editorial-hero h1{font-size:clamp(3.25rem,13vw,5rem)}
  .hero-actions .btn{display:none}
  [lang="zh"] .editorial-hero h1{max-width:100%;font-size:clamp(2.65rem,11vw,3.3rem);word-break:break-all;overflow-wrap:anywhere}
  .editorial-hero__lead{font-size:1rem}
  .editorial-hero__media{min-height:0;aspect-ratio:4/3}
  .editorial-hero__media figcaption{right:.75rem;bottom:.75rem;left:.75rem}
  .trust-ribbon .container{grid-template-columns:repeat(2,1fr)}
  .trust-ribbon .container>div{padding:1.15rem 1rem;border-bottom:1px solid rgba(255,255,255,.16)}
  .trust-ribbon .container>div:nth-child(2n){border-right:0}
  .trust-ribbon .container>div:nth-last-child(-n+2){border-bottom:0}
  .trust-ribbon .container>div:nth-child(odd){padding-left:0}
  .editorial-heading h2,.detail-proof__heading h2,.events-heading h2,.pricing-heading h2,.calendar-intro h2{font-size:clamp(2.55rem,12vw,4rem)}
  .mode-story__media,.mode-story__media img,.detail-proof__feature figure{min-height:0;aspect-ratio:4/3}
  .mode-story__copy{padding:2rem 1.35rem 2.5rem}
  .mode-story__copy>strong{font-size:5.5rem}
  .facility-ledger article{grid-template-columns:40px 1fr;gap:.8rem}
  .facility-ledger p{grid-column:2}
  .room-tour-grid{grid-template-columns:1fr}
  .room-tour figure,.room-tour img{min-height:330px}
  .room-tour figure.room-tour__remote{min-height:0;background:var(--vls-ink)}
  .room-tour__remote picture{height:auto;aspect-ratio:812/487}
  .room-tour__remote img{height:100%;min-height:0;object-fit:contain;object-position:center}
  .room-tour__remote figcaption{position:relative;right:auto;bottom:auto;left:auto;margin:0;padding:1rem 1.1rem;background:var(--vls-ink);box-shadow:none}
  .room-tour__remote figcaption strong{color:#fff;font-size:1.05rem}
  .room-tour__remote figcaption span{color:#D5DFEB;font-size:.8rem;line-height:1.55}
  .price-list article{grid-template-columns:1fr auto;gap:.45rem 1rem}
  .price-list small{grid-column:1/-1}
  .calendar-shell{padding:.7rem}
  .calendar-weekdays,.calendar-grid{gap:.2rem}
  .calendar-day{min-height:68px;padding:.35rem}
  .calendar-day small{display:none}
  .calendar-toolbar{grid-template-columns:44px 1fr 44px}
  .calendar-toolbar button{min-width:44px;min-height:44px}
  .footer-grid{display:block}
  .contact-strip .container{grid-template-columns:1fr}
  .site-footer .footer-grid>div:last-child{margin-top:1.5rem}
  .contact-strip a{margin-top:1rem}
}
@media (max-width:390px){
  .editorial-hero__copy{padding-inline:1.15rem}
  .editorial-hero__promise{gap:.35rem .8rem;font-size:1rem}
  .editorial-hero__promise span:not(:last-child):after{right:-.52rem}
  .trust-ribbon strong{font-size:1.35rem}
  .trust-ribbon span{font-size:.62rem}
  .calendar-day{min-height:58px}
  .calendar-day strong{font-size:.88rem}
}
@media (prefers-reduced-motion:reduce){
  [data-reveal]{opacity:1;transform:none;transition:none}
}
.section-soft{background:var(--vls-ivory)}
.form-card>h1,.form-card>div h1{margin:.7rem 0 1.4rem;font-family:var(--vls-display-font);font-size:clamp(2.35rem,4vw,4.2rem);font-weight:500;letter-spacing:-.035em}
.form-card>.eyebrow,.form-card>div .eyebrow{color:var(--vls-blue)}
.form-card .row.g-3>.col-lg-6>article{border-color:var(--vls-line)!important;border-radius:var(--vls-radius)!important;background:#fff;box-shadow:0 .45rem 1.2rem rgba(18,35,63,.05)}
.form-card .row.g-3>.col-lg-6>article h2{font-family:var(--vls-display-font);font-size:1.6rem;font-weight:500}
.form-card .row.g-3>.col-lg-6>article .fs-3{color:var(--vls-blue);font-family:var(--vls-display-font)}
.form-card label.border{border-color:var(--vls-line)!important;border-radius:.7rem!important;background:#fff;cursor:pointer;transition:border-color .16s ease,background-color .16s ease,box-shadow .16s ease}
.form-card label.border:hover{border-color:var(--vls-blue)!important}
.form-card label.border:has(input:checked){border-color:var(--vls-blue)!important;background:var(--vls-sky);box-shadow:inset 0 0 0 1px var(--vls-blue)}
.confirmation-card{max-width:900px}
.confirmation-card>.orange-rule{margin:1rem 0 1.4rem}
.confirmation-card>.lead{max-width:700px;color:var(--vls-muted)}
.confirmation-summary{display:grid;grid-template-columns:repeat(2,1fr);margin:2rem 0;border-top:1px solid var(--vls-line);border-left:1px solid var(--vls-line)}
.confirmation-summary article{min-height:135px;padding:1.2rem;border-right:1px solid var(--vls-line);border-bottom:1px solid var(--vls-line);background:#fff}
.confirmation-summary span,.confirmation-summary strong{display:block}
.confirmation-summary span{margin-bottom:.9rem;color:var(--vls-muted);font-size:.72rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}
.confirmation-summary strong{font-size:1.12rem}
.confirmation-summary strong.is-good{color:var(--vls-success)}.confirmation-summary strong.is-waiting{color:var(--vls-warning)}
.confirmation-next{margin:0 0 1.5rem;padding:1.4rem;border-left:4px solid var(--vls-orange);background:var(--vls-sky)}
.confirmation-next h2{margin:0 0 .5rem;font-family:var(--vls-display-font);font-size:1.55rem;font-weight:500}
.confirmation-next p{margin:0;color:var(--vls-muted)}
@media(max-width:575.98px){.confirmation-summary{grid-template-columns:1fr}.confirmation-summary article{min-height:0}.form-card{padding:1.1rem}}
.auth-page{min-height:100vh;padding:0;background:var(--vls-ivory)}
.auth-header{display:flex;align-items:center;min-height:82px;padding:12px clamp(1rem,4vw,3rem);border-bottom:1px solid var(--vls-line);background:#fff}
.auth-header img{display:block;width:150px;height:56px;max-height:none;object-fit:cover;object-position:center}
.auth-shell{display:grid;min-height:calc(100vh - 82px);place-items:start center;padding-top:clamp(2.5rem,7vw,6rem);padding-bottom:4rem}
.auth-shell>.row,.auth-shell>.container{width:100%}
.auth-shell .card{overflow:hidden;border:1px solid var(--vls-line);border-radius:var(--vls-radius);box-shadow:var(--vls-shadow)}
.auth-shell .card-body{padding:clamp(1.4rem,4vw,2.5rem)}
.auth-shell h1,.auth-shell .card-title{font-family:var(--vls-display-font);font-weight:500}
.auth-shell .btn-primary{width:100%}

/* VLS 2026 warm-luxury completion */
:root{
  --vls-type-hero:clamp(3rem,4.8vw,4.75rem);
  --vls-type-hero-zh:clamp(2.75rem,4.35vw,4.25rem);
  --vls-type-section:clamp(2.35rem,4vw,3.75rem);
  --vls-type-section-zh:clamp(2.25rem,3.7vw,3.45rem);
}
.editorial-hero h1{font-size:var(--vls-type-hero);line-height:1.02}
[lang="zh"] .editorial-hero h1{font-size:var(--vls-type-hero-zh);font-weight:900;line-height:1.12;letter-spacing:-.045em;word-break:normal}
.editorial-heading h2,.detail-proof__heading h2,.events-heading h2,.pricing-heading h2,.calendar-intro h2,.pantry-grid h2,.studio-video-copy h2,.location-heading h2{font-size:var(--vls-type-section);line-height:1.06}
[lang="zh"] .editorial-heading h2,[lang="zh"] .detail-proof__heading h2,[lang="zh"] .events-heading h2,[lang="zh"] .pricing-heading h2,[lang="zh"] .calendar-intro h2,[lang="zh"] .pantry-grid h2,[lang="zh"] .studio-video-copy h2,[lang="zh"] .location-heading h2{font-size:var(--vls-type-section-zh);font-weight:900;line-height:1.18;letter-spacing:-.035em}

.theatre-visual{position:relative;margin:0}
.theatre-visual picture,.theatre-visual img{display:block;width:100%;height:100%}
.theatre-visual figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.85rem 1rem;background:rgba(18,35,63,.92);color:#fff;font-size:.78rem;line-height:1.45;box-shadow:var(--vls-shadow-soft)}
.media-disclosure{position:absolute;z-index:3;top:1rem;left:1rem;display:inline-flex;align-items:center;min-height:32px;padding:.38rem .72rem;border-left:3px solid var(--vls-orange);background:rgba(247,241,232,.96);color:var(--vls-ink);font-size:.7rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase;box-shadow:var(--vls-shadow-soft)}
.laptop-training-visual{display:grid;grid-template-columns:minmax(0,1fr);margin:1.5rem 0;overflow:hidden;background:var(--vls-ink);color:#fff;box-shadow:var(--vls-shadow)}
.laptop-training-visual>*{min-width:0}
.laptop-training-visual figure{position:relative;margin:0;overflow:hidden;background:#07182E}
.laptop-training-visual picture,.laptop-training-visual img{display:block;width:100%}
.laptop-training-visual img{height:auto!important;max-height:none;aspect-ratio:auto;object-fit:contain;object-position:center}
.laptop-training-visual figcaption{padding:.8rem 1rem;background:#07182E;color:#BBC8D7;font-size:.78rem;line-height:1.5}
.laptop-training-visual__copy{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);gap:1rem clamp(2.5rem,7vw,7rem);align-items:start;padding:clamp(2rem,4.5vw,4.25rem)}
.laptop-training-visual__copy .eyebrow{grid-column:1;color:#8FC2FF}
.laptop-training-visual__copy h3{grid-column:1;margin:.35rem 0 0;color:#fff;font-family:var(--vls-display-font);font-size:clamp(2.15rem,3.6vw,3.65rem);font-weight:600;line-height:1.04}
[lang="zh"] .laptop-training-visual__copy h3{font-family:var(--vls-zh-display-font);font-weight:900;line-height:1.18;letter-spacing:-.035em}
.laptop-training-visual__copy>p:not(.eyebrow){grid-column:2;grid-row:1/span 2;max-width:650px;margin:0;color:#C8D4E0;font-size:clamp(1rem,1.2vw,1.12rem);line-height:1.75;overflow-wrap:anywhere}
.laptop-training-visual__copy ul{display:grid;grid-column:1/-1;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:2rem 0 0;padding:0;border-top:1px solid rgba(255,255,255,.18);counter-reset:learning-step;list-style:none}
.laptop-training-visual__copy li{position:relative;min-height:92px;padding:1.15rem 1rem 0 2.15rem;border-right:1px solid rgba(255,255,255,.14);font-size:.88rem;font-weight:850;line-height:1.45;counter-increment:learning-step}
.laptop-training-visual__copy li:first-child{padding-left:1.4rem}
.laptop-training-visual__copy li:last-child{border-right:0}
.laptop-training-visual__copy li::before{position:absolute;top:1.18rem;left:.45rem;color:var(--vls-orange);font:800 .68rem/1 var(--vls-display-font);content:'0' counter(learning-step)}
.theatre-angle{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.45fr);align-items:stretch;margin:1.5rem 0 0;border:1px solid var(--vls-line);background:var(--vls-ivory);box-shadow:var(--vls-shadow-soft)}
.theatre-angle>div{position:relative;min-height:430px;overflow:hidden}
.theatre-angle picture,.theatre-angle img{display:block;width:100%;height:100%}
.theatre-angle img{min-height:430px;object-fit:cover}
.theatre-angle figcaption{display:flex;flex-direction:column;justify-content:center;padding:clamp(1.6rem,3vw,3rem)}
.theatre-angle figcaption strong{font-family:var(--vls-display-font);font-size:clamp(1.45rem,2.3vw,2.15rem);font-weight:600}
.theatre-angle figcaption span{margin-top:1rem;color:var(--vls-muted);font-size:.9rem;line-height:1.6}

.pantry-grid--with-photo{grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:stretch}
.pantry-photo{position:relative;min-height:520px;margin:0;overflow:hidden;background:#DCE7F3}
.pantry-photo picture,.pantry-photo img{display:block;width:100%;height:100%}
.pantry-photo img{min-height:520px;object-fit:cover;object-position:50% 50%}
.pantry-photo figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.8rem 1rem;background:rgba(255,255,255,.94);color:var(--vls-muted);font-size:.78rem;box-shadow:var(--vls-shadow-soft)}
.pantry-copy{display:flex;flex-direction:column;justify-content:center}
.pantry-copy h2{margin:.8rem 0 1.35rem;font-weight:600}
.pantry-copy>p:not(.eyebrow):not(.pantry-nearby){max-width:640px;color:var(--vls-muted);font-size:1.05rem}
.pantry-copy>strong{display:block;margin:1.15rem 0 1.4rem;padding-left:1rem;border-left:4px solid var(--vls-orange);color:var(--vls-blue)}
.pantry-copy ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;border-top:1px solid var(--vls-line);list-style:none}
.pantry-copy li{padding:.85rem 0;border-bottom:1px solid var(--vls-line);font-weight:850}
.pantry-copy li:nth-child(odd){padding-right:1rem}
.pantry-copy .pantry-nearby{margin:1.15rem 0 0;color:var(--vls-muted);font-size:.84rem}

.studio-video-section{background:var(--vls-ink);color:#fff}
.studio-video-grid{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:clamp(2rem,6vw,6rem);align-items:center}
.studio-video-copy .eyebrow{color:#8FC2FF}
.studio-video-copy h2{max-width:520px;margin:.8rem 0 1.25rem;color:#fff;font-weight:600}
.studio-video-copy p:last-child{max-width:520px;color:#BBC8D7;font-size:1.05rem}
.studio-video-frame{margin:0}
.studio-video-frame video{display:block;width:100%;aspect-ratio:1/1;background:#07182E;box-shadow:0 1.4rem 3.6rem rgba(0,0,0,.28)}
.studio-video-frame figcaption{margin-top:.85rem;color:#BBC8D7;font-size:.82rem}

.membership-editorial .editorial-heading>p:last-child{color:#C8D4E0}
.membership-showcase-title{max-width:900px;margin:3.5rem 0 1.5rem;color:#fff;font-family:var(--vls-display-font);font-size:clamp(1.85rem,3vw,3rem);font-weight:600;line-height:1.08}
[lang="zh"] .membership-showcase-title{font-family:var(--vls-zh-display-font);font-weight:900;letter-spacing:-.035em}
.membership-tier-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem;align-items:stretch;margin-top:2rem}
.membership-tier-card{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(255,255,255,.3);background:#fff;color:var(--vls-ink);box-shadow:0 1.4rem 3.5rem rgba(0,0,0,.16);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.membership-tier-card:hover{transform:translateY(-6px);box-shadow:0 1.8rem 4.25rem rgba(0,0,0,.22)}
.membership-tier-card:focus-within{outline:3px solid #8FC2FF;outline-offset:4px}
.membership-tier-card.is-featured{z-index:2;border:2px solid var(--vls-orange);background:#FFF9F4;box-shadow:0 2rem 4.5rem rgba(0,0,0,.26);transform:translateY(-12px)}
.membership-tier-card.is-featured:hover{transform:translateY(-16px)}
.membership-tier-head{display:flex;flex-direction:column;min-height:300px;padding:1.55rem 1.4rem 1.45rem;border-top:5px solid #8FC2FF;background:#F4F8FC}
.membership-tier-card[data-plan="member"] .membership-tier-head{border-top-color:var(--vls-blue);background:var(--vls-sky)}
.membership-tier-card[data-plan="vip"] .membership-tier-head{border-top-color:var(--vls-orange);background:#FFF2E8}
.membership-tier-card[data-plan="svip"] .membership-tier-head{border-top-color:var(--vls-ink);background:#EDF4FC}
.membership-tier-meta{display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:30px}
.membership-tier-number{color:#6D7E91;font:700 .78rem/1 var(--vls-display-font);letter-spacing:.15em}
.membership-plan-badge{display:inline-flex;padding:.38rem .6rem;border:1px solid #FFB485;background:#fff;color:#B83F00;font-size:.64rem;font-weight:950;letter-spacing:.08em;text-transform:uppercase}
.membership-tier-head h4{margin:1.5rem 0 0;color:var(--vls-ink);font:700 clamp(1.75rem,2.4vw,2.35rem)/1 var(--vls-display-font)}
.membership-plan-price{display:block;margin-top:1.1rem;color:var(--vls-blue);font:700 clamp(2rem,2.65vw,2.8rem)/.98 var(--vls-display-font);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.membership-plan-price small{display:inline-block;margin-left:.12rem;font:850 .7rem/1 ui-sans-serif,system-ui,sans-serif;letter-spacing:0}
.membership-tier-head p{margin:auto 0 0;padding-top:1.5rem;color:#586A82;font-size:.86rem;font-weight:700;line-height:1.5}
.membership-tier-best-for{display:flex;flex-direction:column;justify-content:center;min-height:112px;padding:1.25rem 1.4rem;background:var(--vls-ink);color:#fff}
.membership-tier-best-for span{color:#8FC2FF;font-size:.65rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.membership-tier-best-for strong{margin-top:.45rem;font-size:1rem;line-height:1.35}
.membership-tier-features{display:flex;flex:1;flex-direction:column;margin:0;padding:0 1.4rem;background:#fff}
.membership-tier-card.is-featured .membership-tier-features{background:#FFF9F4}
.membership-tier-feature{padding:1.05rem 0;border-bottom:1px solid #DDE4EC}
.membership-tier-feature:last-child{border-bottom:0}
.membership-tier-feature dt{color:#6B7C90;font-size:.65rem;font-weight:900;letter-spacing:.065em;text-transform:uppercase}
.membership-tier-feature dd{margin:.4rem 0 0;color:var(--vls-ink);font-size:.95rem;font-weight:800;line-height:1.35}
.membership-tier-feature.is-included dd{color:var(--vls-blue)}
.membership-tier-feature.is-unavailable dd{color:#8390A0;font-weight:650}
.membership-tier-footer{margin-top:auto;padding:1.4rem;border-top:1px solid #DDE4EC;background:#fff}
.membership-tier-card.is-featured .membership-tier-footer{background:#FFF9F4}
.membership-select{display:flex;align-items:center;justify-content:center;min-height:56px;width:100%;border:1px solid var(--vls-blue);background:var(--vls-blue);color:#fff;font-size:.86rem;font-weight:900;letter-spacing:.055em;text-decoration:none;transition:transform .2s ease,background .2s ease,box-shadow .2s ease}
.membership-select:hover,.membership-select:focus-visible{background:#003A86;color:#fff;transform:translateY(-2px)}
.membership-select.is-recommended{box-shadow:0 0 0 4px #FFD9C2}
.planned-membership{margin-top:3.5rem;padding-top:3rem;border-top:1px solid rgba(255,255,255,.2)}
.planned-membership__intro{max-width:850px}
.planned-membership__intro>span{display:inline-flex;padding:.35rem .65rem;border:1px solid #8FC2FF;color:#B7D7FF;font-size:.7rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}
.planned-membership__intro h3{margin:1rem 0 .8rem;color:#fff;font-family:var(--vls-display-font);font-size:clamp(1.65rem,2.8vw,2.6rem);font-weight:600}
[lang="zh"] .planned-membership__intro h3{font-family:var(--vls-zh-display-font);font-weight:900}
.planned-membership__intro p{color:#C8D4E0}
.membership-coming-soon__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin:2rem 0 0;padding:0;border-top:1px solid rgba(255,255,255,.2);list-style:none}
.membership-coming-soon__list li{display:grid;grid-template-columns:48px minmax(0,1fr);gap:.75rem;align-items:start;padding:1.15rem .9rem 1.15rem 0;border-bottom:1px solid rgba(255,255,255,.16)}
.membership-coming-soon__list li:nth-child(odd){margin-right:1.5rem;border-right:1px solid rgba(255,255,255,.16)}
.membership-coming-soon__list span{color:#8FC2FF;font:700 1rem/1.5 var(--vls-display-font);font-variant-numeric:tabular-nums}
.membership-coming-soon__list strong{color:#fff;font-size:.92rem;line-height:1.55}

.location-editorial{background:var(--vls-ivory)}
.location-heading{max-width:850px}
.location-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:1.25rem;margin-top:3rem}
.location-photo{position:relative;min-height:500px;margin:0;overflow:hidden;background:#DCE7F3}
.location-photo picture,.location-photo img{display:block;width:100%;height:100%}
.location-photo img{min-height:500px;object-fit:cover}
.location-photo figcaption{position:absolute;right:1rem;bottom:1rem;left:1rem;padding:.85rem 1rem;background:rgba(255,255,255,.95);color:var(--vls-muted);font-size:.8rem;box-shadow:var(--vls-shadow-soft)}
.location-details{padding:clamp(1.5rem,4vw,3rem);border:1px solid var(--vls-line);background:#fff;box-shadow:var(--vls-shadow-soft)}
.location-landmark{margin:0 0 1.7rem;padding:1.1rem;border-left:4px solid var(--vls-orange);background:var(--vls-sky)}
.location-landmark span,.location-landmark strong{display:block}
.location-landmark span{color:var(--vls-muted);font-size:.7rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}
.location-landmark strong{margin-top:.4rem;color:var(--vls-blue);font-size:1.25rem}
.location-details dl{margin:0 0 1.7rem}
.location-details dl>div{padding:1rem 0;border-bottom:1px solid var(--vls-line)}
.location-details dt{color:var(--vls-muted);font-size:.7rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.location-details dd{margin:.35rem 0 0;color:var(--vls-ink);font-weight:750}
.location-grid .studio-map{grid-column:1/-1;min-height:460px;overflow:hidden;border:1px solid var(--vls-line);background:#DCE7F3;box-shadow:var(--vls-shadow-soft)}
.location-grid .studio-map iframe{display:block;width:100%;height:460px;border:0}

@media(max-width:1199.98px){
  .membership-tier-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}
  .membership-tier-card.is-featured,.membership-tier-card.is-featured:hover{transform:none}
  .membership-tier-head{min-height:260px}
}
@media(max-width:991.98px){
  .laptop-training-visual,.theatre-angle,.studio-video-grid,.location-grid,.pantry-grid--with-photo{grid-template-columns:minmax(0,1fr)}
  .theatre-angle>div,.theatre-angle img,.pantry-photo,.pantry-photo img,.location-photo,.location-photo img{min-height:420px}
  .studio-video-copy{max-width:720px}
}
@media(max-width:767.98px){
  :root{--vls-type-hero:clamp(2.75rem,12vw,3.15rem);--vls-type-hero-zh:clamp(2.35rem,10vw,2.75rem);--vls-type-section:clamp(2rem,9.5vw,2.6rem);--vls-type-section-zh:clamp(1.95rem,8.8vw,2.45rem)}
  .editorial-hero h1,[lang="zh"] .editorial-hero h1{font-size:var(--vls-type-hero)}
  [lang="zh"] .editorial-hero h1{font-size:var(--vls-type-hero-zh)}
  .editorial-heading h2,.detail-proof__heading h2,.events-heading h2,.pricing-heading h2,.calendar-intro h2,.pantry-grid h2,.studio-video-copy h2,.location-heading h2{font-size:var(--vls-type-section)}
  [lang="zh"] .editorial-heading h2,[lang="zh"] .detail-proof__heading h2,[lang="zh"] .events-heading h2,[lang="zh"] .pricing-heading h2,[lang="zh"] .calendar-intro h2,[lang="zh"] .pantry-grid h2,[lang="zh"] .studio-video-copy h2,[lang="zh"] .location-heading h2{font-size:var(--vls-type-section-zh)}
  .theatre-visual figcaption{position:relative;right:auto;bottom:auto;left:auto;background:var(--vls-ink)}
  .theatre-angle>div,.theatre-angle img,.pantry-photo,.pantry-photo img{min-height:0;aspect-ratio:4/3}
  .location-photo{min-height:0;overflow:visible}
  .location-photo picture,.location-photo img{width:100%;height:auto}
  .location-photo img{min-height:0;aspect-ratio:auto;object-fit:contain}
  .location-photo figcaption{position:relative;right:auto;bottom:auto;left:auto;margin:0;padding:1rem;background:#fff;box-shadow:none}
  .theatre-angle figcaption{padding:1.35rem}
  .studio-video-frame video{box-shadow:none}
  .laptop-training-visual__copy{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:1.75rem 1.35rem 2rem}
  .laptop-training-visual__copy .eyebrow,.laptop-training-visual__copy h3,.laptop-training-visual__copy>p:not(.eyebrow){grid-column:1;grid-row:auto}
  .laptop-training-visual__copy h3{font-size:clamp(1.9rem,8vw,2.45rem)}
  [lang="zh"] .laptop-training-visual__copy h3{font-size:clamp(1.8rem,7.8vw,2.25rem);overflow-wrap:anywhere}
  .laptop-training-visual__copy>p:not(.eyebrow){margin-top:.55rem}
  .laptop-training-visual__copy ul{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1.25rem}
  .laptop-training-visual__copy li,.laptop-training-visual__copy li:first-child{min-height:78px;padding:1rem .75rem .85rem 2rem;border-right:0;border-bottom:1px solid rgba(255,255,255,.14)}
  .laptop-training-visual__copy li::before{top:1.08rem;left:.45rem}
  .laptop-training-visual figcaption{font-size:.7rem}
  .membership-showcase-title{margin:2.75rem 0 1.25rem;font-size:clamp(1.75rem,8vw,2.35rem)}
  .membership-tier-grid{grid-template-columns:1fr;gap:1.25rem;margin-top:1.5rem}
  .membership-tier-card,.membership-tier-card:hover,.membership-tier-card.is-featured,.membership-tier-card.is-featured:hover{transform:none}
  .membership-tier-head{min-height:0;padding:1.45rem 1.3rem}
  .membership-tier-head h4{font-size:2rem}
  .membership-plan-price{font-size:2.4rem}
  .membership-tier-best-for{min-height:0;padding:1.15rem 1.3rem}
  .membership-tier-features{padding:0 1.3rem}
  .membership-tier-feature{display:grid;grid-template-columns:minmax(0,1fr) minmax(110px,.8fr);gap:1rem;align-items:baseline}
  .membership-tier-feature dd{margin:0;text-align:right}
  .membership-tier-footer{padding:1.3rem}
  .planned-membership{margin-top:2.75rem;padding-top:2.35rem}
  .membership-coming-soon__list{grid-template-columns:1fr}
  .membership-coming-soon__list li:nth-child(odd){margin-right:0;border-right:0}
  .location-grid .studio-map,.location-grid .studio-map iframe{min-height:360px;height:360px}
}
@media(max-width:390px){
  .membership-plan-price{font-size:2.2rem}
  .membership-tier-feature{grid-template-columns:minmax(0,1fr) minmax(96px,.72fr)}
  .location-details{padding:1.15rem}
  .laptop-training-visual__copy ul{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:767.98px){
  [data-reveal]{opacity:1!important;transform:none!important;transition:none!important}
}
.footer-privacy-button{padding:0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:underline;cursor:pointer}
.tracking-consent{position:fixed;z-index:1090;right:clamp(1rem,3vw,2rem);bottom:clamp(1rem,3vw,2rem);left:clamp(1rem,3vw,2rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.25rem;align-items:center;max-width:1180px;margin-inline:auto;padding:1.25rem 1.4rem;border:1px solid rgba(18,35,63,.16);border-radius:var(--vls-radius);background:#fff;color:var(--vls-ink);box-shadow:0 22px 70px rgba(18,35,63,.24)}
.tracking-consent[hidden]{display:none!important}
.tracking-consent__copy strong{display:block;margin-bottom:.35rem;font-family:var(--vls-display-font);font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.15}
.tracking-consent__copy p{max-width:780px;margin:0;color:var(--vls-muted);font-size:.92rem}
.tracking-consent__copy a{color:var(--vls-blue);font-weight:750}
.tracking-consent__actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.65rem}
@media(max-width:767.98px){
  .tracking-consent{grid-template-columns:1fr;gap:1rem;padding:1.1rem;bottom:.75rem;left:.75rem;right:.75rem}
  .tracking-consent__actions{display:grid;grid-template-columns:1fr}
  .tracking-consent__actions .btn{width:100%}
}

/* Booking decision polish: readable packages, direct next-date actions and visible access states. */
.member-window-note{max-width:900px;margin:1.25rem 0 0;padding:1rem 1.15rem;border-left:4px solid var(--vls-orange);background:var(--vls-sky);color:var(--vls-ink);font-weight:750}
.price-list .price-row{grid-template-columns:minmax(220px,1fr) 130px minmax(190px,.75fr) minmax(210px,.8fr);gap:1.25rem;padding:1.45rem 0}
.price-next-action{display:grid;gap:.18rem;padding:.9rem 1rem;border:1px solid var(--vls-blue);background:var(--vls-blue);color:#fff;text-decoration:none;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.price-next-action:hover,.price-next-action:focus-visible{background:#003A86;color:#fff;transform:translateY(-2px);box-shadow:0 .7rem 1.5rem rgba(0,74,173,.2)}
.price-next-action span{color:#BFD9FA;font-size:.65rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.price-list .price-next-action strong{color:#fff;font:750 1.12rem/1.2 var(--vls-display-font)}
.price-next-action em{color:#fff;font-size:.75rem;font-style:normal;font-weight:900}
.price-next-unavailable{padding:.9rem 1rem;border:1px solid var(--vls-line);background:#fff;color:var(--vls-muted);font-size:.78rem;font-weight:750}
.calendar-day.VIP_EXCLUSIVE{border-bottom:4px solid #8795A8;background:#F1F4F7;color:#607085;cursor:not-allowed;opacity:.82}
.calendar-day:disabled{cursor:not-allowed}
.calendar-legend i.exclusive{background:#8795A8}
.calendar-package{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.35rem 1rem;align-items:center;padding:1rem;border:1px solid var(--vls-line);border-radius:.65rem;background:#fff}
.calendar-package strong{font-size:.96rem;line-height:1.3}
.calendar-package span{color:var(--vls-blue);font:750 1.35rem/1 var(--vls-display-font);font-variant-numeric:tabular-nums}
.calendar-package small{grid-column:1/-1;color:var(--vls-muted);font-size:.78rem;font-weight:750}
.calendar-status-message{margin:1rem 0 0;padding:1rem;border-left:4px solid var(--vls-danger);background:#fff;color:var(--vls-ink);font-weight:850}
.nearest-date-action{width:100%;min-height:54px;padding:.85rem 1rem;border:1px solid var(--vls-blue);background:var(--vls-blue);color:#fff;font-weight:900;text-align:left}
.nearest-date-action:not(:disabled):hover,.nearest-date-action:not(:disabled):focus-visible{background:#003A86}
.nearest-date-action:disabled{border-color:var(--vls-line);background:#EEF2F6;color:var(--vls-muted)}

@media(max-width:991.98px){
  .price-list .price-row{grid-template-columns:minmax(0,1fr) auto}
  .price-list .price-row>small{grid-column:1}
  .price-next-action,.price-next-unavailable{grid-column:2;grid-row:1/3;min-width:220px}
}
@media(max-width:767.98px){
  .price-list .price-row{grid-template-columns:minmax(0,1fr);gap:.8rem;padding:1.35rem 0}
  .price-list .price-row>strong,.price-list .price-row>small,.price-next-action,.price-next-unavailable{grid-column:1;grid-row:auto}
  .price-list .price-row>strong{font-size:2rem}
  .price-next-action,.price-next-unavailable{min-width:0}
  .calendar-day.VIP_EXCLUSIVE small{display:block;margin-top:.25rem;font-size:.48rem;line-height:1.08}
  .calendar-detail{padding:1.15rem}
  .calendar-package{padding:.9rem}
}
