@font-face{font-family:Portfolio Standard;src:url('/fonts/gt-standard-l-medium.woff2') format('woff2');font-display:swap}
:root{font-family:Portfolio Standard,Arial,sans-serif;color:#080808;background:#fff;color-scheme:light;--ease:cubic-bezier(.22,1,.36,1)}
*{box-sizing:border-box}body{margin:0}button,summary{font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}button{border:0;color:inherit;min-height:44px;border-radius:12px;transition:background-color 180ms var(--ease),transform 160ms var(--ease)}button:active:not(:disabled){transform:scale(.97)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,summary:focus-visible,canvas:focus-visible{outline:2px solid #080808;outline-offset:3px}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
#experience{height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}.header{padding:12px 16px;flex-shrink:0;display:flex;justify-content:center;background:#fff}.wordmark,.edition,.eyebrow,.study-note,#dimensions,#plan{display:none}.models{display:flex;gap:4px;background:#f5f5f7;padding:4px;border-radius:12px;width:min(100%,420px)}.models button{flex:1;background:transparent;padding:8px 12px;font-size:14px;white-space:nowrap}.models button span{display:block;color:#858585;font-size:11px;margin-top:2px}.models button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #0000000a}
.stage{position:relative;flex:1;min-height:0;overflow:hidden;isolation:isolate;background:#f5f5f7;border-radius:12px}#viewport{display:block;width:100%;height:100%;touch-action:none;cursor:grab;outline-offset:-4px}#viewport:active{cursor:grabbing}.stage-caption{position:absolute;top:16px;left:16px;display:flex;align-items:center;gap:8px;padding:8px 12px;background:#ffffffeb;border-radius:12px;pointer-events:none;font-size:11px}.view-dot{width:3px;height:3px;background:#858585;border-radius:50%}.tools{position:absolute;right:12px;bottom:12px;display:flex;gap:4px}.tools button{width:44px;height:44px;background:#fffffff2;font-size:24px}.tools svg{width:18px;height:18px}body[data-mode=interior] #zoom-in,body[data-mode=interior] #zoom-out{display:none}.loading{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f5f5f7;text-align:center;padding:20px}.loading-poster{width:min(90%,600px);height:auto;max-height:55%;object-fit:contain}.loading p{font-size:15px;margin:20px 0 0}.loading .load-detail{font-size:12px;color:#858585;margin-top:8px}.loading button{margin-top:20px}#view-fade{position:absolute;inset:0;z-index:4;pointer-events:none;background:#f5f5f7;opacity:0;transition:opacity 160ms var(--ease)}#view-fade.active{opacity:1}
.explore-bar{flex-shrink:0;padding:12px 16px;height:144px;background:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:44px 44px 16px;gap:8px 12px;align-items:center}.model-info{grid-column:1;grid-row:1}.model-info h1{font-size:18px;font-weight:500;letter-spacing:-.03em;margin:0;white-space:nowrap}#model-name{color:#858585}.interaction{display:contents}#hint{grid-column:1/-1;grid-row:2;color:#858585;font-size:11px;margin:0;line-height:1.4;text-align:center}body[data-mode=interior] #hint{grid-row:3}.actions{grid-column:2;grid-row:1;display:flex}.primary,.secondary{padding:0 16px;min-height:44px;display:flex;align-items:center;justify-content:center;gap:12px;font-size:14px}.primary{background:#080808;color:#fff}.secondary{background:#fff;border:1px solid #ddd}.rooms{grid-column:1/-1;grid-row:2;justify-self:center;width:100%;max-width:520px;padding:3px;background:#f5f5f7;border-radius:12px;display:flex;gap:3px}.rooms button{flex:1;min-width:0;min-height:44px;background:transparent;text-align:center;padding:8px;font-size:13px}.rooms button[aria-pressed=true]{background:#fff;box-shadow:0 1px 4px #0000000a}.rooms button[data-travelling=true]{background:#e8e8ea}
#hotspots{position:absolute;inset:0;pointer-events:none;z-index:2}.hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;background:#fffffff2;box-shadow:0 2px 12px #0002;padding:0 12px;min-height:44px;font-size:12px;white-space:nowrap}.hotspot:before{content:'↗';margin-right:7px}.hotspot:active:not(:disabled){transform:translate(-50%,-50%) scale(.97)}#scene-retry{position:absolute;left:12px;bottom:12px;z-index:3;font-size:11px}
@media(max-width:700px){.model-info h1{font-size:15px}.primary{min-width:112px}.stage-caption{font-size:10px;top:12px;left:12px}}
@media(max-height:480px) and (orientation:landscape){.header{padding:4px 12px}.models button span{display:none}.explore-bar{height:66px;padding:8px 12px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:44px;gap:12px}.model-info{grid-column:1}.actions{grid-column:3}.rooms{grid-column:2;grid-row:1}.rooms button{font-size:12px;padding:6px}#hint{display:none}.stage-caption{top:8px}.models{max-width:320px}}
@media(hover:hover) and (pointer:fine){.models button:hover,.rooms button:hover,.tools button:hover{background:#eee}.primary:hover{background:#333}.hotspot:hover{background:#fff}}
@media(prefers-reduced-motion:reduce){button,#view-fade{transition:none}button:active:not(:disabled){transform:none}.hotspot:active:not(:disabled){transform:translate(-50%,-50%)}}
