:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#253c34;background:#f7f7f2;font-synthesis:none;--ink:#243e34;--muted:#79837a;--line:#e3e7dc;--forest:#254b3e;--gold:#c2933e;--paper:#fafbf6}*{box-sizing:border-box}body{margin:0;overflow:hidden}button,input,select{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button{border:0}button:disabled{cursor:default;opacity:.4}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #c49749;outline-offset:3px}button{transition:background .15s,color .15s,box-shadow .15s}button:hover:not(:disabled){filter:brightness(.97)}[hidden]{display:none!important}.app-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:20}.brand{text-decoration:none;color:var(--ink);display:flex;align-items:center;gap:13px}.brand-mark{font:22px Georgia,serif;position:relative;width:43px;height:45px;display:grid;place-items:center;border:1px solid #8f9c86;border-radius:23px 23px 5px 5px;letter-spacing:-3px;padding-right:3px}.brand-mark span{position:absolute;bottom:5px;width:22px;border-bottom:1px solid #a4ae96}.brand strong{font-size:15px;letter-spacing:2.1px;font-weight:600}.brand small{display:block;font-size:9px;letter-spacing:2.6px;margin-top:6px;color:#808a7c}.header-location{font-size:10px;letter-spacing:1.8px;color:#7c857b;display:flex;gap:10px;align-items:center}.location-dot{width:5px;height:5px;background:#a7b59a;border-radius:50%}.header-actions{display:flex;align-items:center;gap:23px}.text-button{background:none;color:#6b776b;font-size:12px;padding:12px 0}.text-button span{padding-left:6px}.shortlist-button{border:1px solid #dce2d5;border-radius:7px;background:none;padding:11px 14px;font-size:12px;display:flex;gap:10px;align-items:center}.shortlist-button>span:first-child{font-size:19px}.shortlist-button>span:last-child{background:#e7ece0;border-radius:4px;padding:3px 6px;font-size:10px}.workspace{display:flex;height:calc(100dvh - 82px)}.unit-panel{width:338px;flex:0 0 338px;border-right:1px solid var(--line);background:var(--paper);z-index:12;overflow:auto;scrollbar-width:thin;scrollbar-color:#d2dacb transparent}.panel-content{padding:28px 25px 22px}.eyebrow{font-size:9px;font-weight:600;letter-spacing:1.8px;color:#7c8775;display:block;line-height:1.6}.section-intro h1{font:31px/1.13 Georgia,serif;font-weight:400;letter-spacing:-.8px;margin:12px 0}.section-intro p{font-size:12px;line-height:1.75;color:#7b8276;margin:0 0 24px}.filter-row{margin-bottom:23px}.filter-row>label{display:block;font-size:10px;color:#717d70;margin-bottom:8px}select{width:100%;background:#f5f7f0;border:1px solid #dfe5d8;border-radius:6px;padding:10px;color:#3a4c3e;font-size:12px;min-height:38px}.section-label{font-size:9px;letter-spacing:1.4px;color:#697963;font-weight:600;display:flex;gap:10px;align-items:center;margin-bottom:13px}.section-label>span{font-size:9px;letter-spacing:0;color:#a1aa98}.block-buttons{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:15px}.block-button{border:1px solid #dce3d5;background:none;border-radius:6px;padding:10px 0;color:#697560;font-size:13px}.block-button[aria-pressed=true]{background:var(--forest);border-color:var(--forest);color:white;box-shadow:0 3px 8px #254b3e13}.picker-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.picker-fields label{font-size:10px;color:#7a8574}.picker-fields select{margin-top:7px}.selected-unit{border-top:1px solid var(--line);margin-top:24px;padding-top:23px}.unit-title-line{display:flex;justify-content:space-between;align-items:center}.unit-title-line .eyebrow{font-size:8px;letter-spacing:1.5px}.unit-title-line h2{font:28px Georgia,serif;letter-spacing:-.7px;margin:8px 0 4px}.save-unit{background:#f0f3ea;border:1px solid #e2e8db;border-radius:50%;width:34px;height:34px;font-size:23px;color:#4b6656}.save-unit[aria-pressed=true]{background:#dce7d6;color:#244c3d}.unit-type{font-size:11px;color:#828a7d;margin:6px 0 17px}.unit-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px}.unit-facts span{font-size:9px;color:#89917f;display:block;margin-bottom:6px}.unit-facts strong{font-size:12px;font-weight:500;white-space:nowrap}.floor-stepper{border:1px solid #dfe5d7;display:flex;align-items:center;justify-content:space-between;border-radius:6px;padding:6px;margin:8px 0 12px;background:#f7f9f2}.floor-stepper>button{width:34px;height:34px;background:#e9eee2;border-radius:4px;color:#50614a;font-size:19px}.floor-stepper>div{text-align:center}.tiny-label{display:block;color:#8a927f;font-size:8px;letter-spacing:1.3px;margin-bottom:3px}.floor-stepper strong{font-size:14px;font-weight:500}.primary-button{background:var(--forest);color:white;border-radius:6px;display:flex;justify-content:center;gap:10px;align-items:center;width:100%;padding:13px 9px;font-size:12px}.primary-button>span:last-child{margin-left:auto}.primary-button>span:first-child{font-size:17px;margin-right:auto}.plan-preview{margin-top:13px}.plan-preview>button{border:1px solid #e3e7dd;border-radius:6px;background:#fff;width:100%;display:flex;align-items:center;gap:9px;padding:6px 10px 6px 6px;text-align:left}.plan-preview img{width:64px;height:57px;object-fit:cover;object-position:50% 40%;mix-blend-mode:multiply;border-radius:3px}.plan-preview strong{display:block;font-size:10px;font-weight:500}.plan-preview small{font-size:9px;color:#8e9785;display:block;margin-top:5px}.plan-preview>button>span:last-child{margin-left:auto;color:#7a8a70}.living-details{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}.insight{display:flex;gap:10px;margin:15px 0}.insight-icon{border:1px solid #e3e7db;background:#f0f3ea;border-radius:6px;width:29px;flex:0 0 29px;height:29px;display:grid;place-items:center;font-size:14px;color:#718263}.insight h3{font-size:11px;font-weight:500;margin:0 0 5px;line-height:1.4}.insight p{font-size:10px;color:#8b9281;line-height:1.6;margin:0}.estimate-note{font-size:9px;color:#919a87;line-height:1.7;margin:18px 0 0}.inline-button{font-size:inherit;background:none;color:#5d7556;text-decoration:underline;text-underline-offset:3px;padding:0}.pricing-later{margin-top:24px;padding:15px 0 0;border-top:1px solid var(--line);display:flex;gap:11px;color:#8b9680}.pricing-later>span{font-size:21px}.pricing-later strong{font-size:10px;font-weight:500}.pricing-later p{font-size:10px;line-height:1.65;margin:6px 0}.map-workspace{position:relative;flex:1;overflow:hidden;isolation:isolate;background:#e8eddf}#map{position:absolute;inset:0}.map-toolbar{position:absolute;left:28px;top:24px;display:flex;gap:10px;z-index:3}.map-modes{display:flex;border:1px solid #e2e7dc;border-radius:8px;padding:4px;background:#fffffff2;box-shadow:0 3px 12px #33452c08;margin:0}.map-modes label{position:relative;cursor:pointer;font-size:11px}.map-modes input{appearance:none;position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;border-radius:5px}.map-modes span{padding:10px 16px;display:block;border-radius:5px;color:#7a8672}.map-modes input:checked+span{background:var(--forest);color:white}.map-modes input:focus-visible{outline:3px solid #c2933e;outline-offset:2px}.sun-toggle{background:#fffffff2;border:1px solid #e2e7dc;border-radius:8px;padding:0 15px;color:#6d7b60;font-size:11px;box-shadow:0 3px 12px #33452c08;display:flex;gap:9px;align-items:center}.sun-toggle span{font-size:19px;color:#b08d4b}.sun-toggle[aria-pressed=true]{background:#fbf4df;border-color:#d7bf7c;color:#7f642f}.map-location-card{position:absolute;top:101px;left:30px;pointer-events:none;display:flex;flex-direction:column;gap:8px;color:#3b5142;text-shadow:0 1px 8px #fffffff0}.map-location-card .eyebrow{font-size:8px;letter-spacing:1.5px;color:#6d7d61}.map-location-card strong{font:23px Georgia,serif;font-weight:400;letter-spacing:-.3px}.map-location-card>span:last-child{font-size:10px;color:#6d7d61}.map-tools{position:absolute;top:24px;right:21px;display:flex;flex-direction:column;gap:1px;background:#fffef8ed;box-shadow:0 4px 14px #33452c0d;border-radius:8px;overflow:hidden;border:1px solid #e2e8d9}.map-tools button{width:39px;height:38px;background:none;color:#64765b;font-size:20px}.map-tools button:first-child{height:58px}.map-tools small{display:block;font-size:8px;letter-spacing:1px;margin-top:1px}.map-tools button+button{border-top:1px solid #e9eee1}#compass-arrow{display:block;transform-origin:center;font-size:22px}.map-bottom{position:absolute;bottom:56px;left:25px;right:25px;display:flex;justify-content:space-between;align-items:center;gap:12px;pointer-events:none}.legend{display:flex;gap:13px;align-items:center;background:#fffffff0;border:1px solid #e5e9dd;border-radius:7px;padding:10px 12px;box-shadow:0 2px 10px #33452c05;pointer-events:auto}.legend>span{display:flex;gap:5px;align-items:center;font-size:9px;color:#6e7a65;white-space:nowrap}.legend i{display:block;width:7px;height:7px;background:var(--legend);border-radius:2px}.layer-options{display:flex;gap:14px;align-items:center;background:#fffffff0;border:1px solid #e5e9dd;border-radius:7px;padding:9px 10px;pointer-events:auto}.layer-options label{font-size:9px;color:#6e7a65;display:flex;align-items:center;gap:5px;white-space:nowrap}.layer-options input{accent-color:var(--forest);margin:0;width:12px;height:12px}.assumed-tag{font-size:8px;color:#a0a78e}.model-notice{position:absolute;bottom:15px;left:26px;display:flex;align-items:center;gap:6px;font-size:9px;color:#758168;background:#ffffffe8;padding:7px 10px;border-radius:5px;max-width:calc(100% - 230px)}.model-notice button{font-size:9px;background:none;color:#516c49;text-decoration:underline;padding:0 0 0 3px}.notice-dot{background:#bda66a;width:4px;height:4px;border-radius:50%}.maplibregl-ctrl-attrib{font-size:8px!important;background:#ffffffe0!important;padding:2px 6px!important}.maplibregl-ctrl-bottom-right{bottom:9px!important;right:8px!important}.block-marker{border:1px solid #fbfff5;box-shadow:0 3px 10px #243e341a;border-radius:5px;background:#fafff2e8;color:#405a3f;font-size:10px;font-weight:600;padding:7px 9px;white-space:nowrap}.block-marker.active{background:#244b3e;color:#fff}.poi-marker{font-size:10px;color:#66785c;background:#ffffffe0;border:1px solid #d8e2cf;border-radius:5px;padding:5px 8px;white-space:nowrap;box-shadow:0 1px 5px #304b2e0a}.poi-marker.mrt{background:#81623d;color:#fff}.eye-controls{position:absolute;top:86px;left:25px;right:75px;z-index:5;display:flex;gap:20px;align-items:center;background:#fffffff0;border:1px solid #dfe5d6;border-radius:8px;padding:12px 15px;box-shadow:0 5px 20px #1d30241a}.eye-controls>button{background:#edf2e7;border-radius:5px;font-size:10px;color:#597050;padding:10px}.eye-controls>div:nth-child(2){display:flex;flex-direction:column;gap:4px}.eye-controls small{font-size:7px;letter-spacing:1px;color:#8b967e}.eye-controls strong{font-size:12px;font-weight:500}.eye-direction{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:9px;color:#859177}.eye-direction button{background:#edf2e7;width:28px;height:28px;border-radius:4px;color:#536f48;font-size:18px}.sun-panel{position:absolute;z-index:6;right:76px;top:24px;width:320px;background:#fffff9f5;backdrop-filter:blur(12px);border:1px solid #dedfc9;border-radius:11px;box-shadow:0 12px 32px #3543261c;padding:21px;max-height:calc(100% - 135px);overflow:auto;scrollbar-width:thin}.sun-panel-header{display:flex;justify-content:space-between;align-items:center}.sun-panel .eyebrow{font-size:8px;color:#a08d5e}.sun-panel h2{font:24px Georgia,serif;letter-spacing:-.5px;font-weight:400;margin:5px 0 0}.icon-button{font-size:24px;color:#7d886e;width:32px;height:32px;display:grid;place-items:center;background:#f2f4e9;border-radius:50%;flex:0 0 32px}.sun-inputs{display:flex;align-items:end;gap:14px;margin-top:23px}.sun-inputs>label{font-size:9px;color:#899478;display:flex;flex-direction:column;gap:7px;flex:1}.sun-inputs input{width:134px;min-height:34px;font-size:10px;color:#5c6f4e;border:1px solid #e0e5d4;background:#f8faf1;border-radius:5px;padding:5px}.sun-inputs strong{font-size:17px;white-space:nowrap;font-weight:500}.sun-inputs .tiny-label{font-size:6px;margin-bottom:8px;white-space:nowrap}.play-button{width:31px;height:31px;border-radius:50%;background:#d6b66b;color:#fff;font-size:13px;margin-bottom:2px;flex:0 0 31px}.sun-time-slider{width:100%;margin:21px 0 0;accent-color:#bd943f;height:4px}.time-scale{display:flex;justify-content:space-between;font-size:8px;color:#9aa18a;margin-top:9px}.date-presets{display:flex;gap:7px;margin-top:16px}.date-presets button{background:#f3f4e7;border:1px solid #e5e8d6;padding:7px 10px;border-radius:5px;color:#7c8868;font-size:9px}.sun-summary{margin-top:21px;border-top:1px solid #e6e8d8;padding-top:17px;display:flex;justify-content:space-between;gap:10px}.sun-summary .sun-value{font:29px Georgia,serif;color:#94712f}.sun-summary .sun-value small{font:12px "Segoe UI",sans-serif}.sun-summary .sun-caption{display:block;font-size:8px;color:#929a7c;margin-top:6px;line-height:1.5}.sun-rating{font-size:9px;color:#91773f;padding:6px 9px;border-radius:4px;background:#f7edcd;align-self:start}.sun-timeline{display:flex;height:16px;gap:1px;margin:18px 0 14px;overflow:hidden;border-radius:3px;background:#edf0e2}.sun-timeline i{flex:1;min-width:1px}.sun-panel #year-button{font-size:9px;display:flex;justify-content:space-between;width:100%;text-align:left}.sun-method{font-size:8px;line-height:1.7;color:#9ba18b;margin:16px 0 0}.year-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:7px;margin-top:16px}.year-month{text-align:center;font-size:8px;color:#889376}.year-month i{display:block;height:36px;background:#eaeedc;position:relative;border-radius:3px;overflow:hidden;margin-bottom:4px}.year-month b{display:block;position:absolute;bottom:0;left:0;right:0;background:#d6b669}.year-month small{display:block;font-size:7px;margin-top:3px}.map-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:#edf0e4f5;z-index:10;transition:opacity .3s}.map-loading strong{font:23px Georgia,serif;font-weight:400}.map-loading>span:last-child{font-size:11px;color:#8e987f}.loading-ring{width:33px;height:33px;border:2px solid #dce2ce;border-top-color:#728663;border-radius:50%;animation:spin 1s linear infinite}.map-error{position:absolute;bottom:115px;left:25px;right:25px;font-size:11px;line-height:1.6;background:#fff4dc;border:1px solid #e3cb98;border-radius:6px;color:#8c703f;padding:13px;z-index:10}dialog{border:1px solid #dde3d2;border-radius:13px;box-shadow:0 20px 80px #19332230;color:var(--ink);padding:27px;background:var(--paper);max-height:88dvh;max-width:calc(100vw - 30px);width:640px}dialog::backdrop{background:#102c254a;backdrop-filter:blur(4px)}.dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:22px}.dialog-head h2{font:31px Georgia,serif;font-weight:400;letter-spacing:-.6px;margin:7px 0 0}.dialog-head .eyebrow{font-size:8px}.notes-dialog p,.notes-dialog li{font-size:12px;line-height:1.8;color:#7c8970}.notes-dialog h3{font-size:12px;font-weight:600;margin:20px 0 8px}.notes-dialog dl{display:grid;grid-template-columns:130px 1fr;gap:10px;font-size:11px;line-height:1.7}.notes-dialog dt{font-weight:500}.notes-dialog dd{margin:0;color:#7f8c72}.notes-footer{font-size:10px;color:#89967e;line-height:1.8;border-top:1px solid #e2e7d8;padding-top:17px;margin:20px 0 0}.plan-dialog{width:1050px}.plan-dialog>img{width:100%;height:auto;display:block;border:1px solid #e4e8dc;border-radius:5px}.plan-dialog>p{font-size:10px;color:#8b967d;line-height:1.7}.shortlist-dialog{width:1080px}.shortlist-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}.shortlist-card{border:1px solid #dfe6d4;border-radius:8px;overflow:hidden;background:#fffef9}.shortlist-card>img{width:100%;height:140px;object-fit:contain;background:#faf9f3}.shortlist-card-content{padding:17px}.shortlist-card h3{font:23px Georgia,serif;font-weight:400;margin:4px 0 8px}.shortlist-card p{font-size:10px;line-height:1.65;color:#8c967e}.shortlist-card dl{margin:15px 0;font-size:10px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.shortlist-card dd{margin:0;text-align:right;color:#6e7d61}.shortlist-card dt{color:#929b84}.shortlist-card button{border-radius:5px;padding:9px;font-size:10px;color:white;background:var(--forest)}.shortlist-card button.remove{color:#9e8e79;background:#f3efe4;margin-left:6px}.empty-shortlist{text-align:center;color:#879378;padding:40px 20px}.empty-shortlist>span{font-size:40px;color:#a8b398}.empty-shortlist h3{font:24px Georgia,serif;font-weight:400}.empty-shortlist p{font-size:12px;line-height:1.8}.toast{position:fixed;z-index:100;bottom:30px;left:50%;transform:translateX(-50%);border-radius:7px;padding:12px 18px;background:#243e34;color:white;box-shadow:0 6px 25px #19332225;font-size:12px;max-width:90vw}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sheet-toggle{display:none}#map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;background:#f1f3e9}#map-fallback img{width:100%;max-height:70%;object-fit:contain}#map-fallback p{font-size:12px;line-height:1.8;color:#7f8e70;max-width:400px}.is-eye-view .map-location-card{display:none}.is-eye-view .sun-panel{top:162px}.is-eye-view .map-bottom .legend{display:none}.is-eye-view .map-toolbar{right:auto}.no-webgl .map-toolbar,.no-webgl .map-tools,.no-webgl .map-location-card{display:none}.no-webgl .map-bottom{display:none}@keyframes spin{to{transform:rotate(360deg)}}@media(min-width:1550px){.unit-panel{width:365px;flex-basis:365px}.panel-content{padding:32px 30px}.section-intro h1{font-size:34px}.map-location-card{top:115px}.map-toolbar{top:30px;left:35px}}@media(max-width:1150px){.header-location{display:none}.map-bottom{flex-direction:column;align-items:flex-start;gap:7px}.map-bottom .legend{gap:9px;padding:8px 10px}.sun-panel{right:66px;width:292px;padding:17px}.sun-inputs{gap:9px}.sun-inputs input{width:120px}.sun-inputs strong{font-size:15px}.map-location-card strong{font-size:20px}.eye-direction span{display:none}.eye-controls{gap:10px;right:65px;padding:10px}}@media(max-width:800px){.app-header{height:66px;padding:0 15px}.brand{gap:9px}.brand-mark{width:34px;height:37px;font-size:18px}.brand strong{font-size:11px;letter-spacing:1.5px}.brand small{font-size:7px;letter-spacing:1.7px}.text-button{display:none}.header-actions{gap:0}.shortlist-button{padding:7px 9px;font-size:10px;gap:7px}.workspace{height:calc(100dvh - 66px);display:block}.map-workspace{position:absolute;top:66px;left:0;right:0;height:calc(100dvh - 66px - 248px);min-height:260px}.unit-panel{position:absolute;left:0;right:0;bottom:0;width:auto;height:248px;border-right:0;border-top:1px solid #d8e0ce;border-radius:15px 15px 0 0;box-shadow:0 -5px 25px #1e372e12;z-index:15;flex-basis:auto}.sheet-toggle{display:flex;width:100%;align-items:center;justify-content:center;gap:10px;padding:10px;background:var(--paper);font-size:10px;color:#8c987e;position:sticky;top:0;z-index:2;border-bottom:1px solid #e8ecdf}.sheet-toggle:before{content:'';width:27px;height:3px;border-radius:2px;background:#c5ceba}.sheet-toggle>span{font-size:13px}.panel-content{padding:13px 18px 24px}.section-intro,.filter-row,.unit-picker{display:none}.selected-unit{margin:0;padding:0;border:0}.unit-title-line h2{font-size:24px;margin-top:4px}.unit-title-line .eyebrow{font-size:7px}.unit-type{font-size:10px;margin:4px 0 10px}.unit-facts{margin-bottom:0;gap:20px;width:70%}.unit-facts span{font-size:8px;margin-bottom:3px}.unit-facts strong{font-size:11px}.floor-stepper{position:absolute;right:18px;top:73px;width:100px;border:0;padding:0;margin:0;background:none}.floor-stepper>div{min-width:31px}.floor-stepper .tiny-label{display:none}.floor-stepper strong{font-size:12px}.floor-stepper>button{height:27px;width:27px}.primary-button{margin-top:13px;padding:11px;font-size:11px}.primary-button>span:first-child{font-size:14px}.plan-preview,.living-details,.pricing-later{display:none}.map-toolbar{top:15px;left:14px;gap:7px}.map-modes span{padding:9px 11px;font-size:10px}.sun-toggle{font-size:10px;padding:0 10px;gap:6px}.sun-toggle span{font-size:17px}.map-location-card{left:18px;top:79px;gap:5px}.map-location-card .eyebrow{font-size:7px}.map-location-card strong{font-size:20px}.map-location-card>span:last-child{font-size:8px}.map-tools{top:15px;right:12px}.map-tools button{width:32px;height:31px;font-size:17px}.map-tools button:first-child{height:47px}.map-tools small{font-size:7px}.map-bottom{bottom:38px;left:14px;right:14px;flex-direction:row;align-items:center;gap:6px}.map-bottom .legend{gap:7px;padding:7px 8px}.legend>span{font-size:7px;gap:4px}.legend i{width:6px;height:6px}.legend>span:last-child{display:none}.layer-options{padding:6px 7px;gap:7px}.layer-options label{font-size:7px}.layer-options input{height:10px;width:10px}.layer-options .assumed-tag{display:none}.model-notice{bottom:9px;left:14px;font-size:7px;max-width:calc(100% - 20px);gap:4px;padding:5px 6px}.model-notice button{font-size:7px}.maplibregl-ctrl-attrib{font-size:6px!important}.maplibregl-ctrl-bottom-right{bottom:0!important;right:6px!important}.sun-panel{width:calc(100% - 72px);max-width:320px;top:66px;right:58px;max-height:calc(100% - 103px);padding:16px}.sun-panel h2{font-size:22px}.sun-inputs{margin-top:16px}.sun-summary{margin-top:16px;padding-top:13px}.sun-summary .sun-value{font-size:25px}.sun-method{font-size:7px}.eye-controls{left:14px;right:55px;top:68px;gap:10px;flex-wrap:wrap;padding:9px}.eye-controls>button{font-size:8px;padding:8px}.eye-controls strong{font-size:10px}.eye-direction{gap:5px}.eye-direction button{width:25px;height:25px}.eye-controls small{font-size:6px}.is-eye-view .sun-panel{top:140px;max-height:calc(100% - 170px)}.sheet-expanded .unit-panel{height:62dvh}.sheet-expanded .map-workspace{height:calc(38dvh - 66px);min-height:150px}.sheet-expanded .panel-content{padding:17px 20px 30px}.sheet-expanded .filter-row,.sheet-expanded .unit-picker,.sheet-expanded .plan-preview,.sheet-expanded .living-details,.sheet-expanded .pricing-later{display:block}.sheet-expanded .section-intro{display:none}.sheet-expanded .selected-unit{border-top:1px solid var(--line);margin-top:20px;padding-top:20px}.sheet-expanded .floor-stepper{position:static;width:auto;border:1px solid #dfe5d7;padding:6px;margin-top:15px;background:#f7f9f2}.sheet-expanded .floor-stepper .tiny-label{display:block}.sheet-expanded .unit-facts{width:auto}.sheet-expanded .unit-type{margin-bottom:15px}.sheet-expanded .map-location-card{display:none}.sheet-expanded .sheet-toggle>span{transform:rotate(180deg)}dialog{padding:20px}.dialog-head h2{font-size:26px}.shortlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.shortlist-card-content{padding:12px}.shortlist-card h3{font-size:20px}.shortlist-card dl{font-size:9px;gap:8px}.shortlist-card button{font-size:9px;padding:8px}.shortlist-card button.remove{margin:6px 0 0}.notes-dialog dl{grid-template-columns:1fr;gap:5px}.notes-dialog dd{margin-bottom:10px}.map-error{bottom:78px;left:15px;right:15px;font-size:10px}.block-marker{font-size:8px;padding:5px 6px}.poi-marker{font-size:8px;padding:4px 5px}.toast{bottom:260px;font-size:10px}.plan-dialog{padding:15px}}@media(prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}.loading-ring{animation:none}} 

.model-preset{pointer-events:auto;align-self:flex-start;background:#fffffff0;border:1px solid #dbe2d4;border-radius:5px;padding:8px 10px;color:#3e5949;font-size:10px;margin-top:3px}.map-location-card #map-subheading{font-size:10px;color:#6d7d61}@media(max-width:800px){.model-preset{font-size:8px;padding:6px 8px}.map-location-card #map-subheading{font-size:8px}}

.model-presets{display:flex;gap:6px;pointer-events:auto}.map-location-card #map-subheading{font-size:10px;color:#6d7d61}@media(max-width:800px){.map-location-card #map-subheading{font-size:8px}}

.map-location-card{background:#fafbf6ed;border:1px solid #e3e7dc;border-radius:8px;padding:13px 15px;text-shadow:none;box-shadow:0 4px 16px #243e3410;max-width:calc(100% - 110px)}@media(max-width:800px){.map-location-card{padding:9px 11px;max-width:calc(100% - 84px)}}

.bedroom-colours{pointer-events:auto;align-self:flex-start;margin-top:5px;padding:8px 11px;border:1px solid #c6d1c1;border-radius:5px;background:white;color:#415649;font-size:11px}.bedroom-colours[aria-pressed="true"]{background:#254b3e;color:white;border-color:#254b3e}.bedroom-colours[aria-pressed="true"]:before{content:"✓ ";font-weight:bold}#bedroom-legend i{width:12px;height:12px}#bedroom-legend>span{font-size:11px}#bedroom-legend{flex-wrap:wrap;gap:12px}.model-presets{flex-wrap:wrap}.map-bottom{flex-wrap:wrap}@media(max-width:800px){.bedroom-colours{padding:6px 8px;font-size:9px}#bedroom-legend>span{font-size:9px}#bedroom-legend>span:last-child{display:flex}#bedroom-legend i{width:9px;height:9px}#bedroom-legend{gap:9px;padding:8px 9px}.map-bottom{align-items:flex-start;justify-content:space-between;gap:5px}}

#architecture-legend{flex-wrap:wrap;gap:12px}#architecture-legend>span{font-size:10px}#architecture-legend>span:last-child{display:flex}#architecture-legend i{width:11px;height:11px}@media(max-width:800px){#architecture-legend>span{font-size:8px}#architecture-legend{gap:8px;max-width:100%;padding:8px}}

.bedroom-filter{border:0;padding:0;min-width:0}.bedroom-filter legend{padding:0;font-size:11px;margin-bottom:9px;color:#52644e}.bedroom-filter legend span{color:#7a8474;font-weight:400}.bedroom-options{display:grid;grid-template-columns:repeat(4,1fr);gap:7px}.bedroom-options button{border:1px solid #dbe3d4;background:#f4f6ef;color:#52644b;border-radius:6px;min-height:40px;font-size:12px}.bedroom-options button[aria-pressed=true]{background:#fff0b3;border-color:#c4a448;color:#574b28;box-shadow:inset 0 0 0 1px #c4a448}.bedroom-filter p{font-size:10px;line-height:1.5;color:#7a8373;margin:8px 0 0}
.sun-panel{width:350px}.sun-halves{display:grid;grid-template-columns:1fr 1fr;border:0;margin:18px 0 10px;padding:0;gap:6px;min-width:0}.sun-halves legend{font-size:10px;color:#657755;margin-bottom:8px}.sun-halves label,.sun-months label{position:relative;cursor:pointer}.sun-halves input,.sun-months input{position:absolute;width:1px;height:1px;opacity:0}.sun-halves span{display:block;text-align:center;border:1px solid #e0e4d2;border-radius:6px;background:#f3f5e9;padding:9px 4px;font-size:12px;color:#677855}.sun-halves small{display:block;font-size:9px;margin-top:3px;font-weight:400}.sun-halves input:checked+span{background:#254b3e;color:white;border-color:#254b3e}.sun-halves input:focus-visible+span,.sun-months input:focus-visible+span{outline:3px solid #c49749;outline-offset:2px}.sun-months{border:0;padding:0;margin:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px;min-width:0}.sun-months span{display:block;text-align:center;border:1px solid #e0e4d2;background:white;color:#677855;border-radius:5px;padding:9px 0;font-size:10px}.sun-months input:checked+span{background:#fbefc8;border-color:#bd994c;color:#755c25;font-weight:600}.sun-season-note{font-size:10px;line-height:1.6;color:#718060;margin:11px 0}.sun-inputs{margin-top:16px;gap:12px;align-items:center}.sun-date-caption{flex:1}.sun-inputs .sun-date-caption strong{font-size:14px}.sun-preview-note{font-size:9px;line-height:1.6;color:#7b886d;margin:12px 0}.sun-exact{border-top:1px solid #e2e6d7;padding-top:10px;font-size:10px;color:#657755}.sun-exact summary{cursor:pointer;padding:3px 0}.sun-exact label{display:inline-flex;flex-direction:column;gap:5px;margin:10px 5px 0 0}.sun-exact input{border:1px solid #d8e0ce;border-radius:4px;background:white;color:#465e3c;min-height:34px;padding:5px;font:inherit}.sun-exact button{background:#edf1e4;color:#526849;padding:9px;border-radius:4px}.sun-map-caption{position:absolute;z-index:5;left:30px;bottom:91px;max-width:calc(100% - 65px);padding:10px 13px;border:1px solid #dac897;border-radius:6px;background:#fffae8f5;color:#715b2d;box-shadow:0 2px 10px #39462e16;font-size:11px;pointer-events:none}.sun-summary{gap:8px}.sun-rating{max-width:92px;line-height:1.4}.sun-inputs .tiny-label{font-size:7px}
@media(max-width:1150px){.sun-panel{width:320px}.sun-inputs{gap:9px}}
@media(max-width:800px){.sun-panel{width:calc(100% - 72px);max-width:350px}.sun-inputs .sun-date-caption strong{font-size:12px}.sun-inputs .tiny-label{font-size:6px}.sun-inputs strong{font-size:14px}.sun-map-caption{left:16px;bottom:83px;max-width:calc(100% - 32px);font-size:9px;padding:8px 9px}.sun-halves span{padding:8px 4px}.sun-season-note{font-size:9px}}
.sun-halves input,.sun-months input{inset:0;width:100%;height:100%;margin:0;cursor:pointer}

.facility-picker{display:block;max-width:230px;pointer-events:auto}.facility-picker select{font-size:10px;height:33px;margin-top:3px;padding:6px 25px 6px 9px;color:#3e5949;background-color:#fffefb;border:1px solid #dbe2d4;border-radius:5px}.model-presets{align-items:center}@media(max-width:800px){.facility-picker{max-width:184px}.facility-picker select{font-size:9px;height:30px}.map-location-card{max-width:calc(100% - 75px)}}

.map-annotations{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:3}.map-label{position:absolute;transform:translate(-50%,-100%);pointer-events:auto;white-space:nowrap;border-radius:5px;box-shadow:0 2px 8px #16372b25;font-size:11px;font-weight:600;padding:7px 9px;background:#fbfcf7f5;color:#294b3c;border:1px solid #c8d3c0;min-width:30px;min-height:27px}.map-label:after{content:'';position:absolute;left:50%;bottom:-6px;width:1px;height:5px;background:#668374}.map-label.selected{background:#e9c97d;color:#3e3828;border-color:#a98136}.stack-label{font-variant-numeric:tabular-nums;padding:5px 7px}.place-label{padding:8px 10px;border-color:#c0cfc5;font-weight:500;font-size:11px}.place-label:before{content:'◆';margin-right:6px;font-size:9px;color:#3e7867}.development-label{background:#254b3e;color:white}.landmark-dialog{width:440px}.landmark-dialog p{font-size:14px;line-height:1.7;color:#6a786a}.landmark-dialog a{display:inline-block;color:#254b3e;margin:12px 0;font-size:13px}.layer-options{flex-wrap:wrap;justify-content:flex-end}.neighbourhood-button{pointer-events:auto;margin-top:7px}.map-location-card{gap:5px}@media(max-width:800px){.map-label{font-size:10px;min-width:30px;min-height:27px}.place-label{font-size:10px}.neighbourhood-button{font-size:9px;padding:7px 8px}.layer-options{max-width:185px;gap:7px}.layer-options label{font-size:8px}}
.place-label small{display:block;font-size:9px;font-weight:500;color:#7a6557;margin-top:3px}.rail-label{border-color:#a5978d}.rail-label:before{content:"Ⓜ";color:#8c6c55;font-size:13px}

.unit-evidence{font-size:10px;color:#647257;background:#edf0e4;border-left:2px solid #b39c6a;padding:8px 10px;margin:10px 0 15px;line-height:1.5}.outlook-fan{margin:11px 0 8px;max-width:240px}.outlook-fan>div{display:flex;gap:3px;height:12px}.outlook-fan i{flex:1;background:#d8e5cc;border-radius:2px}.outlook-fan i.blocked{background:#9c957d}.outlook-fan>span{display:flex;justify-content:space-between;margin-top:5px;color:#77806d}.outlook-fan small{font-size:8px}.insight .insight-limit{font-size:10px;color:#7c7b69;margin-top:7px}.tree-scenarios{border:1px solid #dbe2d1;border-radius:7px;padding:12px;margin:12px 0;background:#f5f6ee}.tree-scenarios label{display:block;font-size:11px;font-weight:600;color:#506444;margin-bottom:8px}.tree-scenarios select{width:100%;min-height:38px;border:1px solid #cad4bd;border-radius:5px;background:white;color:#3e5636;padding:7px 10px;font:inherit;font-size:11px}.tree-scenarios p{font-size:10px;line-height:1.6;color:#718060;margin:8px 0 0}.tree-scenarios select:focus-visible{outline:3px solid #b49250;outline-offset:2px}
/* A compact, camera-linked compass and brochure navigation. */
.map-navigation{position:absolute;top:24px;right:21px;z-index:4;display:flex;flex-direction:column;align-items:center;gap:14px}
.map-navigation .map-tools{position:static;align-items:stretch;gap:0}.map-navigation .map-tools button,.map-navigation .map-tools button:first-child{width:39px;height:38px}
.map-compass{width:72px;height:78px;padding:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;--bearing:39deg}
.map-compass .compass-rose{position:relative;display:block;width:56px;height:56px;border:1px solid #d3ddcd;border-radius:50%;background:#fafbf6f5;box-shadow:0 3px 12px #33452c18;transform:rotate(calc(-1 * var(--bearing)));font-size:10px}
.map-compass:focus-visible{outline:none}.map-compass:focus-visible .compass-rose{outline:3px solid #c49749;outline-offset:3px}
.compass-cardinal{position:absolute;width:10px;height:12px;line-height:12px;font:500 9px/12px Inter,"Segoe UI",sans-serif;color:#73826d;transform:rotate(var(--bearing))}.compass-n{top:0;left:22px;color:#9e732d;font-weight:700}.compass-s{bottom:0;left:22px}.compass-e{right:0;top:21px}.compass-w{left:0;top:21px}
.compass-needle{position:absolute;left:23px;top:13px;width:8px;height:29px;background:linear-gradient(to bottom,#b58a40 50%,#99a795 50%);clip-path:polygon(50% 0,100% 62%,50% 50%,0 62%)}
.map-compass #compass-heading{display:block;font-size:9px;font-weight:600;color:#53684e;white-space:nowrap;letter-spacing:.2px}.sun-panel,.eye-controls{right:110px}
.lowest-floor-note{font-size:10px;line-height:1.6;color:#68785d;background:#eef1e7;border-radius:5px;padding:9px 10px;margin:11px 0 0}
.facility-label{display:flex;align-items:center;gap:6px;background:#fffcf2f5;color:#68542e;border-color:#d6c79f;font-size:10px;font-weight:500;padding:5px 8px;min-height:29px}.facility-number{display:inline-grid;place-items:center;border-radius:50%;min-width:20px;height:20px;background:#77734d;color:#fff;font-size:9px;font-weight:600}.facility-label small{font-size:8px;background:#e7e4d5;padding:3px;border-radius:3px}
.facility-dialog{width:460px}.facility-dialog>strong{font-size:12px;color:#8a703e}.facility-dialog>p{font-size:13px;line-height:1.7;color:#52664e}.facility-dialog .facility-evidence{font-size:11px;color:#7d8677;background:#f3f5ed;padding:12px;border-radius:6px}.facility-dialog>a{display:inline-block;margin-top:14px;font-size:12px;color:#365642}
@media(max-width:800px){.map-navigation{top:15px;right:12px;gap:12px}.map-compass{width:62px;height:70px}.map-compass .compass-rose{scale:.88;margin:-3px}.map-compass #compass-heading{font-size:8px}.map-navigation .map-tools button,.map-navigation .map-tools button:first-child{width:32px;height:31px}.sun-panel{right:86px;width:calc(100% - 100px)}.eye-controls{right:86px}.facility-label{font-size:9px;padding:4px 6px}.layer-options{max-width:230px}.map-bottom{gap:7px}}
.is-facility-inspection .map-location-card>.eyebrow,.is-facility-inspection #map-heading,.is-facility-inspection #map-subheading,.is-facility-inspection #tower-view,.is-facility-inspection #neighbourhood-view{display:none}.is-facility-inspection .map-location-card{padding:12px;gap:0}.is-facility-inspection .facility-picker{width:100%}
.access-guide-legend{display:flex;align-items:center;gap:5px;background:#fafbf6ed;padding:7px 9px;border-radius:5px;font-size:9px;color:#51654d}.access-guide-legend i{width:11px;border-top:3px dashed}.access-in{color:#477a98}.access-out{color:#a66d43}.access-b1{color:#5e795b}
.residential-label{border-color:#bfc9bd;background:#f7faf4f5}.residential-label:before{content:"⌂";font-size:14px;color:#5e7355}.residential-label small{color:#75816c}
.map-label{z-index:1}.map-label-leader{position:absolute;height:1px;background:#526e5d;transform-origin:0 50%;pointer-events:none}.map-label-leader:before{content:"";position:absolute;left:-2px;top:-2px;width:5px;height:5px;border-radius:50%;background:#526e5d;box-shadow:0 0 0 1px #fff}.map-label.has-leader:after{display:none}
.is-neighbourhood .map-location-card>.eyebrow,.is-neighbourhood #map-heading,.is-neighbourhood #map-subheading,.is-neighbourhood #model-presets{display:none}.is-neighbourhood .map-location-card{padding:8px;gap:0}.is-neighbourhood #neighbourhood-view{margin:0;min-height:34px}
.brand-logo{display:block;width:44px;height:auto;flex-shrink:0}@media(max-width:800px){.brand-logo{width:35px}}
.no-webgl .map-navigation{display:none}
/* Place categories use both words/icons and colour; yellow stays with homes. */
.category-label:before{display:none}.place-heading{display:flex;align-items:center;justify-content:center;gap:7px}.place-badge{display:inline-grid;place-items:center;min-width:19px;height:20px;font-size:16px;font-weight:600}.private-label{background:#f0f6fc;border-color:#9bb4c9;color:#294b68}.private-label small{color:#466680}.public-label{background:#fcf0e8;border-color:#caa18c;color:#773f2e}.public-label .place-badge{font-size:8px;letter-spacing:.3px;border:1px solid #b78571;border-radius:3px;min-width:26px;height:17px;background:#f3dacc}.public-label small{color:#865541}.commercial-label{background:#f4effa;border-color:#b6a4ce;color:#5e477c}.commercial-label small{color:#70598b}.development-label{display:flex;align-items:center;gap:7px;background:#254b3e;border-color:#1c4033;color:#fff;padding:9px 11px}.development-label img,.key-reserve img{filter:brightness(0) invert(1);display:block;flex-shrink:0}.landmark-dialog #landmark-housing-source{margin-left:18px}
.map-key{position:absolute;z-index:5;right:110px;bottom:103px;font-size:11px;color:#354e40}.map-key>summary{cursor:pointer;list-style:none;background:#fafbf6f5;border:1px solid #cbd5c5;border-radius:5px;padding:9px 12px;box-shadow:0 2px 8px #16372b16}.map-key>summary:after{content:' +';margin-left:12px}.map-key[open]>summary:after{content:' −'}.map-key>summary::-webkit-details-marker{display:none}.map-key>summary:focus-visible{outline:3px solid #a57c34;outline-offset:3px}.map-key-panel{position:absolute;bottom:calc(100% + 8px);right:0;width:282px;max-height:min(440px,calc(100dvh - 220px));overflow:auto;background:#fffffafb;border:1px solid #cbd5c5;border-radius:8px;padding:16px;box-shadow:0 6px 25px #16372b25;line-height:1.5}.map-key-panel>strong,.map-key-panel #key-access>strong{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.7px;color:#52664e;margin:0 0 11px}.map-key-panel>strong:not(:first-child),#key-access{margin-top:17px}.key-row{display:flex;align-items:center;gap:10px;margin:9px 0;font-size:10px}.key-row>span:first-child,.key-line{flex-shrink:0}.key-row small{font-size:9px;color:#697664}.key-category{display:grid;place-items:center;border:1px solid;border-radius:4px;width:36px;height:27px;font-weight:600;font-size:14px}.key-reserve{background:#254b3e;border-color:#254b3e}.key-private{background:#f0f6fc;border-color:#9bb4c9;color:#294b68}.key-public{background:#fcf0e8;border-color:#caa18c;color:#773f2e;font-size:9px}.key-commercial{background:#f4effa;border-color:#b6a4ce;color:#5e477c}.key-example{background:#fbfcf7;border:1px solid #c8d3c0;padding:3px 6px;border-radius:4px;min-width:36px;text-align:center}.key-selected{width:20px;height:15px;background:#e9c97d;border:1px solid #a98136;border-radius:3px}.key-line{width:28px;border-top:3px dashed}.map-key-panel p{font-size:9px;color:#697664;border-top:1px solid #e0e6d9;padding-top:10px;margin:14px 0 0}.is-eye-view .map-key,.no-webgl .map-key{display:none}
@media(max-width:800px){.map-key{right:86px;bottom:106px}.map-key>summary{font-size:10px;padding:8px 10px}.map-key-panel{width:min(282px,calc(100vw - 110px));max-height:min(320px,calc(100dvh - 370px));padding:12px}.key-row{font-size:9px;gap:7px}.landmark-dialog #landmark-housing-source{margin-left:0;display:block}.landmark-dialog #landmark-housing-source[hidden]{display:none}}
/* The disclosure sits outside the clipped map so it remains usable on short
   phones. Its panel scrolls within the space above the summary. */
.map-key{position:fixed;z-index:16}.map-key-panel{max-height:min(440px,calc(100dvh - 230px))}
@media(max-width:800px){.map-key{bottom:354px}.map-key-panel{max-height:min(320px,calc(100dvh - 480px))}.sheet-expanded .map-key{display:none}}
@media(max-width:800px) and (max-height:600px){.map-key{bottom:12px;right:16px}.map-key-panel{max-height:min(320px,calc(100dvh - 126px));width:min(282px,calc(100vw - 32px))}}
.map-navigation{top:50%;transform:translateY(-50%)}
@media(max-width:800px){.map-navigation{top:50%}.map-location-card{max-width:calc(100% - 106px)}}
@media(max-width:800px) and (max-height:500px) and (orientation:landscape){.map-navigation{top:8px;transform:none;flex-direction:row;align-items:flex-start;gap:4px}.map-navigation .map-tools{flex-direction:row;margin-top:9px}.map-compass{height:48px}.map-compass #compass-heading{display:none}}
