@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{--cream:#f1f0e9;--ink:#292320;--wine:#500d23;--line:#cec8be}*{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--cream);color:var(--ink);font:14px 'DM Sans',Arial,sans-serif;overflow:hidden}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer}button:focus-visible,a:focus-visible{outline:2px solid #a25770;outline-offset:4px}header{height:56px;padding:0 3%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:relative;z-index:10;background:var(--cream)}.back{font-size:20px;display:flex;align-items:center;gap:12px}.back span{font-size:10px}.wordmark{font-size:30px;font-weight:700;letter-spacing:-2.5px}#help{border:1px solid #aaa399;background:none;border-radius:50%;width:26px;height:26px;font-size:12px}main{height:calc(100dvh - 56px);display:grid;grid-template-rows:76px minmax(0,1fr) 30px 64px}.intro{padding:14px 3%;display:grid;grid-template-columns:1fr auto;align-content:center;column-gap:30px;position:relative;z-index:2;background:var(--cream)}.eyebrow{text-transform:uppercase;font-size:8px;letter-spacing:1.5px;font-weight:600}.intro .eyebrow{grid-column:1;margin-bottom:6px;color:#82756c}h1{font-size:clamp(23px,2.3vw,34px);font-weight:500;letter-spacing:-1.2px;line-height:1.05;margin:0}.intro p{grid-column:2;grid-row:1/3;align-self:center;font-size:11px;color:#776e65;margin:0;text-align:right}.world-shell{position:relative;overflow:hidden;isolation:isolate;border-top:1px solid #dfdad0;background:var(--cream)}.world{position:absolute;left:50%;top:50%;aspect-ratio:1.5;transition:transform .8s cubic-bezier(.22,1,.36,1),width .8s cubic-bezier(.22,1,.36,1);will-change:transform}.world img{display:block;width:100%;height:100%;mix-blend-mode:multiply;mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent),linear-gradient(to bottom,transparent,#000 4%,#000 95%,transparent);mask-composite:intersect}.hotspots{position:absolute;inset:0}.spot{position:absolute;display:flex;align-items:center;gap:9px;background:none;border:0;padding:12px;text-align:left;transform:translate(-50%,-50%)}.events{left:25%;top:52%}.work{left:50%;top:53%}.ideas{left:75%;top:48%}.pin{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--wine);color:white;font-size:10px;box-shadow:0 0 0 6px #f1f0e966,0 8px 18px #32151f33;transition:transform .25s}.label{padding:10px 13px;background:#f8f6efed;border:1px solid #bfb4a8;box-shadow:0 5px 15px #30221b12;font-size:12px;white-space:nowrap}.label small{display:block;font-size:9px;color:#776a60;margin-top:4px}.spot:hover .pin,.spot:focus-visible .pin{transform:translateY(-5px)}body.in-room .hotspots{visibility:hidden;pointer-events:none}.bottom-bar{display:flex;justify-content:space-between;align-items:center;padding:0 3%;font-size:9px;border-top:1px solid var(--line);background:#e9e5db;position:relative;z-index:5}.instruction{color:#776d63;font-size:9px}.demo{font-size:8px;color:#8a8177}#overview{background:none;border:0;font-size:10px;padding:5px 10px;color:var(--wine);text-decoration:underline;text-underline-offset:3px}.room-nav{display:grid;grid-template-columns:repeat(3,1fr);padding:0 3%;background:#f8f6ef;border-top:1px solid #bdb3a7;box-shadow:0 -5px 20px #35221e08;position:relative;z-index:5}.room-nav button{background:none;border:0;border-left:1px solid var(--line);padding:0 24px;text-align:left;display:flex;align-items:center;gap:25px;font-size:13px;transition:background .2s,color .2s}.room-nav button:last-child{border-right:1px solid var(--line)}.room-nav small{font-size:9px;color:#85766a}.room-nav button:hover{background:#e9e3d8}.room-nav button.active{background:var(--wine);color:var(--cream)}.room-nav button.active small{color:#c9a8b2}.object-pin{position:absolute;transform:translate(-50%,-50%);border:1px solid #500d23;background:#f8f6eff5;color:var(--wine);width:24px;height:24px;border-radius:50%;font-size:18px;display:grid;place-items:center;box-shadow:0 2px 12px #34202022;z-index:4;padding:0}.object-pin:hover,.object-pin.active{background:var(--wine);color:var(--cream)}.object-pin>span{position:absolute;bottom:calc(100% + 5px);left:50%;transform:translateX(-50%);font-size:7px;background:#f8f6efed;padding:4px 6px;white-space:nowrap;color:var(--wine);pointer-events:none;border:1px solid #cfc4b7}.object-pin.active>span{visibility:hidden}.object-popup{position:fixed;z-index:25;background:#fbf9f2;border:1px solid #b7a697;box-shadow:0 12px 45px #30201c2b;border-radius:3px;padding:20px;overflow:visible;animation:appear .15s ease-out}.popup-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.popup-top .eyebrow{color:#827266}.popup-top button{width:26px;height:26px;border:0;background:#ece6dc;border-radius:50%;font-size:21px;line-height:1;flex-shrink:0}.object-popup h2{font-size:25px;line-height:1.08;letter-spacing:-.9px;font-weight:500;margin:15px 0 12px}#popup-body{max-height:calc(var(--popup-max-height,400px) - 115px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}#popup-body p{font-size:12px;line-height:1.65;color:#75695f;margin:0 0 15px}#popup-body a{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-top:1px solid #d6ccbe;font-size:11px;line-height:1.4}#popup-body a:hover{color:var(--wine)}.fact{border-left:2px solid var(--wine);padding-left:12px;margin:18px 0}.fact b{font-size:27px;font-weight:500;letter-spacing:-1px;display:block}.fact span{font-size:10px}.popup-tip{position:absolute;width:10px;height:10px;background:#fbf9f2;transform:rotate(45deg);border:1px solid #b7a697}.object-popup[data-side=right] .popup-tip{left:-6px;top:var(--tip-y);border-top:0;border-right:0}.object-popup[data-side=left] .popup-tip{right:-6px;top:var(--tip-y);border-left:0;border-bottom:0}.object-popup[data-side=above] .popup-tip{bottom:-6px;left:var(--tip-x);border-top:0;border-left:0}.object-popup[data-side=below] .popup-tip{top:-6px;left:var(--tip-x);border-bottom:0;border-right:0}dialog{background:var(--cream);color:var(--ink);border:1px solid var(--line);padding:35px;max-width:460px;width:calc(100% - 35px)}dialog::backdrop{background:#21151c66;backdrop-filter:blur(5px)}dialog h2{font-size:36px;font-weight:500;line-height:1.1;letter-spacing:-1.2px;margin:25px 0}dialog p{font-size:12px;line-height:1.7}.dialog-close{position:absolute;right:15px;top:15px;background:none;border:0;font-size:24px}.fine{font-size:10px!important;color:#81776c}.start{background:var(--wine);color:var(--cream);border:0;width:100%;padding:15px;margin-top:15px;text-align:left}[hidden]{display:none!important}@keyframes appear{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}@media(max-width:700px){header{height:48px;padding:0 4%}.wordmark{font-size:27px}.back span{font-size:9px}main{height:calc(100dvh - 48px);grid-template-rows:82px minmax(0,1fr) 34px 56px}.intro{padding:12px 4%;display:block}.intro .eyebrow{font-size:7px;display:block;margin-bottom:6px}.intro h1{font-size:24px;letter-spacing:-.8px}.intro p{font-size:9px;text-align:left;margin-top:7px}.spot{flex-direction:column;gap:7px}.label{font-size:10px;padding:7px}.label small{display:none}.pin{width:29px;height:29px}.bottom-bar{padding:0 4%;gap:10px}.instruction{font-size:8px}.demo{font-size:7px;max-width:100px;text-align:right}.room-nav{padding:0}.room-nav button{padding:0 12px;font-size:11px;gap:10px}.room-nav small{font-size:8px}.object-popup{padding:16px}.object-popup h2{font-size:23px}.object-pin{width:23px;height:23px}.object-pin>span{font-size:7px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}

.object-popup{display:flex;flex-direction:column}.popup-top,.object-popup h2{flex-shrink:0}#popup-body{flex:1 1 auto;min-height:0;max-height:none}

/* Quiet discovery, but unmistakably a door once noticed. */
.secret-door{position:absolute;left:71.5%;top:34%;width:44px;height:54px;display:grid;place-items:center;color:#57452e;transform:translate(-50%,-50%);z-index:3;text-decoration:none;isolation:isolate}
.secret-door svg{width:28px;height:40px;background:#d8c5a2;box-shadow:2px 3px 5px #32231135;transition:background .2s,filter .2s}
.secret-door:hover svg,.secret-door:focus-visible svg{background:#eee0c3;filter:drop-shadow(0 0 4px #f6e3b8)}
.door-hint{position:absolute;left:calc(100% + 5px);top:50%;transform:translateY(-50%);white-space:nowrap;padding:6px 9px;background:#f4eee2;border:1px solid #a38b69;color:#57452e;font-size:10px;opacity:0;pointer-events:none;transition:opacity .15s}
.secret-door:hover .door-hint,.secret-door:focus-visible .door-hint{opacity:1}
.secret-door:focus-visible{outline:2px solid #604b34;outline-offset:3px}

