@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant.woff2) format("woff2");font-weight:300 700;font-display:swap}
@font-face{font-family:"Cormorant";src:url(assets/fonts/cormorant-italic.woff2) format("woff2");font-weight:300 700;font-style:italic;font-display:swap}
@font-face{font-family:"Inter";src:url(assets/fonts/inter.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{--gold:#c6a66b;--gold2:#e9d6a8;--gold3:#8a7346;--ink:#07080b;--ink2:#0e1015;--ink3:#151821;--txt:#efe9de;--mute:#8f8a80;--line:rgba(198,166,107,.32);--ease:cubic-bezier(.65,0,.35,1);--serif:"Cormorant",Georgia,serif;--sans:"Inter",system-ui,sans-serif}
*{box-sizing:border-box;margin:0;padding:0}
html{background:var(--ink)}
body{background:var(--ink);color:var(--txt);font-family:var(--sans);font-weight:300;-webkit-font-smoothing:antialiased;overflow-x:hidden}
body.lock{overflow:hidden}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.serif{font-family:var(--serif);font-weight:300}
.eyebrow{font-size:10.5px;letter-spacing:.38em;text-transform:uppercase;color:var(--gold)}
.sample{display:inline-block;font-family:var(--sans);font-size:8.5px;letter-spacing:.22em;text-transform:uppercase;border:1px solid rgba(255,255,255,.18);padding:3px 7px 2px;border-radius:20px;color:var(--mute);vertical-align:middle;font-weight:400}

/* grain + vignette */
.grain{position:fixed;inset:-50%;z-index:90;pointer-events:none;background:url(assets/img/grain.png);opacity:.055;animation:grain 1s steps(6) infinite;mix-blend-mode:overlay}
@keyframes grain{0%{transform:translate(0,0)}20%{transform:translate(-3%,2%)}40%{transform:translate(2%,-3%)}60%{transform:translate(-2%,-1%)}80%{transform:translate(3%,3%)}100%{transform:translate(0,0)}}

/* LOADER */
#loader{position:fixed;inset:0;z-index:100;background:var(--ink);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px}
#loader svg{width:66px;height:auto;overflow:visible}
#loader .mono path,#loader .mono line{fill:none;stroke:var(--gold);stroke-width:1}
#loader .word{font-family:var(--serif);font-size:30px;letter-spacing:.6em;margin-right:-.6em;display:flex}
#loader .word span{display:inline-block;opacity:0;transform:translateY(12px)}
#loader .sub{font-size:9.5px;letter-spacing:.5em;color:var(--gold);opacity:0;margin-right:-.5em}
#loader .prog{position:absolute;bottom:12vh;width:160px;height:1px;background:rgba(255,255,255,.08);overflow:hidden}
#loader .prog i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0)}
#loader .pct{position:absolute;bottom:calc(12vh + 14px);font-size:10px;letter-spacing:.3em;color:var(--mute)}

/* HERO */
.hero{position:relative;height:100vh;height:100svh;overflow:hidden;background:#05060a}
.stage{position:absolute;left:50%;top:50%;width:max(100vw,177.78svh);height:max(100svh,56.25vw);transform:translate(-50%,-50%)}
.stage-move,.stage-zoom{position:absolute;inset:0;will-change:transform}
.stage img.hero-img{width:100%;height:100%;display:block;object-fit:cover;user-select:none;-webkit-user-drag:none}
.dim{position:absolute;inset:0;background:#05060a;opacity:0;pointer-events:none}
.shade{position:absolute;inset:0;pointer-events:none;background:
 radial-gradient(ellipse 70% 85% at 50% 48%,rgba(5,6,10,0) 40%,rgba(5,6,10,.55) 100%),
 linear-gradient(90deg,rgba(7,8,11,.88) 0%,rgba(7,8,11,.35) 26%,rgba(7,8,11,0) 40%,rgba(7,8,11,0) 62%,rgba(7,8,11,.45) 100%),
 linear-gradient(0deg,rgba(7,8,11,.92) 0%,rgba(7,8,11,0) 22%),linear-gradient(180deg,rgba(7,8,11,.6) 0%,rgba(7,8,11,0) 14%)}
.floors{position:absolute;inset:0}
.fl{position:absolute;cursor:pointer;outline:none;-webkit-tap-highlight-color:transparent}
.fl::before{content:"";position:absolute;inset:0;border-top:1px solid rgba(233,214,168,0);border-bottom:1px solid rgba(233,214,168,0);background:linear-gradient(90deg,rgba(198,166,107,0),rgba(233,214,168,.42) 50%,rgba(198,166,107,0));opacity:0;transition:opacity .35s var(--ease),border-color .35s}
.fl:hover::before,.fl.on::before,.fl:focus-visible::before{opacity:1;border-color:rgba(233,214,168,.9)}
.fl.on{box-shadow:0 0 0 200vmax rgba(5,6,10,.38);z-index:2;transition:box-shadow .5s var(--ease)}
.floors.sweep .fl::before{animation:sweep 3.2s var(--ease) both;animation-delay:calc(var(--i) * 45ms + 2.2s)}
@keyframes sweep{0%,100%{opacity:0}40%{opacity:.75;border-color:rgba(233,214,168,.45)}}
.flabel{position:absolute;z-index:6;pointer-events:none;display:flex;align-items:center;gap:14px;opacity:0;transform:translateX(-6px);transition:opacity .3s,transform .3s var(--ease);white-space:nowrap}
.flabel.show{opacity:1;transform:none}
.flabel i{display:block;width:54px;height:1px;background:linear-gradient(90deg,var(--gold2),var(--gold))}
.flabel b{font-family:var(--serif);font-weight:300;font-size:30px;line-height:1;color:#fff}
.flabel small{display:block;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--gold2);margin-top:6px}

.topbar{position:absolute;top:0;left:0;right:0;z-index:8;display:flex;justify-content:space-between;align-items:center;padding:30px clamp(20px,4.4vw,64px)}
.logo{display:flex;align-items:center;gap:14px}
.logo svg{width:20px;height:auto}
.logo svg path,.logo svg line{fill:none;stroke:var(--gold);stroke-width:1.3}
.logo b{display:block;font-family:var(--serif);font-weight:400;font-size:19px;letter-spacing:.5em}
.logo small{display:block;font-size:8.5px;letter-spacing:.44em;color:var(--gold);margin-top:3px}
.tb-right{display:flex;gap:10px;align-items:center}
.pill{border:1px solid var(--line);padding:11px 20px;border-radius:40px;font-size:10px;letter-spacing:.26em;text-transform:uppercase;transition:background .4s var(--ease),color .4s,border-color .4s;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:rgba(7,8,11,.25)}
.pill:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}
.sound{display:flex;align-items:center;gap:10px;font-size:9.5px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute);padding:10px 6px}
.sound .bars{display:flex;gap:2px;align-items:flex-end;height:12px}
.sound .bars i{width:2px;height:3px;background:var(--gold);transition:height .3s}
.sound.on .bars i{animation:eq 1.1s ease-in-out infinite}
.sound.on .bars i:nth-child(2){animation-delay:.2s}.sound.on .bars i:nth-child(3){animation-delay:.45s}.sound.on .bars i:nth-child(4){animation-delay:.7s}
@keyframes eq{0%,100%{height:3px}50%{height:12px}}
.sound:hover{color:var(--gold2)}

.intro{position:absolute;z-index:5;left:clamp(20px,4.4vw,64px);top:50%;transform:translateY(-50%);max-width:400px;pointer-events:none}
.intro h1{font-family:var(--serif);font-weight:300;font-size:clamp(48px,5.6vw,88px);line-height:.96;letter-spacing:-.01em;margin:22px 0 26px}
.intro h1 em{font-style:italic;color:var(--gold2)}
.intro .ln{display:block;overflow:hidden;padding-bottom:.06em}
.intro .ln>span{display:inline-block}
.intro p{color:#c9c2b5;font-size:14px;line-height:1.85;max-width:340px}
.cue{margin-top:30px;display:flex;align-items:center;gap:14px;font-size:10px;letter-spacing:.28em;text-transform:uppercase;color:var(--gold2)}
.cue i{width:30px;height:30px;border:1px solid var(--line);border-radius:50%;position:relative}
.cue i::after{content:"";position:absolute;left:50%;top:50%;width:5px;height:5px;margin:-2.5px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(198,166,107,.6);animation:ping 2s infinite}
@keyframes ping{0%{box-shadow:0 0 0 0 rgba(198,166,107,.6)}100%{box-shadow:0 0 0 14px rgba(198,166,107,0)}}

.legend{position:absolute;z-index:6;right:clamp(20px,4.4vw,64px);top:50%;transform:translateY(-50%);width:250px;display:flex;flex-direction:column;gap:0}
.legend h4{font-weight:400;font-size:9.5px;letter-spacing:.36em;text-transform:uppercase;color:var(--mute);margin-bottom:12px}
.lg{display:grid;grid-template-columns:14px 1fr auto;gap:14px;align-items:center;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07);text-align:left;transition:padding .4s var(--ease),border-color .4s}
.lg:first-of-type{border-top:1px solid rgba(255,255,255,.07)}
.lg .sw{width:14px;height:14px;border:1px solid var(--gold);position:relative}
.lg .sw.duo::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--gold)}
.lg .sw.sky{background:rgba(198,166,107,.22)}
.lg .sw.ph{border-radius:50%;background:var(--gold)}
.lg b{font-family:var(--serif);font-weight:400;font-size:19px;display:block;line-height:1.1}
.lg small{font-size:9.5px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase}
.lg em{font-style:normal;font-size:10px;letter-spacing:.14em;color:var(--gold2)}
.lg:hover,.lg.on{padding-left:8px;border-bottom-color:var(--line)}
.legend .note{margin-top:14px;font-size:10px;color:var(--mute);letter-spacing:.06em;line-height:1.6}

.hero-foot{position:absolute;z-index:6;left:clamp(20px,4.4vw,64px);right:clamp(20px,4.4vw,64px);bottom:26px;display:flex;justify-content:space-between;align-items:center;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.scrollcue{display:flex;align-items:center;gap:12px}
.scrollcue i{width:1px;height:34px;background:linear-gradient(var(--gold),transparent);animation:drip 2.2s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}

/* mobile scrubber + chips */
.scrub{display:none;position:absolute;z-index:7;right:14px;width:44px;touch-action:none}
.scrub .track{position:absolute;left:50%;top:0;bottom:0;width:1px;background:linear-gradient(var(--gold),rgba(198,166,107,.25))}
.scrub .tick{position:absolute;left:50%;width:7px;height:1px;background:rgba(198,166,107,.45);transform:translateX(-50%)}
.scrub .thumb{position:absolute;left:50%;width:40px;height:40px;margin:-20px 0 0 -20px;border-radius:50%;border:1px solid var(--gold);background:rgba(7,8,11,.75);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:17px;color:var(--gold2)}
.mbar{display:none;position:absolute;z-index:7;left:16px;right:16px;bottom:16px;flex-direction:column;gap:10px}
.mchips{display:flex;gap:6px}
.mchips button{flex:1;font-size:9px;letter-spacing:.12em;text-transform:uppercase;padding:9px 4px;border:1px solid rgba(198,166,107,.3);border-radius:30px;background:rgba(7,8,11,.6);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap}
.mchips button .sw{width:9px;height:9px;border:1px solid var(--gold);position:relative;flex:0 0 auto}
.mchips .sw.duo::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--gold)}
.mchips .sw.sky{background:rgba(198,166,107,.3)}.mchips .sw.ph{border-radius:50%;background:var(--gold)}
.mchips button.on{border-color:var(--gold2);color:var(--gold2)}
.enter{display:flex;justify-content:space-between;align-items:center;padding:15px 20px;border-radius:2px;background:var(--gold);color:var(--ink);font-size:11px;letter-spacing:.2em;text-transform:uppercase;font-weight:500;transform:translateY(8px);opacity:.0;pointer-events:none;transition:.4s var(--ease)}
.enter.show{opacity:1;transform:none;pointer-events:auto}
.enter b{font-family:var(--serif);font-size:20px;letter-spacing:0;text-transform:none;font-weight:500}

/* FLOOR VIEW */
#floorView{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(300px,380px) 1fr;opacity:0;visibility:hidden;background:radial-gradient(ellipse at 65% 50%,rgba(21,24,33,.86),rgba(7,8,11,.97) 70%)}
#floorView .fv-side{padding:120px clamp(24px,3.2vw,52px) 40px;display:flex;flex-direction:column;gap:22px;border-right:1px solid rgba(198,166,107,.12);overflow-y:auto}
.crumb{display:flex;gap:10px;align-items:center;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--mute)}
.crumb button:hover{color:var(--gold2)}
.crumb span{color:var(--gold3)}
.fv-no{display:flex;align-items:flex-end;gap:16px}
.fv-no b{font-family:var(--serif);font-weight:300;font-size:120px;line-height:.8;letter-spacing:-.03em}
.fv-no .arrows{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.fv-no .arrows button{width:34px;height:34px;border:1px solid rgba(255,255,255,.14);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--mute);transition:.3s}
.fv-no .arrows button:hover{border-color:var(--gold);color:var(--gold2)}
.fv-type{font-family:var(--serif);font-size:30px;font-weight:300;line-height:1.1}
.fv-type small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.fv-desc{font-size:13.5px;line-height:1.85;color:#c3bcae}
.mini-legend{display:flex;flex-direction:column;gap:8px;margin-top:auto;padding-top:20px;border-top:1px solid rgba(255,255,255,.07)}
.mini-legend div{display:flex;gap:10px;align-items:center;font-size:10px;letter-spacing:.16em;color:var(--mute);text-transform:uppercase}
.mini-legend .sw{width:10px;height:10px;border:1px solid var(--gold);position:relative}
.mini-legend .sw.duo::after{content:"";position:absolute;left:50%;top:0;bottom:0;border-left:1px solid var(--gold)}
.mini-legend .sw.sky{background:rgba(198,166,107,.3)}.mini-legend .sw.ph{border-radius:50%;background:var(--gold)}
.mini-legend div.on{color:var(--gold2)}
.fv-main{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:90px clamp(20px,3vw,60px) 30px;gap:26px;overflow-y:auto}
.plate-wrap{position:relative;width:min(100%,860px)}
.plate{width:100%;height:auto;display:block;overflow:visible}
.plate .draw{fill:none;stroke:var(--gold);stroke-width:1;vector-effect:non-scaling-stroke}
.plate .thin{stroke-width:.6;opacity:.6}
.plate .faint{stroke:rgba(198,166,107,.35)}
.plate .hatch{fill:url(#hatch);stroke:none;opacity:.7}
.plate .core{fill:#0b0d12;stroke:var(--gold);stroke-width:.8}
.plate .pool{fill:url(#poolg);stroke:var(--gold2);stroke-width:.8}
.plate .room{font-family:var(--sans);font-size:8.5px;letter-spacing:.22em;fill:var(--mute);text-transform:uppercase;text-anchor:middle}
.plate .ori{font-family:var(--sans);font-size:9px;letter-spacing:.42em;fill:var(--gold);text-anchor:middle}
.plate .unit{fill:rgba(198,166,107,0);cursor:pointer;transition:fill .45s var(--ease);stroke:none}
.plate .unit:hover,.plate .unit.hl{fill:rgba(198,166,107,.13)}
.plate .ulabel{pointer-events:none;text-anchor:middle}
.plate .ulabel .n{font-family:var(--serif);font-size:30px;fill:#fff;font-weight:300}
.plate .ulabel .t{font-family:var(--sans);font-size:8.5px;letter-spacing:.26em;fill:var(--gold2)}
.plate .tap{fill:none;stroke:var(--gold2);stroke-width:1;opacity:.0}
.lvl{display:flex;gap:4px;padding:4px;border:1px solid rgba(255,255,255,.1);border-radius:40px}
.lvl button{font-size:9.5px;letter-spacing:.24em;text-transform:uppercase;padding:9px 16px;border-radius:30px;color:var(--mute);transition:.35s}
.lvl button.on{background:var(--gold);color:var(--ink)}
.ucards{display:flex;gap:14px;width:min(100%,860px)}
.ucard{flex:1;display:grid;grid-template-columns:92px 1fr auto;gap:16px;align-items:center;padding:12px 16px 12px 12px;border:1px solid rgba(255,255,255,.08);border-radius:3px;text-align:left;transition:border-color .4s,background .4s,transform .4s var(--ease);background:rgba(7,8,11,.4)}
.ucard img{width:92px;height:62px;object-fit:cover;border-radius:2px;display:block}
.ucard b{font-family:var(--serif);font-weight:400;font-size:22px;display:block;line-height:1.1}
.ucard small{font-size:9.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--mute);display:block;margin-top:4px}
.ucard .go{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--gold2);transition:.4s var(--ease)}
.ucard:hover,.ucard.hl{border-color:var(--line);background:rgba(198,166,107,.06)}
.ucard:hover .go,.ucard.hl .go{background:var(--gold);color:var(--ink);transform:translateX(3px)}
.fv-hint{font-size:10px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.fv-close{position:absolute;top:30px;right:clamp(20px,4.4vw,64px);z-index:3}

/* FLY */
#fly{position:fixed;inset:0;z-index:60;background:#000;visibility:hidden}
#fly video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.lb{position:absolute;left:0;right:0;height:50%;background:#000;z-index:2}
.lb.t{top:0}.lb.b{bottom:0}
.fcap{position:absolute;z-index:3;left:0;right:0;bottom:15vh;text-align:center;pointer-events:none}
.fcap small{display:block;font-size:10px;letter-spacing:.42em;text-transform:uppercase;color:var(--gold2);margin-bottom:12px}
.fcap b{font-family:var(--serif);font-weight:300;font-size:clamp(34px,4vw,60px);text-shadow:0 2px 40px rgba(0,0,0,.6)}
.fly-ui{position:absolute;z-index:4;left:clamp(20px,4.4vw,64px);right:clamp(20px,4.4vw,64px);bottom:4vh;display:flex;justify-content:space-between;align-items:center;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.fly-ui .prog{flex:1;height:1px;background:rgba(255,255,255,.15);margin:0 24px;position:relative}
.fly-ui .prog i{position:absolute;inset:0;background:var(--gold);transform-origin:left;transform:scaleX(0)}
.skip{border:1px solid rgba(255,255,255,.3);padding:10px 18px;border-radius:30px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;transition:.3s}
.skip:hover{border-color:var(--gold);color:var(--gold2)}

/* UNIT */
#unit{position:fixed;inset:0;z-index:50;background:var(--ink);visibility:hidden;opacity:0;overflow-y:auto}
.u-grid{display:grid;grid-template-columns:1fr minmax(380px,440px);min-height:100%}
.gal{position:relative;overflow:hidden;background:#000;min-height:100vh}
.gal .slides img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0}
.gal .shade2{position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(7,8,11,.7),rgba(7,8,11,0) 30%),linear-gradient(180deg,rgba(7,8,11,.5),rgba(7,8,11,0) 20%)}
.gal-top{position:absolute;z-index:2;top:28px;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);display:flex;justify-content:space-between;align-items:center}
.gal-bot{position:absolute;z-index:2;bottom:28px;left:clamp(20px,3vw,44px);right:clamp(20px,3vw,44px);display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.gal-cap{font-family:var(--serif);font-size:26px;font-weight:300}
.gal-cap small{display:block;font-family:var(--sans);font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2);margin-bottom:8px}
.thumbs{display:flex;gap:8px}
.thumbs button{width:84px;height:54px;overflow:hidden;border-radius:2px;opacity:.55;outline:1px solid rgba(255,255,255,.2);outline-offset:2px;transition:opacity .4s,outline-color .4s}
.thumbs button img{width:100%;height:100%;object-fit:cover;display:block}
.thumbs button.on{opacity:1;outline-color:var(--gold)}
.garrows{display:flex;gap:8px;align-items:center}
.garrows button{width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px);background:rgba(7,8,11,.25);display:flex;align-items:center;justify-content:center;transition:.3s}
.garrows button:hover{border-color:var(--gold);color:var(--gold2)}
.garrows span{font-size:10px;letter-spacing:.24em;color:rgba(255,255,255,.7);margin:0 8px}
.card{padding:110px clamp(24px,3vw,48px) 40px;display:flex;flex-direction:column;gap:24px;background:linear-gradient(180deg,var(--ink2),var(--ink));border-left:1px solid rgba(198,166,107,.14)}
.card .u-no{font-family:var(--serif);font-weight:300;font-size:86px;line-height:.85;letter-spacing:-.02em}
.card .u-no small{font-size:.32em;color:var(--gold);letter-spacing:.06em;margin-left:6px}
.card h2{font-family:var(--serif);font-weight:300;font-size:34px;line-height:1.05}
.card h2 small{display:block;font-family:var(--sans);font-size:10px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.card p.desc{color:#c3bcae;line-height:1.85;font-size:13.5px}
.specs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.08)}
.specs div{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.specs div:nth-child(odd){padding-right:14px}
.specs small{display:block;font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute);margin-bottom:6px}
.specs b{font-family:var(--serif);font-weight:400;font-size:20px}
.price{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:10px;padding:20px 22px;border:1px solid var(--line);border-radius:2px;background:linear-gradient(135deg,rgba(198,166,107,.08),rgba(198,166,107,0))}
.price small{font-size:9px;letter-spacing:.26em;text-transform:uppercase;color:var(--mute)}
.price b{display:block;font-family:var(--serif);font-size:30px;font-weight:300;color:var(--gold2);margin-top:6px;white-space:nowrap}
.ctas{display:flex;flex-direction:column;gap:10px}
.btn{position:relative;overflow:hidden;display:flex;justify-content:center;align-items:center;gap:10px;padding:17px;border-radius:2px;font-size:10.5px;letter-spacing:.26em;text-transform:uppercase;transition:color .4s,border-color .4s}
.btn.gold{background:var(--gold);color:var(--ink);font-weight:500}
.btn.gold::after{content:"";position:absolute;top:0;bottom:0;width:40%;left:-60%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .8s var(--ease)}
.btn.gold:hover::after{left:130%}
.btn.line{border:1px solid rgba(255,255,255,.18)}
.btn.line:hover{border-color:var(--gold);color:var(--gold2)}
.u-nav{display:flex;gap:10px;flex-wrap:wrap}
.u-nav button{font-size:9.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--mute);display:flex;align-items:center;gap:8px;transition:.3s}
.u-nav button:hover{color:var(--gold2)}
.u-sib{display:flex;gap:8px;flex-wrap:wrap}
.u-sib button{font-size:10px;letter-spacing:.16em;text-transform:uppercase;padding:8px 13px;border:1px solid rgba(255,255,255,.12);border-radius:30px;color:var(--mute);transition:.3s}
.u-sib button:hover,.u-sib button.on{border-color:var(--gold);color:var(--gold2)}
.disc{font-size:10.5px;color:var(--mute);line-height:1.7;letter-spacing:.03em}

/* SECTIONS */
.film{position:relative;height:92vh;overflow:hidden;background:#000}
.film video{width:100%;height:100%;object-fit:cover;opacity:.8;display:block}
.film .over{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:clamp(24px,6vw,96px);background:linear-gradient(0deg,rgba(7,8,11,.92),rgba(7,8,11,0) 60%)}
.film h2{font-family:var(--serif);font-weight:300;font-size:clamp(38px,5vw,76px);max-width:820px;line-height:1.02;margin-top:18px}
.film h2 em{color:var(--gold2)}
.types{padding:clamp(70px,10vw,140px) clamp(20px,4.4vw,64px)}
.types-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:50px}
.types-head h2{font-family:var(--serif);font-weight:300;font-size:clamp(36px,4vw,60px);line-height:1.02;max-width:620px;margin-top:16px}
.types-head p{max-width:360px;color:#c3bcae;font-size:13.5px;line-height:1.85}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(14px,2vw,28px)}
.tcard{text-align:left;display:block}
.tcard .im{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:2px}
.tcard .im img{width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease);display:block}
.tcard:hover .im img{transform:scale(1.06)}
.tcard .im::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,8,11,.7),rgba(7,8,11,0) 50%)}
.tcard .im span{position:absolute;z-index:1;left:22px;bottom:20px;font-size:9.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--gold2)}
.tcard b{display:block;font-family:var(--serif);font-weight:300;font-size:30px;margin-top:20px}
.tcard small{display:block;font-size:10px;letter-spacing:.2em;text-transform:uppercase;color:var(--mute);margin-top:8px}
.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(198,166,107,.14);border-bottom:1px solid rgba(198,166,107,.14)}
.facts div{padding:40px clamp(20px,3vw,44px);border-right:1px solid rgba(198,166,107,.14)}
.facts div:last-child{border-right:0}
.facts b{display:block;font-family:var(--serif);font-weight:300;font-size:40px;color:var(--gold2);margin-bottom:8px}
.facts span{font-size:10px;letter-spacing:.2em;color:var(--mute);text-transform:uppercase;line-height:1.7}
footer{padding:34px clamp(20px,4.4vw,64px);display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center;font-size:10.5px;color:var(--mute);letter-spacing:.08em;line-height:1.7}
footer b{color:var(--gold);font-weight:400;text-transform:uppercase;letter-spacing:.3em;font-size:10px}
.reveal{opacity:0;transform:translateY(30px)}

.toast{position:fixed;left:50%;bottom:30px;transform:translate(-50%,20px);background:rgba(21,24,33,.92);backdrop-filter:blur(10px);border:1px solid var(--line);padding:13px 22px;border-radius:30px;font-size:12px;letter-spacing:.04em;opacity:0;transition:.45s var(--ease);z-index:95;pointer-events:none;white-space:nowrap}
.toast.on{opacity:1;transform:translate(-50%,0)}

/* cursor */
.cur,.cur-ring{position:fixed;left:0;top:0;z-index:99;pointer-events:none;border-radius:50%;display:none}
.cur{width:5px;height:5px;margin:-2.5px;background:var(--gold2)}
.cur-ring{width:34px;height:34px;margin:-17px;border:1px solid rgba(233,214,168,.5);transition:width .35s var(--ease),height .35s var(--ease),margin .35s var(--ease),background .35s,border-color .35s}
.cur-ring.big{width:64px;height:64px;margin:-32px;background:rgba(198,166,107,.08);border-color:var(--gold)}
@media (hover:hover) and (pointer:fine){.cur,.cur-ring{display:block}}

/* RESPONSIVE */
@media (max-width:1180px){.legend{width:220px}.intro{max-width:320px}}
@media (max-width:980px){
 .legend{display:none}
 #floorView{grid-template-columns:1fr;overflow-y:auto;align-content:start}
 #floorView .fv-side{padding:96px 22px 0;border-right:0;overflow:visible;gap:14px}
 .fv-no b{font-size:84px}
 .fv-desc,.mini-legend{display:none}
 .fv-main{padding:10px 16px 40px;justify-content:flex-start;overflow:visible}
 .ucards{flex-direction:column}
 .u-grid{grid-template-columns:1fr}
 .gal{min-height:62vh}
 .card{padding:34px 22px 40px;border-left:0}
 .card .u-no{font-size:64px}
 .tgrid{grid-template-columns:1fr}
 .tcard .im{aspect-ratio:16/11}
 .facts{grid-template-columns:1fr 1fr}
 .facts div:nth-child(2){border-right:0}.facts div:nth-child(-n+2){border-bottom:1px solid rgba(198,166,107,.14)}
}
@media (max-width:700px){
 .topbar{padding:20px 18px}
 .logo b{font-size:16px}.logo small{font-size:7.5px}
 .pill{padding:9px 14px;font-size:9px}
 .sound .lbl{display:none}
 .shade{background:radial-gradient(ellipse 90% 70% at 50% 45%,rgba(5,6,10,0) 45%,rgba(5,6,10,.5) 100%),linear-gradient(0deg,rgba(7,8,11,.96) 0%,rgba(7,8,11,.55) 26%,rgba(7,8,11,0) 46%),linear-gradient(180deg,rgba(7,8,11,.7) 0%,rgba(7,8,11,0) 16%)}
 .intro{top:auto;bottom:150px;transform:none;left:20px;right:76px}
 .intro h1{font-size:44px;margin:10px 0 0}
 .intro p,.cue{display:none}
 .hero-foot{display:none}
 .scrub,.mbar{display:flex}
 .scrub{display:block}
 .flabel b{font-size:24px}
 .flabel i{width:22px}
 .gal-cap{font-size:20px}
 .thumbs button{width:58px;height:40px}
 .garrows span{display:none}
 .gal-bot{flex-direction:column;align-items:flex-start}
 .fly-ui .lbl{display:none}
 .toast{white-space:normal;width:86vw;text-align:center}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important}}
.lvl[hidden]{display:none!important}
.cur,.cur-ring{opacity:0;transition:opacity .4s}
body.has-cursor .cur,body.has-cursor .cur-ring{opacity:1}
@media (max-width:700px){
 .intro p.ln{display:none}
 .flabel{background:rgba(7,8,11,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:9px 14px;border:1px solid rgba(198,166,107,.25);border-radius:2px}
 .flabel i{display:none}
 .fv-close{position:fixed!important;top:18px!important;right:16px!important;padding:9px 13px}
 #floorView .fv-side{padding-top:70px}
 .fv-main{gap:18px}
 .plate-wrap{width:112%;margin:0 -6%}
}
@media (min-width:981px){.gal{position:sticky;top:0;height:100vh;min-height:0;align-self:start}}
