.calib-panel{z-index:30;-webkit-backdrop-filter:blur(20px);color:#f3ede2;background:#141414d9;border:1px solid #b890714d;border-radius:12px;min-width:320px;font-family:Inter,-apple-system,sans-serif;font-size:12px;position:fixed;bottom:24px;right:24px}.calib-panel.closed{min-width:auto}.calib-toggle{color:#fff;cursor:pointer;background:#b89071;border:0;border-radius:50%;width:28px;height:28px;font-size:14px;line-height:1;position:absolute;top:-10px;right:-10px}.calib-body{padding:16px 20px}.calib-title{letter-spacing:.2em;text-transform:uppercase;color:#b89071;margin-bottom:12px;font-size:10px;font-weight:500}.calib-row{grid-template-columns:90px 1fr 60px 18px;align-items:center;gap:8px;margin-bottom:8px;display:grid}.calib-row label{opacity:.8;letter-spacing:.05em;font-size:11px}.calib-row input[type=range]{accent-color:#b89071;width:100%}.calib-row input[type=number]{color:#f3ede2;background:#0006;border:1px solid #b890714d;border-radius:4px;width:60px;padding:4px 6px;font-family:inherit;font-size:11px}.calib-row .calib-unit{opacity:.6;font-size:10px}.calib-views{grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:8px;display:grid}.calib-views button{color:#f3ede2;cursor:pointer;letter-spacing:.05em;text-transform:uppercase;background:0 0;border:1px solid #b890714d;border-radius:4px;padding:6px 4px;font-family:inherit;font-size:10px}.calib-views button:hover{background:#b8907126;border-color:#b89071}.calib-views button.active{color:#fff;background:#b89071;border-color:#b89071}.calib-actions{gap:8px;margin-top:12px;display:flex}.calib-actions button{color:#f3ede2;cursor:pointer;background:0 0;border:1px solid #b890714d;border-radius:4px;flex:1;padding:6px 8px;font-family:inherit;font-size:11px}.calib-actions button:hover{border-color:#b89071}body.detail-open .calib-panel{display:none}@media (width<=1366px){.calib-panel{bottom:calc(20px + env(safe-area-inset-bottom,0px));right:calc(20px + env(safe-area-inset-right,0px));min-width:300px}}@media (width<=1024px){.calib-panel{bottom:calc(16px + env(safe-area-inset-bottom,0px));right:calc(16px + env(safe-area-inset-right,0px));min-width:300px;max-width:calc(100vw - 32px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.calib-panel.closed{min-width:auto}.calib-panel .calib-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(100dvh - 120px);overflow-y:auto}}@media (width<=640px){.calib-panel{bottom:calc(14px + env(safe-area-inset-bottom,0px));right:calc(14px + env(safe-area-inset-right,0px));min-width:0}.calib-panel.closed{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-color:#0000;width:auto;min-width:0}.calib-panel.open{width:calc(100vw - 24px);min-width:0;max-width:calc(100vw - 24px);right:calc(12px + env(safe-area-inset-right,0px));left:auto;bottom:calc(12px + env(safe-area-inset-bottom,0px));border-radius:14px}.calib-panel.open .calib-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;max-height:calc(100dvh - 96px);padding:16px 16px 18px;overflow-y:auto}.calib-panel.open .calib-row{grid-template-columns:76px 1fr 52px 16px;gap:6px}.calib-panel.open .calib-row input[type=number]{width:52px}}@media (height<=520px) and (orientation:landscape){.calib-panel{bottom:calc(10px + env(safe-area-inset-bottom,0px));right:calc(10px + env(safe-area-inset-right,0px))}.calib-panel.open{width:min(420px, calc(100vw - 20px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));max-width:min(420px,100vw - 20px)}.calib-panel.open .calib-body{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 28px);overflow-y:auto}}@media (pointer:coarse){.calib-toggle{width:44px;height:44px;font-size:18px;top:-14px;right:-14px}.calib-views button,.calib-actions button{min-height:44px}.calib-row{min-height:36px}.calib-row input[type=range]{height:28px}.calib-row input[type=number]{min-height:36px;font-size:16px}.calib-panel.closed .calib-toggle{box-shadow:0 4px 14px #00000073}@media (height<=520px) and (orientation:landscape){.calib-views button,.calib-actions button,.calib-row input[type=number]{min-height:40px}}}:root{--copper:#bf8063;--copper-2:#a7774c;--copper-light:#cc9376;--copper-soft:#d2a592;--cream:#f2ede3;--cream-2:#e8e0d0;--cream-3:#dfcfb6;--ink:#1a1410;--ink-soft:#4a3f36;--mute:#949698;--line:#d8cfbf;--navy:#21374e;--sold:#c7b9a8;--reserved:#dfcfb6;--ok:#8fa66b;--amali-cream:var(--cream);--amali-cream-2:var(--cream-2);--amali-bronze:var(--copper);--amali-bronze-d:var(--copper-2);--amali-dark:#1a1a1a;--amali-text:var(--ink);--amali-water:#73c8d9;--status-sold:var(--sold);--status-blocked:var(--reserved);--status-special:var(--copper-soft);--status-available:var(--cream-2);--status-eoi:#9eb8d2}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0;padding:0}body{color:var(--amali-text);background:#0d0d0d;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;overflow:hidden}button{font-family:inherit}.view-switch{z-index:30;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#141414a3;border:1px solid #b8907142;border-radius:8px;gap:4px;padding:5px;display:flex;position:fixed;top:84px;left:32px}.view-switch button{color:#f3ede2c2;cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:0 0;border:0;border-radius:5px;min-width:76px;height:32px;font-size:12px}.view-switch button.active{background:var(--amali-bronze);color:#fff}.view-switch.stacking-switch{background:#4a3f36e0;border-color:#bf806357}.view-switch.stacking-switch button{color:#f2ede3c7}.view-switch.stacking-switch button.active{background:var(--copper)}.canvas-wrap{position:fixed;inset:0}.cesium-wrap,.cesium-host,.mapbox-wrap,.mapbox-host{background:#0d0d0d;position:fixed;inset:0}.cesium-host .cesium-viewer,.cesium-host .cesium-viewer-cesiumWidgetContainer,.cesium-host .cesium-widget,.cesium-host canvas{width:100%;height:100%}.mapbox-host,.mapbox-host .mapboxgl-map,.mapbox-host .mapboxgl-canvas-container,.mapbox-host .mapboxgl-canvas{width:100%!important;height:100%!important}.mapbox-host .mapboxgl-canvas{position:absolute;inset:0}.cesium-host .cesium-viewer-bottom{left:auto;right:12px}.cesium-status{z-index:11;max-width:460px;color:var(--amali-cream);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141414b8;border:1px solid #b8907147;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.4;position:fixed;bottom:104px;left:32px}.cesium-status span{color:#f3ede2b8;margin-top:4px;display:block}.mapbox-status{z-index:11;max-width:420px;color:var(--amali-cream);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#141414b8;border:1px solid #b8907147;border-radius:8px;padding:12px 14px;font-size:12px;line-height:1.4;position:fixed;bottom:104px;left:32px}.mapboxgl-ctrl-bottom-right{bottom:92px;right:16px}.brand-bar{z-index:10;color:var(--amali-cream);pointer-events:none;position:fixed;top:24px;left:32px}.brand-bar .name{letter-spacing:.6em;color:#2c2118;text-shadow:0 1px 1px #fff6;font-size:28px;font-weight:200}.brand-bar .sub{opacity:1;letter-spacing:.4em;text-transform:uppercase;color:#5a4636;text-shadow:0 1px 1px #ffffff59;margin-top:4px;font-size:11px;font-weight:400}.brand-bar.stacking-brand{color:var(--ink)}.brand-bar.stacking-brand .name{color:var(--ink);font-family:Cormorant Garamond,Inter,serif;font-weight:400}.brand-bar.stacking-brand .sub{color:var(--copper-2);opacity:.78}.filter{top:calc(24px + var(--sa-top,0px));right:calc(32px + var(--sa-right,0px));z-index:31;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed}body.detail-open .filter{display:none}.filter-fab{-webkit-backdrop-filter:blur(20px);color:var(--amali-cream);cursor:pointer;letter-spacing:.08em;text-transform:uppercase;background:#14141499;border:1px solid #b8907138;border-radius:999px;align-items:center;gap:9px;padding:9px 15px 9px 13px;font-family:inherit;font-size:12px;transition:border-color .15s,background .15s;display:inline-flex}.filter-fab:hover{border-color:var(--amali-bronze)}.filter-fab.open{border-color:var(--amali-bronze);background:#141414c7}.filter-fab.active{border-color:#bf806380}.filter-fab svg{opacity:.85}.filter-fab-label{line-height:1}.filter-badge{background:var(--amali-bronze);color:#fff;letter-spacing:0;border-radius:999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:1px;padding:0 5px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}.filter-group{gap:6px;display:flex}.filter-chip{color:var(--amali-cream);cursor:pointer;letter-spacing:.05em;white-space:nowrap;background:0 0;border:1px solid #b890714d;border-radius:999px;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:400;transition:all .15s}.filter-chip:hover{border-color:var(--amali-bronze)}.filter-chip.active{background:var(--amali-bronze);border-color:var(--amali-bronze);color:#fff}.filter-pop{-webkit-backdrop-filter:blur(24px);background:#141414d1;border:1px solid #b890713d;border-radius:14px;flex-direction:column;gap:16px;width:296px;max-width:calc(100vw - 24px);padding:16px 16px 14px;animation:.16s cubic-bezier(.2,.8,.2,1) filter-pop-in;display:flex;box-shadow:0 18px 50px #00000073}@keyframes filter-pop-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.filter-pop-label{letter-spacing:.2em;text-transform:uppercase;color:var(--amali-bronze);margin-bottom:9px;font-size:10px;font-weight:500;display:block}.filter-pop .filter-group{flex-wrap:wrap;gap:6px}.filter-pop-foot{border-top:1px solid #b8907129;justify-content:flex-end;padding-top:13px;display:flex}.filter-reset{color:var(--amali-cream);letter-spacing:.05em;cursor:pointer;background:0 0;border:1px solid #b890714d;border-radius:999px;padding:7px 18px;font-family:inherit;font-size:12px;transition:border-color .15s}.filter-reset:hover:not(:disabled){border-color:var(--amali-bronze)}.filter-reset:disabled{opacity:.4;cursor:default}.detail-panel{width:420px;height:100vh;height:var(--app-100vh);background:var(--amali-cream);color:var(--amali-text);z-index:20;flex-direction:column;transition:transform .35s cubic-bezier(.2,.8,.2,1);display:flex;position:fixed;top:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-4px 0 40px #0006}.detail-panel.open{transform:translate(0)}.unit-pin-wrap{pointer-events:none}.unit-pin{background:var(--amali-bronze);color:var(--amali-cream);letter-spacing:.05em;white-space:nowrap;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;padding:5px 10px;font:600 11px/1 system-ui,-apple-system,sans-serif;display:inline-flex;position:relative;transform:translateY(-11px);box-shadow:0 3px 10px #00000059}.unit-pin:after{content:"";border-left:5px solid #0000;border-right:5px solid #0000;border-top:6px solid var(--amali-bronze);position:absolute;bottom:-5px;left:50%;transform:translate(-50%)}.detail-header{border-bottom:1px solid #b8907133;padding:32px 32px 16px}.detail-header-rich{background:linear-gradient(#fbf7ed 0%,#f2ebdb 100%);padding:28px 30px 18px}.detail-kicker{color:var(--copper-2);letter-spacing:.28em;text-transform:uppercase;font-size:10px;font-weight:600}.detail-close{color:var(--amali-bronze-d);cursor:pointer;background:0 0;border:0;padding:4px 8px;font-size:24px;line-height:1;position:absolute;top:24px;right:24px}.detail-status-pill{letter-spacing:.15em;text-transform:uppercase;border-radius:3px;align-items:center;gap:8px;margin:14px 0 0;padding:5px 11px;font-size:10px;font-weight:600;display:inline-flex}.detail-status-pill i{border-radius:999px;width:8px;height:8px}.detail-status-SOLD{background:var(--status-sold);color:#fff}.detail-status-BLOCKED{background:var(--status-blocked);color:#fff}.detail-status-SPECIAL{background:var(--status-special);color:var(--amali-dark)}.detail-status-AVAILABLE{background:var(--status-available);color:var(--amali-dark);border:1px solid var(--amali-bronze)}.detail-status-EOI{background:var(--status-eoi);color:#fff}.detail-unit-id{letter-spacing:.03em;margin:10px 0 8px;font-family:Cormorant Garamond,Inter,serif;font-size:38px;font-weight:400}.detail-tagline{opacity:.7;letter-spacing:.08em;text-transform:uppercase;font-size:13px}.detail-type-name{margin-top:14px}.detail-type-name strong{color:var(--copper-2);font-family:Cormorant Garamond,Inter,serif;font-size:20px;font-weight:500;line-height:1.16;display:block}.detail-type-name span{color:var(--ink-soft);margin-top:6px;font-size:12px;line-height:1.55;display:block}.detail-body{flex:1;padding:24px 32px;overflow-y:auto}.detail-section{margin-bottom:24px}.detail-section-title{letter-spacing:.2em;text-transform:uppercase;color:var(--amali-bronze-d);margin-bottom:8px;font-size:10px;font-weight:500}.detail-grid{grid-template-columns:1fr 1fr;gap:12px 24px;display:grid}.detail-stat{min-width:0}.detail-stat-label{opacity:.6;text-transform:uppercase;letter-spacing:.1em;font-size:11px}.detail-stat-value{align-items:center;gap:7px;margin-top:3px;font-size:15px;font-weight:400;line-height:1.25;display:flex}.detail-stat.emphasize .detail-stat-value{color:var(--ink);font-size:18px;font-weight:600}.detail-stat-value i{border-radius:999px;flex:none;width:8px;height:8px}.detail-cta{background:var(--amali-bronze-d);color:var(--amali-cream);letter-spacing:.15em;text-transform:uppercase;cursor:pointer;border:0;border-radius:4px;margin:24px 32px;padding:14px 18px;font-family:inherit;font-size:13px;font-weight:500}.detail-cta:hover{background:var(--amali-bronze)}.detail-cta:disabled{cursor:not-allowed;opacity:.52}.detail-plan-card{margin-bottom:24px}.detail-plan-head,.detail-plan-meta{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.detail-plan-head span{color:var(--ink-soft);letter-spacing:.28em;text-transform:uppercase;font-size:9px}.detail-plan-head button{color:var(--copper-2);cursor:pointer;letter-spacing:.18em;text-transform:uppercase;background:0 0;border:0;font-size:10px}.detail-plan-preview{border:1px solid var(--line);background:var(--cream);cursor:zoom-in;width:100%;height:210px;margin-top:8px;padding:0;display:block;position:relative;overflow:hidden}.detail-plan-preview img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.detail-plan-preview b,.detail-plan-preview small{z-index:1;color:var(--cream);text-transform:uppercase;background:#1a1410c7;position:absolute}.detail-plan-preview b{letter-spacing:.2em;padding:4px 8px;font-size:9px;top:8px;right:8px}.detail-plan-preview small{color:var(--ink-soft);letter-spacing:.18em;background:#f2ede3e0;padding:4px 7px;font-size:8px;bottom:8px;left:10px}.detail-plan-meta{color:var(--ink-soft);margin-top:8px;font-size:10px}.detail-price-box{border:1px solid var(--copper-soft);background:linear-gradient(135deg,#f7f1e5 0%,#ede0c8 100%);margin:20px 0 24px;padding:20px 22px}.detail-price-box strong{font-family:Cormorant Garamond,Inter,serif;font-size:30px;font-weight:500;line-height:1.05;display:block}.detail-price-box span,.detail-price-box small{color:var(--ink-soft);margin-top:6px;font-size:11px;display:block}.detail-pay-plan{border-top:1px dotted #00000029;gap:6px;margin-top:14px;padding-top:10px;display:grid}.detail-pay-plan div{grid-template-columns:42px 1fr auto;align-items:center;gap:10px;font-size:10px;display:grid}.detail-pay-plan b{color:var(--copper-2)}.detail-pay-plan strong{font-family:Inter,sans-serif;font-size:10px}.detail-similar{border-top:1px solid var(--line);margin-top:26px;padding-top:20px}.detail-similar button{border:1px solid var(--line);width:100%;color:var(--ink);cursor:pointer;text-align:left;background:#ffffff7a;grid-template-columns:80px 1fr auto;align-items:center;gap:10px;margin-top:5px;padding:8px 10px;display:grid}.detail-similar button:hover{background:#bf806314}.detail-similar strong{font-size:11px}.detail-similar span{color:var(--ink-soft);font-size:11px}.detail-similar em{color:var(--copper-2);font-size:11px;font-style:normal;font-weight:700}.detail-actions{border-top:1px solid var(--line);background:#f2ede3eb;gap:8px;padding:18px 30px 24px;display:flex}.detail-actions .detail-cta,.detail-ghost{letter-spacing:.18em;text-transform:uppercase;border-radius:2px;flex:1;height:42px;margin:0;padding:0 12px;font-size:10px;font-weight:700}.detail-actions .detail-cta{background:var(--ink)}.detail-ghost{border:1px solid var(--ink);color:var(--ink);cursor:pointer;background:0 0}.plan-lightbox{z-index:200;background:#14100ceb;flex-direction:column;display:flex;position:fixed;inset:0}.plan-lightbox-head{color:var(--cream);justify-content:space-between;align-items:center;gap:20px;padding:20px 28px;display:flex}.plan-lightbox-head span{color:var(--copper-soft);letter-spacing:.26em;text-transform:uppercase;font-size:9px;display:block}.plan-lightbox-head strong{margin-top:4px;font-family:Cormorant Garamond,Inter,serif;font-size:24px;font-weight:400;display:block}.plan-lightbox-head em{color:var(--copper-soft);letter-spacing:.14em;margin-left:10px;font-family:Inter,sans-serif;font-size:12px;font-style:normal}.plan-lightbox-head button{color:var(--cream);cursor:pointer;letter-spacing:.2em;text-transform:uppercase;background:#ffffff14;border:1px solid #fff3;padding:8px 16px;font-size:10px}.plan-lightbox-stage{flex:1;justify-content:center;align-items:center;padding:0 60px 30px;display:flex;position:relative}.plan-lightbox-stage img{object-fit:contain;max-width:100%;max-height:100%;box-shadow:0 30px 80px #00000080}.plan-arrow{width:44px;height:44px;color:var(--cream);cursor:pointer;background:#ffffff0f;border:1px solid #ffffff2e;border-radius:999px;font-size:28px;position:absolute;top:50%;transform:translateY(-50%)}.plan-arrow.left{left:18px}.plan-arrow.right{right:18px}.stats-bar{z-index:10;-webkit-backdrop-filter:blur(20px);color:var(--amali-cream);background:#14141499;border:1px solid #b8907133;border-radius:12px;gap:32px;padding:14px 24px;display:flex;position:fixed;bottom:24px;left:32px}.stat{letter-spacing:.1em;text-transform:uppercase;font-size:11px}.stat-num{color:#fff;font-size:20px;font-weight:200;display:block}.loading{color:var(--amali-cream);letter-spacing:.4em;text-transform:uppercase;z-index:100;justify-content:center;align-items:center;font-size:14px;font-weight:200;display:flex;position:fixed;inset:0}.stacking-view{background:var(--cream);color:var(--amali-text);grid-template-columns:300px minmax(0,1fr);font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:grid;position:fixed;inset:0;overflow:hidden}.stack-sidebar{border-right:1px solid var(--line);background:#f2ede3f0;padding:148px 18px 20px;overflow-y:auto}.stack-sidebar-title span,.stack-board-head span,.stack-control-label{color:var(--copper-2);letter-spacing:.16em;text-transform:uppercase;font-size:10px;font-weight:600;display:block}.stack-sidebar-title strong{margin-top:8px;font-family:Cormorant Garamond,Inter,serif;font-size:24px;font-weight:400;display:block}.stack-sidebar-stats{border:1px solid var(--line);background:var(--line);grid-template-columns:1fr 1fr;gap:1px;margin:18px 0 22px;display:grid}.stack-sidebar-stats div{background:var(--cream);padding:10px}.stack-sidebar-stats strong{font-size:22px;font-weight:300;display:block}.stack-sidebar-stats span{color:#2b2620a3;letter-spacing:.1em;text-transform:uppercase;margin-top:2px;font-size:10px;display:block}.stack-control-group{margin-bottom:18px}.stack-control-label{margin-bottom:8px}.stack-chip-row{flex-wrap:wrap;gap:6px;display:flex}.stack-chip-row button,.stack-reset{color:var(--amali-text);cursor:pointer;text-transform:capitalize;background:0 0;border:1px solid #a7774c52;border-radius:5px;padding:7px 9px;font-size:11px}.stack-chip-row button.active,.stack-reset:hover{background:var(--copper-2);color:var(--amali-cream)}.stack-toggle{color:#2b2620b8;align-items:center;gap:8px;margin:4px 0 14px;font-size:12px;display:flex}.stack-reset{width:100%;height:36px}.stack-board{background:radial-gradient(at top,#f7f2e8 0%,#e8dcc7 100%);min-width:0;height:100vh;padding:108px 34px 34px;overflow:auto}.stack-board-head{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:18px;display:flex}.stack-board-head h1{letter-spacing:.04em;margin:4px 0 0;font-family:Cormorant Garamond,Inter,serif;font-size:36px;font-weight:400}.stack-board-head p{color:#4a3f36b3;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:12px}.tower-head-row,.tower-grid{grid-template-columns:minmax(260px,1fr) minmax(520px,2fr);gap:36px;min-width:930px;display:grid}.cad-stage{background:#fffcf6b8;border:1px solid #4a3f362e;min-width:930px;margin-bottom:28px;box-shadow:0 18px 42px #4a3f361f}.cad-stage-loading{color:var(--ink);gap:6px;padding:22px;display:grid}.cad-stage-loading strong{letter-spacing:.14em;text-transform:uppercase;font-size:12px}.cad-stage-loading span{color:#4a3f36a3;font-size:11px}.cad-stage-toolbar{border-bottom:1px solid #d8cfbfe6;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;display:flex}.cad-stage-toolbar strong,.cad-source-card strong{letter-spacing:.14em;text-transform:uppercase;font-size:12px;display:block}.cad-stage-toolbar span,.cad-source-card span,.cad-source-card em{color:#4a3f36ad;margin-top:4px;font-size:11px;display:block}.cad-source-card em{color:#9b4b2d;font-style:normal}.cad-tabs{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.cad-tabs button{color:#2b2620c7;letter-spacing:.08em;text-transform:uppercase;background:#ffffff85;border:1px solid #4a3f3633;height:30px;font-size:10px}.cad-tabs button.active{background:var(--ink);color:#fff}.cad-layout{grid-template-columns:minmax(0,1fr) 270px;gap:0;min-height:820px;display:grid}.cad-main{background:#f7f4ed;min-width:0}.cad-canvas{background:#f7f4ed;border-top:1px solid #d8cfbfe6;height:220px;position:relative;overflow:auto}.cad-scene{transform-origin:0 0;min-width:720px;position:relative}.cad-canvas-head{z-index:3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f4edeb;border-bottom:1px solid #d8cfbfcc;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;display:flex;position:sticky;top:0}.cad-canvas-head span{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:11px;font-weight:700}.cad-canvas-head small{color:#4a3f369e;letter-spacing:.04em;font-size:10px}.cad-canvas img{width:1280px;max-width:none;height:auto;display:block}.cad-scene>img{width:100%}.cad-missing{color:#9b4b2d;padding:32px}.cad-level-rail{width:52px;position:absolute;top:52px;bottom:18px;right:14px}.cad-level-rail:before{content:"";border-right:1px solid #bf806361;position:absolute;top:0;bottom:0;right:25px}.cad-level-rail button{cursor:pointer;background:0 0;border:0;border-top:1px solid #bf806361;width:48px;height:1px;padding:0;position:absolute;right:0}.cad-level-rail span{color:#4a3f369e;background:#fffcf6d1;padding:1px 4px;font-size:8px;position:absolute;top:-7px;right:0}.cad-level-rail button:hover{border-top-color:var(--copper-2)}.cad-level-rail button:hover span{color:var(--ink)}.cad-level-rail .active{border-top-color:#1a1410}.cad-level-rail .active span{color:#fff;background:#1a1410}.cad-active-level-band{pointer-events:none;background:linear-gradient(#bf806333,#bf806300);border-top:2px solid #1a1410b8;height:26px;position:absolute;left:0;right:74px}.cad-active-level-band span{color:#fff;letter-spacing:.1em;text-transform:uppercase;background:#1a1410e0;padding:4px 7px;font-size:10px;font-weight:700;position:absolute;top:-22px;left:12px}.cad-sidecar{background:#f2ede3c7;border-left:1px solid #d8cfbfe6;overflow:auto}.cad-source-card{border-bottom:1px solid #d8cfbfe6;padding:14px}.cad-source-card select{width:100%;height:34px;color:var(--ink);background:#fff;border:1px solid #4a3f3633;margin-top:10px}.cad-preview-card{border-bottom:1px solid #d8cfbfe6;padding:12px}.cad-preview-card div{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:8px;display:flex}.cad-preview-card strong,.cad-preview-card span{display:block}.cad-preview-card strong{color:var(--ink);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.cad-preview-card span{color:#4a3f369e;text-align:right;font-size:9px}.cad-preview-card img{object-fit:contain;background:#fffcf6ad;border:1px solid #4a3f3629;width:100%;height:164px}.cad-preview-card.section img{object-position:left center;height:138px}.level-inspector{background:linear-gradient(#fffcf6e0,#f2ede3b8),#f7f4ed;padding:16px}.level-inspector-head{grid-template-columns:minmax(190px,1.5fr) repeat(4,minmax(84px,1fr));align-items:stretch;gap:10px;margin-bottom:14px;display:grid}.level-inspector-head>div{background:#fffcf6b8;border:1px solid #4a3f3624;min-width:0;padding:12px}.level-inspector-head span,.level-inspector-head small,.level-inspector-head div>span{color:#4a3f369e;letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.level-inspector-head strong{color:var(--ink);letter-spacing:.02em;margin-top:4px;font-size:20px;display:block}.level-inspector-head small{letter-spacing:.04em;text-transform:none;margin-top:4px}.level-inspector-grid{grid-template-columns:minmax(520px,1fr) minmax(220px,300px);align-items:stretch;gap:14px;display:grid}.level-map-panel,.level-unit-panel{background:#fffcf6b8;border:1px solid #4a3f3624;min-width:0}.level-panel-head{border-bottom:1px solid #d8cfbfdb;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 12px;display:flex}.level-panel-head strong{color:var(--ink);letter-spacing:.14em;text-transform:uppercase;font-size:11px}.level-panel-head span{color:#4a3f369e;text-align:right;font-size:10px}.level-map-panel .floorplate-map{background:#faf8f2e6;border:0;border-bottom:1px solid #d8cfbfb3;height:430px}.tower-floorplate-grid{border-bottom:1px solid #d8cfbfb3;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:10px;padding:10px;display:grid}.tower-floorplate-panel{background:#faf8f2db;border:1px solid #4a3f3624;min-width:0}.tower-floorplate-label{border-bottom:1px solid #d8cfbfb8;justify-content:space-between;align-items:baseline;gap:10px;padding:7px 9px;display:flex}.tower-floorplate-label strong{color:var(--ink);letter-spacing:.13em;text-transform:uppercase;font-size:10px}.tower-floorplate-label span{color:#4a3f369e;font-size:9px}.tower-floorplate-panel .floorplate-map{border:0;height:430px}.level-map-panel .floorplate-map button:not(.floorplate-zone){min-width:38px;height:22px;font-size:9px}.level-map-panel .floorplate-map button.floorplate-zone{background:#bf806305}.level-map-panel .floorplate-map button.floorplate-zone:hover,.level-map-panel .floorplate-map button.floorplate-zone.active{background:#bf806347}.level-plan-fallback{object-fit:contain;background:#faf8f2e6;border-bottom:1px solid #d8cfbfb3;width:100%;height:430px;display:block}.level-footnote,.level-empty{color:#4a3f36a3;padding:8px 12px;font-size:10px}.level-unit-list{gap:7px;max-height:462px;padding:10px;display:grid;overflow:auto}.level-unit-list button{min-height:58px;color:var(--ink);text-align:left;background:#ffffff9e;border:1px solid #4a3f3624;grid-template-columns:1fr auto;gap:3px 10px;padding:9px 10px;display:grid}.level-unit-list button.active{background:#e8e0d0e0;border-color:#1a1410d1}.level-unit-list strong{letter-spacing:.08em;font-size:13px}.level-unit-list span{color:#4a3f36ad;grid-column:1/-1;font-size:10px}.level-unit-list em{color:#4a3f36b3;letter-spacing:.08em;text-align:right;text-transform:uppercase;font-size:9px;font-style:normal}.level-unit-list p{color:#4a3f36ad;font-size:11px}.floorplate-map{background:#fffcf6ad;border:1px solid #4a3f3629;height:220px;position:relative;overflow:hidden}.floorplate-map img{object-fit:contain;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.floorplate-map button{z-index:1;color:#fff;cursor:pointer;letter-spacing:.04em;background:#1a1410c7;border:1px solid #1a141061;border-radius:2px;min-width:30px;height:18px;padding:0 5px;font-size:8px;font-weight:700;position:absolute;transform:translate(-50%,-50%);box-shadow:0 3px 9px #1a141038}.floorplate-map button.floorplate-zone{z-index:1;color:#0000;min-width:0;height:auto;box-shadow:none;background:#bf806303;border:1px solid #bf80631f;border-radius:1px;padding:0;transform:none}.floorplate-map button.floorplate-zone:hover,.floorplate-map button.floorplate-zone.active{background:#bf80634d;border-color:#1a1410c2}.floorplate-map button:not(.floorplate-zone){z-index:2}.floorplate-map button:not(.floorplate-zone):hover,.floorplate-map button:not(.floorplate-zone).active{background:var(--copper);border-color:var(--copper-2)}.floorplate-map button:disabled{opacity:.34;cursor:default}.cad-unit-list{gap:6px;padding:12px;display:grid}.cad-unit-list button{text-align:left;background:#ffffff94;border:1px solid #4a3f3624;min-height:46px;padding:8px 10px}.cad-unit-list button.active{background:var(--cream-2);border-color:#1a1410}.cad-unit-list strong,.cad-unit-list span{display:block}.cad-unit-list strong{letter-spacing:.08em;font-size:11px}.cad-unit-list span,.cad-unit-list p{color:#4a3f36ad;font-size:10px}.tower-head{background:linear-gradient(180deg, var(--copper), var(--copper-2));color:#fff;text-align:center;padding:10px 14px}.tower-head strong{letter-spacing:.18em;text-transform:uppercase;font-size:13px;display:block}.tower-head span{color:#ffffffbd;letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:10px;display:block}.tower-stack{background:#f2ede38c;border:1px solid #d8cfbff2;margin-top:8px}.stack-row{border-bottom:1px solid #d8cfbfcc;grid-template-columns:44px minmax(0,1fr);min-height:26px;display:grid}.stack-row.duplex{border-bottom-color:#bf80636b;min-height:52px}.floor-tag{color:#4a3f36b8;background:#e8e0d08a;border-right:1px solid #d8cfbff5;flex-direction:column;justify-content:center;align-items:center;line-height:1.05;display:flex}.floor-tag strong{letter-spacing:.08em;font-size:10px;font-weight:700}.floor-tag small{letter-spacing:.02em;color:#4a3f3694;white-space:nowrap;margin-top:3px;font-size:7px}.stack-units{gap:2px;padding:2px;display:grid}.stack-cell,.stack-empty-cell{border:1px solid #00000014;border-radius:3px;min-width:0;min-height:24px}.stack-empty-cell{background:#d8cfbf52}.stack-cell{color:#1f1b16;cursor:pointer;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1px;padding:3px 2px;transition:opacity .15s,transform .15s,border-color .15s;display:flex;overflow:hidden}.stack-cell:hover{border-color:#1a141066;transform:translateY(-1px)}.stack-cell.selected{outline-offset:-2px;outline:2px solid #1a1410}.stack-cell.dimmed{opacity:.16}.stack-cell strong,.stack-cell span{text-overflow:ellipsis;white-space:nowrap;max-width:100%;display:block;overflow:hidden}.stack-cell strong{font-size:9px;font-weight:700}.stack-cell span{font-size:9px}.stack-amenity{background:linear-gradient(180deg, var(--copper-light), var(--copper));color:#fff;letter-spacing:.24em;text-transform:uppercase;border-bottom:1px solid #8a6d4e29;justify-content:center;align-items:center;min-height:24px;font-size:10px;display:flex}.stack-note{color:#21374ed6;background:repeating-linear-gradient(135deg,#21374e14,#21374e14 8px,#21374e21 8px 16px)}.status-available{background:var(--cream-2)}.status-sold{background:var(--sold);color:var(--ink)}.status-special{background:var(--copper-soft)}.status-eoi{color:#102235;background:#9eb8d2}.status-blocked,.status-blocked-n4s{background:var(--reserved);color:#1a1410b8}.bed-1br{background:#d4edf1}.bed-2br{background:#b8d9bc}.bed-3br{background:#e2cf88}.bed-4br{background:#d49a75}.bed-5br,.bed-5brph,.bed-5brvilla{color:#fff;background:#aa715e}.bed-6brph,.zone-penthouse{color:#fff;background:#21374e}.zone-upper{background:#8fb0c6}.zone-mid{background:#d9b34d}.zone-lower-duplex{color:#fff;background:#b89071}.zone-podium-villas{background:#8fa66b}@media (width<=980px){.stacking-view{grid-template-columns:1fr}.stack-sidebar{z-index:12;border-top:1px solid #8a6d4e3d;border-right:0;max-height:42vh;padding:16px;position:fixed;bottom:0;left:0;right:0}.stack-board{padding:112px 18px 44vh}.stack-board-head{flex-direction:column;align-items:flex-start}.tower-head-row,.tower-grid{min-width:860px}}:root{--app-100vh:100vh}@supports (height:100dvh){:root{--app-100vh:100dvh}}:root{--sa-top:env(safe-area-inset-top,0px);--sa-right:env(safe-area-inset-right,0px);--sa-bottom:env(safe-area-inset-bottom,0px);--sa-left:env(safe-area-inset-left,0px)}html,body{overscroll-behavior:none}body{touch-action:none;width:100%;height:100dvh;position:fixed;inset:0}.canvas-wrap,.cesium-wrap,.cesium-host,.mapbox-wrap,.mapbox-host{height:100dvh}.canvas-wrap canvas,.cesium-host canvas,.mapbox-host .mapboxgl-canvas{touch-action:none}.detail-body,.calib-body,.stack-sidebar,.stack-board,.level-unit-list,.cad-canvas{touch-action:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}input,select,textarea{font-size:16px}@media (pointer:fine){.calib-row input[type=number]{font-size:11px}}.mapboxgl-ctrl-bottom-right{bottom:calc(92px + var(--sa-bottom))}.mapboxgl-ctrl-bottom-left{bottom:calc(8px + var(--sa-bottom))}.cesium-host .cesium-viewer-bottom{right:calc(12px + var(--sa-right))}.filter-bar{-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}.filter-bar::-webkit-scrollbar{width:0;height:0;display:none}.detail-handle{display:none}@media (width<=1366px){.brand-bar{top:calc(20px + var(--sa-top));left:calc(20px + var(--sa-left))}.brand-bar .name{letter-spacing:.5em;font-size:26px}.brand-bar .sub{letter-spacing:.34em;font-size:11px}.view-switch{top:calc(76px + var(--sa-top));left:calc(20px + var(--sa-left));gap:4px;padding:4px}.view-switch button{min-width:72px;height:32px;font-size:11px}.filter-bar{top:calc(20px + var(--sa-top));right:calc(20px + var(--sa-right));gap:6px;padding:9px 11px}.filter-group{gap:5px}.filter-chip{padding:6px 12px;font-size:11.5px}.filter-divider{margin:0 3px}.detail-panel{width:380px}.detail-header-rich{padding:26px 26px 16px}.detail-body{padding:22px 26px}.detail-actions{padding:16px 26px 22px}.stats-bar{bottom:calc(20px + var(--sa-bottom));left:calc(20px + var(--sa-left));gap:22px;padding:12px 20px}.stat-num{font-size:18px}}@media (width<=1024px){.brand-bar{top:calc(16px + var(--sa-top));left:calc(16px + var(--sa-left))}.brand-bar .name{letter-spacing:.42em;font-size:22px}.brand-bar .sub{letter-spacing:.3em;margin-top:3px;font-size:10px}.view-switch{top:calc(56px + var(--sa-top));left:calc(16px + var(--sa-left));gap:5px;padding:5px}.view-switch button{min-width:80px;height:36px;font-size:12px}.filter-bar{top:calc(112px + var(--sa-top));left:calc(16px + var(--sa-left));right:calc(16px + var(--sa-right));border-radius:12px;flex-wrap:nowrap;gap:6px;padding:8px 10px;scroll-padding-inline:16px;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 16px calc(100% - 16px),#0000 100%)}.filter-bar:focus-within{-webkit-mask-image:none;mask-image:none}.filter-group{flex:none;gap:6px}.filter-chip{flex:none;padding:7px 13px;font-size:12px}.filter-divider{flex:none;align-self:stretch;margin:0 2px}.detail-panel{width:min(420px,64vw);height:var(--app-100vh)}.detail-header-rich{padding:26px 26px 16px}.detail-body{padding:22px 26px 8px}.detail-actions{padding:16px 26px calc(24px + var(--sa-bottom))}.stats-bar{bottom:calc(16px + var(--sa-bottom));left:calc(16px + var(--sa-left));border-radius:10px;gap:18px;padding:11px 16px}.stat{font-size:10px}.stat-num{font-size:17px}}@media (width<=640px){.brand-bar{top:calc(12px + var(--sa-top));left:calc(16px + var(--sa-left))}.brand-bar .name{letter-spacing:.34em;font-size:18px}.brand-bar .sub{display:none}.view-switch{top:calc(48px + var(--sa-top));left:calc(16px + var(--sa-left));gap:4px;padding:4px}.view-switch button{min-width:64px;height:44px;padding:0 12px;font-size:12px}.filter-bar{top:calc(108px + var(--sa-top));left:calc(12px + var(--sa-left));right:calc(12px + var(--sa-right));border-radius:10px;gap:5px;padding:6px 8px}.filter-group{gap:5px}.filter-chip{letter-spacing:.04em;padding:6px 12px;font-size:12px}.filter-divider{margin:0 1px}.detail-panel{width:100%;height:var(--sheet-h,min(46dvh, 440px));z-index:20;border-radius:18px 18px 0 0;max-height:92dvh;transition:transform .34s cubic-bezier(.2,.82,.2,1),height .3s cubic-bezier(.2,.82,.2,1);inset:auto 0 0;transform:translateY(100%);box-shadow:0 -8px 40px #00000073}.detail-panel.open{transform:translateY(0)}body[data-sheet=peek] .detail-panel{--sheet-h:min(46dvh, 440px)}body[data-sheet=full] .detail-panel{--sheet-h:92dvh}.detail-panel .detail-header-rich,.detail-panel .detail-actions{flex:none}.detail-handle{cursor:grab;touch-action:none;background:0 0;flex:none;width:100%;margin:0;padding:11px 0 7px;display:block}.detail-handle:before{content:"";background:#1a141047;border-radius:999px;width:42px;height:4px;margin:0 auto;display:block}.detail-header-rich{border-radius:18px 18px 0 0;padding:12px 20px 16px}.detail-unit-id{margin:6px 0;font-size:32px}.detail-body{padding:18px 20px}.detail-actions{padding:14px 20px calc(16px + var(--sa-bottom));margin-bottom:0}.detail-actions .detail-cta,.detail-ghost{height:48px}body.detail-sheet .calib-panel,body.detail-sheet .stats-bar{display:none}.stats-bar{bottom:calc(12px + var(--sa-bottom));left:calc(12px + var(--sa-left));max-width:calc(100vw - 84px - var(--sa-left) - var(--sa-right));border-radius:999px;align-items:baseline;gap:0;padding:8px 14px;overflow:hidden}.stats-bar .stat{letter-spacing:.02em;white-space:nowrap;align-items:baseline;gap:4px;font-size:8.5px;display:inline-flex}.stats-bar .stat+.stat:before{content:"";background:var(--amali-bronze);border-radius:50%;width:3px;height:3px;margin:0 6px;display:inline-block;transform:translateY(-2px)}.stats-bar .stat-num{font-size:12px;font-weight:400;display:inline}}@media (height<=520px) and (orientation:landscape){.brand-bar{top:calc(8px + var(--sa-top));left:calc(12px + var(--sa-left))}.brand-bar .name{letter-spacing:.3em;font-size:15px}.brand-bar .sub{display:none}.view-switch{top:calc(34px + var(--sa-top));left:calc(12px + var(--sa-left));gap:3px;padding:3px}.view-switch button{min-width:60px;height:34px;padding:0 10px;font-size:11px}.filter-bar{top:calc(8px + var(--sa-top));left:calc(96px + var(--sa-left));right:calc(12px + var(--sa-right));border-radius:9px;gap:5px;padding:5px 8px}.filter-chip{padding:5px 11px;font-size:11.5px}.detail-panel{width:100%;height:var(--sheet-h,72dvh);z-index:20;border-radius:14px 14px 0 0;max-height:94dvh;transition:transform .3s cubic-bezier(.2,.82,.2,1),height .28s cubic-bezier(.2,.82,.2,1);inset:auto 0 0;transform:translateY(100%)}.detail-panel.open{transform:translateY(0)}body[data-sheet=peek] .detail-panel{--sheet-h:72dvh}body[data-sheet=full] .detail-panel{--sheet-h:94dvh}.detail-panel .detail-header-rich,.detail-panel .detail-actions{flex:none}.detail-handle{cursor:grab;touch-action:none;background:0 0;flex:none;width:100%;margin:0;padding:7px 0 5px;display:block}.detail-handle:before{content:"";background:#1a141047;border-radius:999px;width:40px;height:4px;margin:0 auto;display:block}.detail-header-rich{padding:8px 18px 10px}.detail-unit-id{margin:2px 0 4px;font-size:26px}.detail-tagline{font-size:11px}.detail-body{padding:12px 18px}.detail-actions{padding:10px calc(18px + var(--sa-right)) calc(10px + var(--sa-bottom)) calc(18px + var(--sa-left));margin-bottom:0}.detail-actions .detail-cta,.detail-ghost{height:40px}body.detail-sheet .calib-panel,.stats-bar{display:none}}@media (pointer:coarse){.filter-chip{justify-content:center;align-items:center;min-height:44px;display:inline-flex}.filter-divider{min-height:44px}.filter-bar{padding-top:6px;padding-bottom:6px}.view-switch button{justify-content:center;align-items:center;height:auto;min-height:44px;display:inline-flex}.detail-close{background:#1a14100f;border-radius:999px;justify-content:center;align-items:center;width:44px;height:44px;padding:0;font-size:26px;display:inline-flex;top:14px;right:14px}.detail-actions .detail-cta,.detail-ghost{min-height:44px}@media (width<=640px){.detail-close{top:8px;right:10px}}@media (height<=520px) and (orientation:landscape){.view-switch button{height:34px;min-height:34px}}}@media (width<=1366px){.filter{top:calc(20px + var(--sa-top,0px));right:calc(20px + var(--sa-right,0px))}}@media (width<=1024px){.filter{top:calc(16px + var(--sa-top,0px));right:calc(16px + var(--sa-right,0px))}}@media (width<=640px){.filter{top:calc(12px + var(--sa-top,0px));right:calc(12px + var(--sa-right,0px))}.filter-pop{width:min(296px,100vw - 24px)}}@media (height<=520px) and (orientation:landscape){.filter{top:calc(8px + var(--sa-top,0px));right:calc(12px + var(--sa-right,0px))}.filter-pop{gap:12px;max-height:calc(100dvh - 60px);overflow-y:auto}}@media (pointer:coarse){.filter-fab{min-height:44px;padding-top:0;padding-bottom:0}}.view-switch{left:50%;right:auto;top:calc(24px + var(--sa-top,0px));border-radius:999px;align-items:center;height:35px;padding:0 4px;transform:translate(-50%)}.view-switch button{border-radius:999px;min-width:70px;height:27px}@media (width<=1366px){.view-switch{top:calc(20px + var(--sa-top,0px))}}@media (width<=1024px){.view-switch{top:calc(16px + var(--sa-top,0px))}}@media (width<=640px){.view-switch{top:calc(12px + var(--sa-top,0px))}}@media (height<=520px) and (orientation:landscape){.view-switch{top:calc(8px + var(--sa-top,0px))}}@media (pointer:coarse){.view-switch{height:44px}.view-switch button{height:36px}}@media (width<=640px){.view-switch button{min-width:0;padding:0 12px}}@media (width<=430px){.filter-fab{gap:6px;padding:0 11px}.filter-fab-label{display:none}.view-switch{padding:0 3px}.view-switch button{letter-spacing:.04em;min-width:0;padding:0 10px;font-size:11px}}
