.building-directory{position:fixed;inset:0;z-index:200;display:flex;flex-direction:column;align-items:center;overflow:auto;background:#0c0d0e;color:#eeeae2;font-family:var(--font-sans)}.gallery-app .room-transition.directory-transition{position:fixed;z-index:220}.building-directory-heading{position:relative;width:min(1100px,100%);padding:clamp(24px,5vh,54px) 36px 0;box-sizing:border-box;animation:directory-heading-in .42s ease-out both;animation-delay:var(--directory-reveal-delay,0ms)}@keyframes directory-heading-in{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes directory-sign-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes directory-footer-in{0%{opacity:0}to{opacity:1}}.building-floor-sign{animation:directory-sign-in .48s cubic-bezier(.22,1,.36,1) both;animation-delay:calc(var(--directory-reveal-delay,0ms) + .1s + (2 - var(--floor-index))*.1s)}.building-directory-footer{animation:directory-footer-in .4s ease-out both;animation-delay:calc(var(--directory-reveal-delay,0ms) + .32s)}.directory-return{position:absolute;top:clamp(24px,5vh,54px);right:36px;padding:0 0 5px;border:0;border-bottom:1px solid #77746e;background:none;color:#eeeae2;font-family:inherit;font-size:10px;line-height:1.4;cursor:pointer}.directory-return:focus-visible{outline:1px solid #eeeae2;outline-offset:5px}@media(max-width:600px){.directory-return{top:34px;right:24px}}.building-directory-heading>span{font-size:10px;letter-spacing:.22em;color:#aaa7a1}.building-directory-heading h1{margin:24px 0 10px;font-size:clamp(22px,3vw,34px);font-weight:400;letter-spacing:.17em;outline:none}.building-directory-heading p{margin:0;font-size:11px;letter-spacing:.13em;color:#aaa7a1}.floor-frame-stage{position:relative;width:min(1100px,100%);flex:1;min-height:380px;margin:12px 0;user-select:none;transition:opacity .22s,transform .22s}.floor-frame-canvas,.floor-frame-hits{position:absolute;inset:0;width:100%;height:100%}.floor-frame-canvas{pointer-events:none}.floor-frame-canvas canvas{display:block;width:100%;height:100%}.floor-frame-hits{pointer-events:none}.floor-hit{fill:transparent;stroke:none;pointer-events:all;cursor:pointer}.floor-frame-fallback{display:none;stroke:#eeeae2;stroke-width:1}.floor-frame-stage[data-fallback=true] .floor-frame-fallback{display:block}.building-floor{position:absolute;z-index:2;top:0;left:4%;width:34%;height:112px;transform:translateY(calc(20px + var(--floor-index)*120px));display:flex;align-items:center;padding:0;border:0;border-radius:0;background:transparent;color:inherit;cursor:pointer;text-align:left;transition:opacity .2s,color .2s;-webkit-tap-highlight-color:transparent}.building-directory[data-focused=true] .building-floor:not([data-selected=true]){opacity:.48}.building-floor:hover,.building-floor:focus-visible,.building-floor[data-selected=true]{color:#fff;outline:none}.building-floor:focus-visible .building-floor-description{text-decoration:underline;text-underline-offset:4px}.building-floor:disabled{cursor:default;opacity:1}.building-floor:disabled:not([data-selected=true]){opacity:.36}.building-floor-sign{--sign-size:clamp(40px,4.7vw,56px);position:relative;display:block;width:100%;height:1.7em;font-size:var(--sign-size)}.building-floor-number{position:absolute;top:0;left:0;width:1.12em;height:1.1em;font-family:Arial,Helvetica,sans-serif;font-size:inherit;font-weight:700;letter-spacing:-.04em;line-height:1}.building-floor-number b{display:block;font:inherit;mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 112 100'%3E%3Cmask id='cut'%3E%3Crect width='112' height='100' fill='white'/%3E%3Cpath d='M-10 105L112 6.6V110H-10Z' fill='black'/%3E%3C/mask%3E%3Crect width='112' height='100' fill='white' mask='url(%23cut)'/%3E%3C/svg%3E");mask-size:100% 100%;mask-repeat:no-repeat}.building-floor-number small{position:absolute;top:22%;left:70%;font-size:.18em;font-weight:400;line-height:1;letter-spacing:0}.building-floor-number:after{content:"";position:absolute;left:-.1em;bottom:.02em;width:1.13em;height:1px;background:currentColor;transform:rotate(-39deg);transform-origin:left center}.building-floor-title{position:absolute;left:calc(var(--sign-size)*.35);top:calc(var(--sign-size)*.78);font:700 .44em/1 Arial,Helvetica,sans-serif;letter-spacing:-.025em;white-space:nowrap}.building-floor-description{position:absolute;top:calc(var(--sign-size)*1.45);left:0;font-size:clamp(8px,.18em,10px);font-weight:400;line-height:1.2;letter-spacing:.03em;color:#ccc8c0;white-space:nowrap}.building-directory[data-departing=true] .floor-frame-stage{transform:scale(1.035);opacity:0}.building-directory-footer{flex-shrink:0;width:min(1100px,100%);box-sizing:border-box;padding:16px 36px max(24px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:space-between;gap:16px;color:#8d8982}.building-directory-footer>span{font-size:10px;letter-spacing:.1em}.building-directory-footer small{font-size:9px;letter-spacing:.08em}.floor-overview{border:0;border-bottom:1px solid #77746e;border-radius:0;padding:6px 0;color:#eeeae2;background:none;font-size:11px;cursor:pointer}.floor-overview span{margin-left:10px}.floor-overview:focus-visible{outline:1px solid #eeeae2;outline-offset:5px}@media(max-width:600px){.building-directory-heading{padding:34px 24px 0}.building-directory-heading h1{margin-top:25px}.floor-frame-stage{min-height:390px}.building-floor{left:5%;width:37%;height:clamp(76px,calc(20vw + 12px),90px)}.building-directory-footer{padding-left:24px;padding-right:24px;flex-wrap:wrap;gap:12px}.building-directory-footer>span{max-width:100%}.building-directory-footer small{width:100%}}@media(max-height:540px)and (min-width:601px){.building-directory-heading{padding-top:18px}.building-directory-heading h1{margin-top:12px;font-size:22px}.floor-frame-stage{min-height:300px}.building-floor{height:96px}}@media(prefers-reduced-motion:reduce){.building-directory-heading,.building-floor-sign,.building-directory-footer{animation:none}.floor-frame-stage,.building-floor{transition:none}.building-directory[data-departing=true] .floor-frame-stage{transform:none}}
