/* ---------- 05 model year updates ---------- */
.my-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;width:100%;margin-bottom:clamp(30px,4vw,54px)}
.my-head .h2{font-size:clamp(30px,4vw,66px);max-width:19ch;margin-top:20px}
.my-head .count{font-family:var(--disp);font-stretch:125%;font-weight:500;font-size:clamp(30px,3vw,48px);letter-spacing:-.03em;white-space:nowrap;font-variant-numeric:tabular-nums}
.my-head .count small{font-size:.4em;color:var(--dim)}
/* tab rail */
.ev-tabs{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:4px;margin:0 -4px 18px;scroll-behavior:smooth}
.ev-tabs::-webkit-scrollbar{display:none}
.ev-tab{position:relative;flex:none;display:flex;align-items:center;gap:10px;height:48px;padding:0 20px 0 16px;border-radius:99px;font-size:14px;font-weight:500;color:var(--mist);box-shadow:inset 0 0 0 1px var(--line2);overflow:hidden;isolation:isolate;transition:color .45s,box-shadow .45s,background .45s}
.ev-tab .n{font-family:var(--disp);font-stretch:112%;font-size:10.5px;letter-spacing:.16em;color:var(--dim);transition:color .45s}
.ev-tab:hover{color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.ev-tab[aria-selected="true"]{color:#0B0B0C;background:#fff;box-shadow:none}
.ev-tab[aria-selected="true"] .n{color:rgba(11,11,12,.5)}
.ev-tab .pr{position:absolute;left:0;bottom:0;height:3px;width:100%;background:rgba(11,11,12,.35);transform-origin:0 0;transform:scaleX(0);z-index:1}
.ev-tab[aria-selected="true"].run .pr{animation:evProg var(--dur,6.5s) linear forwards}
.ev.paused .ev-tab .pr{animation-play-state:paused!important}
@keyframes evProg{to{transform:scaleX(1)}}
/* stage: interactive cutaway of the club */
.ev-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:18px;align-items:stretch}
.ev-stage{position:relative;border-radius:var(--rxl);overflow:hidden;background:radial-gradient(60% 55% at 50% 45%,#1f1f23,#0f0f11 75%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.06),0 50px 90px -50px rgba(0,0,0,.95);touch-action:pan-y;height:clamp(460px,44vw,660px);perspective:1400px}
.ev-stage::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px;-webkit-mask-image:radial-gradient(70% 60% at 50% 50%,#000,transparent);mask-image:radial-gradient(70% 60% at 50% 50%,#000,transparent);pointer-events:none}
.cut-wrap{position:absolute;inset:clamp(14px,2vw,28px);transition:transform 1s var(--ease);transform-style:preserve-3d}
/* marker that travels to the active zone */
.cut-mk{position:absolute;left:0;top:0;z-index:3;pointer-events:none;transform:translate(var(--mx,50%),var(--my,50%));transition:transform 1s var(--door)}
}
.cut-mk .stem{position:absolute;left:-.5px;bottom:6px;width:1px;height:46px;background:linear-gradient(transparent,#fff)}
.mk-chip{position:absolute;left:0;bottom:52px;transform:translateX(-50%);transition:transform .6s var(--ease);white-space:nowrap;font-size:12.5px;font-weight:600;color:#0B0B0C;background:#fff;padding:8px 14px;border-radius:99px;box-shadow:0 14px 30px -10px rgba(0,0,0,.8)}
.mk-chip b{font-weight:600}
.cut-mk.al .mk-chip{transform:translateX(-18px)}
.cut-mk.ar .mk-chip{transform:translateX(calc(-100% + 18px))}
.mk-chip i{font-style:normal;font-family:var(--disp);font-stretch:112%;font-size:9.5px;letter-spacing:.18em;color:rgba(11,11,12,.5);margin-right:8px}
.scan{position:absolute;top:0;bottom:0;left:0;width:22%;z-index:2;background:linear-gradient(90deg,transparent,rgba(255,255,255,.07),transparent);transform:translateX(-120%);pointer-events:none}
.scan.go{animation:scan 1.3s var(--door)}
@keyframes scan{to{transform:translateX(560%)}}
.cut-note{position:absolute;left:22px;right:22px;bottom:18px;line-height:1.6;z-index:2;font-family:var(--disp);font-stretch:112%;font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.3)}
/* info panel */
.ev-info{position:relative;display:grid;border-radius:var(--rxl);background:linear-gradient(165deg,#222226,#121214 72%);box-shadow:inset 0 1px 0 rgba(255,255,255,.1),inset 0 0 0 1px rgba(255,255,255,.06);overflow:hidden;min-height:250px}
.ev-panel{grid-area:1/1;position:relative;padding:clamp(24px,2.6vw,36px) clamp(24px,2.6vw,36px) 92px;opacity:0;visibility:hidden;transition:opacity .6s var(--ease),visibility 0s .6s}
.ev-panel.on{opacity:1;visibility:visible;transition:opacity .8s var(--ease) .1s}
.ev-panel .top{display:flex;align-items:center;gap:12px;margin-bottom:22px}
.ev-panel .tag{font-family:var(--disp);font-stretch:112%;font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:7px 12px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--mist)}
.ev-panel .tag.new{background:#fff;color:#0B0B0C;box-shadow:none}
.ev-panel h3{font-family:var(--disp);font-stretch:125%;font-weight:600;font-size:clamp(26px,2.4vw,40px);letter-spacing:-.025em;line-height:1.02;margin-bottom:14px}
.ev-panel p{color:var(--mist);font-size:15px;max-width:40ch}
.ev-panel>*{transform:translateY(18px);opacity:0;transition:transform 1s var(--ease),opacity .8s var(--ease)}
.ev-panel.on>*{transform:none;opacity:1}
.ev-panel.on>*:nth-child(2){transition-delay:.08s}.ev-panel.on>*:nth-child(3){transition-delay:.16s}
.ev-info .ev-ctl{position:absolute;left:14px;right:14px;bottom:14px;z-index:2;box-shadow:none;padding:0 0 0 12px}
.ev-side{display:flex;flex-direction:column;gap:18px}
.ucard{position:relative;border-radius:var(--rl);padding:26px;display:flex;flex-direction:column;justify-content:space-between;gap:22px;overflow:hidden}
.ucard .top{display:flex;justify-content:space-between;align-items:center}
.ucard .tag{font-family:var(--disp);font-stretch:112%;font-size:10px;letter-spacing:.22em;text-transform:uppercase;padding:6px 11px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line2);color:var(--mist)}
.ucard.qt{background:var(--paper);color:#0B0B0C;--mist:rgba(11,11,12,.6);--line2:rgba(11,11,12,.2);box-shadow:0 40px 70px -40px rgba(0,0,0,.9)}
.ucard.qt blockquote{font-family:var(--serif);font-style:normal;font-weight:500;font-size:clamp(19px,1.7vw,26px);line-height:1.35;letter-spacing:-.01em}
.ucard.qt cite{font-style:normal;font-size:13px;color:var(--mist)}
.ucard.qt .qm{font-family:var(--serif);font-size:90px;line-height:.6;height:40px}
.ev-side .ucard{flex:1}
.ev-ctl{display:flex;align-items:center;justify-content:space-between;gap:12px}
.ev-ctl span{font-size:13px;color:var(--mist)}

/* ---------- 06 wellness (light) ---------- */
.well-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1fr);gap:clamp(30px,7vw,120px);align-items:center}
.wcard{position:absolute;z-index:4;top:clamp(14px,1.8vw,24px);right:clamp(14px,1.8vw,24px);width:clamp(118px,14.5vw,200px);aspect-ratio:9/16;border-radius:22px;overflow:hidden;background:#140f0b center/cover no-repeat;box-shadow:0 30px 60px -20px rgba(0,0,0,.9),0 0 0 1px rgba(255,255,255,.14),0 0 40px -6px rgba(255,170,90,.25);opacity:0;visibility:hidden;transform:translateY(18px) scale(.92);transform-origin:100% 0;transition:opacity .6s var(--ease),transform .9s var(--ease),visibility 0s .6s;cursor:pointer}
.ev-stage.media .wcard{opacity:1;visibility:visible;transform:none;transition:opacity .7s var(--ease) .25s,transform 1s var(--ease) .25s}
.wcard video{width:100%;height:100%;object-fit:cover;display:block}
.wcard img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.06);transition:opacity .6s var(--ease),transform 1.2s var(--ease)}
.wcard.img img{opacity:1;transform:none}
.wcard.img video,.wcard.img .snd2,.wcard.mute .snd2{display:none}
.wcard.swap{animation:wSwap .7s var(--ease)}
@keyframes wSwap{0%{transform:scale(.94);opacity:.4}100%{transform:none;opacity:1}}
.wcard .wtag{position:absolute;left:10px;top:10px;display:flex;align-items:center;gap:7px;font-size:10.5px;font-weight:600;color:#fff;padding:6px 10px;border-radius:99px;background:rgba(10,10,12,.55)}
.wcard .snd2{position:absolute;left:10px;bottom:10px;display:flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;border-radius:99px;color:#fff;font-size:11.5px;font-weight:500;background:rgba(10,10,12,.55);box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)}
.wcard .snd2 svg{width:14px;height:14px}
.vwrap{position:relative}
.vwrap .hx{position:absolute;width:260px;right:-60px;top:-50px;z-index:-1;filter:none}
.vwrap .hx path{stroke:#0B0B0C}
.wlist{list-style:none;margin:34px 0 40px;border-top:1px solid var(--line)}
.wlist li{display:grid;grid-template-columns:44px minmax(0,1fr);gap:14px;padding:22px 0;border-bottom:1px solid var(--line)}
.wlist .nn{font-family:var(--disp);font-stretch:112%;font-size:11px;letter-spacing:.18em;color:var(--dim);padding-top:6px}
.wlist b{display:block;font-family:var(--disp);font-stretch:125%;font-weight:600;font-size:clamp(20px,1.8vw,26px);letter-spacing:-.015em;margin-bottom:2px}
.wlist span{color:var(--mist);font-size:15px}

/* responsive rules repeated here so they win over this file's base styles */
/* ---------- responsive ---------- */
@media (max-width:1100px){
  .links a{padding:8px 10px;font-size:13px}
  .figs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fig:nth-child(3){border-left:0;padding-left:0}
  .fig:nth-child(n+3){border-top:1px solid var(--line)}
  .rows{grid-template-columns:1fr}
}
@media (max-width:980px){
  .menu-btn{display:grid}
  .awards{grid-template-columns:1fr}
}
@media (max-width:900px){
  .hero{position:relative;height:auto;min-height:100svh}
  .stage{padding-top:calc(var(--rib) + 100px);padding-bottom:3vh}
  .stand{height:clamp(150px,30svh,440px)}
  .hero-foot{grid-template-columns:minmax(0,1fr);gap:16px}
  .hero h1{font-size:clamp(28px,7.4vw,46px)}
  .scrolli{display:none}
  .mani-grid,.disc-grid,.well-grid,.tam-grid,.cfg-grid,.pass-grid,.visit-panel{grid-template-columns:minmax(0,1fr)}
  .mani-grid>*,.disc-grid>*,.well-grid>*,.tam-grid>*,.cfg-grid>*,.pass-grid>*,.visit-panel>*{min-width:0}
  .dview{position:relative;top:auto;order:-1}
  .dview{display:none}
  .dd{display:grid;grid-template-rows:0fr;transition:grid-template-rows .6s var(--ease)}
  .dd>div{overflow:hidden;padding-left:56px}
  .dd p{font-size:14.5px;color:var(--mist);margin:0 0 10px}
  .dd .txtlink{margin-bottom:18px}
  .dlist li.on .dd{grid-template-rows:1fr}
  .cstage{display:contents}
  .cstage .halo{display:none}
  .card3d{order:1;justify-self:center}
  .cfg-grid>div:first-child{order:2}
  .summary{order:3;justify-self:center}
  .cstage .txtlink{order:4;justify-self:center}
  .ev-body{grid-template-columns:minmax(0,1fr)}
  .ev-stage{height:clamp(340px,92vw,520px)}
  .mk-chip{font-size:11.5px;padding:7px 12px}
  .ev-tabs{margin-left:calc(var(--gut) * -1);margin-right:calc(var(--gut) * -1);padding:4px var(--gut)}
  .my-head{flex-direction:column;align-items:flex-start}
  .tam .portrait{max-width:520px}
}
@media (max-width:700px){
  .tiers{grid-template-columns:minmax(0,1fr)}
  .ctas .pill{flex:1 1 100%;justify-content:space-between}
  .ctas .pill.ghost{justify-content:center}
  .face{width:74vw}
  .figs{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .fig .n{font-size:clamp(46px,14vw,70px)}
  .fig p{font-size:13px}
  .row{grid-template-columns:minmax(0,1fr);gap:4px}
  .dlist button{grid-template-columns:42px minmax(0,1fr);gap:14px;padding:12px 2px}
  .dt{width:42px;height:42px;border-radius:12px}.dt svg{width:24px;height:24px}
  .dlist .dw{display:none}
  .form{grid-template-columns:minmax(0,1fr)}
  .contacts a{grid-template-columns:minmax(0,1fr) auto;gap:4px 10px}
  .contacts .k{grid-column:1/-1}
  .summary dl{grid-template-columns:minmax(0,1fr)}
  .summary dd{text-align:left;margin-bottom:6px}
  .pill{white-space:normal;text-align:left;line-height:1.2;min-height:56px;height:auto;padding-top:8px;padding-bottom:8px}
  footer{padding-bottom:120px}
}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001s!important;animation-iteration-count:1!important;transition-duration:.001s!important;transition-delay:0s!important}
  .js .rv,.js .hero .rise{opacity:1!important;transform:none!important}
  .js .mask{clip-path:none!important}.js .mask img{transform:none!important}
  .mani .big span{color:#0B0B0C}
  .hexl{opacity:1}
}
@media (max-width:700px){.fig p,.ev-panel p{font-size:16px}}
/* the club video sits beside the illustration, never on top of it */
.ev-side .wcard{position:relative;top:auto;right:auto;width:100%;flex:1;min-height:240px;aspect-ratio:auto;opacity:.22;visibility:visible;transform:none;border-radius:var(--rxl);transition:opacity .6s var(--ease)}
.ev:has(.ev-stage.media) .ev-side .wcard{opacity:1}
.ev-side .wcard video{position:absolute;inset:0}
@media (max-width:900px){.ev-side .wcard{flex:none;aspect-ratio:4/3;min-height:0}}

/* a member's word on how fast TK changes, under the upgrades */
.my-q{display:grid;gap:12px;max-width:820px;margin-top:clamp(36px,5vw,64px);padding-top:clamp(22px,3vw,34px);border-top:1px solid var(--line)}
.my-q blockquote{font-family:var(--serif);font-style:normal;font-weight:500;font-size:clamp(19px,1.9vw,27px);line-height:1.35;color:var(--txt)}
.my-q figcaption{font-size:14px;color:var(--dim)}
@media (max-width:700px){.my-q figcaption{font-size:15px}}

/* ---------- "Walk the club": the 9th floor in 3D ---------- */
.sc-sec .my-head{align-items:flex-end}
.sc-lead{max-width:44ch;color:var(--mist)}
.sc-stage{height:clamp(420px,46vw,640px);touch-action:pan-y;cursor:grab;user-select:none;-webkit-user-select:none}
.sc-stage.drag{cursor:grabbing}
.sc-stage.flat{cursor:default}
.sc-gl{position:absolute;inset:0;opacity:0;transition:opacity 1.2s var(--ease)}
.sc-gl canvas{display:block;width:100%!important;height:100%!important}
.sc-stage.gl .sc-gl{opacity:1}
/* flat plan: fallback and poster while the 3D loads */
.sc-flat{position:absolute;left:4%;right:4%;top:50%;aspect-ratio:1290/660;transform:translateY(-52%);transition:opacity .9s var(--ease)}
.sc-plan{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.sc-plan .shell{fill:#141417;stroke:rgba(201,204,209,.45);stroke-width:2}
.sc-plan .z{fill:rgba(201,204,209,.07);stroke:rgba(201,204,209,.5);stroke-width:1.5;cursor:pointer;transition:fill .5s,stroke .5s}
.sc-plan .zg{fill:#222227;stroke:rgba(201,204,209,.18);stroke-width:1.2}
.sc-plan .core{fill:#2b2c31;stroke:rgba(201,204,209,.25);stroke-width:1}
.sc-plan .col{fill:#9fa2a9}
.sc-plan .deck{fill:#1b1b20;stroke:rgba(201,204,209,.35);stroke-width:1.5;cursor:pointer}
.sc-plan .water{fill:rgba(111,167,201,.55);stroke:rgba(255,255,255,.4);cursor:pointer}
.sc-plan .on{fill:rgba(255,255,255,.3);stroke:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.6))}
.sc-plan .water.on{fill:rgba(150,200,230,.85)}
.sc-stage.gl .sc-flat .sc-plan{opacity:0}
.sc-stage.gl .sc-flat{transform:none;left:0;right:0;top:0;bottom:0;aspect-ratio:auto;z-index:2;pointer-events:none}
/* zone labels (positioned over the plan, or over the 3D view once it runs) */
.sc-lbls{position:absolute;inset:0;pointer-events:none}
.sc-lbl{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:4px 9px 4px 4px;border-radius:99px;background:rgba(11,11,12,.72);box-shadow:inset 0 0 0 1px rgba(255,255,255,.22);color:#F4F3EF;font-size:11px;font-weight:600;line-height:1;white-space:nowrap;pointer-events:auto;cursor:pointer;transition:opacity .4s,background .3s,color .3s}
.sc-lbl i{display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:rgba(255,255,255,.14);font-style:normal;font-family:var(--disp);font-size:8.5px;letter-spacing:.06em}
.sc-lbl:hover{background:#fff;color:#0B0B0C}.sc-lbl:hover i{background:rgba(11,11,12,.12)}
.sc-lbl.back{opacity:0;pointer-events:none}
.sc-stage:not(.ov) .sc-lbl{opacity:.35}
.sc-stage:not(.ov) .sc-lbl.on{opacity:0}
.cut-mk.off{opacity:0}
.sc-stage .cut-mk{transition:opacity .4s}
.sc-stage.gl .cut-mk{transition:opacity .4s}
.sc-stage:not(.gl) .cut-mk{transition:transform 1s var(--door),opacity .4s}
/* controls */
.sc-stage .m3-ctl{position:absolute;right:14px;top:14px;display:flex;gap:8px;z-index:4}
.sc-stage .m3-ctl .ib{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:rgba(11,11,12,.7);color:#F4F3EF;font:500 18px/1 var(--body);display:grid;place-items:center}
.sc-stage .m3-ctl .sc-reset{width:auto;padding:0 16px;white-space:nowrap;border-radius:99px;font-size:12.5px;font-weight:600}
.sc-stage.flat .m3-ctl{display:none}
.sc-reset .ri{display:none}
.sc-load{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:3;font-size:12px;color:rgba(255,255,255,.55);padding:8px 14px;border-radius:99px;background:rgba(11,11,12,.6);opacity:0;pointer-events:none;transition:opacity .4s}
.sc-stage.loading .sc-load{opacity:1}
/* card */
.sc-items{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.sc-items li{font-size:12.5px;color:var(--mist);padding:6px 11px;border-radius:99px;box-shadow:inset 0 0 0 1px var(--line2)}
.sc .ev-side .wcard{opacity:1}
.sc .wcard.none{display:none}
.wcard img{z-index:1}
@media (max-width:900px){
  .sc-stage{height:clamp(360px,100vw,540px)}
  .sc-flat{left:2%;right:2%}
  .sc-lbl b{display:none}.sc-lbl{padding:4px}
  .sc-stage .m3-ctl{right:10px;top:10px}
  .sc-stage .m3-ctl .ib{width:40px;height:40px}
  .sc-stage .m3-ctl .sc-reset{width:40px;padding:0;font-size:18px}.sc-reset .rt{display:none}.sc-reset .ri{display:block}
}
.sc-stage.flat .cut-note{display:none}
