:root{--bg:#070604;--surface:#100d09;--paper:#cdbb9b;--text:#eee3cf;--muted:#9d907c;--gold:#c28a3b;--ember:#ff8a2a;--line:rgba(225,190,130,.18);--serif:"Cormorant Garamond",serif;--sans:Manrope,sans-serif;--mono:"DM Mono",monospace}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden}body.nav-open{overflow:hidden}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.skip{position:fixed;left:1rem;top:-5rem;z-index:1000;background:#fff;color:#000;padding:.8rem}.skip:focus{top:1rem}.grain{position:fixed;inset:0;pointer-events:none;z-index:90;opacity:.055;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='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.7'/%3E%3C/svg%3E")}#embers{position:fixed;inset:0;pointer-events:none;z-index:1}.loader{position:fixed;inset:0;z-index:999;background:#050403;display:grid;place-items:center;align-content:center;gap:2rem;transition:opacity .8s,visibility .8s}.loader.hide{opacity:0;visibility:hidden}.loader p{font:11px var(--mono);letter-spacing:.35em;color:var(--muted)}.loader-bean{width:58px;height:82px;border:1px solid var(--gold);border-radius:55% 45% 56% 44%;transform:rotate(25deg);position:relative;animation:pulse 1.4s infinite}.loader-bean i{position:absolute;left:48%;top:8%;height:84%;width:1px;background:var(--gold);transform:rotate(12deg)}@keyframes pulse{50%{box-shadow:0 0 38px #b66a2466;transform:rotate(25deg) scale(1.07)}}
.topbar{position:fixed;inset:0 0 auto;z-index:100;display:flex;justify-content:space-between;align-items:center;padding:24px clamp(20px,4vw,64px);mix-blend-mode:normal}.logo{display:grid;grid-template-columns:24px auto;column-gap:8px;align-items:center;font-family:var(--serif);font-size:22px;letter-spacing:.22em}.logo i{grid-row:1/3;color:var(--gold)}.logo small{font:7px var(--mono);letter-spacing:.35em;color:var(--gold)}.nav-toggle{border:0;background:none;color:var(--text);display:flex;align-items:center;gap:12px;font:10px var(--mono);letter-spacing:.18em;cursor:pointer}.nav-toggle i{width:34px;height:34px;border:1px solid var(--gold);border-radius:50%;position:relative}.nav-toggle i:after,.nav-toggle i:before{content:"";position:absolute;left:9px;right:9px;height:1px;background:var(--gold);top:13px}.nav-toggle i:after{top:19px}.nav-panel{position:fixed;inset:0;z-index:95;background:#090704f2;backdrop-filter:blur(18px);display:grid;grid-template-columns:1fr 2fr;padding:14vh 8vw;opacity:0;visibility:hidden;transition:.55s}.nav-panel.open{opacity:1;visibility:visible}.nav-panel__index{font:11px var(--mono);color:var(--gold);letter-spacing:.2em}.nav-panel__links{display:grid}.nav-panel__links a{font:clamp(42px,6vw,95px)/.9 var(--serif);border-bottom:1px solid var(--line);padding:.12em 0;color:#806f58;transition:.3s}.nav-panel__links a:hover{color:var(--text);padding-left:.15em}.nav-panel__links a:first-letter{font-family:var(--mono);font-size:12px;color:var(--gold)}
.hero{height:100svh;min-height:720px;position:relative;display:grid;place-items:center;overflow:hidden;border-bottom:1px solid var(--line)}.hero3d{position:absolute;inset:0;z-index:0}.hero-vignette{position:absolute;inset:0;background:radial-gradient(circle at 50% 43%,transparent 0 22%,#06050433 50%,#050403 86%),linear-gradient(180deg,#0008,transparent 28%,#0009);z-index:1}.hero-copy{position:relative;z-index:2;text-align:center;margin-top:6vh}.kicker{font:11px var(--mono);letter-spacing:.5em;color:var(--gold);margin:0}.hero h1{font:clamp(52px,7.7vw,132px)/.85 var(--serif);letter-spacing:.12em;margin:.1em 0;text-shadow:0 8px 40px #000}.hero-sub{position:absolute;left:calc(100% + 15vw);top:42%;width:180px;font:16px/1.4 var(--serif);text-align:right}.enter{width:82px;height:82px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;margin:40px auto 0;font:9px var(--mono);letter-spacing:.18em;transition:.3s;background:#0a0705bb}.enter i{font-style:normal}.enter:hover{background:var(--gold);color:#080604;transform:scale(1.08)}.chapter-rail{position:absolute;z-index:3;left:3vw;top:27%;display:grid;gap:12px}.chapter-rail b{font:11px var(--mono);color:var(--gold)}.chapter-rail i{width:4px;height:4px;border:1px solid var(--paper);border-radius:50%}.hero-note{position:absolute;right:3vw;bottom:5vh;z-index:3;font:12px var(--mono);color:var(--muted);text-align:right}
.atlas{min-height:100vh;display:grid;grid-template-columns:28% 1fr 12%;position:relative;border-bottom:1px solid var(--line);z-index:2}.compass-wrap{display:grid;place-items:center;border-right:1px solid var(--line);min-height:780px}.compass{width:min(24vw,340px);aspect-ratio:1;position:relative;border:1px solid #c28a3b44;border-radius:50%;display:grid;place-items:center}.compass-ring{position:absolute;inset:12%;border:1px dashed #c28a3b66;border-radius:50%}.compass-ring.inner{inset:30%;border-style:solid}.compass button:not(.compass-core){position:absolute;left:50%;top:50%;transform:rotate(var(--a)) translateY(-170px) rotate(calc(var(--a) * -1));transform-origin:0 0;border:0;background:none;color:var(--paper);font:9px var(--mono);text-transform:uppercase;cursor:pointer}.compass button.active{color:var(--ember)}.compass-core{width:82px;height:82px;border:1px solid var(--gold);border-radius:50%;background:#0b0805;color:var(--gold);font-size:24px;box-shadow:0 0 40px #a45d1d33}.needle{height:44%;width:1px;background:linear-gradient(var(--ember),transparent);transform-origin:bottom;position:absolute;bottom:50%;transition:transform .6s cubic-bezier(.2,.8,.2,1)}.featured-product{min-height:780px;padding:9vh 6vw;display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:2vw;position:relative;overflow:hidden}.featured-product:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50%,var(--product-glow,#b8682a55),transparent 42%)}.featured-product .meta{position:relative;z-index:2}.featured-product h2{font:clamp(42px,5vw,78px)/.9 var(--serif);letter-spacing:.06em;margin:.2em 0}.featured-product .visual{height:520px;position:relative;display:grid;place-items:center;z-index:2}.cup{width:230px;height:270px;border-radius:22px 22px 74px 74px;background:linear-gradient(100deg,#28150d,#8a4b23 48%,#2a160f);box-shadow:inset -20px 0 40px #0008,0 30px 70px #000;position:relative;transform:perspective(700px) rotateY(-8deg)}.cup:before{content:"";position:absolute;left:14px;right:14px;top:-18px;height:44px;border-radius:50%;background:radial-gradient(ellipse,#e7c69b 0 20%,#5b2f17 24% 55%,#1b0d08 58%)}.cup:after{content:"";position:absolute;right:-65px;top:55px;width:85px;height:115px;border:16px solid #56301b;border-left:0;border-radius:0 60px 60px 0}.steam{position:absolute;top:40px;width:80px;height:180px;filter:blur(8px);opacity:.55;background:radial-gradient(ellipse,#fff8,transparent 55%);animation:steam 4s infinite ease-in-out}@keyframes steam{50%{transform:translateY(-45px) scaleX(1.6);opacity:.2}}.featured-product .stats{display:grid;gap:26px;position:relative;z-index:2}.featured-product .stats span,.featured-product .meta span{font:9px var(--mono);color:var(--gold);letter-spacing:.15em;text-transform:uppercase}.featured-product .stats b{font:18px var(--serif)}.price{font:42px var(--serif);display:block;margin-top:30px}.product-rail{border-left:1px solid var(--line);display:grid;align-content:center;gap:16px;padding:1rem}.product-thumb{border:1px solid var(--line);aspect-ratio:1;display:grid;place-items:center;background:#100b07;cursor:pointer;transition:.3s}.product-thumb.active{border-color:var(--gold);box-shadow:0 0 20px #b26a2233}.product-thumb i{width:34px;height:48px;border-radius:5px 5px 15px 15px;background:var(--thumb)}
.story{min-height:100vh;display:grid;grid-template-columns:7% 32% 1fr 20%;border-bottom:1px solid var(--line);position:relative;z-index:2}.story>*{border-right:1px solid var(--line)}.story-label{padding:5vh 2vw;font:9px var(--mono);color:var(--gold);writing-mode:vertical-rl}.story-words{padding:7vh 4vw;display:flex;flex-direction:column;justify-content:center}.story-words p{font:clamp(44px,5vw,84px)/.74 var(--serif);margin:0;opacity:.18;transform:translateX(-20px);transition:.7s}.story-words p.show{opacity:1;transform:none}.story-words em{color:var(--gold)}.story-words a{margin-top:45px;font:9px var(--mono);letter-spacing:.2em}.story-image{margin:0;overflow:hidden}.story-image img{width:100%;height:100%;object-fit:cover;filter:saturate(.7) contrast(1.1)}.receipt-mini{margin:0;background:var(--paper);color:#24180f;align-self:stretch;padding:8vh 2vw;font:10px var(--mono);position:relative}.receipt-mini:after{content:"";position:absolute;inset:auto 0 -15px;height:25px;background:linear-gradient(135deg,transparent 8px,var(--paper) 0) 0 0/20px 20px repeat-x}.receipt-head{text-align:center;border-bottom:1px dashed #5a4937;padding-bottom:22px}.receipt-head b{display:block;font:28px var(--serif);letter-spacing:.18em}.receipt-mini #receiptItems{display:grid;gap:16px;padding:28px 0}.receipt-mini #receiptItems div{display:flex;justify-content:space-between}.receipt-mini footer{border-top:1px dashed #5a4937;padding-top:26px}
.menu-scene,.events,.reviews,.reservation{padding:12vh 6vw;position:relative;z-index:2;border-bottom:1px solid var(--line)}section>header p,.reservation-copy>p{font:10px var(--mono);color:var(--gold);letter-spacing:.24em}section>header h2,.reservation h2{font:clamp(52px,7vw,108px)/.78 var(--serif);letter-spacing:.04em;margin:.25em 0 1em}section>header h2 em,.reservation h2 em{color:var(--gold)}.menu-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:38px}.menu-toolbar input{flex:1;min-width:220px;background:transparent;border:0;border-bottom:1px solid var(--line);color:var(--text);padding:14px}.menu-toolbar button{border:1px solid var(--line);background:none;color:var(--muted);padding:10px 18px;border-radius:30px;cursor:pointer}.menu-toolbar button.active{background:var(--gold);color:#0a0705}.menu-list{display:grid;grid-template-columns:repeat(2,1fr);gap:0 5vw}.menu-item{display:grid;grid-template-columns:1fr auto;gap:20px;padding:27px 0;border-bottom:1px solid var(--line);cursor:pointer}.menu-item h3{font:28px var(--serif);margin:0 0 8px}.menu-item p{margin:0;color:var(--muted);font-size:13px}.menu-item strong{font:20px var(--serif)}.menu-item:hover h3{color:var(--gold)}
.gallery{padding:12vh 0;overflow:hidden;position:relative;z-index:2;border-bottom:1px solid var(--line)}.gallery header{padding:0 6vw}.film{display:flex;gap:24px;width:max-content;padding:5vh 4vw}.frame{width:420px;height:560px;position:relative;border:10px solid #0b0907;box-shadow:0 20px 50px #000;overflow:hidden}.frame:nth-child(even){height:420px;margin-top:80px}.frame img{width:100%;height:100%;object-fit:cover;filter:saturate(.75)}.frame span{position:absolute;left:15px;bottom:15px;background:#080604c9;padding:8px 11px;font:9px var(--mono);letter-spacing:.15em}.poster-wall{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.poster{min-height:480px;padding:34px;display:flex;flex-direction:column;justify-content:space-between;color:#17110c;transform:rotate(var(--r));box-shadow:0 30px 60px #000;background:var(--poster)}.poster h3{font:52px/.85 var(--serif);margin:0}.poster a{font:10px var(--mono);border-top:1px solid #0005;padding-top:15px}.notes{display:grid;grid-template-columns:repeat(3,1fr);gap:4vw}.note{background:#cab995;color:#251a11;padding:40px;min-height:260px;box-shadow:0 30px 60px #000;transform:rotate(var(--r));font:26px/1.25 var(--serif);position:relative}.note:after{content:"";position:absolute;top:-10px;left:42%;width:80px;height:24px;background:#9d8a6644}.note footer{font:9px var(--mono);margin-top:30px}
.reservation{display:grid;grid-template-columns:.9fr 1.1fr;gap:6vw}.reservation-copy p:last-child{max-width:45ch;color:var(--muted);line-height:1.7}.floorplan{min-height:400px;border:1px solid var(--line);background:radial-gradient(circle at 50%,#4a2b1622,transparent 60%),linear-gradient(90deg,transparent 49.7%,var(--line) 50%,transparent 50.3%),linear-gradient(transparent 49.7%,var(--line) 50%,transparent 50.3%);display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:45px;align-items:center}.table{aspect-ratio:1;border:1px solid var(--gold);border-radius:50%;background:#0b0805;color:var(--paper);cursor:pointer;box-shadow:0 0 0 12px #0a0705,0 0 0 13px var(--line);transition:.3s}.table.booked{opacity:.25;cursor:not-allowed}.table.selected{background:var(--gold);color:#070604;box-shadow:0 0 30px #c28a3b88}.reservation form{grid-column:2;display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.reservation input,.reservation select{background:transparent;border:0;border-bottom:1px solid var(--line);padding:16px;color:var(--text)}.reservation select option{background:#111}.reservation form button{grid-column:1/-1;background:var(--gold);border:0;padding:18px;font:11px var(--mono);letter-spacing:.2em;cursor:pointer}.reservation form p{grid-column:1/-1;color:var(--gold)}
.finale{min-height:100vh;padding:16vh 7vw 8vh;position:relative;z-index:2;display:flex;flex-direction:column;justify-content:flex-end;background:linear-gradient(#07060455,#070604),url('https://images.unsplash.com/photo-1511081692775-05d0f180a065?auto=format&fit=crop&w=1800&q=85') center/cover}.steam-logo{align-self:center;position:relative;height:150px;width:120px;display:grid;place-items:end center}.steam-logo span{font-size:46px;color:var(--gold);text-shadow:0 0 30px var(--gold)}.steam-logo i{position:absolute;bottom:45px;width:5px;height:100px;border-radius:50%;border-left:2px solid #e6d6b277;animation:curl 4s infinite}.steam-logo i:nth-child(2){transform:translateX(25px);animation-delay:1s}.steam-logo i:nth-child(3){transform:translateX(-25px);animation-delay:2s}@keyframes curl{50%{transform:translateY(-30px) translateX(20px) scaleX(2);opacity:.15}}.finale h2{text-align:center;font:clamp(62px,8vw,130px)/.8 var(--serif);margin:.25em 0}.finale h2 em{color:var(--gold)}.footer-grid{border-top:1px solid var(--line);padding-top:32px;display:grid;grid-template-columns:2fr 1fr 1fr;gap:40px}.footer-grid div{display:grid;gap:8px}.footer-grid span{font:9px var(--mono);color:var(--gold);letter-spacing:.15em}.footer-grid p,.footer-grid a{font-size:12px;color:var(--muted)}
.product-dialog{width:min(900px,92vw);border:1px solid var(--gold);background:#0d0906;color:var(--text);padding:0;box-shadow:0 50px 130px #000}.product-dialog::backdrop{background:#030201dd;backdrop-filter:blur(12px)}.product-dialog>button{position:absolute;right:15px;top:10px;z-index:2;border:0;background:none;color:var(--text);font-size:30px}.dialog-grid{display:grid;grid-template-columns:1fr 1fr}.dialog-visual{min-height:520px;display:grid;place-items:center;background:radial-gradient(circle,var(--glow),transparent 60%)}.dialog-copy{padding:70px 45px}.dialog-copy h2{font:60px/.9 var(--serif);margin:.2em 0}.dialog-copy p{color:var(--muted);line-height:1.6}.dialog-meta{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:35px}.dialog-meta span{font:9px var(--mono);color:var(--gold);display:block}.cursor{position:fixed;z-index:200;pointer-events:none;width:58px;height:58px;border:1px solid var(--gold);border-radius:50%;display:grid;place-items:center;transform:translate(-50%,-50%) scale(.4);opacity:0;transition:transform .2s,opacity .2s}.cursor.show{opacity:1;transform:translate(-50%,-50%) scale(1)}.cursor span{font:8px var(--mono)}.mobile-actions{display:none}
@media(max-width:980px){.cursor{display:none}.hero-sub{position:static;width:auto;text-align:center}.atlas{grid-template-columns:1fr}.compass-wrap{min-height:520px;border-right:0;border-bottom:1px solid var(--line)}.compass{width:320px}.compass button:not(.compass-core){transform:rotate(var(--a)) translateY(-145px) rotate(calc(var(--a) * -1))}.featured-product{grid-template-columns:1fr;min-height:auto;text-align:center}.featured-product .visual{order:-1;height:360px}.featured-product .stats{grid-template-columns:repeat(3,1fr)}.product-rail{border:0;border-top:1px solid var(--line);grid-template-columns:repeat(6,1fr)}.story{grid-template-columns:10% 40% 1fr}.receipt-mini{display:none}.menu-list{grid-template-columns:1fr}.poster-wall,.notes{grid-template-columns:1fr}.reservation{grid-template-columns:1fr}.reservation form{grid-column:auto}.footer-grid{grid-template-columns:1fr 1fr}.mobile-actions{display:flex;position:fixed;z-index:80;left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));background:#0b0805eb;border:1px solid var(--line);backdrop-filter:blur(14px);justify-content:space-around;padding:12px;border-radius:18px;font:9px var(--mono)}}
@media(max-width:640px){.topbar{padding:18px}.logo{font-size:17px}.nav-panel{grid-template-columns:1fr;padding:12vh 8vw}.nav-panel__index{display:none}.hero{min-height:640px}.hero h1{font-size:49px}.chapter-rail,.hero-note{display:none}.atlas{display:block}.compass-wrap{min-height:430px}.compass{width:270px}.compass button:not(.compass-core){transform:rotate(var(--a)) translateY(-120px) rotate(calc(var(--a) * -1));font-size:8px}.featured-product{padding:70px 20px}.cup{transform:scale(.78)}.featured-product .stats{grid-template-columns:1fr}.product-rail{overflow-x:auto;grid-template-columns:repeat(6,80px)}.story{display:block}.story-label{writing-mode:initial;border-bottom:1px solid var(--line)}.story-words{padding:70px 22px}.story-words p{font-size:58px}.story-image{height:65vh}.menu-scene,.events,.reviews,.reservation{padding:90px 20px}.menu-toolbar input{width:100%;flex-basis:100%}.frame{width:78vw;height:60vh}.frame:nth-child(even){height:50vh}.poster{min-height:390px}.notes{gap:50px}.floorplan{grid-template-columns:repeat(3,1fr);padding:30px 22px;gap:28px}.reservation form{grid-template-columns:1fr}.finale{padding:100px 22px 100px}.footer-grid{grid-template-columns:1fr}.dialog-grid{grid-template-columns:1fr}.dialog-visual{min-height:300px}.dialog-copy{padding:35px 24px}.dialog-copy h2{font-size:46px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.story-words p{opacity:1;transform:none}}
