:root{--forest:#111;--ink:#111;--muted:#303639;--glass-surface:linear-gradient(145deg,rgba(233,239,244,.58),rgba(240,242,237,.38));--paper:#eef0ef;--line:#181b1e24;--accent:#575b60;--serif:Arial,Helvetica,sans-serif;--sans:Arial,Helvetica,sans-serif;--yellow:#f4d572;--edge:clamp(24px,3.7vw,72px);--left-width:264px;--right-width:290px;font-family:var(--sans);background:#dce5e6}
body{min-width:280px;overflow:hidden}button{transition:background .18s,color .18s,box-shadow .18s}button:focus-visible,a:focus-visible,input:focus-visible,[role=button]:focus-visible{outline:3px solid #966b00;outline-offset:4px}button:disabled{opacity:.45}button,a{touch-action:manipulation}
.header{position:fixed;z-index:8;top:0;left:0;right:0;height:116px;padding:26px var(--edge);align-items:flex-start;flex-wrap:nowrap;background:none;border:0;gap:20px;pointer-events:none}.header>*{pointer-events:auto}.brand-context{padding-top:8px;min-width:0}.breadcrumb{display:flex;align-items:center;gap:9px;flex-wrap:wrap;font-size:clamp(22px,2vw,34px);font-weight:700;letter-spacing:-1.1px;line-height:1.15}.breadcrumb button,.breadcrumb button:first-child{padding:0;background:none;border-radius:0;font-size:inherit;line-height:inherit;font-weight:inherit;letter-spacing:inherit}.breadcrumb button:first-child{color:#666e77}.breadcrumb button:hover{color:#000}.breadcrumb .crumb-current{color:#101214}.crumb-dot{font-size:20px;align-self:center}.project-name{display:block;font-size:11px;letter-spacing:2.4px;margin-top:10px;color:#343a40}.menu-toggle{margin-top:8px;border-radius:999px;background:#090909;color:white;padding:11px 29px;font-size:16px;min-height:42px;font-weight:600}@media(hover:hover){.menu-toggle:hover,.primary-button:hover{background:#292929}}
.glass{background:var(--glass-surface);-webkit-backdrop-filter:blur(20px) saturate(.85);backdrop-filter:blur(20px) saturate(.85);border:1px solid #ffffff38;box-shadow:inset 0 1px 0 #ffffff24,0 8px 28px #1921250a;border-radius:26px}
.header .site-menu{position:absolute;right:var(--edge);top:92px;width:280px;max-height:calc(100svh - 125px);overflow-y:auto;display:flex;flex-direction:column;gap:0;padding:24px;align-self:auto}.menu-label{font-size:11px;letter-spacing:2px;color:var(--muted);padding:0 0 17px}.site-menu .nav-button,.site-menu .saved-button{padding:15px 0;font-size:19px;line-height:1.2;text-align:left;border-bottom:1px solid var(--line);font-weight:500;color:#141414}.site-menu .nav-button.active:after{display:none}.site-menu .nav-button.active{font-weight:700}.site-menu .saved-button{margin:0;justify-content:space-between}.site-menu .saved-button>span:last-child{width:27px;height:27px;border-color:#2525254a;font-size:13px}.site-menu .review-link{font-size:13px;color:var(--muted);border:0;padding-bottom:0}
.workspace{position:relative;display:block;width:100%;height:100svh;min-height:0}.stage{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;overflow:hidden;background:#c9d7db}.scene,.selection-map{object-fit:cover;object-position:50% 50%;width:100%;height:100%}.stage:after{z-index:2;background:linear-gradient(180deg,transparent 78%,#07100d59 100%);pointer-events:none}.selection-map{z-index:3}.stage-caption,.image-credit,.stage-top,.stage>.view-counter{display:none!important}
.filter-panel,.sidebar{position:absolute;z-index:5;top:145px;padding:23px 22px;max-height:calc(100svh - 244px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#48515845 transparent;overscroll-behavior:contain;min-width:0}.filter-panel{left:var(--edge);width:var(--left-width)}.sidebar{right:var(--edge);width:var(--right-width);background:var(--glass-surface);border-radius:26px}.sidebar h2,.filter-panel h2{font-family:var(--sans);font-size:24px;font-weight:700;line-height:1.2;letter-spacing:-.65px;margin:0}.filter-panel h2{font-size:29px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.panel-heading h2{font-size:17px;letter-spacing:-.3px}.panel-close{border-radius:50%;width:30px;height:30px;flex:0 0 30px;background:#fff9;display:grid;place-items:center;font-size:22px;font-weight:400;color:#555;line-height:1}.panel-close:hover{background:#fff}.filter-close{display:none}.filter-panel .panel-heading{margin-bottom:25px}.filter-panel .panel-heading h2{font-size:29px}
.filter-block{border:0;margin:0 0 23px;padding:0;min-width:0}.filter-block:last-child{margin-bottom:0}.filter-block legend,.filter-label{display:block;width:100%;font-size:14px;font-weight:700;margin:0 0 12px;padding:0}.filter-panel .section-switch{display:flex;gap:7px}.section-switch button{flex:1;border:1px solid #20232740;border-radius:20px;padding:7px 8px;font-size:13px;min-height:35px}.section-switch button.active{background:#111;color:#fff;border-color:#111}.range-values{display:flex;justify-content:space-between;font-size:14px;margin:0 0 9px}.area-range{width:100%;accent-color:#111;height:20px;margin:0;cursor:pointer}.range-label{margin:0}.chip-row{display:flex;gap:10px;flex-wrap:wrap}.chip-row button{border:1px solid #111;border-radius:50%;width:31px;height:31px;display:grid;place-items:center;font-size:14px;padding:0}.chip-row button:first-child{width:auto;min-width:46px;border-radius:20px;padding:0 10px}.chip-row button.active,.status-chips button.active{background:#111;color:#fff}.status-chips{display:flex;gap:6px;flex-wrap:wrap}.status-chips button{border:1px solid #343434;border-radius:30px;padding:4px 9px;font-size:12px;min-height:29px}.filter-panel .floor-grid{grid-template-columns:repeat(5,1fr);gap:6px}.floor-button{border:0;border-radius:7px;min-height:30px;background:#ffffff4d;font-size:13px}.floor-button.active{background:#111;color:white}.filter-summary{font-size:12px;line-height:1.5;color:#343a3f;padding-top:13px}.clear-filters{display:block;width:100%;border-radius:999px;background:#ffffff5c;margin-top:19px;padding:11px;font-size:14px;min-height:39px}.clear-filters:hover{background:#fff9}
.section-cards{display:grid;grid-template-columns:1fr;gap:10px;margin-top:22px}.section-card{border:1px solid #17171738;border-radius:16px;background:#fff3;grid-template-columns:36px 1fr 16px;padding:17px 14px;gap:8px}.section-card:hover{background:#fff8;border-color:#18181880}.section-letter{font-family:var(--sans);font-size:27px;font-weight:600}.section-card strong{font-size:14px}.section-card small{font-size:12px}.section-card .arrow{font-size:21px}.subtext{font-size:14px;line-height:1.6}.step-label,.little-label{font-size:11px;letter-spacing:1.4px;color:#303639}.sidebar .step-label{display:block;margin-bottom:14px}.sidebar .demo-note{font-size:12px;line-height:1.55;margin-top:17px;color:#202729}.aside-divider{margin:22px 0 17px}.feature-preview{border-radius:15px;overflow:hidden;margin-top:14px}.feature-preview span{background:#000a;border-radius:30px;font-size:12px;padding:7px 11px;left:10px}.sidebar-bottom{gap:12px}.link-button{font-size:13px}.sidebar-bottom .little-label{display:none}.back-button{font-size:13px;margin-bottom:18px}
.selection-summary{display:flex;gap:8px;align-items:center;margin:-5px 0 12px;font-size:12px;color:#303639}.selection-summary span{border:1px solid #1112;border-radius:20px;padding:5px 9px}.unit-plan-preview{border:1px solid #ffffff40;background:#ffffff26;border-radius:16px;padding:15px 10px 12px;margin:20px 0}.unit-plan-preview .floor-plan{height:140px;margin:0}.floor-plan{height:142px;margin-top:15px}.floor-plan .plan-unit{fill:#f1f1ed;stroke:#555;stroke-width:1.2}.floor-plan .plan-unit.selected{fill:#f7dc82;stroke:#54451c;stroke-width:1.6}.floor-plan .plan-unit.unavailable{fill:#cbcfcf}.floor-plan .plan-unit:hover{fill:#f0d479}.floor-plan .plan-core{fill:#d7dcda;stroke:#666;stroke-width:1}.floor-plan text{fill:#1b1d1b;font-size:13px}.floor-plan .plan-small{font-size:10px;fill:#505651}.plan-caption{font-size:12px;line-height:1.55;color:#303639}.unit-plan-preview .plan-caption{padding:4px 7px 0}.unit-specs{display:grid;grid-template-columns:1fr 1fr;gap:19px 16px;margin:22px 0}.unit-specs dt{font-size:13px;color:#3b4044;margin-bottom:6px}.unit-specs dd{font-size:17px;line-height:1.1}.unit-specs .spec-area{grid-column:1/-1}.spec-area dd{font-size:32px;letter-spacing:-1px}.spec-area dd span{font-size:18px;letter-spacing:0}.status-label{border-radius:20px;font-size:12px;padding:6px 10px;background:#e0e7d7;color:#26371e;margin:0}.status-label.sold{background:#eadad5;color:#763d31}.status-label b{display:inline-block;width:6px;height:6px;background:currentColor;border-radius:50%;margin-right:6px}.primary-button,.secondary-button{border-radius:999px;width:100%;max-width:none;min-height:43px;padding:11px 15px;font-size:14px;line-height:1.25;justify-content:center;font-weight:600}.primary-button{background:#080808;margin-top:10px;color:#fff}.secondary-button{border:1px solid #191919;background:transparent;margin-top:10px;color:#111}.secondary-button:hover{background:#ffffff60}.primary-button span:last-child{margin-left:auto}.missing-plan{border:0;border-radius:12px;background:#ffffff3d;padding:12px;margin-top:15px}.missing-plan strong{font-size:12px}.missing-plan p{font-size:12px;line-height:1.5;margin-top:5px}.results-heading{font-size:12px;margin:18px 0 11px;color:#303639}.unit-list{display:grid;grid-template-columns:1fr;gap:8px}.unit-row{border:1px solid #3332;border-radius:12px;background:#ffffff36;padding:13px 11px;display:grid}.unit-row:hover{background:#fff9}.unit-row.selected{background:#f4d57270;border-color:#b39638}.unit-row strong{font-size:14px}.unit-row .area{font-size:17px}.unit-row small{font-size:12px;margin:0}.unit-row.sold{background:#c8c9c933}.empty-state{font-size:14px;line-height:1.55;padding:17px 0}
.view-controls{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:20px}.view-arrow{width:54px;height:54px;display:grid;place-items:center;font-size:25px;background:#eeeeee61;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:20px;color:#171717}.view-arrow:hover{background:#fff}.view-readout{display:flex;align-items:center;flex-direction:column;color:#fff;min-width:145px;text-shadow:0 1px 8px #0008;gap:8px}.view-readout strong{font-size:12px;letter-spacing:.5px;font-weight:600}.view-dots{display:flex;gap:7px;align-items:center}.view-dots button{padding:0;width:6px;height:6px;background:#ffffff68;border-radius:50%;min-height:0}.view-dots button.active{width:20px;border-radius:10px;background:#fff}.scene-hint{position:absolute;z-index:4;bottom:115px;left:50%;transform:translateX(-50%);color:#fff;background:#151c1aa6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:8px 14px;border-radius:30px;font-size:12px;line-height:1.4;text-align:center;max-width:350px;white-space:nowrap;pointer-events:none}.scene-hint:empty{display:none}.building-zone{fill:#f4d572;fill-opacity:0;stroke:#f4d572;stroke-opacity:0;stroke-width:1.5}.building-zone:hover,.building-zone:focus{fill-opacity:.12;stroke-opacity:.85}.building-zone.selected{fill-opacity:0;stroke-opacity:.15}.map-label-circle{fill:#e9eae9;stroke:#1115;stroke-width:1}.map-label{fill:#151515;font-family:Arial,sans-serif;font-weight:600;letter-spacing:0}.map-unit{fill:#f2d170;fill-opacity:.025;stroke:#f2d170;stroke-width:.95;vector-effect:non-scaling-stroke;cursor:pointer;transition:fill-opacity .16s,stroke-opacity .16s}.map-unit:hover,.map-unit:focus{fill-opacity:.4;stroke:#fff0b5;stroke-width:1.8}.map-unit.selected{fill-opacity:.4;stroke:#ffe491;stroke-width:2}.map-unit.dim{stroke-opacity:.16;fill-opacity:0;pointer-events:none}.map-unit.current-floor{fill-opacity:.12}.map-unit.selected.current-floor{fill-opacity:.42}.map-unit.sold{stroke-opacity:.4}.map-label-pill{fill:#f5f5eff2;stroke:#1112;stroke-width:1;pointer-events:none}.map-selected-label{fill:#171717;font-family:Arial,sans-serif;font-size:16px;font-weight:600;pointer-events:none}.floor-hit.active{fill:#f4d57242;stroke:#f4d572}
.footer{position:fixed;z-index:6;bottom:31px;left:var(--edge);right:auto;padding:0;min-height:0;display:block;border:0;background:none;color:white;max-width:300px;font-size:12px;pointer-events:none}.footer>span{display:flex;gap:9px;align-items:center;font-size:12px}.concept-label{font-size:10px;letter-spacing:1px;background:#101b17b3;color:white;border:1px solid #ffffff3b;border-radius:20px;padding:7px 10px;margin:0}.footer-note{font-size:11px;line-height:1.4;text-shadow:0 1px 5px #000}.mobile-tools{display:none}
.gallery-groups{gap:6px;margin-top:20px}.gallery-groups button{border-radius:20px;font-size:12px;padding:7px 10px}.gallery-grid{grid-template-columns:1fr 1fr;gap:17px 10px}.gallery-card img{border-radius:10px}.gallery-card strong{font-size:12px;line-height:1.4;margin-top:7px}.gallery-card small{font-size:10px}.place-cards{grid-template-columns:1fr;margin-top:21px;gap:14px}.place-card{grid-template-columns:68px 1fr;gap:11px;padding-bottom:14px}.place-card img{width:68px;height:57px;border-radius:9px}.place-card strong{font-size:13px}.place-card small{font-size:12px;line-height:1.4}.place-card.active strong{color:#111;font-weight:700}.place-detail{margin-top:15px}.place-detail h3{font-size:18px;font-weight:600}.place-detail p{font-size:13px;line-height:1.6}.place-title{position:absolute;bottom:150px;left:var(--edge);z-index:4;color:white;max-width:calc(100% - 420px);text-shadow:0 2px 15px #0008}.place-title h1{font-size:clamp(32px,4vw,60px);letter-spacing:-2px;line-height:1.05;margin-bottom:15px}.place-title p{font-size:16px}
dialog{border-radius:25px;background:#f1f2ef;max-height:90svh}dialog::backdrop{background:#141a188a;backdrop-filter:blur(12px)}.dialog-bar h2{font-family:var(--sans);font-weight:600;font-size:25px;letter-spacing:-.6px;line-height:1.3}.dialog-bar .eyebrow{font-size:11px}.round-button{background:#fff7;border:0}.lightbox-image{background:#17201b}.lightbox-footer{font-size:12px}.saved-card{border-radius:16px}.saved-card h3{font-family:var(--sans);font-weight:600}.saved-card .unit-specs{grid-template-columns:1fr}.saved-card .primary-button,.saved-card .secondary-button{font-size:13px;min-height:40px}.review-body h3{font-family:var(--sans);font-size:23px;font-weight:600}.review-body{font-size:14px}.review-item{gap:15px}.toast{border-radius:30px;background:#111;bottom:96px}
@media(min-width:1700px){:root{--left-width:282px;--right-width:306px}.header{height:126px}.filter-panel,.sidebar{top:150px;padding:25px}.sidebar h2{font-size:25px}.panel-heading h2{font-size:18px}}
@media(max-height:780px) and (min-width:901px){.header{height:90px;padding-top:21px}.filter-panel,.sidebar{top:110px;max-height:calc(100svh - 190px);padding:19px}.filter-panel .panel-heading{margin-bottom:17px}.filter-block{margin-bottom:15px}.unit-plan-preview{margin:14px 0}.unit-plan-preview .floor-plan{height:110px}.unit-specs{gap:14px;margin:17px 0}.clear-filters{margin-top:12px}.view-controls{bottom:20px}.footer{bottom:25px}.scene-hint{bottom:90px}}
@media(max-width:1100px) and (min-width:901px){:root{--left-width:235px;--right-width:252px;--edge:24px}.filter-panel,.sidebar{padding:19px}.filter-block{margin-bottom:17px}.scene-hint{max-width:300px;white-space:normal}.footer-note{display:none}}
@media(max-width:900px){:root{--edge:20px}.header{height:94px;padding:22px 20px;gap:12px;flex-wrap:nowrap;align-items:flex-start;min-height:0}.brand-context{padding-top:4px}.breadcrumb{font-size:24px;letter-spacing:-.8px;gap:6px}.crumb-dot{font-size:15px}.project-name{font-size:9px;letter-spacing:1.8px;margin-top:9px}.menu-toggle{margin-top:0;font-size:14px;min-height:37px;padding:8px 22px}.header .site-menu{top:74px;right:20px;width:260px;height:auto;max-height:calc(100svh - 100px);order:0;justify-content:flex-start;gap:0}.workspace{display:block;height:100svh;min-height:0}.stage{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}.scene,.selection-map{object-position:50% 50%}.filter-panel,.sidebar{display:none;position:absolute;left:14px;right:14px;top:auto;bottom:87px;width:auto;max-height:calc(100svh - 196px);padding:23px;border-radius:24px;background:linear-gradient(145deg,rgba(233,239,244,.68),rgba(240,242,237,.48));z-index:7;overflow-y:auto}.filter-panel.mobile-open,.sidebar.mobile-open{display:block}.filter-close{display:grid}.filter-panel .panel-heading{margin-bottom:19px}.filter-panel h2{font-size:25px}.filter-block{margin-bottom:18px}.filter-panel .floor-grid{grid-template-columns:repeat(9,1fr)}.filter-panel .floor-button{min-height:34px}.section-cards{grid-template-columns:1fr 1fr}.section-card{padding:16px 10px}.sidebar .feature-preview{max-width:none}.unit-specs{grid-template-columns:1fr 1fr;margin:19px 0;gap:15px}.unit-specs .spec-area{grid-column:auto}.spec-area dd{font-size:26px}.unit-plan-preview .floor-plan{max-width:320px;height:120px;margin:0 auto}.unit-plan-preview{margin:16px 0}.unit-plan-preview .plan-caption{text-align:center}.primary-button,.secondary-button{max-width:none}.gallery-grid{grid-template-columns:repeat(3,1fr)}.place-cards{grid-template-columns:1fr 1fr}.place-title{left:22px;bottom:205px;max-width:calc(100% - 44px)}.place-title h1{font-size:36px;letter-spacing:-1px}.place-title p{font-size:14px}.mobile-tools{display:flex;position:absolute;bottom:27px;left:20px;right:20px;z-index:8;gap:10px}.mobile-tools button{flex:1;background:#111;color:#fff;border-radius:999px;padding:13px 15px;min-height:45px;font-size:14px;font-weight:500}.mobile-tools button:first-child{background:#edf0ee85;color:#111;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.mobile-tools span{margin-left:7px;font-size:11px}.mobile-tools span:empty{display:none}.view-controls{bottom:96px;gap:16px}.view-arrow{width:39px;height:39px;border-radius:15px;font-size:21px}.view-readout{min-width:126px;gap:7px}.view-readout strong{font-size:11px}.scene-hint{bottom:154px;max-width:calc(100% - 40px);font-size:11px;white-space:normal;width:max-content;line-height:1.4}.footer{left:auto;right:20px;bottom:165px;max-width:none}.footer-note{display:none}.concept-label{font-size:9px;padding:5px 8px}.footer>span{font-size:10px}.sidebar h2{font-size:24px}.sidebar .panel-heading h2{font-size:18px}.toast{bottom:87px;font-size:13px}.saved-card .unit-specs{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.breadcrumb{font-size:21px}.project-name{font-size:8px;letter-spacing:1.6px}.menu-toggle{padding:8px 18px;font-size:13px}.filter-panel,.sidebar{padding:20px}.filter-panel .floor-grid{grid-template-columns:repeat(5,1fr)}.gallery-grid{grid-template-columns:1fr 1fr}.section-cards,.place-cards{grid-template-columns:1fr}.unit-plan-preview .floor-plan{height:115px}.header .site-menu{width:250px}.footer{bottom:148px}.scene-hint{bottom:151px;max-width:230px}.lightbox-footer{font-size:10px}.dialog-bar h2{font-size:21px}.view-controls{bottom:93px}}
@media(max-width:350px){.header{padding:20px 14px}.breadcrumb{font-size:18px;letter-spacing:-.6px;gap:5px}.menu-toggle{padding:7px 15px;font-size:12px}.project-name{letter-spacing:1px}.filter-panel,.sidebar{left:10px;right:10px;padding:18px}.mobile-tools{left:14px;right:14px}.scene-hint{max-width:195px}.filter-summary{font-size:11px}}
.view-dots{gap:2px;height:24px}.view-dots button,.view-dots button.active{display:grid;place-items:center;width:24px;height:24px;background:transparent;border-radius:12px}.view-dots button:before{content:'';display:block;width:6px;height:6px;border-radius:5px;background:#ffffff79}.view-dots button.active:before{width:18px;background:white}.view-readout{gap:2px}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass,.sidebar,.filter-panel,.view-arrow,.mobile-tools button:first-child{background:#edf0ed}}
@media(prefers-reduced-transparency:reduce){.glass,.sidebar,.filter-panel,.view-arrow,.mobile-tools button:first-child{background:#edf0ed;-webkit-backdrop-filter:none;backdrop-filter:none}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important}}

/* The facade itself provides the keyboard focus indication. */
.map-unit:focus{outline:none}.map-unit:focus-visible{stroke:#fff;stroke-width:2.5;fill-opacity:.4;filter:drop-shadow(0 0 2px #111)}
.scene{object-fit:cover}

/* Viewport-filling stills; the player applies the same frame to the hit maps. */
html,body{width:100%;margin:0;padding:0}
.stage{border:0;outline:0;background:#d2d9d9;overflow:clip}
.scene{border:0;outline:0;object-fit:cover;object-position:center;transition:none}
.scene-previous{z-index:1;pointer-events:none}
.stage[data-framing="architecture"]{background:#cecece}
.stage[data-framing="architecture"]:after{background:linear-gradient(180deg,transparent 85%,#23312b29 100%)}
.complex-map{position:absolute;inset:0;width:100%;height:100%;z-index:3;pointer-events:none}
.complex-hit{pointer-events:all;cursor:pointer;fill:#fff;fill-opacity:0;stroke:#fff;stroke-width:1.5;stroke-opacity:0;vector-effect:non-scaling-stroke;transition:fill-opacity .2s,stroke-opacity .2s}
.complex-hit:hover,.complex-hit:focus-visible{fill-opacity:.09;stroke-opacity:.9;outline:none}
.overview-back{position:absolute;left:var(--edge);top:110px;z-index:6;padding:11px 19px;border-radius:999px;min-height:43px;font-size:14px;font-weight:600}
.transition-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;background:#d2d9d9;pointer-events:none}
#stage[data-scene-busy="true"] .scene-hint{visibility:hidden;pointer-events:none}
.skip-transition{position:absolute;z-index:7;left:50%;bottom:110px;transform:translateX(-50%);padding:12px 20px;border-radius:999px;font-size:14px;font-weight:600}
body[data-mode="overview"] .scene-hint{pointer-events:auto;cursor:pointer;opacity:1;font-size:14px;padding:11px 19px}
@media(hover:hover){body[data-mode="overview"] .scene-hint:hover{background:#111}}
body[data-mode="overview"] .footer-note{display:none}
.gallery-card img,.place-card img{object-fit:contain;background:#d3d9d8}
.gallery-card img{aspect-ratio:auto;height:auto}
.view-mode-switch{position:fixed;z-index:7;top:26px;left:50%;transform:translateX(-50%);display:flex;padding:5px;gap:4px;width:max-content;max-width:calc(100% - 40px);border-radius:999px}
.view-mode-switch button{min-height:38px;padding:10px 20px;border-radius:999px;font-size:14px;line-height:1.2;white-space:nowrap;font-weight:600}
.view-mode-switch button.active{background:#111;color:#fff}
.view-mode-switch button:not(.active):hover{background:#ffffff70}
.filter-panel,.sidebar{top:169px;max-height:calc(100svh - 265px)}
.collection-toggle{position:absolute;z-index:6;right:var(--edge);bottom:28px;padding:12px 22px;min-height:44px;border-radius:999px;font-size:14px;font-weight:600}
.collection-cards{display:grid;gap:12px;margin-top:22px}
.collection-card{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:13px;padding:8px;text-align:left;border:1px solid transparent;border-radius:14px}
.collection-card img{width:96px;aspect-ratio:16/9;object-fit:contain;border-radius:7px;background:#c5cecb}
.collection-card small{display:block;font-size:12px;color:#4f5758;margin-bottom:5px}
.collection-card strong{display:block;font-size:14px;line-height:1.35;font-weight:500}
.collection-card:hover{background:#ffffff38}
.collection-card.active{background:#ffffff5c;border-color:#ffffff80}
body[data-mode="info"] .scene,body[data-mode="places"] .scene{inset:0;height:100%}
body[data-mode="info"] .place-title,body[data-mode="places"] .place-title{left:var(--edge);bottom:27px;max-width:min(32vw,500px);padding:14px 18px;border-radius:20px;background:rgba(233,239,244,.68);border:1px solid #ffffff38;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);color:#151a19;text-shadow:none}
body[data-mode="info"] .place-title h1,body[data-mode="places"] .place-title h1{font-size:clamp(19px,1.55vw,24px);letter-spacing:-.6px;line-height:1.15;margin:0 0 7px}
body[data-mode="info"] .place-title p,body[data-mode="places"] .place-title p{font-size:14px;color:#4b5351;line-height:1.3}

body[data-mode="info"] .view-arrow,body[data-mode="places"] .view-arrow{background:#f3f5f080;color:#111}
body[data-mode="info"] .view-readout,body[data-mode="places"] .view-readout{color:#fff;background:#14201bb3;padding:7px 12px;border-radius:18px}
body[data-mode="info"] .view-dots button:before,body[data-mode="places"] .view-dots button:before{background:#ffffff79}
body[data-mode="info"] .view-dots button.active:before,body[data-mode="places"] .view-dots button.active:before{background:#fff}
@media(max-height:780px) and (min-width:901px){.filter-panel,.sidebar{top:151px;max-height:calc(100svh - 239px)}.filter-panel{padding:18px}.filter-panel .panel-heading{margin-bottom:13px}.filter-panel .filter-block{margin-bottom:12px}.filter-panel .filter-block legend{margin-bottom:8px}.filter-panel .filter-summary{padding-top:6px}.filter-panel .clear-filters{margin-top:8px}}
@media(min-width:1101px) and (max-width:1399px){.view-mode-switch{left:50%;right:auto;transform:translateX(-50%)}}
@media(min-width:901px) and (max-width:1100px){.view-mode-switch{top:76px}.overview-back{top:140px}}
@media(max-width:1100px) and (min-width:901px){.view-mode-switch button{padding:10px 16px}body[data-mode="info"] .place-title h1,body[data-mode="places"] .place-title h1{font-size:20px}}
@media(max-width:900px){
 .view-mode-switch{left:14px;right:14px;top:76px;transform:none;max-width:none;width:auto;display:grid;grid-template-columns:1fr 1fr;border-radius:22px;gap:2px;padding:4px}
 .view-mode-switch button{white-space:normal;font-size:13px;padding:8px 7px;min-height:47px;border-radius:18px}
 .overview-back{left:20px;top:142px;min-height:39px;padding:10px 16px}
 body[data-mode="overview"] .view-controls{bottom:30px}
 body[data-mode="overview"] .scene-hint{bottom:104px;max-width:calc(100% - 40px);font-size:13px}
 
 .skip-transition{bottom:154px;white-space:nowrap}
 .filter-panel,.sidebar{top:auto;max-height:calc(100svh - 254px)}
 .collection-toggle{display:none}
 .collection-card{grid-template-columns:105px 1fr}
 .collection-card img{width:105px}
 body[data-mode="info"] .place-title,body[data-mode="places"] .place-title{left:20px;right:20px;bottom:170px;max-width:none}
 body[data-mode="info"] .place-title h1,body[data-mode="places"] .place-title h1{font-size:23px}
 body[data-mode="info"] .place-title p,body[data-mode="places"] .place-title p{font-size:14px}
}
@media(max-height:520px) and (max-width:900px){
 .header{padding-top:12px;height:65px}.brand-context{padding-top:0}.project-name{margin-top:4px}
 .view-mode-switch{top:60px}.view-mode-switch button{min-height:33px;padding:6px;font-size:12px}
 .overview-back{top:111px;min-height:33px;padding:7px 13px}
 body[data-mode="overview"] .view-controls{bottom:15px}
 body[data-mode="overview"] .scene-hint{bottom:75px;padding:8px 15px}
 body[data-mode="info"] .place-title,body[data-mode="places"] .place-title{display:none}
 .mobile-tools{bottom:12px}.mobile-tools button{min-height:34px;padding:7px 14px}.view-controls{bottom:55px}.view-arrow{height:31px;width:31px}.view-readout strong{font-size:10px}
 .filter-panel,.sidebar{bottom:57px;max-height:calc(100svh - 169px)}
}

/* Consistent, quieter controls across the three collections. */
.workspace{height:100dvh}
.scene-hint:disabled{opacity:1}
.scene-hint:not(:disabled){pointer-events:auto;cursor:pointer}
.collection-card img{aspect-ratio:2.1;object-fit:cover}
.gallery-card img{aspect-ratio:2.1;object-fit:cover;width:100%}
.unit-row strong{font-size:13px}
.unit-row .area{font-variant-numeric:tabular-nums}
.view-readout strong{font-variant-numeric:tabular-nums}

body[data-mode="gallery"] .place-title{bottom:28px;max-width:min(32vw,440px);padding:14px 18px;border-radius:20px;background:rgba(233,239,244,.68);backdrop-filter:blur(20px);color:#151a19;text-shadow:none}
body[data-mode="gallery"] .place-title h1{font-size:clamp(19px,1.55vw,24px);letter-spacing:-.6px;line-height:1.15;margin:0 0 7px}
body[data-mode="gallery"] .place-title p{font-size:14px;color:#4b5351}
.lightbox-image{min-height:160px}
.gallery-dialog{width:min(1280px,94vw,calc((90dvh - 160px)*var(--gallery-ratio,2.1)))}
.lightbox-image img{height:auto;max-height:none}
#gallery-message{position:absolute;inset:0;display:grid;place-items:center;padding:50px 70px;text-align:center;color:#fff;background:#17201bc9;backdrop-filter:blur(8px);font-size:14px;line-height:1.5}
.lightbox-footer span{overflow-wrap:anywhere}
@media(max-width:900px){body[data-mode="gallery"] .place-title{left:20px;right:20px;bottom:170px;max-width:none}.breadcrumb{flex-wrap:nowrap}.crumb-current{max-width:44vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media(max-height:520px) and (max-width:900px){body[data-mode="gallery"] .place-title{display:none}}

/* Illustrative sale statuses use the existing source masks. */
.select-facade{position:absolute;z-index:6;left:var(--edge);top:164px;border-radius:999px;padding:11px 18px;min-height:43px;font-size:14px;font-weight:600}
[data-unit-status="available"]{--status-color:#f4f5f7}
[data-unit-status="reserved"]{--status-color:#dda53d}
[data-unit-status="sold"]{--status-color:#d55457}
#selection-map{pointer-events:none}#selection-map .map-unit{pointer-events:all;fill:var(--status-color);stroke:var(--status-color);fill-opacity:0;stroke-opacity:0;stroke-width:1.6;outline:none;transition:fill-opacity .16s,stroke-opacity .16s,stroke-width .16s}
#selection-map.show-outlines .map-unit{fill-opacity:.16;stroke-opacity:.95}
#selection-map .map-unit:hover{fill-opacity:.33;stroke-opacity:1;stroke-width:2.2}
#selection-map .map-unit:focus-visible,#selection-map .map-unit.selected{fill-opacity:.38;stroke:#fff;stroke-opacity:1;stroke-width:2.6;filter:drop-shadow(0 0 2px #151a2377)}
.availability-legend{position:absolute;z-index:4;left:var(--edge);top:223px;display:flex;flex-direction:column;gap:10px;padding:15px 17px;background:#171d28eb;color:#fff;border:1px solid #ffffff26;border-radius:16px;box-shadow:0 6px 22px #1018201f;pointer-events:none}
.availability-legend-title{font-size:12px;color:#d2d8e0;margin-bottom:2px}
.availability-legend>span[data-unit-status]{display:flex;align-items:center;gap:9px;font-size:14px;line-height:1.35}
.availability-legend i{display:block;width:13px;height:13px;border:1.5px solid var(--status-color);background:var(--status-color);box-shadow:inset 0 0 0 3px #171d2866;border-radius:2px;flex:none}
@media(min-width:901px) and (max-width:1100px){.availability-legend{top:247px}}
@media(max-width:900px){.availability-legend{top:195px;left:20px;right:20px;flex-direction:row;justify-content:space-between;gap:8px;padding:10px 12px;border-radius:12px}.availability-legend-title{display:block;font-size:11px;max-width:66px;line-height:1.3;margin:0}.availability-legend>span[data-unit-status]{font-size:12px;gap:6px}.availability-legend i{width:11px;height:11px}}
@media(max-height:520px) and (max-width:900px){.availability-legend{top:153px;right:auto;gap:16px}}
.zone-preview{position:relative;border-radius:14px;overflow:hidden;margin:0 0 17px;aspect-ratio:16/9;background:#ccc}
.zone-preview img,.zone-preview svg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.zone-preview svg{pointer-events:none}.zone-preview path{fill:var(--status-color);fill-opacity:.35;stroke:var(--status-color);stroke-width:2;vector-effect:non-scaling-stroke}
body[data-mode="select"] .sidebar{top:220px;max-height:calc(100dvh - 310px)}
body[data-mode="select"] .view-readout{background:#14201bb3;padding:7px 12px;border-radius:18px}
.collection-card img,.gallery-card img{aspect-ratio:16/9;object-fit:contain}

@media(min-width:901px) and (max-width:1100px){.select-facade{top:191px}}
@media(max-width:900px){.select-facade{left:auto;right:20px;top:142px;min-height:39px;padding:10px 14px;font-size:13px}body[data-mode="select"] .sidebar{top:auto;max-height:calc(100dvh - 250px)}body[data-mode="select"] .scene-hint{bottom:168px;max-width:calc(100% - 40px);white-space:normal}body[data-mode="select"] .mobile-tools{grid-template-columns:1fr}}
@media(max-height:520px) and (max-width:900px){.select-facade{top:111px;min-height:33px;padding:7px 13px}body[data-mode="select"] .sidebar{max-height:calc(100dvh - 169px)}body[data-mode="select"] .scene-hint{display:none}}

/* Lightweight interior studies in the selected-zone card. */
body[data-mode="select"] .sidebar.has-interior-plan{top:128px;max-height:calc(100dvh - 216px);padding:18px}
.has-interior-plan .panel-heading{margin-bottom:13px}
.has-interior-plan .selection-summary{margin:0 0 14px;flex-wrap:wrap}
.selection-summary .zone-color-tag{display:inline-flex;align-items:center;gap:6px}
.zone-color-tag:before{content:"";width:9px;height:9px;border-radius:2px;background:var(--status-color);box-shadow:0 0 0 1px #1113}
.selection-summary .availability-tag{font-weight:600;border-color:#1113}
.interior-plan-heading{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:9px;font-size:14px;line-height:1.3}
.interior-plan-heading strong{font-weight:600}.interior-plan-heading>span{color:#41484b;font-size:12px}
.interior-plan-preview{display:block;position:relative;width:100%;padding:8px 8px 28px;background:white;border:1px solid #1112;border-radius:14px;overflow:hidden}
.interior-plan-preview img{width:100%;height:min(22dvh,210px);object-fit:contain;background:white}
.interior-plan-preview>span{position:absolute;bottom:9px;left:0;right:0;font-size:12px;color:#454b4d}
.interior-plan-preview:hover{box-shadow:0 0 0 2px #1113}
.interior-plan-note{font-size:12px;line-height:1.5;margin:10px 0 13px;color:#31383a}
.interior-plan-dialog{width:min(1040px,94vw);max-height:94dvh;border-radius:20px;background:#fff}
.interior-plan-dialog .dialog-bar{padding:18px 22px;align-items:center}
.interior-plan-dialog .dialog-bar h2{margin:3px 0 0;font-size:23px;font-weight:600}
.interior-plan-canvas{position:relative;background:white;padding:0 18px}
.interior-plan-canvas img{width:100%;height:min(62dvh,600px);object-fit:contain;background:white}
#interior-plan-disclaimer{font-size:13px;line-height:1.5;padding:14px 22px 20px;color:#4a5152}
#interior-plan-message{position:absolute;inset:0;display:grid;place-items:center;background:white;padding:30px;text-align:center;font-size:14px}
@media(max-width:900px){body[data-mode="select"] .sidebar.has-interior-plan{top:auto;max-height:calc(100dvh - 250px);padding:18px}.interior-plan-preview img{height:min(27dvh,240px)}.interior-plan-canvas img{height:min(62dvh,88vw)}.interior-plan-dialog .dialog-bar{padding:14px 18px}#interior-plan-disclaimer{padding:12px 18px 16px}}
@media(max-height:520px) and (max-width:900px){body[data-mode="select"] .sidebar.has-interior-plan{max-height:calc(100dvh - 169px)}.interior-plan-canvas img{height:48dvh}.interior-plan-dialog .dialog-bar h2{font-size:18px}.interior-plan-dialog .dialog-bar{padding:8px 16px}#interior-plan-disclaimer{padding:8px 16px;font-size:12px}}

/* Keep scene controls below the header after removing the section switch. */
@media(min-width:901px) and (max-width:1100px){.overview-back{top:110px}.select-facade{top:164px}.availability-legend{top:223px}}
@media(max-width:900px){.overview-back,.select-facade{top:92px}.availability-legend{top:145px}}
@media(max-height:520px) and (max-width:900px){.overview-back,.select-facade{top:70px}.availability-legend{top:122px}}
