.door-hotspot{position:absolute;z-index:4;transform:translate(-50%,-50%);padding:0;border:0;background:transparent;border-radius:1px;transition:box-shadow .3s,background .3s}
.door-hotspot:focus-visible{outline:1px solid #ffe0a4;outline-offset:2px;background:#e5b7790d}
@media(hover:hover){.door-hotspot:hover{background:#e5b7790c;box-shadow:inset 0 0 32px #edc99240,0 0 18px #edc99222}}
/* A slow gold breath, first the door, then MENU. No moving overlay or text. */
.door-hotspot.is-discovering{animation:cafe-door-discovery 2.8s ease-in-out both}
.menu-hotspot.is-discovering .menu-ink{animation:cafe-menu-discovery 2.8s 2.9s ease-in-out both}
.persistent-menu.is-discovering{animation:cafe-menu-button-discovery 2.8s 2.9s ease-in-out both}
@keyframes cafe-door-discovery{0%,100%{background:transparent;box-shadow:inset 0 0 0 #edc99200,0 0 0 #edc99200}45%,60%{background:#e5b77914;box-shadow:inset 0 0 32px #edc99270,0 0 20px #edc99255}}
@keyframes cafe-menu-discovery{0%,100%{opacity:.72;filter:drop-shadow(0 0 2px #ffdc9cad) drop-shadow(0 0 7px #edbf7266)}45%,60%{opacity:1;filter:drop-shadow(0 0 4px #ffe5ab) drop-shadow(0 0 14px #f1c57a)}}
@keyframes cafe-menu-button-discovery{0%,100%{box-shadow:0 0 0 #edc99200}45%,60%{box-shadow:0 0 18px #edc99270;color:#ffe0a4}}
.door-hotspot.is-discovery-still{background:#e5b7790c;box-shadow:inset 0 0 24px #edc99240}
.menu-hotspot.is-discovery-still .menu-ink{opacity:1;filter:drop-shadow(0 0 4px #ffe5ab)}
.persistent-menu.is-discovery-still{border-color:#edc992;color:#ffe0a4}
@media(prefers-reduced-motion:reduce){.door-hotspot.is-discovering,.menu-hotspot.is-discovering .menu-ink,.persistent-menu.is-discovering{animation:none}}
.cafe-entry-link{display:inline-flex;align-items:center;gap:1.5rem;margin-top:1.7rem;padding:.75rem 0;border:0;border-bottom:1px solid #c5ac8366;background:none;color:var(--ink);font-size:.9375rem;min-height:44px}
.cafe-entry-link:hover{color:#e0c6a2}
.cafe-room{position:fixed;inset:0;margin:0;padding:0;border:0;width:100vw;max-width:none;height:100dvh;max-height:none;overflow:hidden;background:#080b0d;color:var(--ink);isolation:isolate}
.cafe-room::backdrop{background:#080b0d}
.cafe-room[open]{animation:room-arrives .65s ease-out both}
body.room-is-open{overflow:hidden}
.room-view{position:absolute;inset:0;overflow:hidden;touch-action:none;cursor:grab;outline:none;opacity:0;transition:opacity .65s;background:#080b0d}
.room-view.is-dragging{cursor:grabbing}
.cafe-room.is-ready .room-view{opacity:1}
.room-view:focus-visible:after{content:'';position:absolute;inset:5px;border:1px solid #e0c6a25c;pointer-events:none}
.room-plane{position:absolute;left:0;top:0;width:1672px;height:940px;transform-origin:0 0;pointer-events:none;will-change:transform;transition:opacity .7s}
.room-image{position:absolute;left:0;top:0;width:1672px;height:940px;max-width:none;user-select:none;pointer-events:none}
.room-detail{position:absolute;inset:0;overflow:hidden;opacity:0;pointer-events:none;transition:opacity .7s}
.room-detail.is-active{opacity:1}
.room-detail-image{width:100%;height:100%;object-fit:cover;object-position:var(--detail-x,49%) 50%;max-width:none;user-select:none;transform:scale(1);transition:transform 1.15s ease-out,object-position .12s ease-out}
.room-detail[data-room-detail=table] .room-detail-image,.room-detail[data-room-detail=counter] .room-detail-image{object-fit:contain}
.room-detail.is-active .room-detail-image{transform:scale(1.035)}
.room-detail-video{position:absolute;inset:0;opacity:0;pointer-events:none}
.room-detail.is-video-ready .room-detail-video{opacity:1}
.cafe-room:not([data-scene=aisle]) .room-plane{opacity:0}
.cafe-room [hidden]{display:none!important}
/* The rear glass stays dark in the viewer; the approved source photograph is intact. */
.room-window-shade{position:absolute;left:559px;top:113px;width:99px;height:173px;background:linear-gradient(135deg,#101619f5,#080d10f8);backdrop-filter:blur(9px);clip-path:polygon(0 1%,100% 0,100% 99%,0 100%)}
.room-vignette{position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,#07090bc4 0,transparent 22%,transparent 68%,#080b0de6 100%),linear-gradient(90deg,#080b0d36,transparent 18%,transparent 82%,#080b0d36)}
.room-header{position:absolute;inset:0 0 auto;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.4rem clamp(1.25rem,4vw,3rem);pointer-events:none}
.room-eyebrow{margin:0 0 .2rem;font-size:.75rem;letter-spacing:.18em;color:var(--gold);text-transform:uppercase}
.room-header h2{margin:0;font:clamp(1.3rem,2.5vw,1.8rem)/1.2 var(--serif);font-weight:400}
.room-header-actions{display:flex;gap:.7rem;align-items:center;pointer-events:auto}
.room-exit,.room-sound{min-height:44px;border:1px solid #e9d9b548;background:#080b0d55;color:var(--ink);display:flex;align-items:center;justify-content:center;gap:.7rem;padding:.55rem 1rem;font-size:.875rem;backdrop-filter:blur(8px)}
.room-sound{width:44px;padding:0;font-size:1.2rem}
.room-sound[aria-pressed=true]{opacity:.6;text-decoration:line-through}
.room-loading,.room-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:5rem 1.5rem;color:var(--ink);pointer-events:none}
.room-loading{font:1.4rem var(--serif)}
.cafe-room.is-ready .room-loading{display:none}
.room-error button{pointer-events:auto;padding:.8rem 1.5rem;background:none;border:1px solid var(--gold)}
.room-detail-error{position:absolute;z-index:3;top:40%;left:50%;transform:translateX(-50%);width:min(25rem,calc(100% - 2rem));padding:1.2rem;text-align:center;background:#080b0ded;border:1px solid #c5ac835c}
.room-detail-error p{margin:0 0 1rem;line-height:1.5}
.room-detail-error button{min-height:44px;padding:.65rem 1rem;background:none;border:1px solid var(--gold);font-size:.875rem}
.room-footer{position:absolute;inset:auto 0 0;z-index:2;display:flex;flex-direction:column;align-items:center;padding:1.5rem 1rem max(1.4rem,env(safe-area-inset-bottom));pointer-events:none;opacity:0;transition:opacity .5s}
.cafe-room.is-ready .room-footer{opacity:1}
.room-navigation{display:flex;gap:clamp(.75rem,3vw,2.5rem);align-items:center;pointer-events:auto}
.room-look{display:flex;align-items:center;gap:.7rem;min-height:48px;padding:.4rem .7rem;border:0;background:none;font:1.2rem var(--serif);text-shadow:0 1px 10px #000}
.room-look[aria-current=true]{color:#f1d7ab}
.room-look>span[aria-hidden]{font:1.65rem var(--serif);color:var(--gold)}
.room-step-controls{display:flex;gap:.35rem}
.room-step-controls button{width:46px;height:46px;border:1px solid #c5ac835c;background:#080b0d55;font-size:1.35rem;backdrop-filter:blur(8px)}
.room-step-controls button:disabled{opacity:.3;cursor:default}
.room-back{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:46px;max-width:7.5rem;padding:.5rem .8rem;border:1px solid #c5ac835c;background:#080b0d65;backdrop-filter:blur(8px);font-size:.875rem;line-height:1.25}
.room-navigation button:hover:not(:disabled){color:#f1d7ab}
.room-help{font-size:.8125rem;color:#c9c1b5;margin:.8rem 0 0;text-align:center;line-height:1.5;max-width:30rem;text-shadow:0 1px 7px #000}
@keyframes room-arrives{from{opacity:0}to{opacity:1}}
@media(max-width:560px){.room-header{padding:1rem;align-items:flex-start}.room-header-actions{gap:.4rem}.room-exit{padding:.55rem .7rem;gap:.4rem;font-size:.8125rem}.room-look{font-size:1rem;gap:.35rem;padding:.4rem .25rem;min-width:0}.room-navigation{gap:.7rem;max-width:100%}.room-step-controls button{width:44px;height:44px}.room-back{font-size:.8125rem;padding:.5rem .6rem;gap:.3rem;max-width:6rem}.room-help{font-size:.75rem;max-width:18rem}.room-footer{padding-top:1rem}.room-eyebrow{font-size:.7rem}}
@media(max-height:450px){.room-header{padding:.7rem 1rem}.room-eyebrow{display:none}.room-footer{padding:.5rem}.room-help{display:none}}
@media(max-width:420px){.room-header{flex-wrap:wrap;gap:.6rem}.room-header-actions{margin-left:auto}}
@media(prefers-reduced-motion:reduce){.cafe-room[open]{animation:none}.room-view,.room-footer,.room-plane,.room-detail,.room-detail-image{transition:none}.room-detail.is-active .room-detail-image{transform:none}}
