:root{--bg:#120d0a;--bg2:#1c1410;--card:#221812;--ink:#fff4e6;--mut:#c9b8a6;--fire:#ff5a1f;--fire2:#ffb21a;--yel:#ffd23f;--line:rgba(255,200,150,.14);--r:18px;--hd:68px}
*{box-sizing:border-box}main{overflow-x:clip}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--hd) + 8px)}
body{margin:0;background:var(--bg);color:var(--ink);font:400 16px/1.6 Barlow,system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:inherit}
h1,h2,h3{font-family:Anton,Impact,sans-serif;font-weight:400;letter-spacing:.5px;line-height:1.02;margin:0 0 .4em;text-transform:uppercase}
h2{font-size:clamp(36px,5.5vw,68px)}h3{font-size:26px}h4{font:700 13px/1 Barlow;letter-spacing:.18em;text-transform:uppercase;color:var(--mut);margin:22px 0 10px}
.wrap{width:min(1200px,92vw);margin:0 auto}
.kicker{font:700 13px/1 Barlow;letter-spacing:.24em;text-transform:uppercase;color:var(--fire2);margin:0 0 14px}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:99;background:#fff;color:#000;padding:8px}
.btn{display:inline-flex;align-items:center;gap:8px;padding:14px 22px;border-radius:999px;font:700 15px/1 Barlow;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border:2px solid transparent;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}
.btn svg{width:18px;height:18px;fill:currentColor}
.btn-fire{background:linear-gradient(135deg,var(--fire),var(--fire2));color:#1a0d05;box-shadow:0 8px 30px -8px rgba(255,90,31,.7)}
.btn-fire:hover{transform:translateY(-2px);box-shadow:0 14px 36px -8px rgba(255,120,31,.9)}
.btn-ghost{border-color:rgba(255,244,230,.5);color:var(--ink);background:rgba(0,0,0,.25);backdrop-filter:blur(6px)}
.btn-ghost:hover{border-color:var(--fire2);color:var(--fire2)}
.btn.sm{padding:10px 16px;font-size:13px}
/* header */
.hd{position:fixed;inset:0 0 auto;height:var(--hd);display:flex;align-items:center;justify-content:space-between;padding:0 4vw;z-index:50;transition:background .3s,box-shadow .3s}
.hd.is-scrolled{background:rgba(18,13,10,.92);backdrop-filter:blur(10px);box-shadow:0 1px 0 var(--line)}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font:400 22px/1 Anton;letter-spacing:1px}
.brand b{color:var(--fire2);font-weight:400}
.nav{display:flex;gap:28px}.nav a{text-decoration:none;font-weight:600;font-size:15px;opacity:.85;position:relative}
.nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:2px;background:var(--fire);transition:right .25s}.nav a:hover::after{right:0}
.hd-r{display:flex;align-items:center;gap:12px}
.lang{display:flex;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang button{background:none;border:0;color:var(--mut);font:700 12px/1 Barlow;padding:7px 10px;border-radius:999px;cursor:pointer}
.lang button.is-active{background:var(--ink);color:var(--bg)}
.burger{display:none;background:none;border:0;width:40px;height:40px;position:relative;cursor:pointer}
.burger span{position:absolute;left:9px;right:9px;height:2px;background:var(--ink);transition:.3s}.burger span:first-child{top:15px}.burger span:last-child{top:23px}
.nav-open .burger span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .burger span:last-child{transform:translateY(-4px) rotate(-45deg)}
/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden;padding:calc(var(--hd) + 40px) 4vw 9vh}
.hero-bg{position:absolute;inset:0}
.kb{position:absolute;inset:-4%;background-size:cover;background-position:center;opacity:0;animation:kb 18s infinite}
.kb:nth-child(2){animation-delay:6s}.kb:nth-child(3){animation-delay:12s}
@keyframes kb{0%{opacity:0;transform:scale(1.04) translate(0,0)}6%{opacity:1}33%{opacity:1}40%{opacity:0;transform:scale(1.18) translate(-2%,-1%)}100%{opacity:0}}
.hero::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 80% at 70% 30%,rgba(18,13,10,.1),rgba(18,13,10,.75) 60%,#120d0a 100%),linear-gradient(180deg,rgba(18,13,10,.6),transparent 30%,transparent 50%,#120d0a);pointer-events:none}
.embers{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;mix-blend-mode:screen}
.hero-in{position:relative;z-index:2;max-width:820px}
.hero-t{font-size:clamp(54px,10vw,132px);margin:0 0 18px;text-shadow:0 6px 40px rgba(0,0,0,.5)}
.hero-t em{font:400 .62em/1.1 "Permanent Marker",cursive;text-transform:none;color:var(--yel);display:inline-block;transform:rotate(-3deg);margin-top:0;background:linear-gradient(90deg,var(--fire2),var(--yel));-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-s{font-size:clamp(17px,1.6vw,20px);max-width:600px;color:#f1e3d2;margin:0 0 28px}
.hero-cta{display:flex;flex-wrap:wrap;gap:12px}
.stats{list-style:none;padding:0;margin:34px 0 0;display:flex;gap:34px;flex-wrap:wrap}
.stats li{display:flex;flex-direction:column}.stats b{font:400 34px/1 Anton;color:var(--yel)}.stats span{font-size:13px;color:var(--mut);letter-spacing:.06em;text-transform:uppercase;margin-top:6px}
.hero-in>*{animation:rise .9s cubic-bezier(.2,.8,.2,1) both}.hero-in>*:nth-child(2){animation-delay:.12s}.hero-in>*:nth-child(3){animation-delay:.24s}.hero-in>*:nth-child(4){animation-delay:.36s}.hero-in>*:nth-child(5){animation-delay:.48s}
@keyframes rise{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.open-badge{position:absolute;z-index:3;right:4vw;bottom:9vh;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(0,0,0,.5);backdrop-filter:blur(6px);font-weight:700;font-size:13px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line)}
.open-badge i{width:9px;height:9px;border-radius:50%;background:#888}.open-badge.is-open i{background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.7);animation:pulse 1.8s infinite}.open-badge.is-closed i{background:#ff6b5a}
.open-badge.inline{position:static;margin:4px 0 0}
@keyframes pulse{70%{box-shadow:0 0 0 10px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
/* ticker */
.ticker{background:linear-gradient(90deg,var(--fire),var(--fire2));color:#1a0d05;overflow:hidden;transform:rotate(-1.2deg);margin:-14px -2vw 0;position:relative;z-index:4}
.ticker-in{display:flex;gap:40px;padding:14px 0;width:max-content;animation:tick 30s linear infinite;font:400 26px/1 Anton;letter-spacing:1px}
.ticker-in span::after{content:"✦";margin-left:40px;font-size:18px;vertical-align:middle}
@keyframes tick{to{transform:translateX(-50%)}}
/* special */
.special{display:grid;grid-template-columns:1fr 1.1fr;gap:5vw;align-items:center;width:min(1100px,92vw);margin:110px auto 40px}
.special-img{border-radius:28px;overflow:hidden;transform:rotate(-2deg);box-shadow:0 30px 80px -30px rgba(255,90,31,.5);border:6px solid #2a1d15}
.special-img img{aspect-ratio:4/3;object-fit:cover;width:100%;transition:transform 1.2s}.special:hover .special-img img{transform:scale(1.06)}
.special-tx h2{font-size:clamp(34px,4.6vw,58px)}.special-tx p{color:var(--mut);font-size:18px}
/* menu */
.menu{padding:90px 0 60px;background:radial-gradient(60% 40% at 50% 0,rgba(255,90,31,.12),transparent),var(--bg)}
.sec-h{text-align:center;margin-bottom:34px}.sec-h .sub{color:var(--mut);max-width:620px;margin:0 auto}
.menu-bar{display:flex;gap:16px;align-items:center;justify-content:center;flex-wrap:wrap;margin-bottom:18px}
.search{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:999px;padding:0 18px;width:min(520px,100%);transition:border-color .2s,box-shadow .2s}
.search:focus-within{border-color:var(--fire);box-shadow:0 0 0 4px rgba(255,90,31,.18)}
.search svg{width:18px;fill:var(--mut);flex:none}.search input{background:none;border:0;color:var(--ink);font:500 16px Barlow;padding:14px 0;width:100%;outline:none}
.count{color:var(--mut);font-size:14px}
.chips{display:flex;gap:10px;overflow-x:auto;padding:6px 2px 16px;scrollbar-width:none;position:sticky;top:var(--hd);z-index:10;background:linear-gradient(var(--bg) 70%,transparent);margin:0 -2px}
.chips::-webkit-scrollbar{display:none}
.chip{flex:none;background:var(--card);border:1px solid var(--line);color:var(--ink);font:600 14px/1 Barlow;padding:11px 16px;border-radius:999px;cursor:pointer;transition:.2s;white-space:nowrap}
.chip .tab-n{margin-left:7px;font-size:11px;opacity:.6}
.chip:hover{border-color:var(--fire2)}.chip.is-active{background:linear-gradient(135deg,var(--fire),var(--fire2));color:#1a0d05;border-color:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;min-height:300px}
.mcat{grid-column:1/-1;font:400 30px/1 Anton;text-transform:uppercase;margin:22px 0 2px;display:flex;align-items:center;gap:14px}
.mcat::after{content:"";flex:1;height:1px;background:var(--line)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s,border-color .25s,box-shadow .25s}
.card:hover{transform:translateY(-4px);border-color:rgba(255,178,26,.5);box-shadow:0 20px 40px -20px rgba(255,90,31,.45)}
.card .ph{aspect-ratio:4/3;overflow:hidden;position:relative;background:#2a1d15}
.card .ph img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.card:hover .ph img{transform:scale(1.07)}
.card .ph.none{display:none}
.card .bd{padding:16px 18px 18px;display:flex;flex-direction:column;gap:6px;flex:1}
.card .row{display:flex;justify-content:space-between;gap:12px;align-items:baseline}
.card h3{font:700 18px/1.25 Barlow;text-transform:none;letter-spacing:0;margin:0}
.card .pr{font:400 20px/1 Anton;color:var(--yel);white-space:nowrap}
.card p{margin:0;color:var(--mut);font-size:14.5px;line-height:1.45}
.card.np{background:linear-gradient(160deg,#2a1b12,#1d140f);}
.card.np .bd{padding:18px}
.badge{position:absolute;top:12px;left:12px;background:var(--yel);color:#1a0d05;font:700 11px/1 Barlow;letter-spacing:.1em;text-transform:uppercase;padding:6px 9px;border-radius:999px}
.card.np .badge{position:static;align-self:flex-start;margin-bottom:4px}
.m-anim{animation:pop .45s cubic-bezier(.2,.8,.2,1) both}@keyframes pop{from{opacity:0;transform:translateY(16px) scale(.98)}to{opacity:1;transform:none}}
.menu-empty{grid-column:1/-1;text-align:center;color:var(--mut);padding:40px}
.note{color:var(--mut);font-size:13px;text-align:center;margin-top:26px;opacity:.85}
/* story */
.story{display:grid;grid-template-columns:1.1fr 1fr;gap:5vw;align-items:center;width:min(1200px,92vw);margin:80px auto}
.story-img{position:relative;border-radius:28px;overflow:hidden}
.story-img img{width:100%;aspect-ratio:4/3;object-fit:cover}
.story-img .tag{position:absolute;left:18px;bottom:18px;background:rgba(0,0,0,.7);font:400 15px/1.2 "Permanent Marker";padding:10px 14px;border-radius:10px;color:var(--yel)}
.story-tx p{color:#e7d8c7;font-size:17.5px}
/* reviews */
.reviews{padding:80px 0;background:var(--bg2);border-block:1px solid var(--line)}
.rev-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(380px,84vw);gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 4vw 20px;margin:0 -4vw;scrollbar-width:thin}
.rev{scroll-snap-align:start;margin:0;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:28px 24px;position:relative}
.rev::before{content:"“";position:absolute;top:-10px;right:18px;font:400 120px/1 Anton;color:var(--fire);opacity:.25}
.rev blockquote{margin:0 0 16px;font-size:18px;line-height:1.5}.rev figcaption{color:var(--fire2);font-size:13px;font-weight:700;letter-spacing:.05em}
/* gallery */
.gallery{padding:90px 0}
.masonry{columns:3 260px;column-gap:14px}
.masonry a{display:block;margin:0 0 14px;border-radius:14px;overflow:hidden;break-inside:avoid;position:relative}
.masonry img{width:100%;transition:transform .6s,filter .4s}.masonry a:hover img{transform:scale(1.05);filter:saturate(1.15)}
/* visit */
.visit{padding:80px 0 100px;background:radial-gradient(50% 50% at 80% 100%,rgba(255,90,31,.14),transparent)}
.visit-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:18px}
.loc{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px}
.loc .addr{font-size:18px;margin:0 0 6px}.loc .small{color:var(--mut);font-size:14px;margin:0}
.hours{list-style:none;padding:0;margin:0}.hours li{display:flex;justify-content:space-between;gap:12px;padding:7px 0;border-bottom:1px dashed var(--line);font-size:15px}
.hours li.is-today{color:var(--yel);font-weight:700}
.loc-cta{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.map{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);min-height:380px}.map iframe{width:100%;height:100%;min-height:380px;border:0;filter:grayscale(.3) contrast(1.05)}
.loc.order{display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.socials{display:flex;flex-direction:column;gap:10px}.socials a{display:flex;align-items:center;gap:10px;text-decoration:none;font-weight:600}.socials svg{width:22px;fill:var(--fire2)}
/* footer */
.ft{border-top:1px solid var(--line);padding:40px 0 100px;background:#0c0907}
.ft-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;align-items:flex-end}
.ft-brand{font:400 26px/1 Anton;letter-spacing:1px}.ft p{margin:6px 0 0;color:var(--mut);font-size:14px}
.credit{width:100%;text-align:center;font-size:12px!important;opacity:.55;margin-top:20px!important}
.mbar{display:none}
/* lightbox */
.lb{position:fixed;inset:0;background:rgba(8,5,3,.94);z-index:100;display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .3s}
.lb.open{opacity:1;pointer-events:auto}
.lb-f{margin:0;max-width:92vw;max-height:86vh;text-align:center}.lb-f img{max-width:92vw;max-height:80vh;object-fit:contain;border-radius:10px;opacity:0;transform:scale(.97);transition:.35s}.lb-f img.in{opacity:1;transform:none}
.lb-f figcaption{color:var(--mut);font-size:14px;margin-top:10px}
.lb button{position:absolute;background:rgba(255,255,255,.08);border:0;color:#fff;width:52px;height:52px;border-radius:50%;font-size:32px;cursor:pointer}
.lb-x{top:18px;right:18px}.lb-p{left:18px}.lb-n{right:18px}
/* reveal */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1)}.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.kb:first-child{opacity:1}.reveal{opacity:1;transform:none}}
@media (max-width:900px){
 .nav{position:fixed;inset:var(--hd) 0 auto;background:rgba(18,13,10,.98);flex-direction:column;gap:0;padding:10px 6vw 24px;transform:translateY(-120%);transition:transform .35s;border-bottom:1px solid var(--line)}
 .nav.open{transform:none}.nav a{padding:14px 0;font-size:20px;border-bottom:1px solid var(--line)}
 .burger{display:block}.hide-m{display:none}
 .special,.story,.visit-grid{grid-template-columns:1fr}
 .special{margin-top:80px}
 .open-badge{top:calc(var(--hd) + 10px);bottom:auto;right:4vw}
 .open-badge.inline{position:static}
 .stats{gap:22px}.stats b{font-size:28px}
 .mbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:rgba(18,13,10,.96);backdrop-filter:blur(8px);border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom));gap:8px}
 .mbar a{flex:1;text-align:center;text-decoration:none;font:700 14px/1 Barlow;text-transform:uppercase;letter-spacing:.06em;padding:13px 6px;border-radius:12px;border:1px solid var(--line)}
 .mbar a.hot{background:linear-gradient(135deg,var(--fire),var(--fire2));color:#1a0d05;border:0}
 .grid{grid-template-columns:1fr 1fr;gap:12px}.card .bd{padding:12px}.card h3{font-size:15.5px}.card p{font-size:13px}.card .row{flex-direction:column;gap:4px}
 .map,.map iframe{min-height:300px}
}
@media (max-width:420px){.hero{padding-bottom:7vh}.hero-t{font-size:52px}.btn{padding:12px 16px;font-size:13px}.brand span{font-size:19px}}
