/* Elevara — Sky Residences. Architectural dark theme. */
:root{
  --ink:#0d0e10; --coal:#15161a; --slab:#1d1f24; --line:rgba(232,226,214,.14);
  --bone:#f3efe7; --stone:#e8e2d6; --mute:#9a958b; --text:#ece7dd;
  --brass:#c4a06a; --brass-2:#e2c99a; --brass-3:#8a6c3f; --bp:#8fb4d8;
  --serif:'Bodoni Moda', 'Didot', Georgia, serif;
  --sans:'Inter Tight', system-ui, -apple-system, Segoe UI, sans-serif;
  --mono:'JetBrains Mono', ui-monospace, Menlo, monospace;
  --ease:cubic-bezier(.22,1,.36,1);
  --gut:clamp(16px,4vw,56px);
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
body{background:var(--ink);color:var(--text);font:400 16px/1.6 var(--sans);overflow-x:clip;-webkit-font-smoothing:antialiased}
body.locked{overflow:hidden}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
em{font-style:italic;color:var(--brass-2);font-family:var(--serif)}
.mono{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase}
.eyebrow{color:var(--brass);margin-bottom:22px;display:flex;align-items:center;gap:12px}
.eyebrow::before{content:"";width:28px;height:1px;background:currentColor}
h1,h2,h3{font-family:var(--serif);font-weight:400;letter-spacing:-.01em;line-height:1.02}
h2{font-size:clamp(40px,6vw,92px)}
section{position:relative}

/* ---------- loader ---------- */
#loader{position:fixed;inset:0;z-index:100;display:grid;place-items:center;pointer-events:all}
#loader .door{position:absolute;top:0;bottom:0;width:50.5%;background:var(--ink);transition:transform 1.25s var(--ease)}
#loader .door.l{left:0;border-right:1px solid var(--line);background:linear-gradient(90deg,var(--ink),var(--coal))}
#loader .door.r{right:0;border-left:1px solid var(--line);background:linear-gradient(-90deg,var(--ink),var(--coal))}
#loader.open{pointer-events:none}
#loader.open .door.l{transform:translateX(-101%)}
#loader.open .door.r{transform:translateX(101%)}
#loader.open .ld-in{opacity:0;transform:scale(.96)}
#loader.gone{display:none}
.ld-in{position:relative;display:flex;align-items:center;gap:44px;transition:.6s var(--ease)}
.ld-bp{width:90px;height:225px;stroke:var(--bp);stroke-width:1.1}
.ld-bp path{stroke-dasharray:1;stroke-dashoffset:var(--d,1)}
.ld-bp .thin{stroke-width:.6;stroke:var(--brass)}
.ld-meta{display:flex;flex-direction:column;gap:10px;color:var(--mute)}
.ld-num{font-family:var(--serif);color:var(--text);font-size:88px;line-height:.9}
.ld-num i{font-size:28px;color:var(--brass);font-style:normal;margin-left:6px}

/* ---------- header ---------- */
#hdr{position:fixed;inset:0 0 auto;z-index:50;display:flex;align-items:center;gap:28px;padding:18px var(--gut);transition:transform .6s var(--ease),background .4s,color .4s,border-color .4s;border-bottom:1px solid transparent}
#hdr.hide{transform:translateY(-110%)}
#hdr.solid{background:rgba(13,14,16,.92);border-color:var(--line)}
#hdr.light{background:rgba(243,239,231,.94);color:#16171a;border-color:rgba(0,0,0,.08)}
.logo{display:flex;align-items:center;gap:10px;font:500 15px/1 var(--sans);letter-spacing:.42em}
.logo svg{width:22px;height:22px;color:var(--brass)}
.hdr-alt{display:flex;gap:8px;align-items:baseline;color:var(--mute);margin-right:auto;padding-left:22px;border-left:1px solid var(--line)}
.hdr-alt b{color:var(--brass-2);font-weight:500;min-width:6ch;text-align:right}
#hdr.light .hdr-alt b{color:var(--brass-3)}
.hdr-nav{display:flex;gap:26px;font-size:14px}
.hdr-nav a{position:relative;opacity:.82;transition:opacity .3s}
.hdr-nav a::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:1px;background:var(--brass);transform:scaleX(0);transform-origin:right;transition:transform .5s var(--ease)}
.hdr-nav a:hover{opacity:1}.hdr-nav a:hover::after{transform:scaleX(1);transform-origin:left}
.btn-line{border:1px solid var(--brass);color:var(--brass-2);padding:11px 18px;font-size:13px;letter-spacing:.04em;transition:.4s var(--ease);white-space:nowrap}
.btn-line:hover{background:var(--brass);color:var(--ink)}
#hdr.light .btn-line{color:var(--brass-3)}
#menuBtn{display:none;width:44px;height:44px;background:none;border:1px solid var(--line);position:relative;cursor:pointer}
#menuBtn span{position:absolute;left:12px;right:12px;height:1px;background:currentColor;transition:.4s var(--ease)}
#menuBtn span:first-child{top:18px}#menuBtn span:last-child{top:25px}
#menuBtn[aria-expanded=true] span:first-child{top:21px;transform:rotate(45deg)}
#menuBtn[aria-expanded=true] span:last-child{top:21px;transform:rotate(-45deg)}
#menu{position:fixed;inset:0;z-index:45;background:var(--ink);display:grid;grid-template-columns:1fr 1fr;clip-path:inset(0 0 100% 0);transition:clip-path .9s var(--ease),visibility 0s .9s;visibility:hidden}
#menu.open{clip-path:inset(0);visibility:visible;transition:clip-path .9s var(--ease)}
.menu-img{overflow:hidden}.menu-img img{width:100%;height:100%;object-fit:cover;transform:scale(1.15);transition:transform 1.6s var(--ease)}
#menu.open .menu-img img{transform:scale(1)}
.menu-links{display:flex;flex-direction:column;justify-content:center;padding:100px var(--gut) 60px;gap:4px}
.menu-links a{font-family:var(--serif);font-size:clamp(32px,4.4vw,58px);line-height:1.15;display:flex;align-items:baseline;gap:18px;opacity:0;transform:translateY(30px);transition:.7s var(--ease)}
.menu-links a i{font:400 11px var(--mono);color:var(--brass);letter-spacing:.1em}
.menu-links a:hover{color:var(--brass-2);padding-left:10px}
#menu.open .menu-links a{opacity:1;transform:none}
#menu.open .menu-links a:nth-child(2){transition-delay:.05s}#menu.open .menu-links a:nth-child(3){transition-delay:.1s}#menu.open .menu-links a:nth-child(4){transition-delay:.15s}#menu.open .menu-links a:nth-child(5){transition-delay:.2s}#menu.open .menu-links a:nth-child(6){transition-delay:.25s}#menu.open .menu-links a:nth-child(7){transition-delay:.3s}
.menu-foot{position:absolute;right:var(--gut);bottom:28px;color:var(--mute)}

/* ---------- film stages ---------- */
.film .stage{position:sticky;top:0;height:100vh;height:100svh;overflow:clip}
.film canvas{position:absolute;inset:0;width:100%;height:100%;display:block}
#bp{pointer-events:none}
.shade{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(8,9,11,.62) 0%,rgba(8,9,11,0) 38%,rgba(8,9,11,0) 70%,rgba(8,9,11,.45) 100%),linear-gradient(0deg,rgba(8,9,11,.7) 0%,rgba(8,9,11,0) 30%),linear-gradient(180deg,rgba(8,9,11,.45),rgba(8,9,11,0) 18%)}
.shade.s2{background:linear-gradient(90deg,rgba(8,9,11,.55),rgba(8,9,11,0) 40%),linear-gradient(0deg,rgba(8,9,11,.65),rgba(8,9,11,0) 35%),linear-gradient(180deg,rgba(8,9,11,.4),rgba(8,9,11,0) 18%)}

/* altimeter */
.alti{position:absolute;left:var(--gut);top:120px;bottom:150px;width:56px}
.alti-scale{position:absolute;inset:0;border-right:1px solid rgba(232,226,214,.35)}
.alti-scale i{position:absolute;right:0;height:1px;width:8px;background:rgba(232,226,214,.4)}
.alti-scale i.maj{width:16px;background:rgba(232,226,214,.75)}
.alti-scale i b{position:absolute;right:24px;top:-7px;font:400 10px var(--mono);color:rgba(232,226,214,.6);letter-spacing:.06em}
.alti-mark{position:absolute;right:-6px;bottom:0;width:0;height:0;will-change:transform}
.alti-mark::before{content:"";position:absolute;right:-6px;top:-6px;border:6px solid transparent;border-left:9px solid var(--brass)}
.alti-mark::after{content:"";position:absolute;left:12px;top:0;width:44px;height:1px;background:var(--brass)}
.alti-mark span{position:absolute;left:64px;top:-8px;color:var(--brass-2);white-space:nowrap}

.rise-intro{position:absolute;left:calc(var(--gut) + 110px);top:50%;transform:translateY(-50%);max-width:620px;will-change:opacity,transform}
.rise-intro h1{font-size:clamp(54px,8.4vw,132px);margin-bottom:26px}
.lede{max-width:380px;color:rgba(236,231,221,.82);font-size:17px}
.level{position:absolute;right:var(--gut);top:110px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;color:var(--mute)}
.level b{font:400 clamp(80px,11vw,170px)/0.9 var(--serif);color:var(--text);font-variant-numeric:tabular-nums;letter-spacing:-.03em}
.phase{position:absolute;left:calc(var(--gut) + 110px);bottom:150px;max-width:400px;opacity:0;will-change:opacity}
.phase-q{color:var(--brass)}
.phase h2{font-size:clamp(34px,4vw,58px);margin:10px 0 12px}
.phase p{color:rgba(236,231,221,.78);font-size:15px}
.phase.swap h2,.phase.swap p,.phase.swap .phase-q{animation:swap .8s var(--ease)}
@keyframes swap{from{opacity:0;transform:translateY(16px);filter:blur(4px)}to{opacity:1;transform:none;filter:none}}
.ledger{position:absolute;right:var(--gut);bottom:150px;display:grid;gap:14px;text-align:right;opacity:0}
.ledger dt{color:rgba(236,231,221,.75);font-size:10px}
.ledger,.phase,.level,.alti,.timeline,.rise-intro{text-shadow:0 1px 14px rgba(0,0,0,.45)}
.ledger dd{font-size:13px;color:var(--text)}
.ledger b{font:400 26px var(--serif);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--brass-2);margin-right:4px}
.timeline{position:absolute;left:var(--gut);right:var(--gut);bottom:44px;display:grid;grid-template-columns:repeat(6,1fr);list-style:none;border-top:1px solid rgba(232,226,214,.22);padding-top:16px;color:rgba(236,231,221,.45);font-size:10px}
.timeline::before{content:"";position:absolute;left:0;top:-1px;height:1px;width:100%;transform-origin:left;transform:scaleX(var(--tp,0));background:var(--brass)}
.timeline li{position:relative;transition:color .5s}
.timeline li i{position:absolute;top:-21px;left:0;width:9px;height:9px;border:1px solid rgba(232,226,214,.5);background:var(--ink);transform:rotate(45deg);transition:.5s var(--ease)}
.timeline li span{display:block;color:inherit;opacity:.7;margin-bottom:2px}
.timeline li.on{color:var(--text)}
.timeline li.on i{background:var(--brass);border-color:var(--brass)}
.rise-end{position:absolute;left:calc(var(--gut) + 110px);bottom:175px;opacity:0;pointer-events:none;max-width:44%}
.rise-end h2{font-size:clamp(44px,6vw,96px);text-shadow:0 10px 50px rgba(0,0,0,.5)}
.rise-end p{color:var(--brass-2);margin-bottom:16px}
.hint{position:absolute;left:50%;bottom:110px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:12px;color:rgba(236,231,221,.7)}
.hint span{width:1px;height:46px;background:linear-gradient(var(--brass),transparent);animation:drip 2s var(--ease) infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* split text */
.split .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.split .w>span{display:inline-block;transform:translateY(105%);transition:transform 1.2s var(--ease)}
.split .w:nth-child(2)>span{transition-delay:.08s}.split .w:nth-child(4)>span{transition-delay:.16s}
.split.in .w>span{transform:none}

/* ---------- manifesto ---------- */
#manifesto{padding:22vh var(--gut) 16vh;max-width:1400px;margin:0 auto}
.fill-text{font-family:var(--serif);font-size:clamp(30px,4.2vw,64px);line-height:1.18;letter-spacing:-.01em}
.fill-text span{color:rgba(236,231,221,.14);transition:color .4s}
.fill-text span.on{color:var(--text)}
.facts{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);margin-top:12vh;border-top:1px solid var(--line)}
.facts li{padding:28px 20px 0 0;border-right:1px solid var(--line);margin-right:20px}
.facts li:last-child{border:0}
.facts b{display:block;font:400 clamp(48px,6vw,92px)/1 var(--serif);color:var(--brass-2);font-variant-numeric:tabular-nums}
.facts span{color:var(--mute);font-size:14px}

/* ---------- tour ---------- */
.tour-head{position:absolute;left:var(--gut);top:20%;opacity:0}
.tour-head p{color:var(--brass-2);margin-bottom:14px}
.tour-head h2{font-size:clamp(56px,9vw,150px)}
.room{position:absolute;left:var(--gut);bottom:12%;opacity:0;will-change:opacity}
.room-n{color:var(--brass)}
.room h3{font-size:clamp(48px,6.5vw,110px);margin:8px 0 10px;text-shadow:0 6px 40px rgba(0,0,0,.45)}
.room p{color:rgba(236,231,221,.85)}
.room.swap h3{animation:swap .9s var(--ease)}
.plan{position:absolute;right:var(--gut);bottom:9%;width:min(300px,30vw);background:rgba(13,14,16,.8);border:1px solid var(--line);padding:16px;opacity:0;transform:translateY(20px);transition:opacity .6s,transform .8s var(--ease)}
.plan.on{opacity:1;transform:none}
.plan svg{width:100%;overflow:visible}
.plan .pw{fill:none;stroke:var(--stone);stroke-width:2}
.plan .pr{fill:none;stroke:rgba(232,226,214,.55);stroke-width:1}
.plan .pg{fill:none;stroke:var(--bp);stroke-width:3;stroke-opacity:.75}
.plan text{font:500 6.5px var(--mono);fill:rgba(232,226,214,.55);letter-spacing:.08em;transition:fill .4s}
.plan text.on{fill:var(--brass-2)}
.plan .pp{fill:none;stroke:var(--brass);stroke-width:1.4;stroke-dasharray:3 3}
#planDot{fill:var(--brass-2);filter:drop-shadow(0 0 4px var(--brass))}
.plan figcaption{display:flex;justify-content:space-between;color:var(--mute);margin-top:10px;font-size:9px}
.tour-prog{position:absolute;left:0;right:0;bottom:0;height:2px;background:rgba(232,226,214,.1)}
.tour-prog i{display:block;height:100%;width:100%;background:var(--brass);transform-origin:left;transform:scaleX(0)}

/* ---------- residences (light) ---------- */
#residences{background:var(--bone);color:#16171a}
#residences em{color:var(--brass-3)}
.res-pin{height:100vh;height:100svh;display:flex;align-items:center;overflow:hidden;position:relative}
.res-intro{flex:0 0 auto;width:min(440px,36vw);padding:0 40px 0 var(--gut);position:relative;z-index:2;align-self:stretch;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;background:var(--bone);box-shadow:30px 0 40px -10px var(--bone)}
.res-intro h2{font-size:clamp(44px,5vw,80px);margin-bottom:34px}
.res-intro .eyebrow{color:var(--brass-3)}
.unit-toggle{display:inline-flex;border:1px solid rgba(0,0,0,.18)}
.unit-toggle button{background:none;border:0;padding:9px 16px;cursor:pointer;font-size:13px}
.unit-toggle button.on{background:#16171a;color:var(--bone)}
.res-note{margin-top:28px;color:#6b665d;font-size:13px}
.res-track{display:flex;gap:28px;padding-right:var(--gut);will-change:transform}
.res-card{flex:0 0 min(400px,78vw);background:#fff;border:1px solid rgba(0,0,0,.08);padding:26px;display:flex;flex-direction:column;gap:16px;transition:transform .6s var(--ease),box-shadow .6s}
.res-card:hover{transform:translateY(-8px);box-shadow:0 30px 60px -30px rgba(40,30,10,.35)}
.res-top{display:flex;justify-content:space-between;align-items:baseline}
.res-top .mono{color:var(--brass-3)}
.res-card h3{font-size:36px}
.res-plan{aspect-ratio:4/3;max-height:34vh;background:#faf8f3;border:1px solid rgba(0,0,0,.06);display:grid;place-items:center;padding:16px}
.res-plan svg{width:100%;height:100%}
.res-plan path,.res-plan rect{fill:none;stroke:#16171a;stroke-width:1.2;stroke-dasharray:var(--len,1200);stroke-dashoffset:var(--len,1200);transition:stroke-dashoffset 2.2s var(--ease)}
.res-plan .gl{stroke:#5b86b2;stroke-width:2.5}
.res-card.drawn .res-plan path,.res-card.drawn .res-plan rect{stroke-dashoffset:0}
.res-spec{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;border-top:1px solid rgba(0,0,0,.08);padding-top:16px}
.res-spec dt{font:400 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:#7b766c}
.res-spec dd{font-size:17px}
.res-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;gap:12px}
.res-foot b{font:400 24px var(--serif)}
.res-foot a{font-size:13px;border-bottom:1px solid currentColor;padding-bottom:2px;white-space:nowrap}

/* ---------- views ---------- */
#views{height:100vh;height:100svh;min-height:600px}
.view-frame{position:absolute;inset:0;overflow:hidden}
#viewImg{max-width:none;position:absolute;left:-5%;width:110%;height:150%;object-fit:cover;top:0;will-change:transform,filter;transition:transform 1.1s var(--ease),filter 1.1s var(--ease)}
.view-haze{position:absolute;inset:0;background:linear-gradient(180deg,rgba(13,14,16,.55),rgba(13,14,16,.1) 40%,rgba(13,14,16,.75));transition:opacity 1s}
.view-copy{position:absolute;left:var(--gut);top:16%}
.view-read{position:absolute;left:var(--gut);bottom:9%;display:grid;grid-template-columns:repeat(4,auto);gap:12px 44px}
.view-read span{display:block;color:rgba(236,231,221,.6);font-size:10px;margin-bottom:6px}
.view-read b{font:400 34px var(--serif);letter-spacing:0;text-transform:none;color:var(--text)}
.view-read i{font-style:normal}
.view-slider{position:absolute;right:var(--gut);top:50%;transform:translateY(-50%);height:60%;display:flex;gap:16px;align-items:stretch}
.view-slider input{writing-mode:vertical-lr;direction:rtl;-webkit-appearance:none;appearance:none;width:44px;background:transparent;cursor:ns-resize}
.view-slider input::-webkit-slider-runnable-track{width:2px;background:linear-gradient(var(--brass),rgba(232,226,214,.25));border-radius:2px}
.view-slider input::-webkit-slider-thumb{-webkit-appearance:none;width:44px;height:44px;margin-left:-21px;background:var(--brass) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 44 44'%3E%3Cpath d='M16 18l6-6 6 6M16 26l6 6 6-6' fill='none' stroke='%230d0e10' stroke-width='1.6'/%3E%3C/svg%3E") center/100%;border-radius:50%;box-shadow:0 0 0 8px rgba(196,160,106,.18)}
.view-slider input::-moz-range-track{width:2px;background:rgba(232,226,214,.4)}
.view-slider input::-moz-range-thumb{width:40px;height:40px;border:0;border-radius:50%;background:var(--brass)}
.vs-ticks{display:flex;flex-direction:column;justify-content:space-between;color:rgba(236,231,221,.55);font-size:10px}

/* ---------- club (stacking cards) ---------- */
#club{padding:18vh var(--gut) 10vh}
.club-head{margin-bottom:10vh;max-width:900px}
.stack{display:grid;gap:4vh}
.card-s{position:sticky;top:12vh;height:76vh;display:grid;grid-template-columns:1.5fr 1fr;background:var(--coal);border:1px solid var(--line);overflow:hidden;transform-origin:center top;will-change:transform}
.card-s:nth-child(2){top:14vh}.card-s:nth-child(3){top:16vh}
.card-s img{width:100%;height:100%;object-fit:cover}
.card-s>div{padding:clamp(24px,4vw,56px);display:flex;flex-direction:column;justify-content:center;gap:16px}
.card-s span{color:var(--brass)}
.card-s h3{font-size:clamp(36px,4vw,64px)}
.card-s p{color:rgba(236,231,221,.75);max-width:380px}

/* ---------- location ---------- */
#location{display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:16vh var(--gut);align-items:center}
.loc-list{list-style:none;margin-top:48px;border-top:1px solid var(--line)}
.loc-list li{display:grid;grid-template-columns:70px 44px 1fr;align-items:baseline;padding:18px 0;border-bottom:1px solid var(--line);cursor:default;transition:padding .5s var(--ease),color .3s}
.loc-list li:hover,.loc-list li.on{padding-left:12px;color:var(--brass-2)}
.loc-list b{font:400 40px var(--serif);color:var(--brass-2)}
.loc-list span{font:400 11px var(--mono);color:var(--mute);text-transform:uppercase}
.map{color:var(--text)}
.map svg{width:100%;height:auto}
.map .land{fill:#17191d}
.map .coast{fill:none;stroke:var(--bp);stroke-width:1.2;stroke-opacity:.6}
.map .route{fill:none;stroke:var(--brass);stroke-width:1.4;stroke-dasharray:420;stroke-dashoffset:420;transition:stroke-dashoffset 2s var(--ease)}
.map.in .route{stroke-dashoffset:0}
.map .route:nth-of-type(2){transition-delay:.15s}.map .route:nth-of-type(3){transition-delay:.3s}.map .route:nth-of-type(4){transition-delay:.45s}.map .route:nth-of-type(5){transition-delay:.6s}
.map .pin circle{fill:var(--ink);stroke:var(--brass-2);stroke-width:1.5;transition:.4s}
.map .pin text,.map .home text{font:500 11px var(--mono);fill:rgba(236,231,221,.7);letter-spacing:.1em;text-transform:uppercase}
.map .pin.on circle{fill:var(--brass-2);r:8}
.map .pin.on text{fill:var(--brass-2)}
.map .home circle{fill:var(--brass)}
.map .home .pulse{fill:none;stroke:var(--brass);animation:pulse 2.4s ease-out infinite;transform-origin:232px 290px}
.map .sea{font:400 13px var(--mono);letter-spacing:.5em;fill:rgba(143,180,216,.4)}
@keyframes pulse{from{transform:scale(.4);opacity:1}to{transform:scale(2.4);opacity:0}}

/* ---------- calculator (light) ---------- */
#calc{background:var(--bone);color:#16171a;display:grid;grid-template-columns:1fr 1fr;gap:6vw;padding:16vh var(--gut)}
#calc em{color:var(--brass-3)}
#calc .eyebrow{color:var(--brass-3)}
.calc-copy p:last-child{margin-top:28px;max-width:380px;color:#5f5a52}
.calc{display:grid;gap:30px;align-content:center}
.calc label span{display:flex;justify-content:space-between;font-size:14px;margin-bottom:12px;color:#5f5a52}
.calc output{font:400 22px var(--serif);color:#16171a}
.calc input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:2px;background:linear-gradient(90deg,#16171a var(--f,50%),rgba(0,0,0,.14) var(--f,50%));cursor:pointer}
.calc input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--bone);border:2px solid #16171a;transition:transform .3s}
.calc input[type=range]:active::-webkit-slider-thumb{transform:scale(1.25)}
.calc input[type=range]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--bone);border:2px solid #16171a}
.calc-out{background:#16171a;color:var(--bone);padding:28px 30px;display:grid;gap:6px}
.calc-out .mono{color:var(--brass-2)}
.calc-out b{font:400 clamp(40px,5vw,64px)/1.05 var(--serif);font-variant-numeric:tabular-nums}
.calc-out i{font-style:normal}
.calc-out small{color:#9a958b}

/* ---------- enquire ---------- */
#enquire{display:grid;grid-template-columns:1.1fr 1fr;min-height:100vh}
.enq-img{overflow:hidden;position:relative}
.enq-img img{position:absolute;inset:-8% 0;width:100%;height:116%;object-fit:cover;will-change:transform}
.enq-form{padding:14vh var(--gut);display:flex;flex-direction:column;justify-content:center}
.enq-form h2{font-size:clamp(40px,4.6vw,72px);margin-bottom:44px}
#enqForm{display:grid;grid-template-columns:1fr 1fr;gap:26px 24px}
#enqForm label{display:grid;gap:8px}
#enqForm label span{font:400 10px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--mute)}
#enqForm input,#enqForm select{background:transparent;border:0;border-bottom:1px solid rgba(232,226,214,.3);padding:10px 0;font-size:17px;outline:none;transition:border-color .3s;color-scheme:dark;border-radius:0;width:100%}
#enqForm select option{background:var(--coal)}
#enqForm input:focus,#enqForm select:focus{border-color:var(--brass)}
#enqForm input.err{border-color:#d0705a}
.btn-solid{grid-column:1/-1;justify-self:start;display:flex;align-items:center;gap:30px;background:var(--brass);color:var(--ink);border:0;padding:18px 26px;font-size:15px;font-weight:500;cursor:pointer;position:relative;overflow:hidden;margin-top:10px}
.btn-solid::before{content:"";position:absolute;inset:0;background:var(--brass-2);transform:translateX(-101%);transition:transform .6s var(--ease)}
.btn-solid:hover::before{transform:none}
.btn-solid span,.btn-solid i{position:relative;font-style:normal;transition:transform .5s var(--ease)}
.btn-solid:hover i{transform:translateX(6px)}

/* ---------- footer ---------- */
#ftr{padding:10vh var(--gut) 40px;border-top:1px solid var(--line);overflow:hidden}
.ftr-word{font:400 clamp(80px,21vw,330px)/.8 var(--serif);letter-spacing:-.02em;color:transparent;-webkit-text-stroke:1px rgba(196,160,106,.5);background:linear-gradient(90deg,var(--brass-2),var(--brass)) no-repeat;background-size:var(--fw,0%) 100%;-webkit-background-clip:text;background-clip:text;margin-bottom:8vh;white-space:nowrap}
.ftr-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;border-top:1px solid var(--line);padding-top:36px}
.ftr-cols b{display:block;font-weight:500;margin-bottom:10px}
.ftr-cols p{color:var(--mute);font-size:14px}
.ftr-cols a:hover{color:var(--brass-2)}
.ftr-legal{margin-top:50px;color:#6c685f;font-size:12px;max-width:760px}

/* ---------- toast + cursor ---------- */
#toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,calc(100% + 60px));visibility:hidden;background:var(--bone);color:#16171a;padding:14px 22px;font-size:14px;z-index:90;transition:transform .6s var(--ease);max-width:calc(100% - 32px)}
#toast.on{transform:translate(-50%,0);visibility:visible}
#cursor{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;background:var(--brass-2);pointer-events:none;z-index:99;mix-blend-mode:difference;transition:width .4s var(--ease),height .4s var(--ease),margin .4s var(--ease);display:none}
#cursor.big{width:64px;height:64px;margin:-32px 0 0 -32px}
@media (hover:hover) and (pointer:fine){#cursor{display:block}}

/* reveal */
.rv{opacity:0;transform:translateY(40px);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease)}
.rv.in{opacity:1;transform:none}

/* ---------- responsive ---------- */
@media (max-width:1100px){.hdr-nav{display:none}#menuBtn{display:block}}
@media (max-width:859px){
  #hdr{gap:12px;padding:12px 16px}
  .hdr-alt{display:none}.btn-line{display:none}#menuBtn{margin-left:auto}
  #menu{grid-template-columns:1fr}.menu-img{display:none}
  .menu-foot{left:16px;right:16px}
  .ld-in{gap:26px}.ld-bp{width:64px;height:160px}.ld-num{font-size:64px}
  .alti{left:12px;top:90px;bottom:220px;width:34px}
  .alti-scale i b{display:none}.alti-mark span{left:46px;font-size:9px}.alti-mark::after{width:30px}
  .rise-intro{left:16px;right:16px;top:auto;bottom:20%;transform:none}
  .lede{font-size:15px}
  .level{top:76px;right:16px}
  .level b{font-size:72px}
  .phase{left:16px;right:16px;bottom:96px;max-width:none}
  .phase h2{font-size:34px}
  .phase p{font-size:14px}
  .ledger{display:none}
  .timeline{bottom:24px;left:16px;right:16px;font-size:8px;letter-spacing:.04em}
  .timeline li span{display:none}
  .hint{bottom:88px}
  .rise-end{left:16px;right:16px;bottom:96px;max-width:none}
  .shade{background:linear-gradient(0deg,rgba(8,9,11,.85) 0%,rgba(8,9,11,0) 50%),linear-gradient(180deg,rgba(8,9,11,.55),rgba(8,9,11,0) 25%)}
  .facts{grid-template-columns:1fr 1fr;gap:26px 0}
  .facts li:nth-child(2){border:0}
  .tour-head{top:16%}
  .room{bottom:auto;top:56%;right:16px}
  .plan{width:150px;bottom:16px;right:16px;padding:10px}
  .plan figcaption{display:none}
  .res-pin{height:auto;display:block;padding:14vh 0 10vh}
  .res-intro{width:auto;padding:0 16px 36px}
  .res-track{overflow-x:auto;scroll-snap-type:x mandatory;padding:0 16px 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .res-card{scroll-snap-align:start}
  .res-plan{max-height:none}
  .view-copy{right:80px}
  .view-read{grid-template-columns:1fr 1fr;right:90px}
  .view-read b{font-size:26px}
  .view-slider{right:12px;height:52%}
  .card-s{grid-template-columns:1fr;grid-template-rows:55% 45%;height:80vh;top:10vh}
  .card-s:nth-child(2){top:12vh}.card-s:nth-child(3){top:14vh}
  .card-s>div{justify-content:flex-start;padding:22px}
  .card-s p{font-size:14px}
  #location,#calc{grid-template-columns:1fr;padding:12vh 16px}
  #enquire{grid-template-columns:1fr}.enq-img{height:56vh}
  .enq-form{padding:10vh 16px}
  #enqForm{grid-template-columns:1fr}
  .ftr-cols{grid-template-columns:1fr 1fr}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.split .w>span{transform:none}.rv{opacity:1;transform:none}}
