:root{--paper:#f8f7f2;--ink:#292e28;--muted:#777c70;--line:#dedfd5;--olive:#65734b;--sage:#e8eddd}*{box-sizing:border-box}html,body{background:var(--paper);width:100%;min-height:100%;color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.45}button,a,[role=button],canvas{outline-offset:5px}:focus-visible{outline:2px solid var(--olive)}button{border:0}a{color:inherit;text-decoration:none}button{transition:background .18s,color .18s,box-shadow .18s}.explorer-shell{height:100dvh;min-height:600px;overflow:hidden}.site-header{border-bottom:1px solid var(--line);z-index:30;background:var(--paper);justify-content:space-between;align-items:center;height:88px;padding:0 34px;display:flex;position:relative}.brand{letter-spacing:.13em;align-items:center;gap:14px;font-size:13px;font-weight:600;line-height:1.5;display:flex}.brand-secondary{letter-spacing:.26em;color:var(--muted);font-size:9px;font-weight:400;display:block}.brand-symbol{border:1px solid #414a3d;width:29px;height:29px;display:block;position:relative}.brand-symbol i{border:1px solid #414a3d;display:block;position:absolute}.brand-symbol i:first-child{inset:5px 12px 5px 5px}.brand-symbol i:nth-child(2){inset:5px 5px 15px 15px}.brand-symbol i:nth-child(3){inset:16px 5px 5px 15px}.mode-switch{background:#eaece3;border-radius:50px;gap:3px;padding:4px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mode-switch button{color:#73786c;background:0 0;border-radius:30px;min-width:114px;height:37px;padding:0 22px;font-size:12px}.mode-switch button.selected{color:var(--ink);background:#fffefa;box-shadow:0 2px 7px #242e1c10}.mode-switch button:hover:not(.selected){color:var(--ink)}.header-detail{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.header-detail span:first-child{letter-spacing:.08em;font-size:12px}.header-detail span:last-child{color:var(--muted);font-size:10px}.explorer-main{grid-template-columns:276px minmax(0,1fr);height:calc(100% - 88px);display:grid}.sidebar{border-right:1px solid var(--line);z-index:5;background:var(--paper);flex-direction:column;padding:39px 27px 23px;display:flex;position:relative;overflow-y:auto}.eyebrow,.section-label{letter-spacing:.14em;color:var(--muted);font-size:9px;font-weight:500;line-height:1.5}.side-intro h1{letter-spacing:-.055em;margin:22px 0 18px;font-family:Georgia,Times New Roman,serif;font-size:39px;font-weight:400;line-height:1.08}.side-intro p{color:var(--muted);max-width:215px;margin:0;font-size:12px;line-height:1.8}.exterior-menu{margin-top:39px}.angle-grid{grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;display:grid}.angle-grid button{border:1px solid var(--line);text-align:left;background:0 0;border-radius:3px;height:78px;padding:13px 12px;font-size:12px;position:relative}.angle-grid button>span:first-child{color:#919789;margin-bottom:10px;font-size:9px;display:block}.angle-grid button.active{background:#edf0e6;border-color:#788769}.angle-grid button:hover{background:var(--sage)}.angle-arrow{color:#89927e;font-size:14px;position:absolute;bottom:11px;right:12px}.enter-card{border-top:1px solid var(--line);margin-top:41px;padding-top:23px}.enter-card p{color:#6b7165;margin:12px 0 18px;font-size:12px;line-height:1.7}.primary-button{color:#fffef8;text-align:left;background:#3e4b35;border-radius:3px;justify-content:space-between;align-items:center;gap:18px;width:100%;padding:15px 17px;font-size:12px;display:flex}.primary-button:hover{background:#526343}.primary-button>span{font-size:17px;line-height:1}.side-footer{color:#858a7f;white-space:nowrap;align-items:center;gap:6px;margin-top:auto;padding-top:36px;font-size:9px;display:flex}.live-dot{background:#819268;border-radius:50%;flex:none;width:5px;height:5px;display:inline-block}.footer-divider{color:#bdc2b4;margin:0 2px}.interior .sidebar{padding-top:32px}.interior .side-intro h1{margin:19px 0 13px;font-size:33px}.interior .side-intro p{min-height:66px}.locations-heading{justify-content:space-between;align-items:center;margin-top:28px;display:flex}.location-count{color:var(--muted);letter-spacing:.08em;font-size:9px}.location-list{flex-direction:column;gap:3px;margin-top:11px;display:flex}.location-list button{text-align:left;background:0 0;border-radius:3px;align-items:center;gap:13px;width:100%;padding:13px 12px;font-size:12px;display:flex}.location-number{color:#8c9483;font-variant-numeric:tabular-nums;font-size:9px}.location-arrow{opacity:0;margin-left:auto}.location-list button.active{color:#35432b;background:#e7ecdd}.location-list button.active .location-arrow{opacity:1}.location-list button:hover{background:#eff0e9}.interior-note{border-top:1px solid var(--line);color:#8b9282;gap:10px;margin-top:19px;padding-top:22px;display:flex}.interior-note p{margin:0;font-size:10px;line-height:1.7}.note-mark{color:#7f8c6d;font-size:20px;line-height:1.3}.interior .side-footer{padding-top:22px}.stage{isolation:isolate;background:#e8e7e1;min-width:0;position:relative;overflow:hidden}.scene-mount{position:absolute;inset:0}.scene-mount canvas{touch-action:none;cursor:grab;width:100%;height:100%;display:block}.scene-mount canvas:active{cursor:grabbing}.scene-mount canvas:focus-visible{outline-offset:-5px;outline:2px solid #72805c}.view-topbar{pointer-events:none;z-index:3;justify-content:space-between;align-items:center;display:flex;position:absolute;top:25px;left:27px;right:27px}.view-badge{letter-spacing:.1em;color:#58604e;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffef9cb;border-radius:30px;align-items:center;gap:8px;padding:11px 13px;font-size:9px;display:flex}.view-actions{pointer-events:auto;align-items:center;gap:9px;display:flex}.floor-switch{pointer-events:auto;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffef9eb;border-radius:30px;gap:3px;padding:4px;display:flex}.floor-switch button{color:#727a66;white-space:nowrap;background:0 0;border-radius:24px;padding:10px 13px;font-size:11px}.floor-switch button.selected{color:#fffef9;background:#435238}.floor-switch button:hover:not(.selected){background:var(--sage)}.stair-transfer{color:#435238;z-index:3;background:#fffef9eb;border-radius:4px;align-items:center;gap:16px;padding:12px 15px;font-size:11px;display:flex;position:absolute;top:84px;left:27px}.stair-transfer:hover{background:#fffef9}.help-button{color:#727a66;background:#fffef9d9;border-radius:50%;width:34px;height:34px;font-family:Georgia,serif;font-size:17px}.help-button:hover,.quiet-button:hover{background:#fffef9}.quiet-button{color:#667057;background:#fffef9cb;border-radius:20px;padding:10px 15px;font-size:10px}.quiet-button.active{color:#39482e;background:#f9f9ed}.view-caption{pointer-events:none;flex-direction:column;gap:9px;display:flex;position:absolute;bottom:83px;left:29px}.view-caption .eyebrow{color:#737b6b;font-size:8px}.caption-title{color:#3e4835;letter-spacing:-.025em;font-family:Georgia,serif;font-size:24px}.viewer-controls{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:3;background:#fffef9ed;border-radius:32px;align-items:center;height:49px;padding:4px 7px;display:flex;position:absolute;bottom:43px;left:50%;transform:translate(-50%);box-shadow:0 3px 16px #35442b0a}.viewer-controls button{background:0 0;border-radius:24px;min-width:39px;height:40px;font-size:20px}.viewer-controls button:hover{background:#ecefe3}.viewer-controls .reset-button{white-space:nowrap;align-items:center;gap:8px;padding:0 16px;font-size:10px;display:flex}.reset-button span{color:#6b775c;font-size:20px}.control-divider{border-left:1px solid #dfe2d6;height:13px}.gesture-hint{color:#717969;white-space:nowrap;pointer-events:none;margin:0;font-size:9px;position:absolute;bottom:17px;left:50%;transform:translate(-50%)}.model-note{color:#92998b;pointer-events:none;font-size:8px;position:absolute;bottom:17px;right:22px}.map-card{-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);z-index:4;background:#fafbf4f0;border:1px solid #ffffffb8;border-radius:6px;width:156px;padding:13px 13px 11px;position:absolute;bottom:65px;right:24px;box-shadow:0 5px 25px #34462308}.map-heading{letter-spacing:.09em;color:#7a836f;justify-content:space-between;align-items:center;font-size:8px;display:flex}.map-heading button{color:#939b87;background:0 0;width:18px;height:18px;padding:0;font-size:17px}.floor-plan{width:100%;height:250px;margin-top:5px;display:block;overflow:visible}.plan-point{cursor:pointer;outline-offset:1px}.plan-dot{fill:#e4e9d9;stroke:#8c9778;stroke-width:.035px;transition:fill .15s}.plan-point text{fill:#687653;pointer-events:none;font-family:Arial,sans-serif}.plan-point.active .plan-dot{fill:#4e613c;stroke:#4e613c}.plan-point.active text{fill:#fff}.plan-point:hover .plan-dot{fill:#a9b990}.map-key{color:#8a927f;justify-content:center;align-items:center;gap:5px;font-size:8px;display:flex}.map-key span{background:#5d7048;border-radius:50%;width:4px;height:4px}.hotspots{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hotspot{pointer-events:auto;color:#3c4a32;background:0 0;flex-direction:column;align-items:center;gap:8px;padding:8px;position:absolute;transform:translate(-50%,-50%)}.hotspot-ring{background:#fffdf2c9;border:2px solid #fffffff0;border-radius:50%;outline:1px solid #5a6c4040;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;transition:transform .2s;display:flex;box-shadow:0 0 0 5px #ffffff40}.hotspot:hover .hotspot-ring{background:#fff;transform:scale(1.13)}.hotspot-label{white-space:nowrap;background:#fffef9f2;border-radius:3px;gap:14px;padding:8px 10px;font-size:10px;display:flex;box-shadow:0 2px 8px #27311d10}.hotspot-label>span{color:#8c977a}.view-fade{opacity:0;pointer-events:none;background:#e8e7e1;transition:opacity .15s;position:absolute;inset:0}.loading-screen{z-index:6;background:#e8e7e1;place-items:center;display:grid;position:absolute;inset:0}.loading-poster{object-fit:cover;opacity:.15;filter:blur(7px);width:100%;height:100%;position:absolute}.loading-content{width:min(300px,100% - 48px);position:relative}.loading-content h2{letter-spacing:-.035em;margin:20px 0 28px;font:29px Georgia,serif}.loading-track{background:#cdd2c3;height:2px}.loading-track>span{background:#61744a;height:100%;transition:width .3s;display:block}.loading-content p{color:#717d65;font-size:10px;line-height:1.7}.loading-content p span{float:right}.loading-content .primary-button{margin-top:22px}.help-dialog{background:var(--paper);width:min(440px,100% - 32px);color:var(--ink);border:1px solid #e0e3d8;border-radius:8px;padding:37px;box-shadow:0 20px 100px #1a241c30}.help-dialog::backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#26302169}.dialog-close{color:#8c9382;background:0 0;font-size:22px;position:absolute;top:14px;right:14px}.help-dialog h2{letter-spacing:-.04em;margin:16px 0 28px;font:32px Georgia,serif}.help-dialog dt{margin-top:20px;font-size:12px;font-weight:600}.help-dialog dd{color:var(--muted);margin:7px 0 0;font-size:12px;line-height:1.8}.help-footnote{color:#92988a;border-top:1px solid var(--line);margin:27px 0;padding-top:16px;font-size:10px;line-height:1.7}@media (min-width:1500px){.explorer-main{grid-template-columns:310px minmax(0,1fr)}.sidebar{padding-left:34px;padding-right:34px}.side-intro h1{font-size:44px}.side-intro p{max-width:240px}}@media (max-height:800px) and (min-width:761px){.sidebar{padding-top:26px}.side-intro h1{margin-top:15px;font-size:33px}.exterior-menu{margin-top:25px}.enter-card{margin-top:26px}.interior .side-intro h1{margin-top:12px;font-size:29px}.interior .side-intro p{min-height:0;font-size:11px}.locations-heading{margin-top:21px}.location-list button{padding-top:10px;padding-bottom:10px}.interior-note{display:none}.side-footer{padding-top:22px}}@media (max-width:1100px){.explorer-main{grid-template-columns:240px minmax(0,1fr)}.sidebar{padding-left:21px;padding-right:21px}.model-note{display:none}.view-caption{bottom:120px}.map-card{width:130px;padding:10px;right:19px}.floor-plan{height:205px}}@media (max-width:760px){.explorer-shell{min-height:570px}.site-header{height:75px;padding:0 19px}.brand{letter-spacing:.1em;gap:10px;font-size:10px}.brand-secondary{letter-spacing:.22em;font-size:7px}.brand-symbol{width:26px;height:26px}.mode-switch{padding:3px;position:static;transform:none}.mode-switch button{min-width:77px;height:33px;padding:0 13px;font-size:11px}.header-detail{display:none}.explorer-main{height:calc(100% - 75px);display:block;position:relative}.stage{height:calc(100% - 132px)}.sidebar,.interior .sidebar{border-right:0;border-top:1px solid var(--line);height:132px;padding:18px 20px;position:absolute;bottom:0;left:0;right:0;overflow:hidden}.side-intro,.exterior-menu,.side-footer,.interior-note{display:none}.enter-card{border:0;grid-template-columns:1fr 138px;align-items:center;gap:8px 18px;height:100%;margin:0;padding:0;display:grid}.enter-card .section-label{grid-column:1;align-self:end;font-size:8px}.enter-card p{grid-column:1;align-self:start;margin:0;font-size:11px}.enter-card .primary-button{grid-area:1/2/3;padding:16px}.locations-heading{margin:0 0 14px}.section-label{font-size:8px}.location-list{scrollbar-width:none;flex-direction:row;gap:7px;margin:0 -20px;padding:0 20px 10px;overflow-x:auto}.location-list::-webkit-scrollbar{display:none}.location-list button{white-space:nowrap;border:1px solid var(--line);flex:none;gap:9px;width:auto;padding:14px 15px;font-size:11px}.location-list button.active{border-color:#aebba0}.location-arrow{display:none}.view-topbar{top:18px;left:17px;right:17px}.floor-switch{gap:1px;padding:3px}.floor-switch button{padding:10px;font-size:9px}.stair-transfer{font-size:10px;top:69px;left:17px}.view-badge{padding:10px 11px;font-size:8px}.view-caption{gap:7px;bottom:102px;left:20px}.view-caption .eyebrow{font-size:7px}.caption-title{font-size:21px}.viewer-controls{height:44px;bottom:35px}.viewer-controls button{min-width:35px;height:36px}.gesture-hint{font-size:8px;bottom:13px}.map-card{width:107px;padding:9px 7px;top:65px;bottom:auto;right:14px}.floor-plan{height:164px}.map-heading{letter-spacing:.04em;font-size:6px}.map-key{font-size:6px}.quiet-button{padding:10px 12px;font-size:9px}.hotspot-label{padding:7px 9px;font-size:9px}.hotspot-ring{width:29px;height:29px;font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
