*{box-sizing:border-box}body{margin:0;background:#f3f6f9;color:#182b3c;font:16px/1.5 Arial,sans-serif}header{height:92px;background:#102b3b;color:white;display:flex;align-items:center;padding:0 32px;gap:46px}.brand{font-weight:800;letter-spacing:1.5px;font-size:19px}.brand>span{font-weight:400}.brand small{display:block;font-size:10px;letter-spacing:3.7px;color:#acbfcb}.project{font-size:20px}.project>span{display:block;font-size:13px;color:#adc0ca}.badge{margin-left:auto;border:1px solid #527080;border-radius:30px;padding:7px 12px;color:#d3e0e6;font-size:11px;letter-spacing:1px}main{display:grid;grid-template-columns:minmax(0,1fr) 345px;min-height:calc(100vh - 92px)}.workspace{padding:24px 26px 18px;display:flex;flex-direction:column;min-width:0}.maphead{display:flex;align-items:center;justify-content:space-between;gap:15px}h1{font-size:27px;font-weight:500;letter-spacing:-1px;margin:0}.maphead p{color:#637584;font-size:14px;margin:5px 0 0}.views{display:flex;background:#e1e7ec;padding:4px;border-radius:8px}button{font:inherit;font-size:14px;border:0;background:white;color:#223e50;padding:9px 13px;border-radius:5px;cursor:pointer}button:hover{background:#dbe7ef}button.active{background:#173e54;color:white}.views button{background:transparent;white-space:nowrap}.views button.active{background:#173e54}.stage{position:relative;min-height:450px;flex:1;margin-top:16px;background:#fff;border:1px solid #dce5e9;border-radius:12px;overflow:hidden}canvas{width:100%;height:100%;position:absolute;touch-action:none;cursor:grab}.mapnote{position:absolute;top:16px;left:18px;font-size:13px;pointer-events:none;background:#ffffffdd;padding:7px;border-radius:5px}.mapnote span{color:#617584;font-size:12px}.tools{position:absolute;right:15px;bottom:16px;display:flex;gap:5px;box-shadow:0 2px 14px #22334413}.tools button{border:1px solid #dee5e9}.legend{position:absolute;bottom:22px;left:20px;font-size:12px;background:#fff9}.legend i{display:inline-block;background:#ef7959;width:8px;height:8px;border-radius:50%;margin-right:7px}.legend .sun{margin-left:15px;background:#e9ad2d}.sunbar{display:flex;gap:24px;align-items:center;padding:22px 5px 0}.eyebrow{font-size:11px;font-weight:bold;letter-spacing:1.7px;color:#6a808e}.sunbar h2{font-size:21px;margin:3px 0;font-weight:500;white-space:nowrap}.sunbar label{font-size:12px;color:#617582}.time{flex:1}.ticks{display:flex;justify-content:space-between;font-size:11px}.solar{font-size:13px;min-width:90px}.solar span{display:block;color:#617582}input,select{width:100%;font:inherit;font-size:14px;border:1px solid #ccd9e0;background:white;color:#243f50;border-radius:5px;padding:10px;margin-top:5px}input[type=range]{accent-color:#be7824;border:0;padding:0;display:block;height:25px}aside{background:white;border-left:1px solid #dce5e9;padding:25px 23px;overflow:auto}label{display:block;font-size:13px;color:#4d6473}.pickers{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:15px}aside h2{font-size:32px;letter-spacing:-.8px;font-weight:500;margin:24px 0 0}.unitType{font-size:14px;color:#5d7280;margin:0 0 22px}.stats{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #e3e9ed;border-bottom:1px solid #e3e9ed;padding:16px 0}.stats small{display:block;font-size:10px;letter-spacing:1px;color:#718390}.stats strong{font-size:18px;font-weight:500}.detail{padding-top:18px}h3{font-size:16px;margin:0 0 12px}.bearing{display:flex;align-items:center;gap:15px;margin-bottom:16px}.bearing>span{display:flex;align-items:center;justify-content:center;width:45px;height:45px;font-size:29px;color:#c55f40;border:1px solid #e6ebed;border-radius:50%}.bearing strong{font-size:20px;font-weight:500}.bearing small{display:block;font-size:12px;color:#7b8d97}.callout{background:#fff4db;padding:10px 12px;font-size:14px;border-radius:5px}.muted{font-size:12px;line-height:1.55;color:#71818b}.price{font-size:23px;color:#214e63;margin-top:15px}details{font-size:12px;margin-top:22px;border-top:1px solid #e3e9ed;padding-top:15px;color:#657b89}summary{font-size:13px;cursor:pointer}a{color:#276783}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #d69134;outline-offset:3px}@media(min-width:1300px){.stage{min-height:570px}}@media(max-width:1000px){main{grid-template-columns:minmax(0,1fr) 305px}.workspace{padding:18px 14px}.sunbar{flex-wrap:wrap;gap:10px 20px}.time{min-width:200px}.maphead{align-items:start;flex-direction:column}header{gap:25px;padding:0 20px}}@media(max-width:740px){header{height:100px;gap:18px;padding:15px}.brand{font-size:15px}.brand small{font-size:8px;letter-spacing:2px}.project{font-size:16px}.badge{display:none}main{display:block}.stage{height:460px;min-height:0}.maphead{flex-direction:row;align-items:center}h1{font-size:21px}.maphead p{font-size:12px}.views button{padding:8px;font-size:12px}aside{border-top:1px solid #dce5e9;border-left:0}.sunbar{padding:15px 4px}.sunbar .time{order:4;flex-basis:100%}.mapnote{font-size:12px}.legend{bottom:63px}.solar{margin-left:auto}}

.stage{flex:none;height:570px}.unit-chart{margin-top:24px;background:white;border:1px solid #dce5e9;border-radius:10px;overflow:hidden}.chart-title{padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px}.chart-title h3{margin:0}.chart-title p{font-size:13px;color:#657b89;margin:4px 0 0}.unit-grid{max-height:390px;overflow:auto}.unit-grid table{width:100%;border-collapse:separate;border-spacing:4px;font-size:12px}.unit-grid th{background:#f1f5f8;padding:7px;position:sticky;top:0;z-index:1;font-weight:500}.unit-grid tbody th{left:0;z-index:0}.unit-grid td{text-align:center}.unit-cell{padding:8px 5px;background:#edf3f6;display:block;width:100%;min-width:58px;border:1px solid #dce5eb}.unit-cell b{display:block;font-size:12px;font-weight:500}.unit-cell span{font-size:10px;color:#647a87}.unit-cell.selected{background:#163e55;color:white;border-color:#163e55}.unit-cell.selected span{color:#d4e1e8}.no-unit{color:#a0afb7}.open-unit{width:100%;background:#173e54;color:white;margin-bottom:20px;padding:13px}dialog{width:min(1280px,96vw);max-height:94dvh;border:0;padding:0;border-radius:12px;color:#1b3648;box-shadow:0 20px 100px #0005}dialog::backdrop{background:#0c213ad1;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 26px;border-bottom:1px solid #dee7ed}.dialog-head h2{margin:4px 0;font-size:27px;font-weight:500}.dialog-head p{font-size:14px;color:#667d8b;margin:0}.dialog-head>button{font-size:22px;background:#edf2f6}.dialog-body{display:grid;grid-template-columns:minmax(0,1fr) 300px}.plan-panel{padding:20px 24px;background:#f4f7f9;min-width:0}.plan-toolbar{display:flex;align-items:center;justify-content:space-between}.plan-toolbar button{border:1px solid #d5e1e8}.plan-note{font-size:13px;line-height:1.6;background:#fff6e3;border-left:3px solid #ce9848;padding:10px 12px}.plan-scroll{overflow:auto;max-height:60dvh;background:white;border:1px solid #e0e7eb;min-height:220px}.plan-scroll img{display:block;width:100%;max-width:none;height:auto}.unit-pricing{padding:24px}.unit-pricing h3{margin-top:14px}.unit-pricing label{margin-top:15px}.price-status{font-size:13px;color:#7d6751;background:#faf2e7;padding:9px}.unit-pricing .price{font-size:26px}.unit-pricing #dialogPsfResult{font-size:14px;margin-top:4px;color:#5c7584}.unit-pricing #clearPrice{border:1px solid #d5e1e8;width:100%;margin:10px 0}.dialog-facing{border-top:1px solid #e1e7ec;margin-top:16px;padding-top:5px}.open-unit:hover{background:#2d5e77}@media(max-width:900px){.dialog-body{grid-template-columns:1fr}.unit-pricing{display:block}.plan-scroll{max-height:55dvh}.chart-title .eyebrow{display:none}.stage{height:460px}}@media(max-width:740px){dialog{width:96vw;max-height:94dvh}.dialog-head{padding:16px}.dialog-head h2{font-size:22px}.plan-panel{padding:14px}.unit-grid{max-height:325px}}

.shadow-toggle{display:flex;align-items:center;gap:6px;margin-top:6px}.shadow-toggle input{width:16px;height:16px;margin:0;accent-color:#234d64}#playSun{background:#193e54;color:white;padding:7px 12px;font-size:13px;margin-top:5px}.legend{padding:6px 8px;border-radius:4px}.legend span{margin-left:8px}.stage{height:640px}@media(max-width:740px){.stage{height:480px}.legend{max-width:90%;font-size:11px;bottom:65px}}
.budget-finder{margin:20px 0 5px;padding:15px;background:#eef5f7;border:1px solid #d7e5ea;border-radius:8px}.budget-finder .eyebrow{margin-bottom:8px}.room-filters{border:0;padding:0;margin:14px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:3px 9px}.room-filters legend{font-size:12px;font-weight:700;color:#4d6473;padding:0 0 3px}.budget-finder .check{display:flex;align-items:center;gap:7px;margin:3px 0;font-size:12px;line-height:1.25}.budget-finder .check input{width:15px;height:15px;margin:0;accent-color:#173e54;flex:none}.budget-summary{font-size:14px;font-weight:700;color:#173e54;background:#fff;padding:9px 10px;border-radius:5px;margin-top:11px}.filter-reset{width:100%;background:transparent;border:1px solid #cbd9df;margin-top:10px}.filtered-unit{color:#b8c5cb;text-align:center;background:#f6f8f9;border-radius:4px}.unit-cell.budget-match{background:#dff2e4;border-color:#83b992}.unit-cell.budget-match:hover{background:#c8e9d1}.unit-cell.selected{background:#163e55!important;border-color:#163e55!important}@media(max-width:740px){.room-filters{grid-template-columns:1fr}.budget-finder .check{font-size:13px}}
.nav-compass{position:absolute;right:18px;top:16px;width:68px;height:68px;border-radius:50%;background:#fffc;border:1px solid #d5e0e5;display:grid;place-items:center;z-index:2;pointer-events:none;box-shadow:0 3px 12px #2135481c}.nav-compass-needle{font-size:17px;font-weight:800;color:#c65f40;line-height:1;transition:transform .12s linear}.nav-compass strong{position:absolute;bottom:-23px;white-space:nowrap;background:#fffc;border-radius:3px;padding:1px 4px;font-size:11px;color:#264659}.block-tabs{display:flex;gap:5px;flex-wrap:wrap;margin-top:11px}.block-tabs button{font-size:12px;border:1px solid #cfdae1;padding:5px 8px}.block-tabs button.active{background:#173e54;color:#fff;border-color:#173e54}.pricing-breakdown{margin-top:13px;border-top:1px solid #e3e9ed;padding-top:6px}.pricing-breakdown div{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:12px;color:#607583}.pricing-breakdown b{color:#294b5e;text-align:right;font-weight:600}.pricing-breakdown .actual-price{border-top:1px solid #e3e9ed;margin-top:3px;padding-top:8px}.pricing-breakdown .actual-price b{color:#8a672d}@media(max-width:740px){.nav-compass{right:14px;top:14px;width:56px;height:56px}.nav-compass strong{font-size:10px}.block-tabs button{padding:6px 8px}}
.pickers{display:none}.budget-summary strong,.budget-summary span{display:block}.budget-summary span{font-size:12px;font-weight:500;margin-top:3px;color:#557080}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(205px,1fr));gap:9px;padding:12px;max-height:390px;overflow:auto}.match-card{padding:11px;text-align:left;border:1px solid #8fc69d;background:#e4f4e8;display:grid;gap:2px}.match-card:hover{background:#ccebd4}.match-card span,.match-card small{font-size:11px;color:#527065}.match-card b{font-size:13px;font-weight:600}.match-card strong{font-size:16px;color:#173e54}.no-matches{padding:20px;color:#6b7e89}
.room-filters .all-rooms{grid-column:1/-1;border-bottom:1px solid #d4e1e7;padding-bottom:7px;margin-bottom:4px;font-weight:700}
.workspace>.budget-finder{position:sticky;top:0;z-index:5;margin:12px 0 0;display:grid;grid-template-columns:210px 1fr 210px;gap:10px;align-items:end;box-shadow:0 4px 15px #20384a18}.workspace>.budget-finder .room-filters{margin:0}.workspace>.budget-finder .budget-summary{margin:0}.workspace>.budget-finder .filter-reset,.workspace>.budget-finder .muted{display:none}.nav-compass-needle{position:absolute}.nav-compass .cardinal{position:absolute;font-size:11px;font-weight:700;color:#596f7b}.nav-compass .north{top:4px}.nav-compass .east{right:6px}.nav-compass .south{bottom:4px}.nav-compass .west{left:6px}.facility-info{position:absolute;left:18px;bottom:55px;max-width:245px;background:#fffef0;border:1px solid #d8c998;border-radius:6px;padding:9px 11px;z-index:3}.facility-info b,.facility-info span{display:block}.facility-info span{font-size:12px;color:#596f7b}.comparable-section{margin-top:18px}.comparable-table td{padding:8px 7px;border-bottom:1px solid #e3eaed;white-space:nowrap}.comparable-table button{padding:4px 6px;background:#e4f4e8;border:1px solid #8fc69d}.comparable-controls{display:flex;gap:9px;align-items:end}.sort-label{font-size:12px;min-width:130px}.sort-label select{padding:6px;margin-top:2px}@media(max-width:900px){.workspace>.budget-finder{grid-template-columns:1fr}.comparable-controls{width:100%;flex-wrap:wrap}}
.workspace>.budget-finder{grid-template-columns:145px 1fr 190px;padding:8px 12px;gap:9px}.workspace>.budget-finder .eyebrow{display:none}.workspace>.budget-finder label{font-size:11px}.workspace>.budget-finder input{padding:7px;margin-top:2px}.workspace>.budget-finder .room-filters{display:flex;flex-wrap:wrap;gap:3px 9px;align-items:center}.workspace>.budget-finder .room-filters legend{display:none}.workspace>.budget-finder .check{margin:0;font-size:11px;white-space:nowrap}.workspace>.budget-finder .all-rooms{border:0;padding:0;margin:0;font-weight:700}
.nav-compass-needle{font-family:Arial,sans-serif;font-size:30px!important;font-weight:300!important;line-height:.7}.unitType{font-size:17px!important;font-weight:700;color:#23485d}.comparable-section{display:block!important}.comparable-section[hidden]{display:none!important}
