:root{--prism-primary:#3499cc;--prism-bright:#00d4ff;--prism-accent:#6c5ce7;--prism-ink:#0a1428;--prism-neutral:#7086a0;--prism-surface:#eef3fb;--font-display:"Syne", sans-serif;--font-body:"Instrument Sans", sans-serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{background:var(--prism-ink);width:100%;min-height:100%;color:var(--prism-surface);font-family:var(--font-body);margin:0}body{overflow-x:hidden}.building{background:var(--prism-ink);width:100%;position:relative}.floor-nav{z-index:40;pointer-events:auto;flex-direction:column;gap:.55rem;display:flex;position:fixed;top:50%;right:clamp(.75rem,2vw,1.5rem);transform:translateY(-50%)}.floor-nav button{width:2.25rem;height:2.25rem;color:var(--prism-neutral);font-family:var(--font-display);cursor:pointer;background:#0a1428b8;border:1px solid #00d4ff47;border-radius:2px;font-size:.85rem;font-weight:700;transition:color .2s,border-color .2s,background .2s}.floor-nav button:hover,.floor-nav button.is-active{color:var(--prism-ink);background:var(--prism-bright);border-color:var(--prism-bright)}.floor{width:100%;min-height:100dvh;position:relative}.floor__pin{height:100dvh;position:sticky;top:0;overflow:hidden}.floor__canvas{z-index:1;background:var(--prism-ink);position:absolute;inset:0}.floor__canvas canvas{display:block;width:100%!important;height:100%!important}.floor__overlay{z-index:5;pointer-events:none;background:linear-gradient(#0000 42%,#0a14282e 66%,#0a1428c7 100%);flex-direction:column;justify-content:flex-end;padding:clamp(1.25rem,4vw,3rem);display:flex;position:absolute;inset:0}.floor__badge{letter-spacing:.14em;text-transform:uppercase;color:var(--prism-bright);align-items:center;gap:.55rem;margin-bottom:.75rem;font-size:.75rem;font-weight:600;display:inline-flex}.floor__badge img{width:1.35rem;height:1.35rem;display:block}.floor__title{font-family:var(--font-display);letter-spacing:-.03em;max-width:12ch;color:var(--prism-surface);margin:0 0 .55rem;font-size:clamp(2.2rem,6vw,4.4rem);font-weight:800;line-height:.95}.floor__line{max-width:34ch;color:var(--prism-neutral);margin:0 0 1.1rem;font-size:clamp(.95rem,1.5vw,1.1rem);line-height:1.45}.floor__actions{pointer-events:auto;flex-wrap:wrap;gap:.65rem;display:flex}.floor__actions a,.floor__actions button{font-family:var(--font-body);cursor:pointer;border:1px solid #0000;border-radius:2px;justify-content:center;align-items:center;padding:.65rem 1.2rem;font-size:.88rem;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s,color .2s;display:inline-flex}.btn-primary{background:var(--prism-bright);color:var(--prism-ink);border-color:var(--prism-bright)}.btn-primary:hover{background:#33dcff}.btn-secondary{color:var(--prism-surface);background:0 0;border-color:#eef3fb47}.btn-secondary:hover{border-color:var(--prism-primary);color:var(--prism-bright)}.browser-focus{z-index:12;pointer-events:auto;background:#0c121c;border:1px solid #00d4ff59;border-radius:8px;flex-direction:column;display:flex;position:absolute;inset:8% 10% 14%;overflow:hidden;box-shadow:0 24px 80px #0000008c}.browser-focus__chrome{background:#121a28;border-bottom:1px solid #7086a040;align-items:center;gap:.75rem;padding:.55rem .75rem;display:flex}.browser-focus__dots{gap:.35rem;display:flex}.browser-focus__dots span{background:#3a4658;border-radius:50%;width:.55rem;height:.55rem}.browser-focus__dots span:first-child{background:#ff5f57}.browser-focus__dots span:nth-child(2){background:#febc2e}.browser-focus__dots span:nth-child(3){background:#28c840}.browser-focus__url{color:var(--prism-neutral);text-overflow:ellipsis;white-space:nowrap;background:#0a1428;border-radius:4px;flex:1;padding:.35rem .7rem;font-size:.78rem;overflow:hidden}.browser-focus__close{color:var(--prism-bright);cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:600}.browser-focus iframe{background:#0a1428;border:none;flex:1;width:100%}.viewport-hint{z-index:6;pointer-events:none;letter-spacing:.08em;text-transform:uppercase;color:#00d4ffbf;font-size:.78rem;position:absolute;top:clamp(1rem,3vw,2rem);left:clamp(1rem,3vw,2rem)}.floor:not(.is-current) .floor__overlay,.floor:not(.is-current) .viewport-hint,.floor:not(.is-current) .browser-focus{opacity:0;pointer-events:none;visibility:hidden}.floor:not(.is-current) .floor__canvas{pointer-events:none}.floor.is-current .floor__overlay,.floor.is-current .viewport-hint{visibility:visible}.floor-spacer{height:120vh}.floor--atrium .floor__overlay{background:linear-gradient(120deg,#0a14288c 0%,#0000 55%);justify-content:center;align-items:flex-start}@media (width<=720px){.floor-nav{right:.5rem}.browser-focus{inset:6% 4% 18%}.floor__title{max-width:11ch}}
