:root{--cream:#f1eadf;--ink:#17130f;--gold:#d8b784;--glass:rgba(21,18,14,.46);--line:rgba(255,255,255,.2)}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:#111;color:var(--cream);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}button,a{font:inherit}.stage,.scene,.shade,.grain,#tour{position:absolute;inset:0}.stage{overflow:hidden;background:#17130f}.scene{background-position:center;background-size:cover;transform:scale(1.09);will-change:transform,opacity;transition:opacity 1.1s cubic-bezier(.22,.7,.2,1),filter 1.1s;filter:saturate(.93) contrast(1.02)}.scene-b{opacity:0}.scene-b.active{opacity:1}.scene-a:not(.active){opacity:0}.shade{pointer-events:none;background:linear-gradient(90deg,rgba(11,9,7,.55),transparent 44%,rgba(11,9,7,.12)),linear-gradient(0deg,rgba(11,9,7,.45),transparent 44%)}.grain{opacity:.09;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.95' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.4'/%3E%3C/svg%3E")}.topbar{position:fixed;z-index:20;left:0;right:0;top:0;display:flex;align-items:center;justify-content:space-between;padding:28px 34px}.brand{display:flex;align-items:center;gap:13px;color:inherit;text-decoration:none;text-shadow:0 2px 18px #000}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.52);border-radius:50%;font-family:Georgia,serif;font-size:13px;letter-spacing:.08em}.brand b{display:block;font-family:Georgia,serif;font-weight:400;font-size:18px}.brand small{display:block;margin-top:2px;opacity:.68;font-size:10px;letter-spacing:.13em;text-transform:uppercase}.top-actions{display:flex;gap:8px}.glass-button{border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(18px);color:#fff;border-radius:22px;height:40px;min-width:48px;padding:0 14px;cursor:pointer;font-size:12px;letter-spacing:.08em}.icon-button{font-size:19px;padding:0}.intro{position:fixed;z-index:10;left:7vw;top:50%;max-width:610px;transform:translateY(-44%);transition:opacity .8s,transform .8s}.intro.out{opacity:0;transform:translateY(-38%);pointer-events:none}.eyebrow{margin:0 0 20px;color:var(--gold);font-size:11px;letter-spacing:.28em;text-transform:uppercase}.intro h1{margin:0;font-family:Georgia,serif;font-size:clamp(48px,6vw,94px);line-height:.94;font-weight:400;letter-spacing:-.045em;text-shadow:0 8px 42px rgba(0,0,0,.4)}.intro-copy{max-width:500px;margin:26px 0 28px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.76)}.enter{display:flex;align-items:center;gap:32px;border:0;background:var(--cream);color:var(--ink);padding:16px 18px 16px 24px;border-radius:2px;cursor:pointer;text-transform:uppercase;font-size:11px;letter-spacing:.16em}.enter i{display:grid;place-items:center;border-left:1px solid #cfc4b3;padding-left:18px;font-style:normal;font-size:19px}.hint{font-size:10px;letter-spacing:.12em;text-transform:uppercase;opacity:.48;margin-top:20px}.hud{position:fixed;z-index:12;inset:0;pointer-events:none;transition:opacity .7s}.hud.hidden{opacity:0}.room-copy{position:absolute;left:34px;bottom:114px;max-width:420px;text-shadow:0 3px 24px #000}.room-copy span{color:var(--gold);font-size:10px;letter-spacing:.2em}.room-copy h2{font-family:Georgia,serif;font-size:clamp(36px,4vw,66px);font-weight:400;margin:5px 0 8px}.room-copy p{font-size:13px;line-height:1.6;opacity:.72;margin:0}.hotspot{pointer-events:auto;position:absolute;left:50%;top:56%;transform:translate(-50%,-50%);border:0;background:transparent;color:white;text-shadow:0 2px 8px #000;cursor:pointer;display:grid;place-items:center}.hotspot .pulse{width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 0 0 9px rgba(255,255,255,.16),0 0 0 18px rgba(255,255,255,.08);animation:pulse 2s infinite}.hotspot b{font-size:10px;letter-spacing:.16em;text-transform:uppercase;margin-top:22px}.hotspot small{opacity:.65;margin-top:3px}.dock{pointer-events:auto;position:absolute;left:50%;bottom:26px;transform:translateX(-50%);height:62px;display:flex;align-items:center;padding:7px;background:rgba(18,15,12,.7);backdrop-filter:blur(24px);border:1px solid var(--line);border-radius:4px;max-width:calc(100vw - 40px)}.nav-arrow,.auto-btn,.gallery-btn{height:46px;border:0;color:#fff;background:transparent;cursor:pointer}.nav-arrow{width:44px;font-size:18px}.room-tabs{display:flex;height:46px;border-left:1px solid var(--line);border-right:1px solid var(--line)}.room-tab{position:relative;border:0;background:transparent;color:#fff;min-width:90px;padding:0 14px;cursor:pointer;font-size:10px;letter-spacing:.08em;text-transform:uppercase;opacity:.55}.room-tab.active{opacity:1}.room-tab.active:after{content:"";position:absolute;left:16px;right:16px;bottom:1px;height:1px;background:var(--gold)}.auto-btn,.gallery-btn{padding:0 18px;border-left:1px solid var(--line);font-size:10px;letter-spacing:.08em;text-transform:uppercase}.play{margin-right:8px;color:var(--gold)}.gallery-panel{position:fixed;z-index:30;inset:0 0 0 auto;width:min(740px,100vw);background:#17130f;transform:translateX(100%);transition:transform .65s cubic-bezier(.22,.7,.2,1);padding:30px;overflow:auto}.gallery-panel.open{transform:none}.gallery-head{display:flex;justify-content:space-between;align-items:start;position:sticky;top:-30px;background:#17130f;padding:30px 0 22px;z-index:2}.gallery-head small{color:var(--gold);text-transform:uppercase;letter-spacing:.18em}.gallery-head h2{font:400 34px Georgia,serif;margin:5px 0}.gallery-head button{border:1px solid var(--line);background:transparent;color:white;width:42px;height:42px;border-radius:50%;font-size:24px;cursor:pointer}.gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.gallery-card{position:relative;aspect-ratio:16/10;overflow:hidden;background:#2a241e;border:0;color:white;padding:0;cursor:pointer;text-align:left}.gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s}.gallery-card:hover img{transform:scale(1.04)}.gallery-card span{position:absolute;inset:auto 0 0;padding:30px 13px 12px;background:linear-gradient(transparent,rgba(0,0,0,.72));font-size:10px;letter-spacing:.09em;text-transform:uppercase}.cursor{position:fixed;z-index:99;width:24px;height:24px;border:1px solid rgba(255,255,255,.72);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .2s,height .2s;display:none}@keyframes pulse{50%{box-shadow:0 0 0 14px rgba(255,255,255,.1),0 0 0 28px rgba(255,255,255,0)}}@media(pointer:fine){.cursor{display:block}}@media(max-width:850px){.topbar{padding:18px}.brand small{display:none}.intro{left:24px;right:24px}.room-copy{left:20px;bottom:118px}.room-copy p{display:none}.room-tabs{max-width:42vw;overflow:auto}.room-tab{min-width:74px}.auto-label,.gallery-btn{display:none}.auto-btn{padding:0 13px}.dock{bottom:18px}.hotspot{top:52%}}@media(max-width:520px){.intro h1{font-size:51px}.top-actions .glass-button:nth-child(1),.top-actions .glass-button:nth-child(2){display:none}.gallery-grid{grid-template-columns:1fr}.gallery-panel{padding:20px}.gallery-head{top:-20px;padding-top:20px}}
