:root{--ink:#263c35;--muted:#69766d;--paper:#f8f8f1;--line:rgba(49,68,56,.14);--accent:#a9bb89;--shadow:0 8px 32px #29382a13;font-family:Onest,system-ui,sans-serif;color:var(--ink);font-synthesis:none}
*{box-sizing:border-box}body{margin:0;background:#e5eadd;overflow:hidden}button,a,input,select{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none}button:disabled{cursor:default;opacity:.5}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #527e4a;outline-offset:4px}button:hover{filter:brightness(.95)}button svg{pointer-events:none}a{color:inherit}svg{width:20px;height:20px;display:block;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}[hidden]{display:none!important}#stage{position:fixed;inset:0}#stage canvas{display:block;width:100%;height:100%;touch-action:none;outline:none}.vignette{position:fixed;inset:0;pointer-events:none;background:linear-gradient(180deg,#f4f7ee66,transparent 20%,transparent 72%,#e3e9dc80);z-index:1}.header{position:fixed;top:max(28px,env(safe-area-inset-top));left:40px;right:40px;display:flex;align-items:center;justify-content:space-between;z-index:10;pointer-events:none}.header>*{pointer-events:auto}.brand{display:flex;gap:12px;align-items:center;text-decoration:none;font-size:17px;font-weight:600;letter-spacing:.16em}.brand>svg{height:42px;width:42px;stroke-width:1.25}.brand small{display:block;font-size:9px;letter-spacing:.25em;margin-top:6px;font-weight:400}.mode-switch{display:flex;padding:5px;background:#fafbf3e8;border:1px solid #fff9;box-shadow:var(--shadow);border-radius:40px;backdrop-filter:blur(16px)}.mode-switch button{height:40px;padding:0 22px;font-size:12px;border-radius:30px;transition:background .2s}.mode-switch .active{background:var(--ink);color:var(--paper)}.mode-switch button span{margin-left:10px}.round{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fafbf0e8;border:1px solid #fff9;box-shadow:0 3px 12px #28362309;flex-shrink:0;backdrop-filter:blur(12px)}.round.active{background:var(--ink);color:white}.round.small{width:36px;height:36px}.intro{position:fixed;left:44px;top:155px;z-index:2;pointer-events:none;transition:opacity .35s,transform .35s}.eyebrow{font-size:9px;font-weight:500;letter-spacing:.19em;display:flex;align-items:center;gap:9px}.eyebrow i{width:5px;height:5px;background:#778f5d;border-radius:50%}h1{font-size:clamp(32px,3.15vw,52px);font-weight:400;letter-spacing:-.065em;line-height:1.12;margin:20px 0 17px}h1 em{font-family:Georgia,serif;font-weight:400;letter-spacing:-.04em}p{font-size:12px;line-height:1.8;color:var(--muted)}.intro p{margin:0}.text-button{display:flex;align-items:center;gap:9px;font-size:11px;padding:19px 0;pointer-events:auto}.text-button>span:first-child{border:1px solid #79887566;border-radius:50%;padding:9px}.text-button svg{width:13px;height:13px}.duration{font-size:9px;color:var(--muted);margin-left:8px}.side-tools{position:fixed;right:32px;top:50%;transform:translateY(-50%);z-index:5;display:flex;flex-direction:column;gap:8px}.tool-gap{height:8px}.compass{position:fixed;right:36px;bottom:218px;display:flex;flex-direction:column;align-items:center;z-index:2;font-size:10px}.compass svg{width:40px;height:40px;stroke:none}.bottom-ui{position:fixed;bottom:max(20px,env(safe-area-inset-bottom));left:40px;right:40px;z-index:6}.view-caption{display:flex;gap:12px;align-items:center;font-size:11px;margin-bottom:18px;pointer-events:none}.caption-line{height:1px;background:var(--ink);width:28px}#view-index{color:var(--muted);font-size:9px;letter-spacing:.12em;margin-left:auto}.control-deck{display:flex;align-items:center;border:1px solid #ffffffc0;background:#fbfcf4ed;backdrop-filter:blur(18px);padding:9px;border-radius:18px;box-shadow:var(--shadow);gap:12px}.views{display:flex;flex:1;gap:5px}.view{height:62px;flex:1;border-radius:11px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:11px;white-space:nowrap;transition:background .2s}.view svg{width:21px;height:21px}.view.active{background:#e7ecdf}.deck-divider{width:1px;height:32px;background:var(--line)}.explore-button{height:62px;display:flex;gap:10px;align-items:center;justify-content:center;min-width:144px;padding:0 12px;font-size:12px}.explore-button>span:last-child svg{width:13px}.footer-meta{display:flex;align-items:center;justify-content:space-between;margin-top:13px;min-height:28px;gap:12px;font-size:10px}.gesture{display:flex;gap:7px;align-items:center;color:#53644f}.gesture svg{width:14px;height:14px}.light-control{display:flex;align-items:center;gap:4px;background:#ffffff70;padding:3px;border-radius:24px}.light-control button{display:flex;align-items:center;gap:6px;font-size:10px;padding:6px 12px;border-radius:20px}.light-control .active{background:#fffefa;box-shadow:0 2px 8px #00000008}.light-control svg,.share-button svg{width:14px;height:14px}.share-button{font-size:10px;display:flex;align-items:center;gap:7px;padding:10px 0}.building-labels{position:fixed;inset:0;pointer-events:none;z-index:3}.building-label{position:absolute;left:0;top:0;display:flex;align-items:center;gap:8px;pointer-events:auto;background:#fbfcf3e8;border:1px solid #fff9;border-radius:30px;padding:5px 12px 5px 5px;font-size:10px;box-shadow:0 4px 15px #182b2217;will-change:transform;white-space:nowrap}.building-label b{background:#e8e9dd;border-radius:50%;width:25px;height:25px;display:grid;place-items:center;font-size:11px;font-weight:500}.building-label.active b{background:var(--ink);color:#fff}.building-label::after{content:"";position:absolute;top:100%;left:50%;height:15px;width:1px;background:#66765b66}.explore-panel{position:fixed;right:92px;top:110px;width:320px;max-height:calc(100dvh - 310px);overflow:auto;z-index:7;background:#fafbf2f5;backdrop-filter:blur(20px);border:1px solid #fff;border-radius:20px;padding:23px;box-shadow:var(--shadow)}.panel-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.panel-top h2{margin:10px 0 18px;font-size:25px;font-weight:400;letter-spacing:-.04em}.panel-top .eyebrow{font-size:8px}.block-selector{display:flex;gap:5px}.block-selector button{flex:1;height:38px;border:1px solid var(--line);border-radius:8px;font-size:10px}.block-selector button.active{background:var(--ink);color:white}.explore-panel p{font-size:11px;margin:15px 0}.block-stats{display:grid;grid-template-columns:1fr 1.3fr;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);gap:10px}.block-stats strong{font-size:20px;display:block;font-weight:400}.block-stats>div:last-child strong{font-size:14px;margin:4px 0}.block-stats span{font-size:9px;color:var(--muted);display:block;margin-top:5px}.floor-heading{display:flex;align-items:center;justify-content:space-between;margin:17px 0;font-size:11px}select{font:inherit;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:6px;padding:8px}.plan-preview{position:relative;width:100%;border-radius:10px;overflow:hidden;background:white;border:1px solid var(--line);height:128px;display:block}.plan-preview img{width:100%;height:100%;object-fit:contain}.plan-preview>span{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;background:var(--ink);color:white;border-radius:20px;padding:7px 11px;font-size:9px;white-space:nowrap}.plan-preview svg{width:11px;height:11px}.explore-panel .small-note{font-size:9px;line-height:1.5;margin-bottom:0}.gallery{position:fixed;inset:0;z-index:8;background:#25382b}.gallery>img{width:100%;height:100%;object-fit:cover}.gallery-shade{position:absolute;inset:0;background:linear-gradient(180deg,#15261c40,transparent 35%,#13231888);pointer-events:none}.gallery-heading{position:absolute;bottom:175px;left:44px;color:white}.gallery-heading .eyebrow{font-size:9px}.gallery-heading h2{font-size:38px;font-weight:400;letter-spacing:-.04em;margin:12px 0 8px}.gallery-heading p{color:#ffffffab}.gallery-prev,.gallery-next{position:absolute;top:50%;transform:translateY(-50%)}.gallery-prev{left:30px}.gallery-next{right:30px}.gallery-bottom{position:absolute;bottom:max(30px,env(safe-area-inset-bottom));left:44px;right:44px;display:flex;align-items:center;gap:25px;color:white}.gallery-bottom>span{font-size:10px;letter-spacing:.15em}.gallery-thumbs{display:flex;gap:9px}.gallery-thumbs button{padding:4px;border:1px solid transparent;border-radius:10px;opacity:.7}.gallery-thumbs button.active{border-color:#fff;opacity:1}.gallery-thumbs img{height:58px;width:88px;object-fit:cover;border-radius:6px;display:block}.return-model{margin-left:auto;border:1px solid #ffffff66;border-radius:30px;display:flex;align-items:center;gap:8px;padding:14px 20px;font-size:11px;background:#ffffff18;backdrop-filter:blur(10px)}body.gallery-open .brand{color:white}body.gallery-open .header-info{background:#ffffffcf}body.panel-open .intro{opacity:0;transform:translateY(-10px);visibility:hidden}body.clean .intro,body.clean .building-labels,body.clean .compass{opacity:0;visibility:hidden}body.touring .intro p{display:none}.loading{position:fixed;inset:0;z-index:30;background:#eef1e7;display:flex;align-items:center;justify-content:center;flex-direction:column;transition:opacity .5s}.loading.done{opacity:0;pointer-events:none}.loading-brand{font-size:18px;letter-spacing:.23em}.loading-brand span{display:block;font-size:9px;text-align:center;margin-top:12px}.loading-line{width:150px;height:2px;background:#d5ddce;margin:35px 0 10px;overflow:hidden}.loading-line::after{content:"";display:block;width:50%;height:100%;background:#49614b;animation:loading 1.5s infinite}.loading p{font-size:11px}@keyframes loading{from{transform:translateX(-100%)}to{transform:translateX(200%)}}dialog{color:var(--ink);border:1px solid #fff;border-radius:22px;background:#fafbf4;box-shadow:0 25px 100px #0003;padding:32px}dialog::backdrop{background:#1d302772;backdrop-filter:blur(6px)}.info-dialog{max-width:480px;width:calc(100% - 32px);padding:38px}.info-dialog h2{font-size:35px;line-height:1.15;font-weight:400;letter-spacing:-.04em}.dialog-close{position:absolute;right:18px;top:18px}.info-dialog dl{font-size:11px;display:grid;grid-template-columns:1fr 1.6fr;gap:14px 20px;padding:20px 0;border-block:1px solid var(--line);line-height:1.6}.info-dialog dd{margin:0;color:var(--muted)}.info-dialog .disclosure{font-size:10px}.plan-dialog{width:min(1200px,calc(100% - 30px));max-height:92dvh;padding:22px}.plan-dialog header{display:flex;align-items:center;gap:20px}.plan-dialog h2{font-size:22px;font-weight:400;margin:8px 0 15px}.plan-dialog header a{margin-left:auto;font-size:11px}.plan-image-wrap{overflow:auto;max-height:68dvh;background:white;border-radius:12px}.plan-image-wrap img{display:block;width:100%;height:auto;min-height:220px;object-fit:contain}.plan-dialog>p{font-size:10px;text-align:center}.toast{position:fixed;bottom:220px;left:50%;transform:translate(-50%,15px);z-index:40;border-radius:30px;padding:12px 22px;background:var(--ink);color:white;font-size:11px;opacity:0;transition:opacity .2s,transform .2s;pointer-events:none;max-width:90%;text-align:center}.toast.visible{opacity:1;transform:translate(-50%,0)}.no-script{position:fixed;inset:0;z-index:50;background:var(--paper);padding:20vh 10vw;font-size:20px}
@media(min-width:1500px){.bottom-ui{max-width:1370px;left:50%;transform:translateX(-50%);width:calc(100% - 80px)}.intro{top:175px}.side-tools{right:40px}}
@media(max-width:1100px){.header{left:24px;right:24px}.intro{left:28px;top:125px}h1{font-size:36px}.bottom-ui{left:24px;right:24px}.view{flex-direction:column;gap:6px;font-size:9px}.control-deck{gap:5px}.explore-button{min-width:115px;font-size:10px}.gesture{font-size:9px}.side-tools{right:22px}.compass{right:24px}.gallery-thumbs img{width:68px;height:48px}.gallery-bottom{gap:15px}}
@media(max-width:700px){.header{top:max(16px,env(safe-area-inset-top));left:18px;right:18px;align-items:flex-start}.brand{font-size:12px;gap:7px;letter-spacing:.13em}.brand>svg{width:30px;height:34px}.brand small{font-size:7px;letter-spacing:.2em;margin-top:5px}.header-info{display:none}.mode-switch{padding:3px;margin-top:0}.mode-switch button{height:33px;font-size:9px;padding:0 12px}.mode-switch button span{display:none}.intro{top:max(96px,calc(env(safe-area-inset-top) + 75px));left:22px}.intro .eyebrow{font-size:7px;letter-spacing:.12em}h1{font-size:35px;line-height:1.06;margin:13px 0 10px}.intro p{font-size:10px;line-height:1.6}.text-button{padding:11px 0;font-size:9px;gap:7px}.text-button>span:first-child{padding:7px}.duration{font-size:8px;margin-left:3px}.side-tools{right:14px;top:45%;gap:7px}.round{width:38px;height:38px}.round svg{width:17px;height:17px}.tool-gap{height:1px}#fullscreen-button{display:none}.compass{right:15px;bottom:230px}.compass svg{width:34px;height:34px}.bottom-ui{left:12px;right:12px;bottom:max(12px,env(safe-area-inset-bottom))}.view-caption{font-size:9px;gap:8px;margin:0 9px 10px}.caption-line{width:20px}#view-index{font-size:8px}.control-deck{padding:6px;gap:3px;border-radius:15px}.views{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;gap:4px}.views::-webkit-scrollbar{display:none}.view{height:61px;min-width:73px;flex:0 0 73px;scroll-snap-align:start;font-size:8px;gap:7px;border-radius:9px}.view svg{width:19px;height:19px}.deck-divider{height:36px;margin:0 3px}.explore-button{height:61px;min-width:66px;flex-direction:column;gap:6px;padding:0;font-size:8px}.explore-button>span:last-child{display:none}.footer-meta{flex-wrap:wrap;justify-content:space-between;margin:9px 5px 0;gap:7px}.gesture{order:3;width:100%;justify-content:center;font-size:8px;margin-top:2px;opacity:.8}.gesture svg{width:12px;height:12px}.light-control button{font-size:9px;padding:6px 10px}.share-button{font-size:9px;padding:8px}.building-label{font-size:9px;padding:4px 9px 4px 4px;gap:5px}.building-label b{width:22px;height:22px;font-size:10px}.building-label::after{height:10px}.explore-panel{left:10px;right:10px;top:auto;bottom:max(12px,env(safe-area-inset-bottom));width:auto;max-height:70dvh;padding:21px;border-radius:23px;z-index:12}.panel-top h2{font-size:25px;margin:8px 0 15px}.block-selector button{height:40px}.block-stats{padding:12px 0}.explore-panel p{margin:12px 0}.plan-preview{height:115px}.explore-panel .floor-heading{margin:12px 0}.gallery>img{object-fit:contain}.gallery{background:#24372e}.gallery-shade{background:linear-gradient(180deg,#14261f33,transparent 30%,transparent 60%,#14261f77)}.gallery-heading{left:22px;bottom:175px}.gallery-heading .eyebrow{font-size:7px}.gallery-heading h2{font-size:25px}.gallery-heading p{font-size:10px}.gallery-prev{left:12px}.gallery-next{right:12px}.gallery-bottom{left:17px;right:17px;bottom:max(20px,env(safe-area-inset-bottom));flex-wrap:wrap;gap:12px}.gallery-thumbs{order:-1;gap:5px;width:100%;overflow-x:auto;justify-content:center}.gallery-thumbs button{padding:3px;border-radius:7px}.gallery-thumbs img{width:43px;height:34px;border-radius:4px}.gallery-bottom>span{font-size:9px}.return-model{padding:10px 15px;font-size:10px}.plan-dialog{padding:15px;width:calc(100% - 18px)}.plan-dialog header{flex-wrap:wrap;gap:8px}.plan-dialog header>div{flex:1}.plan-dialog header a{order:3;margin:0 0 10px;width:100%;font-size:10px}.plan-dialog h2{font-size:18px;margin:7px 0}.plan-dialog .eyebrow{font-size:7px}.plan-image-wrap{max-height:65dvh}.plan-image-wrap img{min-width:650px}.info-dialog{padding:28px}.info-dialog h2{font-size:30px}.toast{bottom:215px;font-size:10px;min-width:240px}}
@media(max-height:580px) and (orientation:landscape){.intro{top:85px}.intro h1{font-size:27px;margin:10px 0}.intro p,.intro .eyebrow,.gesture,.compass{display:none}.header{top:12px}.bottom-ui{bottom:8px}.view-caption{margin-bottom:6px}.view,.explore-button{height:45px}.footer-meta{margin-top:4px}.side-tools{flex-direction:row;top:100px;transform:none}.tool-gap{display:none}.explore-panel{top:80px;bottom:12px;max-height:none}.gallery-heading{bottom:120px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

body.detail-view .intro h1,body.detail-view .intro p,body.detail-view .intro>.eyebrow{display:none}body.detail-view .intro{top:108px}#mobile-info{font-size:inherit;text-decoration:underline;text-underline-offset:3px;padding:5px 3px;margin-left:5px}@media(max-width:700px){body.detail-view .intro{top:78px}.gesture{font-size:7.5px;gap:4px}#mobile-info{margin-left:0}}
/* Floor and apartment exploration extends the original exterior presentation. */
.floor-labels{position:fixed;inset:0;pointer-events:none;z-index:4}.floor-label{position:absolute;top:0;left:0;pointer-events:auto;display:flex;gap:6px;align-items:center;border-radius:20px;background:#f8faf2ed;border:1px solid #ffffffb0;padding:4px 10px 4px 4px;font-size:9px;box-shadow:var(--shadow);white-space:nowrap}.floor-label b{width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:#e2e9df;font-weight:500}.floor-label.active{border-color:#b68a34;background:#fff7dc}.floor-label.active b{background:#c19440;color:white}.floor-label.active::after{content:'';width:20px;height:1px;background:#c19440;position:absolute;left:100%;top:50%}body.floor-exploring #building-labels{visibility:hidden}body.clean .floor-labels{visibility:hidden}.explore-panel{width:340px;max-height:calc(100dvh - 235px);scrollbar-width:thin;scrollbar-color:#bac6b3 transparent}.explore-modes{display:flex;gap:3px;background:#e7ecdf;border-radius:9px;padding:3px;margin:15px 0 10px}.explore-modes button{flex:1;height:35px;border-radius:7px;font-size:11px}.explore-modes button.active{background:var(--ink);color:var(--paper)}.availability-summary{display:flex;justify-content:space-between;align-items:center;font-size:9px;color:var(--muted);gap:10px;padding:2px 0 12px}.availability-summary strong{color:#347859;font-size:20px;font-weight:500;margin-right:3px}.availability-summary small{font-size:9px}.availability-summary b{font-weight:500}.floor-strip{display:flex;flex-wrap:wrap;gap:5px}.floor-strip button{min-width:36px;height:43px;flex:1 0 12%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:1px solid var(--line);border-radius:7px;background:#fffdf6;font-size:12px}.floor-strip button small{font-size:7px;color:#478264}.floor-strip button.active{border-color:#b78c38;background:#fff1c7;color:#665022}.floor-strip button.active small{color:#665022}.floor-heading{gap:8px;margin:13px 0}.floor-heading label{font-size:10px}.floor-heading select{margin-left:auto;max-width:150px;font-size:10px;padding:7px}.floor-heading>span{font-size:9px;white-space:nowrap;color:var(--muted)}.gap-control{display:flex;align-items:center;gap:15px;margin:10px 0 15px}.gap-control label{font-size:10px;white-space:nowrap}.gap-control output{display:inline-block;min-width:27px;margin-left:5px;color:#8c682b}.gap-control input{width:100%;height:4px;accent-color:#71856c}.availability-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:8px;color:var(--muted);padding:10px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.availability-legend span{display:flex;align-items:center;gap:5px}.availability-legend i{width:7px;height:7px;border-radius:2px}.free{background:#238451}.reserved{background:#a12632}.sold{background:#731923}.selected{background:#d9a444}.unit-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 0;font-size:10px;gap:10px}.unit-controls label{display:flex;align-items:center;gap:6px;cursor:pointer}.unit-controls input{accent-color:#3e7459;margin:0;width:15px;height:15px}.unit-controls button{display:flex;align-items:center;gap:4px;font-size:10px}.unit-controls svg{width:12px;height:12px}.unit-list{display:flex;flex-direction:column;gap:4px;max-height:215px;overflow:auto;scrollbar-width:thin;scrollbar-color:#bec9b6 transparent}.unit-row{display:grid;grid-template-columns:7px 1fr auto;gap:9px;align-items:center;text-align:left;width:100%;padding:10px 9px;border-radius:9px;background:#fffdf580;border:1px solid transparent}.unit-row>i{width:7px;height:7px;border-radius:50%}.unit-row strong{font-size:11px;font-weight:500;display:block}.unit-row small{font-size:8px;color:var(--muted);display:block;margin-top:4px}.unit-row>span:last-child{text-align:right;font-size:10px}.unit-row.active{border-color:#b88a35;background:#fff2d1}.empty-units{padding:10px;font-size:11px!important;border:1px dashed var(--line);border-radius:9px}.selected-unit{border:1px solid #c2a46b;background:#fff7e3;border-radius:12px;padding:13px;display:grid;grid-template-columns:1fr auto;gap:8px;margin-bottom:10px}.selected-unit .eyebrow{font-size:7px}.selected-unit h3{margin:7px 0;font-size:20px;font-weight:400}.selected-unit p{grid-column:1/-1;margin:0;font-size:10px}.unit-open{font-size:10px;display:flex;align-items:center;gap:5px}.unit-open svg{width:12px;height:12px}.status-pill{font-size:9px;display:inline-flex;align-items:center;gap:5px;color:var(--status,#65756b)}.status-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor}.explore-panel .plan-preview{height:90px;margin-top:12px}.inventory-note{border-top:1px solid var(--line);padding-top:9px;font-size:8px!important}.interactive-plan{position:relative;min-width:650px}.interactive-plan>img{width:100%;height:auto;display:block}.interactive-plan>svg{position:absolute;inset:0;width:100%;height:100%;stroke:none;overflow:visible}.plan-unit-shape{cursor:pointer;fill-opacity:var(--unit-opacity,.3);stroke-width:.06;stroke-opacity:.9}.plan-unit-shape:hover,.plan-unit-shape:focus{fill-opacity:var(--unit-focus-opacity,.4);outline:none;stroke-width:.12;stroke-opacity:1}.plan-unit-shape.active{fill-opacity:var(--unit-focus-opacity,.4);stroke:#a36c15!important;stroke-width:.16;stroke-opacity:1}.plan-unit-shape.filtered{fill-opacity:.02;stroke-opacity:.08;pointer-events:none}.plan-selection{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:11px;margin:15px 0 5px}.plan-selection button{font-size:10px;text-decoration:underline}.unit-dialog{width:min(650px,calc(100% - 24px));max-height:90dvh;overflow:auto}.unit-dialog header{display:flex;align-items:flex-start;justify-content:space-between}.unit-dialog h2{font-size:30px;margin:10px 0;font-weight:400}.unit-dialog .eyebrow{font-size:8px}.unit-plan-wrap{display:grid;place-items:center;margin:18px 0;background:white;border-radius:12px;min-height:100px;overflow:auto}.unit-plan-wrap img{display:block;width:100%;max-height:45dvh;object-fit:contain}.unit-plan-wrap p{padding:20px}.unit-dialog dl{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 0;border-top:1px solid var(--line);margin:0}.unit-dialog dl>div{display:flex;flex-direction:column;gap:5px}.unit-dialog dt{font-size:10px;color:var(--muted)}.unit-dialog dd{font-size:14px;margin:0}.unit-dialog .small-note{font-size:9px}.explore-panel[aria-busy=true] .block-selector{opacity:.6}
@media(min-width:701px){#toggle-unit-list{pointer-events:none}#toggle-unit-list>span:last-child{display:none}}
@media(max-width:700px){.explore-panel{width:auto;padding:15px 18px;max-height:calc(100dvh - 90px)}.panel-top h2{font-size:22px;margin:5px 0 12px}.panel-top .eyebrow{font-size:7px}.block-selector button{height:34px}.explore-modes{margin:10px 0 6px}.explore-modes button{height:30px;font-size:10px}.availability-summary{padding-bottom:7px;font-size:8px}.availability-summary strong{font-size:16px}.floor-strip{flex-wrap:nowrap;overflow:auto;scrollbar-width:none;gap:4px;padding-bottom:3px}.floor-strip button{min-width:34px;flex:0 0 34px;height:37px;font-size:11px}.floor-strip button small{font-size:6px}.explore-panel .floor-heading{margin:7px 0}.floor-heading select{padding:5px;font-size:9px}.gap-control{margin:7px 0}.gap-control input{height:3px}.availability-legend{padding:7px 0;font-size:7px;gap:9px}.unit-controls{padding:9px 0 2px;font-size:9px}.unit-details-region{display:none}.explore-panel.list-open .unit-details-region{display:block}.explore-panel.list-open #toggle-unit-list svg{transform:rotate(90deg)}.explore-panel.list-open{max-height:68dvh}.explore-panel .inventory-note{margin:7px 0 0;padding-top:6px;font-size:7px!important}.explore-panel .unit-list{max-height:180px}.explore-panel .plan-preview{height:65px}.selected-unit{margin-top:10px}.floor-label{font-size:8px;padding:3px 7px 3px 3px}.floor-label b{width:19px;height:19px;font-size:9px}.floor-label>span{display:none}body.panel-open .bottom-ui{visibility:hidden}body.panel-open .compass{display:none}body.panel-open .side-tools{top:105px;transform:none;gap:5px}body.panel-open .side-tools .round{height:33px;width:33px}body.panel-open #rotate-button,body.panel-open #clean-button,body.panel-open .tool-gap{display:none}.unit-dialog{padding:22px}.unit-dialog h2{font-size:27px}.plan-selection{font-size:10px}.unit-row{padding:10px}}
@media(max-height:580px) and (orientation:landscape){.explore-panel{width:300px;left:auto;right:14px;top:72px;bottom:10px;max-height:none}.floor-strip{flex-wrap:nowrap;overflow:auto}.floor-strip button{min-width:32px;flex:0 0 32px}body.panel-open .bottom-ui{visibility:hidden}}

@media(min-width:701px){.floor-strip{display:grid;grid-template-columns:repeat(6,minmax(0,1fr))}.floor-strip button{min-width:0}}

/* Keep project controls fixed; only the details below them scroll. */
.explore-panel{display:flex;flex-direction:column;overflow:hidden;z-index:12;max-height:calc(100dvh - 300px)}
.explore-panel>.panel-top,.explore-panel>.block-selector{flex-shrink:0}
#explorer-content{display:flex;flex-direction:column;min-height:0}
#explorer-content> :not(.unit-details-region){flex-shrink:0}
.unit-details-region{min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bac6b3 transparent}
.explore-panel .unit-list{max-height:none;overflow:visible}
.unit-row{flex-shrink:0}
.floor-strip{overflow-y:hidden}
.floor-strip button small{white-space:nowrap}
@media(max-width:700px){
  .explore-panel,.explore-panel.list-open{max-height:min(60dvh,calc(100dvh - 90px));padding:12px 16px}
  .explore-panel.list-open .unit-details-region{display:block}
  .explore-panel .panel-top h2{margin:3px 0 8px}
  .explore-panel .explore-modes{margin:7px 0 5px}
}
@media(max-height:800px) and (min-width:701px){
  .explore-panel{top:90px;padding:14px 18px;max-height:calc(100dvh - 275px)}
  .explore-panel .panel-top h2{font-size:22px;margin:4px 0 10px}
  .explore-panel .block-selector button{height:32px}
  .explore-panel .explore-modes{margin:8px 0 6px}
  .explore-panel .explore-modes button{height:29px}
  .explore-panel .availability-summary{padding-bottom:6px}
  .explore-panel .floor-strip{display:flex;flex-wrap:nowrap;overflow:auto;flex-shrink:0}
  .explore-panel .floor-strip button{min-width:33px;height:34px;flex:0 0 33px}
  .explore-panel .floor-heading,.explore-panel .gap-control{margin:7px 0}
  .explore-panel .availability-legend{padding:7px 0}
  .explore-panel .unit-controls{padding:8px 0}
}
@media(max-height:680px) and (orientation:landscape){
  .explore-panel,.explore-panel.list-open{top:72px;bottom:10px;max-height:calc(100dvh - 82px);width:320px;padding:10px 14px}
  .explore-panel .panel-top .eyebrow,.explore-panel .floor-strip{display:none}
  .explore-panel .panel-top h2{font-size:18px;margin:0 0 6px}
  .explore-panel .panel-top .round{width:26px;height:26px}
  .explore-panel .block-selector button{height:27px}
  .explore-panel .explore-modes{margin:5px 0}
  .explore-panel .explore-modes button{height:25px}
  .explore-panel .availability-summary{padding-bottom:2px}
  .explore-panel .floor-heading,.explore-panel .gap-control{margin:4px 0}
  .explore-panel .availability-legend{padding:4px 0;font-size:7px;gap:8px}
  .explore-panel .unit-controls{padding:5px 0}
}

@media(min-height:581px) and (max-height:680px) and (orientation:landscape){
  .explore-panel,.explore-panel.list-open{top:80px;bottom:185px;max-height:calc(100dvh - 265px)}
}

/* Selection is blue: the plan shape, the legend swatch and the sidebar card. */
.plan-unit-shape.active{stroke:#2b6cd4!important;stroke-width:.16;stroke-opacity:1}
.availability-legend .selected{background:#2b6cd4}
.selected-unit{border-color:#9cb9ea;background:#eef4fd}
.unit-plan-thumb{grid-column:1/-1;position:relative;display:block;width:100%;height:150px;border-radius:9px;overflow:hidden;background:white;border:1px solid #c9d8f2;padding:0}
.unit-plan-thumb[hidden]{display:none}
.unit-plan-thumb img{width:100%;height:100%;object-fit:contain;display:block}
.unit-plan-thumb>span{position:absolute;bottom:7px;right:7px;display:flex;align-items:center;gap:5px;background:var(--ink);color:white;border-radius:20px;padding:5px 9px;font-size:9px}
.unit-plan-thumb svg{width:10px;height:10px}
@media(max-width:700px){.unit-plan-thumb{height:120px}}
