:root{--ink:#383f39;--mute:#81847a;--paper:#f5f3ed;--green:#637866;--line:#c8cdc1}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:13px/1.5 Arial,Helvetica,sans-serif;background:#e8e5de;overflow:hidden}button,select{font:inherit}button{cursor:pointer;color:inherit}button:disabled{opacity:.35;cursor:default}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #7c8e72;outline-offset:4px}button:hover{filter:brightness(1.04)}button[aria-pressed=true]{color:#263d2c}#stage{position:fixed;inset:0;overflow:hidden}canvas{display:block;touch-action:none;outline:none}header{position:fixed;top:0;left:0;right:0;height:103px;display:flex;align-items:center;justify-content:space-between;padding:0 42px;pointer-events:none;z-index:10;background:linear-gradient(#e8e5debb,transparent)}header>*{pointer-events:auto}.brand{display:flex;gap:15px;align-items:center;text-decoration:none;color:var(--ink);font-size:12px;font-weight:600;letter-spacing:2.5px}.monogram{font:italic 38px Georgia,serif;letter-spacing:-5px;margin-right:5px}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:1.6px;color:#878b7f;margin-top:5px}.main-nav{display:flex;background:#fbfaf5d6;border:1px solid #ffffffe0;border-radius:32px;padding:5px;gap:3px;backdrop-filter:blur(14px);box-shadow:0 8px 30px #393c3210;position:absolute;left:50%;transform:translateX(-50%)}.main-nav button{border:0;background:transparent;padding:11px 24px;border-radius:25px;font-size:12px;color:#787e72;transition:background .2s}.main-nav button[aria-pressed=true]{background:#e4e8dd;color:#384b35}.info-button{border:1px solid #ffffffc9;border-radius:50%;width:38px;height:38px;background:#f9f8f1be;font:italic 18px Georgia,serif}.view-heading{position:fixed;left:44px;top:135px;pointer-events:none;z-index:2;max-width:390px}.eyebrow{font-size:8px;letter-spacing:2px;font-weight:600;color:#79806f}h1{font:400 clamp(25px,2.5vw,40px)/1.1 Georgia,serif;letter-spacing:-.8px;margin:10px 0 10px}.view-heading p{font-size:11px;color:#858a7d;margin:0}.camera-tools{position:fixed;right:30px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:7px;z-index:5}.camera-tools button{display:grid;place-items:center;border:1px solid #fffafa90;background:#f9f8f1d4;backdrop-filter:blur(8px);width:37px;height:37px;border-radius:50%;font-size:20px;box-shadow:0 3px 12px #252d1d08}.camera-tools svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}.selection-card{position:fixed;left:42px;bottom:91px;z-index:5;padding:19px 24px;background:#faf9f3e8;border:1px solid #ffffffbf;border-radius:7px;backdrop-filter:blur(16px);min-width:180px;box-shadow:0 8px 32px #28351f08}.selection-card>span{font-size:8px;letter-spacing:1.6px;color:#7e8877}.selection-card h2{font:400 25px Georgia,serif;margin:7px 0 15px}.selection-card #selection-value{font-size:25px;letter-spacing:-.6px}.selection-card small{font-size:9px;letter-spacing:0;color:#7b8475}.selection-card p{font-size:10px;margin:7px 0 0;color:#8a8e82}.explore-controls{position:fixed;bottom:78px;left:50%;transform:translateX(-50%);z-index:6;max-width:calc(100% - 550px);width:max-content;text-align:center}.floor-controls{display:flex;background:#fcfbf5e8;border:1px solid white;padding:5px;border-radius:30px;box-shadow:0 6px 30px #2f362a15;backdrop-filter:blur(12px);white-space:nowrap}.floor-controls button{border:0;background:transparent;padding:10px 17px;border-radius:25px;font-size:11px;color:#808779}.floor-controls button[aria-pressed=true]{background:#e0e7d9;color:#43573c}#unit-controls{display:flex;justify-content:center;gap:7px;margin-bottom:12px;white-space:nowrap}#unit-controls button{font-size:10px;background:#f9f8f0d9;border:1px solid #d8ded0;border-radius:20px;padding:8px 13px;box-shadow:0 4px 20px #313c2b08}#unit-controls button[aria-pressed=true]{background:#657b62;color:white;border-color:#657b62}.kitchen-control{position:fixed;right:34px;bottom:93px;background:#f8f7f0e8;border:1px solid white;padding:5px;border-radius:22px;z-index:6;font-size:10px;backdrop-filter:blur(12px)}.kitchen-control span{padding:0 9px;color:#888e80}.kitchen-control button{font-size:10px;padding:8px 12px;border-radius:20px;background:transparent;border:0}.kitchen-control button[aria-pressed=true]{background:#dfe6d7;color:#485c42}.scene-footer{position:fixed;bottom:22px;left:43px;right:35px;display:flex;justify-content:space-between;color:#838779;font-size:9px;pointer-events:none;letter-spacing:.2px;z-index:2}.version{font-size:8px;letter-spacing:2px}.orbit-hint{position:absolute;left:50%;transform:translateX(-50%);color:#989d90;font-size:9px}#loading{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);padding:20px 25px;background:#faf9f3;border-radius:8px;box-shadow:0 8px 40px #383a2420;color:#7d8376;z-index:20;font-size:12px}#loading span{display:inline-block;width:7px;height:7px;background:#70866c;border-radius:50%;margin-right:10px}#labels{position:absolute;inset:0;pointer-events:none;z-index:3}.zone-label{position:absolute;transform:translate(-50%,-50%);border:1px solid #fffef8ee;background:#fbfaf5e6;color:#44513f;border-radius:5px;padding:8px 12px;font-size:11px;white-space:nowrap;backdrop-filter:blur(5px);box-shadow:0 4px 15px #25381d10;pointer-events:auto;text-align:left;cursor:pointer}.zone-label small{display:block;font-size:9px;color:#89917e;margin-top:2px}.zone-label.room{padding:5px 9px;font-size:10px;pointer-events:none;background:#fcfbf3d4;border-color:#fffef7aa;box-shadow:none}.zone-label.core{color:#737c6e;font-size:9px;background:#eef0e8cc;pointer-events:none}.zone-label.conflict{color:#a45139;border-color:#c98468;background:#fff6e9ee}.zone-label.ghost{font-size:9px;background:#f5f5eed4;color:#949a8b}.label-line{position:absolute;height:1px;background:#929c83;opacity:.5;transform-origin:0 50%;z-index:-1}dialog{position:fixed;margin:0 0 0 auto;inset:0;width:440px;height:100dvh;max-width:100%;max-height:100dvh;padding:0;border:0;background:#f8f7f0;color:var(--ink);box-shadow:-20px 0 80px #27301c23;overflow-y:auto}dialog::backdrop{background:#303b293b;backdrop-filter:blur(4px)}.drawer-head{display:flex;justify-content:space-between;align-items:center;padding:34px 30px 20px;position:sticky;top:0;background:#f8f7f0;z-index:2}.drawer-head h2{font:28px Georgia,serif;margin:10px 0 0}.drawer-head button{border:0;background:transparent;font-size:28px;color:#818777;padding:5px}.drawer-body{padding:0 30px 30px}.intro-note{font-size:14px;line-height:1.65;color:#727b69}table{border-collapse:collapse;width:100%;font-size:11px;font-variant-numeric:tabular-nums;margin:25px 0}th{color:#9a9f91;font-weight:400;font-size:9px}th,td{padding:11px 0;border-bottom:1px solid #dfe3d6;text-align:right}th:first-child,td:first-child{text-align:left}td small{font-size:9px;color:#8b9380}.fine{font-size:10px;color:#8b9282;line-height:1.7}.drawer-choice{padding:20px 0 5px}.drawer-choice label{display:block;margin-bottom:8px;font-size:11px}.drawer-choice select{width:100%;padding:12px 8px;font-size:11px;border:1px solid #d3d9c9;border-radius:4px;background:#fffef8;color:#66705a}details{border-top:1px solid #dde1d4;padding:17px 0;font-size:11px}details p{color:#7d8672;font-size:11px;line-height:1.75}summary{cursor:pointer;list-style-position:outside;margin-left:10px}.source-links{display:flex;gap:16px;flex-wrap:wrap;padding:20px 0}.source-links a,a{color:#647959;font-size:10px}[hidden]{display:none!important}
@media(max-width:1000px){.view-heading{top:118px;max-width:260px}h1{font-size:29px}.brand{font-size:10px;letter-spacing:1.5px}.main-nav button{padding:10px 17px}.selection-card{left:25px;bottom:145px;padding:15px 18px;min-width:155px}.selection-card h2{font-size:22px}.explore-controls{max-width:calc(100% - 60px);bottom:66px}.kitchen-control{bottom:150px;right:24px}.camera-tools{right:22px}.scene-footer{left:25px}.view-heading{left:27px}}
@media(max-width:600px){header{height:83px;padding:0 20px}.brand .monogram{font-size:32px}.brand>span:last-child{font-size:9px;letter-spacing:1.6px}.brand small{font-size:6px;letter-spacing:1px}.main-nav{position:fixed;top:93px;left:50%;width:calc(100% - 40px);justify-content:space-around;padding:4px;max-width:390px}.main-nav button{padding:10px 18px;flex:1}.view-heading{left:24px;top:160px;max-width:240px}.eyebrow{font-size:7px;letter-spacing:1.7px}h1{font-size:27px;margin:6px 0}.view-heading p{font-size:9px}.camera-tools{right:13px;gap:6px;top:46%}.camera-tools button{width:32px;height:32px}.selection-card{left:20px;bottom:163px;padding:12px 15px;min-width:145px}.selection-card h2{font-size:19px;margin:5px 0 6px}.selection-card #selection-value{font-size:21px}.selection-card p{font-size:9px}.selection-card small{font-size:8px}.selection-card>span{font-size:7px}.floor-controls button{padding:10px 13px;font-size:10px}.explore-controls{bottom:58px;max-width:calc(100% - 24px)}#unit-controls{gap:4px;margin-bottom:9px}#unit-controls button{padding:8px 10px;font-size:9px}.kitchen-control{right:15px;bottom:174px;max-width:170px;padding:4px;font-size:9px;display:grid;grid-template-columns:1fr 1fr;gap:0}.kitchen-control span{grid-column:span 2;text-align:center;font-size:8px;padding:0 0 3px}.kitchen-control button{font-size:9px;padding:7px 8px}.scene-footer{bottom:19px;left:20px;right:20px;font-size:7px}.orbit-hint{display:none}.version{font-size:7px}.zone-label{font-size:9px;padding:6px 8px}.zone-label small{font-size:8px}.zone-label.room{font-size:8px;padding:4px 6px}.drawer-head{padding:26px 24px 17px}.drawer-body{padding:0 24px 25px}}
#enter-walk{margin-top:15px;width:100%;border:0;background:#637866;color:#fffef4;border-radius:22px;padding:11px 16px;font-size:11px;box-shadow:0 4px 16px #33463119}.walking header,.walking .view-heading,.walking .camera-tools,.walking .scene-footer,.walking #labels,.walking .selection-card,.walking .explore-controls{display:none!important}#walk-ui{position:fixed;inset:0;pointer-events:none;z-index:12}#walk-ui button,#walk-ui select{pointer-events:auto;color:#40513f;border:1px solid #fff9;background:#fbf9efed;backdrop-filter:blur(16px);box-shadow:0 4px 20px #22261112}.walk-top{position:absolute;left:30px;right:30px;top:25px;display:flex;align-items:center;gap:22px}.walk-top button{border-radius:25px;padding:12px 21px}.walk-top>div{padding:9px 15px;background:#fbf9efda;border-radius:6px;backdrop-filter:blur(12px)}.walk-top strong{font:22px Georgia,serif;display:block;line-height:1.2;margin-top:3px}.walk-top select{margin-left:auto;padding:12px 34px 12px 15px;border-radius:24px;font-size:11px}.walk-dpad{position:absolute;bottom:69px;left:32px;display:grid;grid-template-columns:repeat(3,43px);gap:5px}.walk-dpad button{height:43px;border-radius:50%;font-size:19px;touch-action:none;user-select:none}.walk-dpad button:active{background:#d7e0ce!important}.walk-destinations{position:absolute;left:50%;transform:translateX(-50%);bottom:66px;display:flex;gap:7px}.walk-destinations select{width:210px;border-radius:25px;padding:14px 15px;font-size:11px}.walk-destinations button{border-radius:25px;padding:12px 18px;font-size:11px}.walk-hint{position:absolute;bottom:22px;left:32px;right:30px;display:flex;justify-content:space-between;font-size:10px;color:#fffdf2;text-shadow:0 1px 5px #0009}.walking .kitchen-control{right:30px;bottom:76px;z-index:15}#walk-map{position:absolute;right:30px;bottom:140px;width:210px;height:210px;background:#faf8eae6;backdrop-filter:blur(12px);border:1px solid #fff9;border-radius:10px;box-shadow:0 8px 32px #22351b23}#walk-map svg{width:100%;height:185px}#walk-map span{display:block;text-align:center;font-size:9px;color:#777f6b}body.walking{background:#eee6d7}
@media(max-width:600px){#enter-walk{font-size:10px;margin-top:9px;padding:9px 12px}.selection-card{bottom:157px}.walk-top{top:17px;left:17px;right:17px;gap:8px;flex-wrap:wrap}.walk-top button{padding:10px 14px;font-size:11px}.walk-top>div{margin-left:auto;padding:8px 12px}.walk-top strong{font-size:18px;max-width:172px}.walk-top select{padding:9px 12px;margin-left:0;font-size:10px}.walk-dpad{bottom:77px;left:18px;grid-template-columns:repeat(3,38px);gap:5px}.walk-dpad button{height:38px;font-size:18px}.walk-destinations{bottom:21px;left:18px;right:18px;transform:none;justify-content:center}.walk-destinations select{width:235px;padding:11px 14px;font-size:10px}.walk-destinations button{padding:10px 15px;font-size:10px}.walk-hint{bottom:173px;left:20px;right:20px;display:block;font-size:8px}.walk-hint span{display:block;margin-top:4px}.walking .kitchen-control{right:17px;bottom:79px;max-width:170px}#walk-map{right:17px;bottom:166px;width:160px;height:166px}#walk-map svg{height:145px}#walk-map span{font-size:8px}}

.access-gate{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at 50% 30%,#f4f1e8,#e3e2d8);padding:24px;z-index:50}.access-card{width:min(100%,370px);text-align:center}.access-mark{font:italic 57px Georgia,serif;letter-spacing:-7px;padding-right:7px;color:#40513f}.access-card h1{font-size:34px;margin-top:22px}.access-copy{font-size:13px;color:#717a69;line-height:1.7;margin:18px 0 28px}.access-card form{text-align:left}.access-card label{font-size:11px;display:block;margin:0 0 8px 3px}.access-card input{box-sizing:border-box;width:100%;border:1px solid #c8cebf;background:#fbfaf5d9;color:#384b35;border-radius:8px;padding:14px;font-size:17px;outline-offset:3px}.access-card button{width:100%;padding:14px;margin-top:13px;border:0;border-radius:25px;background:#637866;color:#fffef4}.access-feedback{min-height:22px;font-size:12px;color:#7c6052;text-align:center;margin:13px 0}.access-note{font-size:10px;color:#89907f;margin-top:24px}


.balcony-allocation{pointer-events:auto;width:245px;margin-top:12px;border:0;padding:0;font-size:10px}.balcony-allocation summary{margin:0;list-style-position:inside;color:#63735d;padding:5px 0}.balcony-allocation[open]{background:#faf8f0ed;border:1px solid #fffdf6d9;border-radius:12px;padding:10px 14px;backdrop-filter:blur(12px)}.balcony-allocation svg{display:block;width:165px;height:185px;margin:3px auto}.balcony-allocation p{display:flex;flex-wrap:wrap;gap:5px 12px;font-size:9px}.balcony-allocation p span::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--unit-color);margin-right:4px}.balcony-allocation small{display:block;margin-top:8px;font-size:8px;line-height:1.5;color:#858a7d}@media(max-width:600px){.balcony-allocation{width:220px}.balcony-allocation svg{height:135px;width:125px}}

@media(max-width:600px){#scene-status{max-width:230px}}
