.building-story{height:240vh;position:relative;background:#dce2d7;color:#263c30;overflow:visible!important}.building-stage{height:100svh;min-height:650px;position:sticky;top:0;overflow:hidden;background:radial-gradient(ellipse at 55% 40%,#f4f4ec,#cbd5c5)}.building-intro{position:absolute;left:5%;top:5%;z-index:2;pointer-events:none}.building-intro .mono{font-size:9px;color:#53694e}.building-intro h2{font-size:clamp(38px,4.8vw,78px);margin:16px 0 12px;line-height:.98}.building-intro p{font-size:12px;color:#53694e;max-width:300px}.building-canvas{position:absolute;inset:0;width:100%;height:100%;touch-action:pan-y;cursor:grab;outline-offset:-5px!important}.building-canvas:active{cursor:grabbing}.building-canvas.pan-mode{cursor:move}.building-controls{position:absolute;right:4%;top:5%;display:flex;gap:5px;z-index:3;flex-wrap:wrap;max-width:270px;justify-content:flex-end}.building-controls button{background:#f4f4e9d9;border:1px solid #82937855;border-radius:5px;padding:10px 12px;color:#2c432f;font-size:12px}.building-controls button[aria-pressed=true]{background:#304b35;color:#fff}.building-controls button:hover{background:#afc3a1}.building-details{position:absolute;bottom:7%;left:5%;right:5%;display:flex;justify-content:space-between;gap:24px;align-items:flex-end;z-index:3;pointer-events:none}.building-caption{background:#f5f4e9ed;backdrop-filter:blur(10px);padding:23px;border:1px solid #81957640;border-radius:8px;width:330px;pointer-events:auto}.building-caption .mono{font-size:9px;color:#637357}.building-caption h3{font:29px/1.08 Georgia,serif;margin:10px 0}.building-caption p{font-size:12px;color:#54654b;margin-bottom:16px;line-height:1.65}.building-parts{display:flex;gap:7px;flex-wrap:wrap}.building-parts button{border:1px solid #a1af94;border-radius:20px;padding:7px 11px;font-size:10px}.building-parts button[aria-pressed=true]{background:#2c432f;color:#fff;border-color:#2c432f}.building-instructions{text-align:right;color:#43593f;font-size:9px;line-height:1.9;max-width:240px}.building-progress{height:2px;width:100%;position:absolute;bottom:0;background:#b3c0a8}.building-progress span{display:block;background:#395c39;width:0;height:100%}.model-marker{position:absolute;left:0;top:0;z-index:2;border:1px solid #fff;background:#304b35;color:#fff;width:32px;height:32px;border-radius:50%;font:10px var(--mono);box-shadow:0 0 0 6px #304b3520;transform:translate(-50%,-50%)}.model-marker[aria-pressed=true]{background:#a0c27b;color:#233421;box-shadow:0 0 0 9px #96b67535}.building-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.35}.building-stage[data-ready=true] .building-fallback{display:none}.building-story.model-unavailable{height:100svh}.building-story.model-unavailable .building-controls,.building-story.model-unavailable .model-marker{display:none}.building-story.model-unavailable .building-stage{position:relative}.building-story.manual-mode{height:110svh}.motion-paused .building-story{height:110svh}.building-source{font-size:8px!important;opacity:.85;margin-top:10px}.building-stage button:focus-visible{outline:2px solid #314f31;outline-offset:4px}
@media(max-width:700px){.building-story{height:200vh}.building-stage{min-height:740px}.building-intro{left:22px;top:30px}.building-intro h2{font-size:38px}.building-intro p{max-width:210px;font-size:10px}.building-controls{right:16px;top:30px;width:100px;gap:4px}.building-controls button{font-size:10px;padding:8px}.building-details{bottom:28px;left:18px;right:18px;display:block}.building-caption{width:100%;padding:16px}.building-caption h3{font-size:23px;margin:7px 0}.building-caption p{font-size:11px;margin-bottom:10px}.building-instructions{text-align:left;max-width:none;font-size:7px;margin-top:12px}.building-instructions br{display:none}.building-source{font-size:7px!important}.model-marker{width:27px;height:27px;font-size:8px}}
@media(prefers-reduced-motion:reduce){.building-story{height:110svh}}

/* Project campus */
.building-intro h2{font-size:clamp(34px,4vw,64px)}.building-intro{top:4%}.building-caption{width:370px;padding:18px}.building-caption h3{font-size:25px}.model-marker{width:42px;height:42px;font-size:12px}.building-canvas{touch-action:pan-y}.building-canvas.pan-mode{touch-action:none}.building-source{max-width:260px}.building-controls button{min-width:44px;min-height:44px}
@media(max-width:700px){.building-intro{top:22px;left:18px}.building-intro h2{font-size:32px}.building-intro .mono{font-size:7px}.building-intro p{font-size:10px;max-width:170px}.building-caption{width:100%;padding:12px}.building-caption h3{font-size:21px}.building-caption p{font-size:10px;margin-bottom:8px}.building-details{bottom:16px}.building-controls{top:20px;width:94px}.building-controls button{padding:6px;font-size:10px}.building-parts button{padding:8px;font-size:9px}.model-marker{width:36px;height:36px;font-size:10px}}

/* Preserve pointer gestures instead of allowing the browser to cancel drags. */
.building-canvas,.building-canvas.pan-mode{touch-action:none;user-select:none;-webkit-user-select:none}.building-controls{max-width:330px}.building-caption{width:390px}.building-parts{gap:6px}.building-parts button{min-height:34px}
@media(max-width:700px){.building-caption{width:100%}.building-controls{width:94px}.building-controls button[data-camera=rotate],.building-controls button[data-camera=pan]{width:94px}.building-intro .mono{max-width:185px;display:block}.building-parts button{min-height:32px}.building-instructions{line-height:1.6}}
