@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@300;400;500&family=Inter:wght@300;400;500;600&family=JetBrains+Mono:wght@300;400;500&display=swap');
:root{--bg:#0a0908;--ink:#e8e1d4;--muted:#a8a094;--dim:#6b665d;--brass:#c9a961;--deep:#8b7138;--glow:#f4e4b8;--line:rgba(201,169,97,.24);--serif:'Cormorant Garamond',serif;--sans:Inter,system-ui,sans-serif;--mono:'JetBrains Mono',monospace;--ease:cubic-bezier(.16,1,.3,1)}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:#030302;color:var(--ink);overflow:hidden;font-family:var(--sans)}body{cursor:none}body::before{content:'';position:fixed;inset:0;z-index:30;pointer-events:none;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(244,228,184,.16),transparent 15rem),radial-gradient(circle at 50% 48%,transparent 0 17%,rgba(0,0,0,.28) 46%,rgba(0,0,0,.86) 100%),linear-gradient(180deg,rgba(255,255,255,.025),transparent 38%,rgba(0,0,0,.46));mix-blend-mode:screen;opacity:.78}body::after{content:'';position:fixed;inset:0;z-index:31;pointer-events:none;opacity:.09;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.75'/%3E%3C/svg%3E")}
a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}.pov{position:fixed;inset:0;background:#030302;isolation:isolate;overflow:hidden}.scene-video{position:absolute;inset:-1.5%;width:103%;height:103%;object-fit:cover;filter:brightness(.6) contrast(1.2) saturate(.88);opacity:0;transform:scale(1.04) translate3d(var(--driftX,0),var(--driftY,0),0);transition:opacity 1.15s var(--ease),filter 1.1s var(--ease),transform 1.4s var(--ease);will-change:opacity,transform,filter}.scene-video.active{opacity:1}.scene-video.pushing{transform:scale(1.105) translate3d(var(--driftX,0),var(--driftY,0),0);filter:brightness(.76) contrast(1.22) saturate(.9)}.scene-video.leaving{opacity:0;filter:brightness(.18) contrast(1.25)}.transition-veil{position:fixed;inset:0;z-index:90;background:radial-gradient(circle at 50% 50%,rgba(244,228,184,.18),rgba(0,0,0,.82) 28%,#030302 72%);opacity:0;pointer-events:none;transition:opacity .82s var(--ease)}.transition-veil.in{opacity:1}.lens-sweep{position:fixed;z-index:91;inset:-20%;pointer-events:none;background:linear-gradient(100deg,transparent 0 42%,rgba(244,228,184,.17) 50%,transparent 58%);opacity:0;transform:translateX(-40%);transition:opacity .35s var(--ease),transform 1s var(--ease)}.lens-sweep.in{opacity:1;transform:translateX(38%)}.breath{position:fixed;inset:-10%;z-index:29;pointer-events:none;background:radial-gradient(circle at 50% 50%,rgba(201,169,97,.06),transparent 33%);animation:breathe 7.4s ease-in-out infinite}@keyframes breathe{0%,100%{transform:scale(1);opacity:.35}50%{transform:scale(1.035);opacity:.7}}
.loading{position:fixed;inset:0;z-index:100;display:grid;place-items:center;background:#040302;transition:opacity 1.2s var(--ease),visibility 1.2s var(--ease)}.loading.hide{opacity:0;visibility:hidden}.loading-mark{width:76px;height:98px;border:1px solid var(--brass);border-bottom:0;border-radius:44px 44px 2px 2px;box-shadow:0 0 90px rgba(201,169,97,.18),inset 0 0 48px rgba(201,169,97,.08);margin:auto}.loading p{font-family:var(--mono);text-transform:uppercase;letter-spacing:.34em;color:var(--dim);font-size:10px;margin-top:28px;text-align:center}.topbar{position:fixed;z-index:60;top:0;left:0;right:0;height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:linear-gradient(180deg,rgba(5,4,3,.72),rgba(5,4,3,.16),transparent)}.brand{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-size:24px;letter-spacing:.06em}.brand span:first-child{width:28px;height:36px;border:1px solid var(--brass);border-bottom:0;border-radius:22px 22px 2px 2px;box-shadow:inset 0 0 34px rgba(201,169,97,.12)}.nav{display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted)}.nav button{background:rgba(5,4,3,.16);border:1px solid transparent;padding:9px 10px;cursor:none;color:var(--muted);transition:.35s var(--ease)}.nav button:hover,.nav button.active{color:var(--brass);border-color:rgba(201,169,97,.28);background:rgba(201,169,97,.08)}.hud{position:fixed;z-index:50;inset:0;pointer-events:none;display:grid;grid-template-columns:1fr;align-items:center;padding:92px 7vw 56px}.room-copy{width:min(880px,88vw);transition:opacity .75s var(--ease),transform .75s var(--ease),filter .75s var(--ease);transform:translateY(0);filter:blur(0)}.room-copy.out{opacity:0;transform:translateY(20px);filter:blur(5px)}.kicker{font-family:var(--mono);font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:var(--brass);margin-bottom:18px}.room-copy h1{font-family:var(--serif);font-weight:300;font-size:clamp(58px,10vw,172px);line-height:.84;margin:0;letter-spacing:-.055em;text-shadow:0 20px 90px rgba(0,0,0,.84)}.room-copy p{width:min(650px,82vw);font-size:clamp(15px,1.25vw,19px);line-height:1.78;color:var(--muted);margin:28px 0 0}.room-actions{display:flex;gap:14px;margin-top:34px;pointer-events:auto;flex-wrap:wrap}.btn{border:1px solid var(--line);background:rgba(8,7,6,.5);padding:13px 18px;font-family:var(--mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--ink);cursor:none;backdrop-filter:blur(10px);transition:.4s var(--ease)}.btn:hover{border-color:var(--brass);background:rgba(201,169,97,.12);transform:translateY(-2px)}.side-index{position:fixed;z-index:55;left:28px;bottom:28px;display:flex;gap:10px;align-items:center;font-family:var(--mono);font-size:10px;text-transform:uppercase;letter-spacing:.18em;color:var(--dim)}.bar{width:128px;height:1px;background:rgba(201,169,97,.18);position:relative;overflow:hidden}.bar i{display:block;height:100%;width:var(--progress,0%);background:linear-gradient(90deg,var(--deep),var(--glow));transition:width .9s var(--ease)}.room-panel{position:fixed;right:28px;bottom:28px;z-index:56;width:min(430px,calc(100vw - 56px));pointer-events:auto;border:1px solid rgba(201,169,97,.22);background:linear-gradient(135deg,rgba(16,14,11,.72),rgba(6,5,4,.56));backdrop-filter:blur(16px);padding:16px;transform:translateY(0);transition:.5s var(--ease)}.room-panel h3{font-family:var(--serif);font-weight:300;font-size:31px;line-height:1;margin:0 0 8px}.room-panel p{margin:0;color:var(--muted);font-size:13px;line-height:1.55}.slabs{position:fixed;inset:0;z-index:36;pointer-events:none;perspective:900px;opacity:0;transition:opacity .9s var(--ease)}.slabs.show{opacity:1}.slab{position:absolute;width:260px;min-height:146px;border:1px solid rgba(201,169,97,.22);background:linear-gradient(180deg,rgba(16,14,11,.62),rgba(5,4,3,.42));box-shadow:0 38px 120px rgba(0,0,0,.44);padding:16px;backdrop-filter:blur(8px);pointer-events:auto;transition:.45s var(--ease);transform:translate3d(var(--x),var(--y),var(--z)) rotateY(var(--r))}.slab:hover{border-color:rgba(244,228,184,.55);background:linear-gradient(180deg,rgba(32,27,18,.72),rgba(8,7,6,.55));transform:translate3d(var(--x),calc(var(--y) - 10px),var(--z)) rotateY(var(--r))}.slab b{font-family:var(--mono);font-size:10px;color:var(--brass);letter-spacing:.18em;text-transform:uppercase}.slab strong{display:block;font-family:var(--serif);font-weight:300;font-size:28px;line-height:.96;margin:28px 0 8px}.slab small{font-family:var(--mono);font-size:9px;color:var(--dim);letter-spacing:.15em;text-transform:uppercase}.cursor{position:fixed;z-index:120;left:0;top:0;width:28px;height:28px;border:1px solid rgba(201,169,97,.5);border-radius:50%;pointer-events:none;transform:translate(-50%,-50%);transition:width .3s var(--ease),height .3s var(--ease),border-color .3s}.cursor.big{width:72px;height:72px;border-color:rgba(244,228,184,.65)}@media(max-width:760px){body{cursor:auto}.topbar{height:66px;padding:0 16px}.nav{display:none}.hud{padding:86px 22px 40px}.room-copy h1{font-size:64px}.room-panel{left:16px;right:16px;bottom:16px;width:auto}.side-index{left:18px;bottom:170px}.slabs{display:none}.cursor{display:none}.btn{cursor:pointer}}
