:root{--ink:#273d36;--muted:#7b827a;--line:#d8d9d0;--paper:#f1f1e9}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px Arial,sans-serif}button,a,input{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #a88856;outline-offset:4px}header{height:98px;display:flex;align-items:center;justify-content:space-between;padding:0 4%;border-bottom:1px solid var(--line);position:relative;z-index:2}.brand{text-decoration:none;color:var(--ink);font-size:19px;letter-spacing:3px}.brand i{font-family:Georgia;font-size:16px;letter-spacing:0}.brand span,.address span{display:block;font-size:9px;letter-spacing:3px;margin-top:8px}.address{text-align:center;font-size:11px;letter-spacing:2px}.textbutton{border:0;background:none;font-size:12px}main{position:relative;height:calc(100svh - 151px);min-height:680px;overflow:hidden}#viewer{position:absolute;inset:0}canvas{display:block;width:100%;height:100%;touch-action:none}.intro{position:absolute;top:46px;left:4%;pointer-events:none;z-index:1}.eyebrow{font-size:9px;font-weight:bold;letter-spacing:2.3px}h1{font-family:Georgia,serif;font-size:clamp(38px,4vw,64px);font-weight:normal;line-height:1.05;letter-spacing:-2px;margin:20px 0}p{color:var(--muted);line-height:1.6;font-size:12px}.intro p{max-width:190px}.view-switch{position:absolute;top:30px;left:48%;transform:translateX(-50%);background:#ffffffc9;border:1px solid var(--line);border-radius:30px;padding:5px;display:flex;white-space:nowrap}.view-switch button{border:0;background:none;padding:11px 17px;border-radius:25px;font-size:11px}.view-switch .active{background:var(--ink);color:white}aside{position:absolute;right:4%;top:100px;width:230px;background:#f1f1e9e8;padding:20px 0}.floor{position:relative;display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--line);background:none;padding:19px 14px 19px 38px}.floor.active{background:#e0e5db}.floor span{font-size:16px;font-family:Georgia}.floor small{display:block;font-size:10px;color:var(--muted);margin-top:6px}.floor em{position:absolute;left:10px;top:24px;font:9px Arial;color:var(--muted)}.floor b{position:absolute;right:10px;top:24px;font-weight:normal}.floor:first-of-type{margin-top:18px}.separation{margin-top:25px;font-size:10px}.separation label{display:flex;justify-content:space-between}input[type=range]{width:100%;accent-color:var(--ink);margin:14px 0}.check{font-size:11px;display:flex;gap:8px;align-items:center}input[type=checkbox]{accent-color:var(--ink)}#detail{font-size:11px;color:var(--muted);line-height:1.8;margin:20px 0 12px}.gallerybutton{background:none;border:0;border-bottom:1px solid var(--ink);padding:0 0 7px;font-size:11px}.bottom{position:absolute;bottom:22px;left:36%;right:4%;display:flex;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.bottom button{background:transparent;border:1px solid var(--line);border-radius:25px;padding:11px 14px;margin-left:6px;font-size:10px}.bottom button[aria-pressed=true]{background:var(--ink);color:white}.caption{position:absolute;bottom:28px;left:4%;display:flex;align-items:center;gap:17px}.caption>span{font:45px Georgia;border-right:1px solid var(--line);padding-right:17px}.caption div{font:16px Georgia}.caption small{display:block;font:9px Arial;letter-spacing:.8px;color:var(--muted);margin-top:8px}footer{min-height:53px;border-top:1px solid var(--line);padding:12px 4%;display:flex;align-items:center;justify-content:space-between}footer>span{font-size:8px;letter-spacing:2px}footer p{font-size:9px;margin:0;max-width:560px}#loading{position:absolute;left:45%;top:50%;z-index:3;font-size:12px}#loading span{display:block;width:50px;height:2px;background:var(--ink);margin:18px auto;animation:pulse 1s infinite alternate}@keyframes pulse{to{opacity:.2}}dialog{border:0;background:var(--paper);color:var(--ink);padding:30px;width:min(960px,94vw);max-height:94svh}dialog::backdrop{background:#14251ecc;backdrop-filter:blur(6px)}dialog h2{font:30px Georgia;margin:15px 0}dialog img{width:100%;max-height:62svh;object-fit:contain;background:#e0e1d9}#closeGallery{position:absolute;right:18px;top:14px;background:none;border:0;font-size:30px}.gallerynav{display:flex;justify-content:space-between;align-items:center;margin-top:18px}.gallerynav button{border:0;background:none;font-size:12px}dialog>p{font-size:10px}#count{font-size:10px}@media(max-width:900px){.address{display:none}header{height:75px}.brand{font-size:15px}main{height:auto;min-height:1050px}#viewer{top:140px;height:510px}.intro{top:25px}.intro h1{font-size:38px;margin:12px 0}.intro h1 br{display:none}.intro p{max-width:none}.view-switch{top:153px;left:50%;z-index:2}.caption{top:610px;bottom:auto}.caption>span{font-size:34px}aside{top:685px;left:4%;right:4%;width:auto;display:grid;grid-template-columns:1fr 1fr;gap:0 18px;padding:0}.floor{padding:15px 10px 15px 32px}.floor:first-of-type{margin-top:0}aside>.eyebrow{grid-column:1/-1;margin-bottom:14px}.separation{grid-column:1/-1;margin-top:16px}.check{grid-column:1/-1}#detail{margin:12px 0}.gallerybutton{justify-self:end;align-self:center}.bottom{top:655px;bottom:auto;left:4%;font-size:9px}.bottom button{padding:8px;font-size:9px}footer{gap:20px}footer p{max-width:65%;font-size:8px}#loading{left:40%}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
#fallback{position:absolute;height:93%;width:63%;object-fit:contain;left:15%;top:4%;pointer-events:none}button:disabled{opacity:.4;cursor:default}input:disabled{opacity:.4}@media(max-width:900px){#fallback{width:100%;left:0;height:100%;top:0}}
.plan-floors{position:absolute;top:88px;left:48%;transform:translateX(-50%);display:flex;align-items:center;gap:5px;padding:7px 10px;background:#fffffff0;border:1px solid var(--line);border-radius:12px;z-index:3;white-space:nowrap}.plan-floors[hidden]{display:none}.plan-floors>span{font-size:8px;letter-spacing:1px;margin-right:7px}.plan-floors button{border:0;background:none;padding:10px 12px;font-size:11px;border-radius:7px}.plan-floors .active{background:var(--ink);color:white}#planAll{border-left:1px solid var(--line);border-radius:0;font-size:10px}@media(max-width:900px){.plan-floors{top:210px;left:50%;max-width:96%;flex-wrap:wrap;justify-content:center;gap:2px;padding:5px}.plan-floors>span{display:none}.plan-floors button{font-size:10px;padding:9px}#planAll{font-size:9px}}
