:root{--blue:#0b0f5c;--ink:#0a0a0a;--white:#fff;--yellow:#ffe100;--cream:#fbf1e0;--red:#e8442c;--ease:cubic-bezier(.23,1,.32,1)}*{box-sizing:border-box;margin:0;padding:0}html,body{background:var(--blue);height:100%;color:var(--white);-webkit-font-smoothing:antialiased;font-family:Work Sans,sans-serif;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}[hidden]{display:none!important}#gl{background:#cdbfb0;width:100%;height:100%;display:block;position:fixed;inset:0}.intro{z-index:20;background:var(--blue);text-align:center;flex-direction:column;justify-content:space-between;align-items:center;padding:clamp(24px,5vh,56px) 16px;display:flex;position:fixed;inset:0}.intro__sound{letter-spacing:.04em;text-transform:uppercase;text-align:left;align-items:center;gap:14px;font-size:clamp(11px,1.1vw,15px);line-height:1.15;display:flex}.intro__title{text-transform:uppercase;flex-direction:column;gap:clamp(14px,3.2vh,34px);width:min(500px,86vw);font-weight:800;display:flex}.row{letter-spacing:.14em;justify-content:space-between;font-size:clamp(15px,2.2vw,26px);display:flex;overflow:hidden}.row.big{letter-spacing:.04em;font-size:clamp(34px,5vw,56px)}.row.spread{letter-spacing:0}.w{will-change:transform;display:inline-block}.intro__sub{letter-spacing:.02em;font-size:clamp(13px,1.3vw,17px);line-height:1.3}.intro__enter{background:var(--white);color:var(--ink);height:48px;transition:background-color .3s var(--ease),color .3s var(--ease);align-items:center;gap:12px;padding:0 20px;font-size:14px;display:flex}.intro__enter:hover{background:var(--yellow)}.ui{z-index:10;pointer-events:none;position:fixed;inset:0}.ui>*{pointer-events:auto}.hotspots{pointer-events:none;position:absolute;inset:0}.hs{pointer-events:auto;background:var(--white);width:56px;height:56px;color:var(--ink);transition:background-color .2s,transform .6s var(--ease);border-radius:50%;place-items:center;margin:-28px 0 0 -28px;display:grid;position:absolute}.hs:before{content:"";animation:ring 2.4s var(--ease) infinite;border:1px solid #fffc;border-radius:50%;position:absolute;inset:-14px}.hs:hover{background:var(--yellow);transform:scale(1.12)}.hs svg{width:24px;height:24px}.hs.door{border-radius:2px;width:64px;height:64px;margin:-32px 0 0 -32px}.hs.door:before{border-radius:2px}@keyframes ring{0%{opacity:0;transform:scale(.8)}30%{opacity:1}to{opacity:0;transform:scale(1.25)}}.subs{text-align:center;width:min(720px,88vw);color:var(--yellow);text-shadow:0 1px 2px #00000059;pointer-events:none;min-height:1.4em;font-size:clamp(15px,1.25vw,18px);position:absolute;bottom:clamp(28px,6vh,56px);left:50%;transform:translate(-50%)}.hint{background:var(--cream);color:var(--ink);pointer-events:none;opacity:0;align-items:center;gap:14px;padding:14px 22px 14px 14px;font-family:Caveat,cursive;font-size:22px;line-height:1;transition:opacity .3s;display:flex;position:absolute;bottom:clamp(70px,13vh,110px);left:50%;transform:translate(-50%)rotate(-1.5deg)}.hint.on{opacity:1}.hint__ico{background:var(--white);border-radius:50%;width:48px;height:48px;box-shadow:0 0 0 1px #00000014}.rooms{text-transform:uppercase;letter-spacing:.06em;gap:8px;font-family:Sometype Mono,monospace;font-size:12px;display:flex;position:absolute;top:clamp(16px,2vw,28px);left:clamp(16px,2vw,28px)}.rooms button{color:var(--ink);background:#ffffffe0;padding:8px 12px;transition:background-color .2s}.rooms button[aria-current=true]{background:var(--yellow)}.sound{background:var(--white);width:48px;height:48px;color:var(--ink);place-items:center;display:grid;position:absolute;bottom:clamp(16px,2vw,28px);right:clamp(16px,2vw,28px);rotate:6deg}.sound[aria-pressed=false]{opacity:.55}.card{background:var(--cream);width:min(340px,100vw - 32px);color:var(--ink);transition:transform .8s var(--ease);padding:20px 20px 24px;position:absolute;top:50%;right:clamp(16px,2vw,28px);transform:translate(120%,-50%)}.card.open{transform:translateY(-50%)}.card__x{font-size:28px;line-height:1;position:absolute;top:6px;right:10px}.card__img{aspect-ratio:4/5;background:#d9c8ae 50%/cover}.card__tag{text-transform:uppercase;letter-spacing:.08em;margin:16px 0 6px;font-family:Sometype Mono,monospace;font-size:11px}.card__name{text-transform:uppercase;letter-spacing:.03em;font-size:22px;font-weight:800}.card__note{margin:8px 0 18px;font-size:14px;line-height:1.4}.card__cta{background:var(--blue);color:var(--white);transition:background-color .3s var(--ease),color .3s var(--ease);padding:12px 18px;font-size:14px;text-decoration:none;display:inline-block}.card__cta:hover{background:var(--yellow);color:var(--ink)}@media (width<=600px){.card{width:auto;max-height:80vh;inset:auto 0 0;overflow:auto;transform:translateY(105%)}.card.open{transform:translateY(0)}.card__img{aspect-ratio:16/10}.hint{width:max-content;max-width:90vw;padding:10px 16px 10px 10px;font-size:18px}.hint__ico{width:36px;height:36px}.rooms button{padding:6px 9px;font-size:11px}}@media (prefers-reduced-motion:reduce){.hs:before{animation:none}.card{transition:none}}
