/* V8: one visual language for exploration, filtering and comparison. */
:root{--ui-ink:#17392d;--ui-muted:#526960;--ui-line:#d5dfda;--ui-green:#28523e;--ui-bg:#f4f6f4;scroll-behavior:smooth;scroll-padding-top:145px}body{background:var(--ui-bg);color:var(--ui-ink)}header{height:88px;padding:8px 28px;background:#183b2e;gap:24px}.brand-logo img{width:68px;height:68px}.brand-logo small{font-size:12px}.badge{font-size:12px}.section-nav{display:flex;gap:6px;align-items:center;padding:8px 26px;background:#fff;border-bottom:1px solid var(--ui-line);overflow-x:auto}.section-nav a{color:var(--ui-ink);text-decoration:none;padding:9px 12px;white-space:nowrap;border-radius:7px;font-size:14px;font-weight:600}.section-nav a:hover{background:#eaf1eb}.section-nav span{padding:2px 6px;background:#e7efe9;border-radius:10px}.skip-link{position:fixed;top:-100px;left:16px;z-index:100;background:white;padding:12px}.skip-link:focus{top:8px}main{grid-template-columns:minmax(0,1fr) 340px;min-height:0;max-width:1900px;margin:auto}.workspace{padding:20px 24px;gap:0}.maphead{flex-direction:row;align-items:center}.maphead h1{font-size:25px;font-weight:700;letter-spacing:-.6px}.maphead p{font-size:14px;color:var(--ui-muted);max-width:480px}.model-help{margin:8px 0 0;padding:0;border:0}.model-help summary{font-size:14px;width:fit-content}.model-help p{font-size:14px;margin:8px 0;max-width:700px}.views button{min-height:42px;font-size:14px}.stage{height:clamp(440px,65vh,720px)!important;min-height:0;border-radius:14px;box-shadow:0 5px 22px #14362612}.mapnote{max-width:calc(100% - 130px);font-size:13px}.mapnote span{display:none}.legend{font-size:13px;bottom:68px;left:12px;max-width:calc(100% - 24px);background:#fffffff0}.tools{bottom:14px;right:12px;left:12px;justify-content:flex-end;box-shadow:none}.tools button{min-height:42px}.nav-compass strong{font-size:12px}.model-expanded{position:fixed!important;inset:12px!important;width:auto!important;height:calc(100dvh - 24px)!important;z-index:90!important;margin:0!important}.model-is-expanded{overflow:hidden}.context-tools{padding:12px 0 0}.context-tools button,.context-tools select{min-height:42px;font-size:14px}.context-tools button{background:#fff;color:var(--ui-ink);border-color:var(--ui-line)}.context-tools button:hover{background:#e8f0e9}.context-label{font-size:12px}.tools-panel{margin:12px 0 0;padding:12px 14px;border:1px solid var(--ui-line);border-radius:10px;background:#fff}.tools-panel>summary{font-weight:700;color:var(--ui-ink);font-size:15px}.tools-panel>summary>span{font-weight:400;font-size:13px;margin-left:12px;color:var(--ui-muted)}.explorer-tools{padding:12px 0 0}.explorer-tools>span{display:none}.explorer-tools button,.explorer-tools .explore-toggle{min-height:44px;border-radius:8px;font-size:14px}.sunbar{margin-top:16px;padding:16px;background:#fff;border:1px solid var(--ui-line);border-radius:12px;gap:18px}.sunbar label,.solar,.ticks{font-size:14px}.eyebrow{font-size:12px;letter-spacing:1px}.sunbar input[type=date]{width:150px}.sunbar .time{min-width:150px}#playSun{font-size:14px;min-height:40px}
.budget-finder.compact-finder{position:sticky;top:0;z-index:15;display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0;padding:10px 26px;background:#fffffff5;border:0;border-bottom:1px solid var(--ui-line);border-radius:0;box-shadow:0 4px 12px #20382a0c}.compact-finder>.eyebrow,.compact-finder>.muted{display:none}.compact-finder>label{width:180px;font-size:14px;flex:none}.compact-finder input#budget{font-size:16px;padding:9px;margin-top:3px}.compact-finder .filter-reset{width:auto;margin:0;min-height:42px;font-size:14px}.compact-finder .budget-summary{margin:0;padding:0;background:transparent;flex:1;min-width:170px;font-size:14px}.compact-finder .budget-summary span{font-size:13px}.room-menu{border:0;padding:0;margin:0;position:relative;align-self:stretch;display:flex;align-items:center}.room-menu>summary{padding:12px;border:1px solid var(--ui-line);border-radius:8px;background:#f7faf7;font-size:14px;list-style:none}.room-menu>summary:after{content:' ▾';margin-left:8px}.room-menu>summary strong{margin-left:8px}.room-menu .room-filters{position:absolute;top:calc(100% + 8px);left:0;width:360px;max-height:65vh;overflow:auto;display:flex;flex-direction:column;gap:5px;background:white;border:1px solid var(--ui-line);border-radius:12px;padding:15px;box-shadow:0 12px 35px #17392d25;margin:0}.room-menu:not([open]) .room-filters{display:none}.room-filters legend{display:none}.room-menu .check{font-size:14px;white-space:normal;padding:7px 0;gap:10px;line-height:1.4}.room-menu .check input{width:18px;height:18px}.room-done{background:var(--ui-green);color:white;min-height:42px;position:sticky;bottom:0}
aside#unitDetails{background:#fff;overflow:visible;border-color:var(--ui-line);padding:22px}.unitType{font-size:17px!important;color:var(--ui-ink)}aside>.detail{border-color:var(--ui-line);box-shadow:none}aside>.detail .muted{font-size:14px}aside>.open-unit{background:var(--ui-green);min-height:44px}aside>.view-unit-button{min-height:44px}aside>details{font-size:14px}aside summary{font-size:14px}aside .price{font-size:22px;font-weight:700;line-height:1.45}aside label{font-size:14px}.pricing-breakdown div{display:block}.pricing-breakdown b{text-align:left;display:block}.stats small{font-size:12px}.chart-title{padding:18px;align-items:flex-start}.chart-title h3{font-size:18px}.chart-title p{font-size:14px}.block-tabs{gap:7px}.block-tabs button{min-height:46px;font-size:14px;padding:7px 12px}.block-tabs button small{font-size:12px}.quick-unit{display:flex;align-items:end;gap:10px;padding:0 18px 16px;flex-wrap:wrap}.quick-unit>div{flex:1;min-width:155px;align-self:center}.quick-unit strong,.quick-unit span{display:block}.quick-unit span{font-size:13px;color:var(--ui-muted)}.quick-unit label{font-size:14px;min-width:85px}.quick-unit button{min-height:43px;background:var(--ui-green);color:white}.unit-grid{max-height:480px}.unit-grid thead th{z-index:3}.unit-grid tbody th{position:sticky;left:0;z-index:2;background:#f1f5f2;font-size:14px}.unit-cell{min-width:130px;min-height:60px}.unit-cell b{font-size:15px}.unit-cell span{font-size:13px!important;white-space:nowrap}.comparable-table th,.comparable-table td{font-size:14px}.comparable-table button{min-height:40px}.comparable-controls label{font-size:14px}.comparable-controls select{min-height:42px}.dialog-head{position:sticky;top:0;z-index:5;background:white;padding:16px 22px}.dialog-head h2{font-size:23px}.dialog-head>button{min-width:44px;min-height:44px}.plan-toolbar{flex-wrap:wrap;gap:8px}.plan-toolbar button{min-height:42px}.dialog-body .muted{font-size:14px}.action-feedback{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:110;background:#173e2e;color:white;border-radius:12px;padding:13px 20px;box-shadow:0 5px 20px #0003;max-width:90vw;font-size:15px}.action-feedback[hidden]{display:none}button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #bc7d22;outline-offset:3px}#threeUnitTable td,#threeUnitTable th{font-size:14px}.compare-scroll{scrollbar-gutter:stable}.unit-chart{scroll-margin-top:130px}
@media(max-width:1100px){main{grid-template-columns:minmax(0,1fr) 300px}.workspace{padding:16px}.compact-finder .budget-summary{font-size:13px}.sunbar{flex-wrap:wrap}.maphead{flex-wrap:wrap}.tools-panel>summary>span{display:block;margin:4px 0 0}.quick-unit>div{flex-basis:100%}}
@media(max-width:800px){header{height:80px;padding:8px 14px;gap:14px}.brand-logo img{width:60px;height:60px}.brand-logo small{display:none}.project{font-size:17px}.badge{display:block;font-size:11px;padding:5px 8px}.section-nav{padding:5px 8px}.section-nav a{font-size:13px;min-height:42px}main{display:block}.workspace{padding:14px 12px}.budget-finder.compact-finder{padding:8px 12px;gap:8px}.compact-finder>label{width:145px;font-size:13px}.compact-finder input#budget{padding:7px}.room-menu>summary{padding:10px;font-size:13px}.compact-finder .budget-summary{flex-basis:calc(100% - 100px);min-width:0}.compact-finder .budget-summary span{display:none}.compact-finder .filter-reset{min-height:36px;font-size:13px}.room-menu .room-filters{position:fixed;top:var(--room-menu-top,190px);left:12px;right:12px;width:auto;max-height:55dvh}.maphead h1{font-size:23px}.maphead p{font-size:14px}.stage{height:460px!important}.model-expanded{height:calc(100dvh - 24px)!important}.mapnote{font-size:12px;left:10px;top:10px}.legend{font-size:12px}.tools{justify-content:space-between;gap:4px}.tools button{padding:8px;font-size:13px}.sunbar .time{flex-basis:100%;order:4}.quick-unit{gap:8px}.quick-unit label{flex:1;min-width:65px}.quick-unit button{flex-basis:100%}.unit-grid{max-height:410px}.chart-title{padding:14px}.block-tabs button{padding:7px 10px}.unit-cell{min-width:126px}aside#unitDetails{padding:20px 16px;border-top:1px solid var(--ui-line)}.dialog-head{padding:12px 14px}.dialog-head h2{font-size:20px}.unit-chart{scroll-margin-top:130px}.facility-gallery{gap:12px}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}

/* V8.2 — glass balcony controls, calm map buttons, simpler sun study. */
.unit-view-controls{background:linear-gradient(120deg,#ffffffad,#eff7f575);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border:1px solid #ffffffe0;border-radius:22px;box-shadow:inset 0 1px 1px #fff,0 10px 30px #17392d25;color:#15382d;padding:15px 18px;gap:6px}.unit-view-controls strong{text-shadow:0 1px 1px #ffffffb0}.unit-view-controls small{font-size:12px;color:#294d3f}.unit-view-controls>span{font-size:13px}.unit-view-controls button{background:#ffffff85;border:1px solid #ffffffd9;border-radius:12px;min-height:40px;box-shadow:inset 0 1px 0 #fff;color:#163a2e}.unit-view-controls button:hover{background:#ffffffcf}.context-tools button,.context-tools button[aria-pressed="true"],.context-tools button[aria-pressed="false"]{background:#fff;color:#244837;border:1px solid #b7c9bd;box-shadow:none}.context-tools button[aria-pressed="true"]{border-color:#315b46;box-shadow:inset 0 -2px 0 #315b46}.context-tools button[aria-pressed="true"]:after{content:' ✓';font-weight:700}.context-tools button:hover{background:#f1f6f2}
.sunbar.simplified-sun{display:grid;grid-template-columns:auto minmax(160px,1fr);gap:12px 24px;align-items:center;padding:16px 18px}.sun-main{display:flex;align-items:center;gap:16px}.sun-main h2{font-size:23px;font-weight:650;margin:2px 0}.sun-main #playSun{margin:0;min-width:70px}.simplified-sun>.time{min-width:0;font-size:14px}.simplified-sun input[type=range]{height:30px}.sun-presets{display:flex;gap:8px;grid-column:2}.sun-presets button{border:1px solid #cbd9cf;min-height:38px;flex:1}.sun-settings{grid-column:1/-1;margin:0;padding:9px 0 0;border-top:1px solid #e0e8e2}.sun-settings summary{font-size:14px}.sun-setting-fields{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-top:10px}.sun-setting-fields label{font-size:14px}.sun-setting-fields .solar{margin:0}.sun-setting-fields .shadow-toggle{margin:0}.pricing-breakdown b>small{display:block;margin-top:6px;font-weight:400;font-size:13px;color:#526960;line-height:1.5}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.unit-view-controls{background:#f2f7f2f5}}
@media(prefers-reduced-transparency:reduce){.unit-view-controls{background:#f2f7f2;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(max-width:600px){.sunbar.simplified-sun{grid-template-columns:1fr;gap:12px}.sun-main{justify-content:space-between}.simplified-sun>.time{order:initial}.sun-presets{grid-column:1}.unit-view-controls{left:8px;right:8px;bottom:8px;padding:12px;border-radius:17px}.unit-view-controls strong{font-size:14px}.unit-view-controls button{padding:8px 11px}}

/* V8.9: compact balcony controls; clear sightline through the model. */
.unit-view-controls{left:10px;right:10px;bottom:10px;padding:8px 10px;gap:6px;background:rgba(245,250,248,.28);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border-radius:14px;box-shadow:0 2px 12px #0001}
.unit-view-controls .view-heading{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.unit-view-controls strong{flex:1;font-size:14px;line-height:1.4;text-shadow:0 1px 2px white,0 0 5px white}.unit-view-controls button{padding:5px 9px;min-height:36px;font-size:13px;background:#ffffffe0}.unit-view-controls .balcony-controls{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.unit-view-controls .balcony-controls[hidden]{display:none}.balcony-controls span,.balcony-controls label,.balcony-controls small{font-size:12px;background:#ffffffe0;padding:3px 5px;border-radius:5px}.balcony-controls label{display:flex;align-items:center;gap:4px}.balcony-controls input{width:auto;margin:0}.balcony-controls small{flex-basis:100%}.balcony-mode>.legend,.balcony-mode>.mapnote{display:none}
@media(max-width:600px){.unit-view-controls .view-heading strong{flex-basis:100%}.unit-view-controls{padding:6px}.balcony-controls>span{display:none}}

/* V8.11 filter alignment and map actions */
.budget-finder.compact-finder{align-items:flex-start}.compact-finder>label{display:flex;flex-direction:column;gap:6px;font-size:14px}.compact-finder input#budget{height:44px;margin:0;box-sizing:border-box;font-size:16px}.compact-finder #budgetHint{font-size:12px;font-weight:400;color:#526960;line-height:1.3}.room-menu>summary{display:flex;flex-direction:column;align-items:stretch;gap:6px;background:none;border:0;padding:0;font-size:14px;min-width:175px;list-style:none}.room-menu>summary::-webkit-details-marker{display:none}.room-menu>summary strong{height:44px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border:1px solid #bacbc1;border-radius:8px;background:white;font-size:15px}.room-menu>summary strong:after{content:'▾';margin-left:12px}.compact-finder .budget-summary,.compact-finder .filter-reset{margin-top:24px}
.map-options{display:flex;gap:10px;flex-wrap:wrap;padding:12px 0}.map-options .explore-toggle{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border:1px solid #c6d5cc;border-radius:9px;min-height:44px;font-size:14px;box-sizing:border-box;cursor:pointer}.map-options input{width:auto;margin:0;accent-color:#28523e}#threeUnitTable .clear-compare{background:#fff0ee;color:#a42520;border:1px solid #d57169;font-weight:700;min-height:40px;border-radius:8px;padding:8px 12px}#threeUnitTable .clear-compare:hover{background:#ffe0dc}.compare-balcony{background:#28523e;color:#fff;border:1px solid #28523e;border-radius:8px;padding:10px 12px;min-height:44px;font-weight:600}
@media(max-width:600px){.room-menu>summary{min-width:145px}.compact-finder .budget-summary,.compact-finder .filter-reset{margin-top:0}.map-options .explore-toggle{flex:1 1 240px}}

/* V9: keep balcony controls outside the view, with one clear in-view exit. */
.unit-view-controls{position:relative;inset:auto;z-index:1;display:grid;margin:8px 0 0;padding:10px 12px;background:#fff;border:1px solid #d5dfda;border-radius:10px;backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;color:#17392d}.unit-view-controls[hidden]{display:none}.unit-view-controls .view-heading{flex-wrap:nowrap}.unit-view-controls strong{min-width:0;font-size:14px;text-shadow:none}.unit-view-controls button{min-height:44px;white-space:nowrap}.unit-view-controls [data-look=exit],.balcony-exit{background:#a82b22;color:white;border:1px solid #89231b;font-weight:700;box-shadow:0 2px 8px #0002}.unit-view-controls [data-look=exit]:hover,.balcony-exit:hover{background:#862019;color:#fff}.balcony-exit{position:absolute;left:12px;top:12px;z-index:35;border-radius:10px;padding:10px 16px;min-height:44px;font-size:14px;cursor:pointer}.balcony-exit[hidden]{display:none}.unit-view-controls .balcony-controls{padding-top:8px;border-top:1px solid #e5ece7}.unit-view-controls .balcony-controls small{background:none;padding:4px 0;color:#526960}.balcony-mode>.tools{display:none}
@media(max-width:600px){.unit-view-controls .view-heading{flex-wrap:wrap}.unit-view-controls .view-heading strong{flex-basis:100%}.balcony-exit{left:8px;top:8px}.unit-view-controls{padding:8px 10px}}
