/* 3D building scene (homepage story) */
.stage canvas.bms3d{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity 1.4s ease}
.stage.has-3d canvas.bms3d{opacity:1}
.stage.has-3d canvas.tray,.stage.has-3d .bp{display:none}
.stage.has-3d{background:#070b08}
.oc3d-label{position:absolute;left:0;top:0;z-index:3;pointer-events:none;display:flex;align-items:center;gap:10px;opacity:0;transition:opacity .45s ease;will-change:transform}
.oc3d-label.on{opacity:1}
.oc3d-label i{width:12px;height:12px;margin:-6px 0 0 -6px;border-radius:50%;border:2px solid var(--c,#aac288);box-shadow:0 0 14px var(--c,#aac288);flex:none}
.oc3d-label span{position:relative;top:-28px;padding:7px 12px;border:1px solid color-mix(in srgb,var(--c,#aac288) 55%,transparent);border-radius:999px;background:rgba(6,10,7,.72);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);font:500 11px/1 var(--f-mono,ui-monospace,monospace);letter-spacing:.1em;text-transform:uppercase;color:#eef3ec;white-space:nowrap}
.oc3d-label span::before{content:"";position:absolute;left:-14px;top:50%;width:14px;height:1px;background:var(--c,#aac288);transform:rotate(55deg);transform-origin:right center}
.oc3d-label.flip{flex-direction:row-reverse;translate:-100% 0}
.oc3d-label.flip i{margin:-6px -6px 0 0}
.oc3d-label.flip span::before{left:auto;right:-14px;transform:rotate(-55deg);transform-origin:left center}
@media (max-width:899px){.oc3d-label span{font-size:9.5px;padding:6px 10px}}
