:root{color-scheme:light;--ink:#242a23;--garden:#3c5039;--light:#f5f1e8;--paper:#ebe7dc;--line:#d3ccbd;--mute:#62675c;--stone:#9c876a;--white:#fffaf0;--dark:#202820;--rail:clamp(322px,28.6vw,426px);--serif:Georgia,'Times New Roman',serif;font-family:"Segoe UI",system-ui,sans-serif;background:var(--light);color:var(--ink)}
*{box-sizing:border-box}body{margin:0}button,a,input{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.55}button[hidden],[hidden]{display:none!important}button{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,#world:focus-visible{outline:2px solid #b0854f;outline-offset:3px}button:focus:not(:focus-visible){outline:none}svg{display:block;width:19px;height:19px;stroke:currentColor;fill:none;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;flex:none}a{color:inherit}h1,h2,h3,p{margin:0}.symbols,.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.skip{position:absolute;z-index:20;left:16px;top:-50px;background:white;color:#151a15;padding:9px 14px}.skip:focus{top:8px}
.mast{height:72px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:18px;padding:0 26px;background:var(--dark);color:#f3ebda;border-bottom:1px solid #57604e;position:relative;z-index:4}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;width:max-content;max-width:100%}.brand-mark{color:#d6be97;width:36px;height:36px}.brand strong{display:block;font:normal clamp(18px,1.8vw,26px)/1.08 var(--serif);white-space:nowrap}.brand small{display:block;margin-top:4px;font-size:10px;letter-spacing:.05em;color:#bcbfae}
.topnav{display:flex;align-items:stretch;height:100%;gap:11px}.topnav button,.top-icon{border:0;background:none;color:#e7e3d4}.topnav button{border-bottom:2px solid transparent;padding:0 13px;white-space:nowrap;font-weight:650;font-size:13px}.topnav button:hover{color:white;background:#ffffff0a}.topnav button[aria-current]{border-color:#ddc9a7;color:#fffaf0}.tab-count{margin-left:3px;font-size:10px;color:#d9c4a0}.header-actions{display:flex;gap:8px;justify-content:flex-end}.top-icon{display:flex;align-items:center;gap:7px;min-height:42px;padding:5px 9px;font-size:12px}.top-icon:hover{background:#ffffff10}
.workbench{display:grid;grid-template-columns:minmax(0,1fr) var(--rail);height:calc(100dvh - 72px);min-height:570px}.stage{position:relative;min-width:0;min-height:0;overflow:hidden;isolation:isolate;background:#bccacb}.stage:fullscreen,.stage.expanded{height:100%;width:100%}.stage.expanded:not(:fullscreen){position:fixed;inset:0;z-index:10}.poster,.world{position:absolute;inset:0}.poster{background:#c5ced0 url('./assets/references/hero.webp') center 52%/cover no-repeat;opacity:1;transition:opacity .32s ease;z-index:0}.stage.is-ready .poster{opacity:0;pointer-events:none}.stage.is-loading-space .poster,.stage.show-render .poster{opacity:1;z-index:1}.world{z-index:0;touch-action:none;outline-offset:-3px!important}.world canvas{width:100%;height:100%;display:block;cursor:grab}.world canvas:active{cursor:grabbing}
.stage::after{content:"";pointer-events:none;position:absolute;z-index:2;inset:0;background:linear-gradient(0deg,#20271ded 0%,#20271d84 11%,#20271d00 33%),linear-gradient(180deg,#1b241750 0%,#1b241700 17%)}.stage-top,.stage-bottom{position:absolute;z-index:3;left:24px;right:24px;display:flex;justify-content:space-between;pointer-events:none;gap:12px}.stage-top{top:21px;align-items:flex-start}.stage-bottom{bottom:25px;align-items:flex-end;color:var(--white)}
.view-state,.tools,.zoom,.loading{background:#222920ef;color:var(--white);border:1px solid #f9e9c83d;border-radius:4px;box-shadow:0 4px 18px #2028201a}.view-state{font-size:11px;padding:9px 12px;white-space:nowrap;display:flex;align-items:center;gap:7px}.view-state>span:first-child,.foot-dot{width:6px;height:6px;border-radius:50%;display:inline-block;background:#bfd3a0;flex:none}.tools,.zoom{display:flex;pointer-events:auto;overflow:hidden}.tools button,.zoom button{border:0;background:none;color:var(--white);min-height:41px;display:flex;align-items:center;justify-content:center;gap:7px;padding:0 11px;font-weight:620;font-size:11px}.tools button+button,.zoom button+button{border-left:1px solid #f1dfba38}.tools button:hover,.zoom button:hover,.tools button[aria-pressed="true"]{background:#5c6048}.tools button:focus-visible,.zoom button:focus-visible{outline-offset:-4px}.tools button svg,.zoom button svg{width:16px;height:16px}.zoom button{width:40px;padding:0}.view-help{text-align:right;flex:none}.view-help>span{font-size:10px;color:#f5ead6;display:block;margin-top:8px}.scene-caption{max-width:min(540px,74%);text-shadow:0 2px 18px #192018a0}.scene-caption>span{font-size:11px;letter-spacing:.08em;color:#f0dec1;font-weight:650}.scene-caption h1{font:normal clamp(37px,4.9vw,74px)/.98 var(--serif);letter-spacing:-.048em;margin:8px 0 10px}.scene-caption p{font-size:clamp(11px,1.11vw,14px);max-width:44ch;color:#f6ecda;line-height:1.55}
.pins{z-index:2;position:absolute;inset:0;pointer-events:none;overflow:hidden}.pin{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;white-space:nowrap;border:1px solid #ebdcc2;background:#2a3929;color:white;border-radius:4px;padding:6px 8px;font-size:10px;font-weight:760;box-shadow:0 3px 9px #0005}.pin:hover,.pin:focus{background:#f2e6cd;color:#172219;z-index:1}.pin.is-penthouse{background:#f2e6cd;color:#322717}.loading{position:absolute;z-index:4;top:48%;left:50%;transform:translate(-50%,-50%);padding:10px 14px;display:flex;align-items:center;gap:8px;font-size:12px;white-space:normal;max-width:min(320px,87%)}.pulse{width:7px;height:7px;border-radius:50%;background:#d5bd92;flex:none}.loading button{border:1px solid #e9dfc8;background:transparent;color:#fff;padding:6px 10px;border-radius:3px}
.browse{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--light);border-left:1px solid #a8a691}.browse-body{overflow:auto;padding:27px 25px 28px;scrollbar-color:#b3a690 transparent;flex:1}.rail-foot{height:46px;flex:none;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;font-size:10px;padding:0 22px;color:#535b4f}.foot-dot{background:#657856}.rail-foot button{margin-left:auto;background:none;border:0;text-decoration:underline;text-underline-offset:3px;color:#3f4c3e;min-height:38px;font-weight:720}
.rail-kicker{font-size:12px;color:#586552;font-weight:760;margin-bottom:10px}.rail-heading{font:normal clamp(29px,3vw,46px)/1.02 var(--serif);letter-spacing:-.052em;max-width:13ch}.rail-heading.single{max-width:initial}.rail-intro{font-size:13px;color:#565d51;line-height:1.58;margin:13px 0 17px;max-width:33ch}.overview-img{width:100%;height:144px;object-fit:cover;border-radius:3px;display:block;margin:17px 0 13px}.action{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:43px;text-align:left;padding:10px 12px;color:#fff9e9;background:#3c5039;border:1px solid #3c5039;border-radius:3px;font-size:12px;font-weight:760}.action:hover{background:#2b3d29}.action.secondary{background:transparent;color:#3c5039;border-color:#b6ad99}.action.secondary:hover{background:#e8e5d9}.action+ .action{margin-top:8px}.action svg{width:16px;height:16px}.group-title{margin:22px 0 7px;font-weight:780;font-size:12px;color:#454f40}.rows{border-top:1px solid var(--line)}.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;width:100%;text-align:left;align-items:center;border:0;border-bottom:1px solid var(--line);background:none;padding:10px 2px;min-height:43px;color:#252b23;font-size:12px;font-weight:730}.row:hover,.row[aria-current="true"]{background:#e9e6db}.row small{font-size:10px;color:#596052;font-weight:650;display:block;margin-top:3px}.row svg{width:15px;height:15px;color:#64715e}.row .status{align-self:center;display:flex;gap:6px;align-items:center;font-size:10px;font-weight:740;color:#3f5a38}.status i,.legend i{width:6px;height:6px;border-radius:50%;background:#648754;display:inline-block}.row.ph{color:#59462d}.row.ph .status i{background:#9b7944}.compact-row{padding:7px 2px}
.rail-toggle{display:flex;gap:6px;align-items:center;margin:12px 0}.rail-toggle button,.scene-chips button{background:#f8f5eb;border:1px solid #cbc2af;border-radius:3px;padding:7px 8px;min-height:38px;font-size:11px;font-weight:720}.rail-toggle button[aria-pressed="true"],.scene-chips button[aria-pressed="true"]{background:#43533c;color:white;border-color:#43533c}.rail-toggle button:hover,.scene-chips button:hover{border-color:#5c6f54}.back{display:flex;align-items:center;gap:4px;border:0;background:none;color:#455441;padding:0 4px 0 0;min-height:34px;font-size:11px;font-weight:760;margin:-8px 0 10px}.back svg{width:14px}.detail-image{display:block;width:100%;height:148px;object-fit:cover;object-position:center 54%;border:0;border-radius:3px;margin:12px 0 13px}.details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:6px 12px;font-size:11px;font-weight:700;padding:10px 0;margin-bottom:12px}.details span{white-space:nowrap}.scene-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:11px}.scene-chips button{font-size:11px;padding:6px 8px}.detail-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.detail-actions .action{margin:0;font-size:11px;min-height:39px;padding:7px 8px}.demo{margin-top:13px;font-size:10px;color:#666959;line-height:1.5}.badge{display:inline-block;color:#3f5a38;font-size:10px;font-weight:800;border:1px solid #b7c5a5;background:#e7eddb;border-radius:3px;padding:3px 6px;margin-bottom:9px}.badge.ph{color:#67502c;border-color:#cdbb93;background:#f3ead5}
.floor-grid{display:grid;grid-template-columns:34px 1fr 1fr;gap:2px 5px;align-items:center;margin:7px 0}.floor-grid .fl{font-size:9px;color:#595f53;text-align:center}.floor-grid .tower-name{font-weight:760;font-size:10px;text-align:center;padding:4px 0}.floor-grid .empty{height:16px;border-radius:2px;background:#dfddcf}.floor-grid .no-floor{background:transparent}.floor-grid button{min-height:24px;background:#dee7d4;border:1px solid #9fae90;color:#365334;border-radius:3px;font-size:10px;font-weight:850;text-align:left;padding:1px 5px}.floor-grid button:hover{background:#c3d2b7}.floor-grid button.ph{background:#f1e5cb;color:#69502a;border-color:#cbb27e}.legend{font-size:10px;color:#4b5549;display:flex;align-items:center;gap:6px;margin-top:9px}
.dialog{width:min(1040px,calc(100vw - 30px));max-height:calc(100dvh - 36px);padding:0;background:var(--light);border:1px solid #bcb39e;border-radius:5px;color:var(--ink);box-shadow:0 12px 60px #1017107a}.dialog::backdrop{background:#171e16b5}.dialog.narrow{width:min(498px,calc(100vw - 30px))}.dialog-close{position:absolute;right:11px;top:11px;background:#f3eee3;color:#293329;border:1px solid #bcb39e;border-radius:4px;display:grid;place-items:center;width:42px;height:42px;z-index:2}.dialog-close:hover{background:#e8e1d3}.dialog-copy{padding:25px 25px 27px}.dialog-copy h2,.gallery-head h2{font:normal 31px/1.08 var(--serif);letter-spacing:-.045em;margin-bottom:11px;padding-right:43px}.dialog-copy p,.gallery-head p{font-size:13px;line-height:1.58;color:#535b4f;margin:8px 0}.dialog-copy input{width:100%;padding:11px 10px;border:1px solid #aca68e;border-radius:3px;background:#fffcf4;font-size:12px;margin:9px 0}.gallery-head{padding:23px 23px 10px}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:11px;padding:0 23px 23px}.image-tile{background:#fffaf0;padding:0;border:1px solid #d6ceba;border-radius:3px;overflow:hidden;text-align:left}.image-tile img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.image-tile span{display:block;padding:8px 9px;font-size:11px;font-weight:750}.image-tile:hover{border-color:#69775c}.lightbox-image{width:100%;display:block;max-height:73dvh;object-fit:contain;background:#252b23}.lightbox-foot{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;gap:8px}.lightbox-foot button{background:#eeeadf;border:1px solid #beb39c;min-height:39px;padding:5px 7px;display:flex;align-items:center;font-size:11px;border-radius:3px}.lightbox-foot small{display:block;color:#606759;font-size:10px;margin-top:2px}.lightbox-foot strong{font-size:12px}.plan-wrap{background:#eae5d6;border:1px solid var(--line);border-radius:3px;padding:9px 12px;margin:13px 0}.plan-svg{width:100%;height:min(370px,48vh);stroke-width:0}.plan-svg line{stroke:#6b604d;stroke-width:.038}.plan-svg rect.zone{fill:#d0d6bd;stroke:#afae95;stroke-width:.017}.plan-svg rect.zone.active{fill:#a4b494}.plan-svg .zone:hover,.plan-svg .zone:focus{fill:#b6c2a3;cursor:pointer}.plan-svg text{font:600 .17px "Segoe UI",Arial,sans-serif;fill:#273826;stroke:none;pointer-events:none}.plan-legend{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:9px}
@media(min-width:1080px) and (min-height:830px){.browse-body{padding:32px 30px 30px}.overview-img{height:176px}}
@media(max-width:850px){:root{--rail:290px}.mast{padding:0 15px;gap:8px}.topnav{gap:0}.topnav button{padding:0 9px}.top-icon{padding:5px}.header-actions span{display:none}.browse-body{padding:21px 16px}.stage-top,.stage-bottom{left:14px;right:14px}.stage-top{top:14px}.stage-bottom{bottom:17px}}
@media(max-width:690px){.mast{height:100px;grid-template-columns:1fr auto;grid-template-rows:55px 45px;padding:0 13px;gap:0}.brand{grid-area:1/1}.brand-mark{width:31px;height:31px}.brand strong{font-size:21px}.brand small{font-size:9px}.header-actions{grid-area:1/2;gap:3px}.top-icon{width:42px;justify-content:center}.topnav{grid-area:2/1/3/3;width:100%;justify-content:stretch;border-top:1px solid #ffffff1a}.topnav button{flex:1;padding:0 4px;font-size:12px}.workbench{display:flex;flex-direction:column;min-height:0;height:auto}.stage{height:clamp(352px,57svh,610px);flex:none}.stage-top,.stage-bottom{left:11px;right:11px}.stage-top{top:11px}.stage-bottom{bottom:16px}.tools button{min-height:42px;padding:0 8px;font-size:10px;gap:5px}.tools button svg{width:14px;height:14px}.view-state{font-size:10px;padding:7px 8px}.scene-caption h1{font-size:clamp(34px,10vw,58px);margin:6px 0 7px}.scene-caption{max-width:calc(100% - 49px)}.scene-caption p{max-width:32ch}.view-help>span{display:none}.zoom{flex-direction:column}.zoom button{width:36px;min-height:33px}.zoom button+button{border-left:0;border-top:1px solid #f1dfba38}.browse{border-left:0;border-top:1px solid #a8a691}.browse-body{overflow:visible;padding:20px 18px 22px}.rail-heading{font-size:36px}.rail-intro{max-width:45ch}.overview-img{height:160px}.detail-image{height:175px}.rail-foot{padding:0 18px}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px 14px;gap:7px}.gallery-head,.dialog-copy{padding:18px 14px}.gallery-head h2,.dialog-copy h2{font-size:27px}.floor-grid button{min-height:31px}.floor-grid .empty{height:23px}}
@media(max-width:370px){.tools button span{display:none}.tools button{min-width:37px}.scene-caption p{font-size:10px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
.thumb-button{display:block;position:relative;width:100%;background:none;padding:0;border:0;margin:12px 0 13px;border-radius:3px;text-align:left}
.thumb-button .detail-image{margin:0}.thumb-button>svg{position:absolute;right:8px;bottom:8px;width:31px;height:31px;padding:6px;color:#fffaf0;background:#242b21d6;border:1px solid #d7c8aa85;border-radius:3px}
.thumb-button:hover>svg,.thumb-button:focus-visible>svg{background:#3c5039}
.plan-item{fill:#8c6549;fill-opacity:.27;stroke:#78583f;stroke-width:.017;pointer-events:none}
.plan-item.fixture{fill:#77989a;stroke:#4b676b}
.plan-item.bed{fill:#b29765;fill-opacity:.35}
.plan-svg .plan-door{stroke:#a66e33;stroke-width:.026;stroke-dasharray:.10 .058;pointer-events:none}
.plan-scale{stroke:#3f493d;stroke-width:.027;fill:none;pointer-events:none}
