/* The model shares the viewport of the final story chapter. No extra section. */
.building-experience{position:fixed;inset:0;height:100svh;z-index:0;background:#101010;color:#eee;visibility:hidden;pointer-events:none}
.building-experience.is-visible{visibility:visible}
.building-frame,.building-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.building-frame{opacity:0;pointer-events:none;transition:none}
.is-ready.has-settled-points .building-frame,.is-interactive .building-frame{opacity:1}
#visual{z-index:1}
#recit{z-index:2}
/* Settled points are transparent; keep their canvas for vapor around the model. */
.building-in-story .scroll-cue{visibility:hidden}
.building-loading{position:absolute;left:7vw;bottom:18svh;max-width:min(480px,86vw);padding:16px 22px;background:#101010e8;font-size:13px;pointer-events:auto}
.building-status{margin:0 0 8px}
.direct-visit{text-decoration:underline;display:inline-flex;min-height:44px;align-items:center;font-size:12px}
.is-ready:not(.has-error) .building-loading{display:none}
.has-error .building-loading{z-index:3}
.return-story{position:absolute;z-index:3;left:28px;top:24px;min-height:44px;padding:11px 18px;border:1px solid #ffffff35;border-radius:28px;background:#171b1bed;color:#eee;font:400 12px Outfit,Arial,sans-serif;cursor:pointer}
.return-story[hidden]{display:none}
.visiting-building{overflow:hidden}
.building-experience.is-interactive{height:100%;z-index:30;pointer-events:auto;opacity:1!important}
.is-interactive .building-frame{pointer-events:auto}
.visiting-building .masthead,.visiting-building .reading-tools{visibility:hidden}
@media(max-width:700px){.return-story{top:16px;left:18px;font-size:11px}.building-loading{bottom:19svh;left:7vw;font-size:12px}}
@media(prefers-reduced-motion:reduce){.building-frame{transition:none}}

.explore-cue{color:#ccc;font-size:12px;margin:16px 0 0}
.visiting-building #visual,.visiting-building #recit,.visiting-building .visual-caption,.visiting-building .scroll-cue{visibility:hidden}

.building-experience{background:#171514}.return-story{background:#241e20;color:#f3eee7;border-color:#a3988c70;border-radius:4px;font-size:13px;min-height:44px}
.building-loading{left:50%;top:48%;bottom:auto;transform:translate(-50%,-50%);width:min(420px,86vw);max-width:86vw;padding:22px;background:#f3eee7;color:#34202c;border-radius:8px;z-index:5;box-shadow:0 12px 60px #0005}.building-status{font-size:18px;font-family:Georgia,serif;line-height:1.4}.building-loading .direct-visit{font-size:14px}.cancel-loading{display:none;min-height:44px;padding:8px 12px;background:none;border:1px solid #773b5b50;border-radius:4px;color:inherit;font:inherit;cursor:pointer}.is-pending{z-index:40!important;background:#171514e8;pointer-events:auto}.is-pending .cancel-loading{display:block}.is-pending .building-loading{display:block}.building-experience:not(.is-pending):not(.has-error) .building-loading{display:none}.building-experience.has-error:not(.is-pending) .building-loading{top:50%;left:72%;width:34vw;max-width:420px;font-size:14px}.visit-onboarding{position:absolute;z-index:4;left:50%;top:88px;transform:translateX(-50%);max-width:520px;width:86%;padding:16px 20px;background:#f3eee7;color:#34202c;border-radius:4px;font:15px/1.5 Outfit,Arial,sans-serif;box-shadow:0 8px 40px #0004;pointer-events:none}
@media(max-width:800px){.building-experience.has-error:not(.is-pending) .building-loading{left:50%;top:40%;width:84vw;max-width:420px}.return-story{left:16px;top:14px;font-size:12px}.visit-onboarding{top:76px;font-size:14px}.is-pending .building-loading{top:42%}}
