:root{font-family:Arial,Helvetica,sans-serif;color:#333b32;background:#e3e6df;font-synthesis:none}*{box-sizing:border-box}body{margin:0;overflow:hidden}#scene{position:fixed;inset:0;width:100%;height:100%;touch-action:none}header{position:fixed;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:25px 32px;pointer-events:none}.brand{display:flex;gap:13px;align-items:center;text-decoration:none;color:#29392f;font-size:19px;letter-spacing:4px}.mark{display:grid;place-items:center;width:43px;height:48px;border:1px solid #657263;font-family:Georgia;font-size:38px}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:8px}.tag{font-size:10px;letter-spacing:2px;display:flex;align-items:center;gap:12px}.tag i{width:7px;height:7px;background:#4d6852;border-radius:50%}aside{position:fixed;top:106px;left:28px;width:360px;padding:25px;background:#f8f7f1ed;border:1px solid #fff;border-radius:5px;box-shadow:0 15px 45px #2936290d;max-height:calc(100dvh - 180px);overflow:auto}.eyebrow{font-size:9px;font-weight:600;letter-spacing:2px;color:#6f7d6a}p{font-size:12px;line-height:1.65;color:#75806e}.view-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px}.view-nav button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-width:0;min-height:76px;padding:8px 2px;font-size:10px;line-height:1.3}.view-nav svg{width:24px;height:24px;flex:none}.view-nav span{display:flex;align-items:center;justify-content:center;min-height:26px;text-align:center}button,select{font:12px Arial;color:#374b3c;border:1px solid #cfd5c9;border-radius:3px;background:#fffdf8;padding:11px;cursor:pointer}button:hover{background:#e7ecdf}button.active,#walk.active{background:#405642;color:#fff;border-color:#405642}aside>label,dialog>label{display:block;font-size:9px;letter-spacing:1.5px;margin:24px 0 9px}select{width:100%;padding:12px 8px}.info{font-size:11px;line-height:1.7;color:#697561;padding:14px 0;min-height:64px}.row{display:flex;gap:8px}.row>*{flex:1}.toggles{display:flex;gap:15px;font-size:11px;margin:17px 0}.toggles label{display:flex;align-items:center;gap:3px}input{accent-color:#486245}.textbutton{border:0;border-bottom:1px solid #d7d9d0;border-radius:0;padding:10px 0;background:transparent;width:100%;text-align:left}.disclaimer{font-size:9px;line-height:1.5;margin-bottom:0}#location{position:fixed;top:118px;right:35px;text-align:right}#location strong{display:block;font:28px Georgia;margin-top:10px}#help{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);padding:12px 20px;border-radius:30px;background:#f8f7f1e6;font-size:11px;white-space:nowrap}#crosshair{position:fixed;top:50%;left:50%;color:#fff;text-shadow:0 0 3px #000}#movement{position:fixed;right:30px;bottom:80px;text-align:center}#movement button{min-width:42px;background:#f8f7f1dc;touch-action:none}#leaveWalk{margin-top:8px}dialog{border:0;border-radius:8px;padding:35px;max-width:980px;width:90%;max-height:90dvh;color:#334630;background:#f9f8f3}dialog::backdrop{background:#20332499;backdrop-filter:blur(6px)}.close{float:right}h2{font:36px Georgia}dialog a{color:#3a5840;font-size:12px;padding:14px;border:1px solid #cad3c3;text-decoration:none}.gallery{display:flex;gap:12px;height:240px;margin-top:25px}.gallery img{width:32%;object-fit:cover}#drawing{width:100%;margin-top:15px}#error{position:fixed;inset:35%;background:white;padding:30px;z-index:99}button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #a8895b;outline-offset:3px}@media(max-width:700px){header{padding:16px}.tag{display:none}aside{top:83px;left:12px;width:min(360px,calc(100vw - 24px));padding:15px;max-height:calc(100dvh - 160px)}#location{right:15px;top:88px;max-width:110px}#location strong{font-size:20px}#help{font-size:9px;max-width:95%;white-space:normal;text-align:center}#movement{right:12px}.gallery{height:130px}dialog{padding:20px}aside>label{margin-top:16px}}

#panelToggle{display:none}@media(max-width:700px){#panelToggle{display:block;position:fixed;top:83px;left:12px;z-index:3;background:#f8f7f1}aside{display:none;top:132px;max-height:calc(100dvh - 210px);z-index:2}body.panel-open aside{display:block}#location{top:84px}#location .eyebrow{font-size:7px}header{background:linear-gradient(#e2e8dfee,transparent)}}


.brand{pointer-events:auto}.brand:hover{color:#486245}#unitFicha{display:block;width:100%;margin:0 0 10px;padding:11px;border:1px solid #405642;border-radius:3px;background:#405642;color:#fff;font-size:12px;line-height:1.4;text-align:center;text-decoration:none}#unitFicha:hover{background:#334635;border-color:#334635}#unitFicha[hidden]{display:none}

/* Reference images stay in the sidebar; the canvas always shows the model. */
#planPanel{margin-top:14px;padding:10px;border:1px solid #d7ddd0;border-radius:5px;background:#fffdf8}
#planPanel[hidden],#planSheets[hidden],#planImage[hidden],#planStatus[hidden]{display:none}
.plan-heading{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:9px}
#planCaption{font-size:10px;font-weight:500;color:#4b5d47}
#planExpand{font-size:10px;color:#526b4c;text-decoration:none;white-space:nowrap}
#planExpand:hover{text-decoration:underline}
#planImageLink{display:block;border-radius:3px;overflow:hidden;background:#fff;cursor:zoom-in}
#planImage{display:block;width:100%;height:auto;max-height:205px;object-fit:contain}
#planStatus{padding:20px 6px;color:#72816b;font-size:11px;line-height:1.5;text-align:center}
#planStatus button{margin-top:8px;font-size:11px;padding:7px}
#planSource{display:block;margin-top:8px;font-size:9px;line-height:1.4;color:#7a8473}
#planSheets{display:flex;gap:5px;margin-bottom:9px;flex-wrap:wrap}
#planSheets button{flex:1;padding:6px 7px;font-size:10px}
#planSheets button[aria-pressed="true"]{background:#e7ecdf;border-color:#b3c2ac;color:#354d33}
@media(max-height:580px) and (min-width:701px){header{padding:14px 18px}.brand{font-size:16px;letter-spacing:3px;gap:9px}.brand .mark{width:34px;height:39px;font-size:31px}.brand small{font-size:7px;letter-spacing:1px}.tag{display:none}aside{top:75px;left:16px;width:360px;padding:17px;max-height:calc(100dvh - 96px)}}
@media(max-height:580px) and (max-width:700px){header{padding:8px 14px}.mark{height:34px;width:31px;font-size:28px}.brand{font-size:16px}.brand small{margin-top:3px;font-size:7px}#panelToggle{top:54px}aside{top:101px;max-height:calc(100dvh - 116px)}}
@media(max-width:700px){#location{left:110px;right:14px;max-width:none}#location strong{font-size:21px;margin-top:5px}#planPanel{padding:8px}#planImage{max-height:170px}}

/* Floors of duplex units sit directly below the unit heading. */
#duplex{display:flex;justify-content:flex-end;gap:7px;margin-top:12px}
#duplex[hidden]{display:none}
#duplex button{min-height:44px;padding:10px 14px;line-height:1.2;white-space:nowrap}
@media(max-width:700px){
 #duplex{gap:6px;margin-top:10px}
 #duplex button{padding:10px 9px;font-size:11px}
 body.duplex-unit.panel-open aside{top:212px;max-height:calc(100dvh - 290px)}
}
@media(max-width:700px) and (max-height:580px){
 body.duplex-unit #location{top:55px}
 body.duplex-unit.panel-open aside{top:183px;max-height:calc(100dvh - 199px)}
}

#unitMetrics{display:flex;flex-wrap:wrap;gap:11px 16px;padding:17px 0 2px;color:#37453b;font-size:12px;line-height:1.4}
#unitMetrics[hidden]{display:none}
.unit-metric{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.unit-metric-icon{flex:none;width:18px;height:18px;color:#697665}

/* Points and soft color identify apartments only in the floor overview. */
#floorPins{position:fixed;inset:0;pointer-events:none;z-index:1}
#floorPins[hidden],.floor-pin[hidden]{display:none}
.floor-outlines{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none}
.floor-outline,.floor-outline-halo{fill:none;stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke}
.floor-outline-halo{stroke:#fffdf4;stroke-width:7;stroke-opacity:.9}
.floor-outline{stroke:var(--unit-color);stroke-width:3}
.floor-area.is-highlighted .floor-outline-halo{stroke-width:9}
.floor-area.is-highlighted .floor-outline{stroke-width:4.5}
.floor-pin{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:7px;min-height:44px;padding:7px 10px;border:1px solid var(--unit-color);border-radius:24px;background:#fffdf8f5;box-shadow:0 3px 12px #283b362b;color:#344b3c;font-size:11px;font-weight:600;line-height:1.25;white-space:nowrap;pointer-events:auto;touch-action:manipulation}
.floor-pin::before{content:"";display:block;flex:none;width:16px;height:16px;border-radius:50%;background:var(--unit-color);border:3px solid #fff;box-shadow:0 0 0 1px var(--unit-color)}
.floor-pin:hover,.floor-pin.is-highlighted{background:#fff;box-shadow:0 3px 16px #283b3650;border-color:var(--unit-color)}
.floor-pin-label{display:block;text-align:left}
.floor-pin-level{display:block;font-size:8px;font-weight:400;letter-spacing:.15px;margin-top:2px;color:#6b7668}
body.floor-overview #controls{z-index:3}
body.floor-overview #location,body.floor-overview header,body.floor-overview #help{z-index:2}
@media(max-width:700px){.floor-pin{font-size:10px;gap:5px;padding:6px 8px}.floor-pin::before{width:14px;height:14px;border-width:2px}.floor-outline-halo{stroke-width:5.5}.floor-outline{stroke-width:2.5}.floor-area.is-highlighted .floor-outline{stroke-width:3.5}}
