:root{--bg:#120e0c;--bg2:#1b1512;--chalk:#f3ede4;--muted:#b9ada0;--ember:#ff6a1a;--flame:#ffb43a;--celeste:#74acdf;--slate:#22201d;--line:rgba(243,237,228,.12)}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;overflow-x:clip}
body{background:var(--bg);color:var(--chalk);font:16px/1.6 "Inter",system-ui,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit}
.wrap{width:min(1180px,92vw);margin:0 auto}
.hand{font-family:"Permanent Marker",cursive;letter-spacing:.5px}
h1,h2,h3{font-family:"Oswald",sans-serif;text-transform:uppercase;letter-spacing:.02em;line-height:1.05}
/* header */
header.site{position:fixed;inset:0 0 auto;z-index:50;transition:.35s;padding:18px 0}
header.site.scrolled{background:rgba(18,14,12,.88);backdrop-filter:blur(10px);padding:10px 0;box-shadow:0 1px 0 var(--line)}
.bar{display:flex;align-items:center;gap:18px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-family:"Permanent Marker";font-size:22px}
.brand svg{width:34px;height:34px}
nav.main{margin-left:auto;display:flex;gap:26px}
nav.main a{text-decoration:none;font-family:"Oswald";text-transform:uppercase;font-size:14px;letter-spacing:.12em;opacity:.85;position:relative}
nav.main a:after{content:"";position:absolute;left:0;right:100%;bottom:-4px;height:2px;background:var(--ember);transition:.3s}
nav.main a:hover:after{right:0}
.lang{border:1px solid var(--line);background:none;color:var(--chalk);border-radius:99px;padding:6px 10px;font:600 12px "Inter";cursor:pointer;display:flex;gap:4px}
.lang span{opacity:.45;padding:0 3px}.lang span.on{opacity:1;color:var(--flame)}
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 20px;border-radius:6px;font:600 14px "Inter";text-decoration:none;letter-spacing:.02em;transition:.25s;border:1px solid transparent;cursor:pointer}
.btn svg{width:18px;height:18px}
.btn.fire{background:linear-gradient(135deg,var(--ember),#e8430c);color:#fff;box-shadow:0 10px 30px -10px rgba(255,106,26,.7)}
.btn.fire:hover{transform:translateY(-2px);box-shadow:0 16px 36px -10px rgba(255,106,26,.85)}
.btn.ghost{border-color:rgba(243,237,228,.35);color:var(--chalk);background:rgba(0,0,0,.25);backdrop-filter:blur(4px)}
.btn.ghost:hover{border-color:var(--flame);color:var(--flame)}
.call-sm{display:none}
.burger{display:none;background:none;border:0;color:var(--chalk);font-size:26px;cursor:pointer}
/* hero */
.hero{position:relative;min-height:100svh;display:grid;align-items:end;overflow:hidden;isolation:isolate}
.hero .kb{position:absolute;inset:-4%;background:url(img/parrilla-tony.jpg) center 35%/cover;animation:kb 26s ease-in-out infinite alternate;z-index:-3}
@keyframes kb{0%{transform:scale(1.05) translate(0,0)}100%{transform:scale(1.18) translate(-2%,-3%)}}
.hero:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(18,14,12,.78) 0%,rgba(18,14,12,.35) 55%,transparent 80%),linear-gradient(180deg,rgba(18,14,12,.55) 0%,rgba(18,14,12,.2) 35%,rgba(18,14,12,.85) 78%,var(--bg) 100%),radial-gradient(ellipse at 70% 90%,rgba(255,106,26,.35),transparent 60%)}
#embers{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.hero-in{padding:0 0 9vh}
.kicker{display:inline-flex;gap:10px;align-items:center;font:600 13px "Inter";letter-spacing:.2em;text-transform:uppercase;color:var(--flame)}
.kicker:before{content:"";width:34px;height:2px;background:var(--flame)}
.hero h1{font-family:"Permanent Marker";text-transform:none;font-size:clamp(64px,13vw,170px);line-height:.9;margin:14px 0 6px;text-shadow:0 6px 40px rgba(0,0,0,.6)}
.hero h1 em{font-style:normal;color:var(--ember)}
.hero p.lead{font-size:clamp(17px,2vw,21px);max-width:620px;color:#eadfd2}
.hero .cta{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 22px}
.chips{display:flex;flex-wrap:wrap;gap:10px}
.chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:99px;background:rgba(0,0,0,.45);border:1px solid var(--line);font-size:13px;backdrop-filter:blur(4px)}
.chip b{color:var(--flame)}
[data-open] i{width:8px;height:8px;border-radius:50%;background:#888;display:inline-block}
[data-open].is-open i{background:#3ddc84;box-shadow:0 0 0 4px rgba(61,220,132,.2);animation:pulse 2s infinite}
[data-open].is-closed i{background:#ff5d5d}
@keyframes pulse{50%{box-shadow:0 0 0 8px rgba(61,220,132,0)}}
.scroll-cue{position:absolute;left:50%;bottom:22px;width:24px;height:38px;border:2px solid rgba(243,237,228,.5);border-radius:14px;transform:translateX(-50%)}
.scroll-cue:after{content:"";position:absolute;left:50%;top:7px;width:4px;height:8px;margin-left:-2px;border-radius:2px;background:var(--flame);animation:cue 1.6s infinite}
@keyframes cue{to{transform:translateY(12px);opacity:0}}
/* marquee */
.mq-wrap{overflow:hidden;padding:14px 0;margin-top:-24px;position:relative;z-index:2}
.marquee{background:var(--ember);color:#1a0f08;overflow:hidden;transform:rotate(-1.2deg);margin:0 -20px;padding:14px 0;position:relative;z-index:2}
.marquee div{display:flex;gap:40px;white-space:nowrap;animation:mq 30s linear infinite;font:400 26px "Permanent Marker"}
.marquee span:after{content:"✦";margin-left:40px;font-size:18px;vertical-align:middle}
@keyframes mq{to{transform:translateX(-50%)}}
section{padding:110px 0}
.eyebrow{font:600 12px "Inter";letter-spacing:.24em;text-transform:uppercase;color:var(--flame)}
h2{font-size:clamp(36px,5.4vw,64px);margin:10px 0 18px}
h2 .hand{text-transform:none;color:var(--ember);font-weight:400}
/* story */
.story{display:grid;grid-template-columns:1.05fr 1fr;gap:70px;align-items:center}
.story .photos{position:relative;height:560px}
.story .photos figure{position:absolute;border-radius:6px;overflow:hidden;box-shadow:0 30px 60px -20px rgba(0,0,0,.8);border:6px solid #f3ede4;background:#f3ede4}
.story .photos figure img{width:100%;height:100%;object-fit:cover}
.story .p1{width:68%;height:72%;left:0;top:0;transform:rotate(-3deg)}
.story .p2{width:55%;height:52%;right:0;bottom:0;transform:rotate(4deg)}
.story .p2 figcaption,.story .p1 figcaption{position:absolute;bottom:0;left:0;right:0;padding:4px 8px;background:#f3ede4;color:#2a211b;font:13px "Permanent Marker"}
.story p{color:var(--muted);margin:0 0 16px;font-size:17px}
.story blockquote{border-left:3px solid var(--ember);padding:6px 0 6px 18px;margin:24px 0;font:22px/1.35 "Permanent Marker";color:var(--chalk)}
.story blockquote cite{display:block;font:13px "Inter";color:var(--muted);margin-top:8px;font-style:normal}
.facts{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:26px}
.fact{border:1px solid var(--line);border-radius:8px;padding:16px;background:var(--bg2)}
.fact b{display:block;font:600 28px "Oswald";color:var(--flame)}
.fact span{font-size:13px;color:var(--muted)}
/* menu chalkboard */
.menu-sec{background:radial-gradient(ellipse at top,#2c2925 0%,#1d1b18 70%);position:relative}
.menu-sec:before{content:"";position:absolute;inset:0;opacity:.25;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E");pointer-events:none}
.board{position:relative;border:14px solid #6b4a2f;border-image:linear-gradient(135deg,#7a5434,#4c3220 50%,#7a5434) 1;padding:46px 40px;background:rgba(0,0,0,.18);box-shadow:inset 0 0 80px rgba(0,0,0,.6),0 40px 80px -30px #000}
.board-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}
.board h2{font-family:"Permanent Marker";text-transform:none;margin:0}
.search{position:relative;flex:0 1 320px}
.search input{width:100%;padding:12px 14px 12px 40px;border-radius:99px;border:1px dashed rgba(243,237,228,.4);background:transparent;color:var(--chalk);font:15px "Inter"}
.search input:focus{outline:none;border-style:solid;border-color:var(--flame)}
.search svg{position:absolute;left:14px;top:50%;width:16px;transform:translateY(-50%);opacity:.6}
#menu-tabs{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:24px;scrollbar-width:none}
#menu-tabs::-webkit-scrollbar{display:none}
.tab{flex:none;background:transparent;border:1px solid rgba(243,237,228,.25);color:var(--chalk);padding:9px 16px;border-radius:99px;font:16px "Permanent Marker";cursor:pointer;display:flex;gap:8px;align-items:center;transition:.25s}
.tab small{font:600 11px "Inter";opacity:.6}
.tab.active,.tab:hover{background:var(--chalk);color:#1d1b18;border-color:var(--chalk)}
#menu-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}
.card{position:relative;border:1px solid rgba(243,237,228,.14);border-radius:10px;overflow:hidden;background:rgba(255,255,255,.02);opacity:0;transform:translateY(16px) scale(.98);transition:opacity .45s var(--d),transform .45s var(--d),border-color .25s}
.card.in{opacity:1;transform:none}
.card:hover{border-color:var(--flame)}
.card-img{aspect-ratio:4/3;overflow:hidden}
.card-img img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.card:hover .card-img img{transform:scale(1.07)}
.no-img .card-body{padding-top:22px}
.no-img:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--ember),var(--flame))}
.card-body{padding:16px 18px 18px}
.card h4{font:400 22px/1.15 "Permanent Marker";color:var(--chalk)}
.card p{color:var(--muted);font-size:14px;margin-top:6px}
.tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.tag{font:600 10.5px "Inter";letter-spacing:.08em;text-transform:uppercase;padding:4px 8px;border-radius:4px;background:rgba(255,180,58,.12);color:var(--flame)}
.tag.cel{background:rgba(116,172,223,.14);color:var(--celeste)}
.menu-note{margin-top:22px;font-size:13px;color:var(--muted);display:flex;gap:10px;align-items:flex-start}
.empty{color:var(--muted);font:20px "Permanent Marker"}
/* reviews */
.rev-head{display:flex;flex-wrap:wrap;gap:30px;align-items:end;justify-content:space-between}
.score{display:flex;align-items:center;gap:18px}
.score b{font:600 84px/1 "Oswald";color:var(--flame)}
.score .stars{color:var(--flame);font-size:22px;letter-spacing:3px}
.score small{display:block;color:var(--muted)}
#reviews-list{columns:3 300px;column-gap:18px;margin-top:40px}
.review{break-inside:avoid;margin:0 0 18px;padding:24px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);transition:.3s}
.review:hover{transform:translateY(-4px);border-color:rgba(255,106,26,.45)}
.review .stars{color:var(--flame);letter-spacing:2px}
.review blockquote{font-size:17px;margin:10px 0 12px;line-height:1.5}
.review figcaption{font-size:12.5px;color:var(--muted)}
/* gallery */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:10px;margin-top:36px}
.gallery a{position:relative;overflow:hidden;border-radius:8px;display:block}
.gallery a img{width:100%;height:100%;object-fit:cover;transition:transform .7s,filter .4s;filter:saturate(1.05)}
.gallery a:hover img{transform:scale(1.08)}
.gallery a span{position:absolute;left:0;right:0;bottom:0;padding:24px 12px 10px;background:linear-gradient(transparent,rgba(0,0,0,.75));font-size:13px;opacity:0;transform:translateY(8px);transition:.3s}
.gallery a:hover span{opacity:1;transform:none}
.gallery .w2{grid-column:span 2}.gallery .h2{grid-row:span 2}
.gal-note{font-size:12.5px;color:var(--muted);margin-top:14px}
/* visit */
.visit{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:stretch}
.visit-card{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:34px}
.visit-card h3{font-size:28px;margin-bottom:6px}
.addr{color:var(--muted);margin-bottom:18px}
.hours{list-style:none;margin:16px 0 22px;border-top:1px solid var(--line)}
.hours li{display:flex;justify-content:space-between;padding:9px 0;border-bottom:1px solid var(--line);font-size:15px}
.hours li.today{color:var(--flame);font-weight:600}
.hours li.off span:last-child{opacity:.55}
.hours em{font-size:12px;color:var(--muted)}
.map{border-radius:12px;overflow:hidden;min-height:420px;border:1px solid var(--line);filter:grayscale(.2) contrast(1.05)}
.map iframe{width:100%;height:100%;min-height:420px;border:0}
.socials{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
.socials a{display:inline-flex;gap:8px;align-items:center;padding:9px 14px;border:1px solid var(--line);border-radius:99px;text-decoration:none;font-size:14px}
.socials a:hover{border-color:var(--flame);color:var(--flame)}
.socials svg{width:16px;height:16px}
.small-note{font-size:12.5px;color:var(--muted);margin-top:10px}
footer{border-top:1px solid var(--line);padding:40px 0 90px;color:var(--muted);font-size:13px}
footer .row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px}
footer .db{opacity:.6;font-size:12px}
/* sticky mobile action bar */
.actionbar{display:none}
/* reveal */
.reveal{opacity:0;transform:translateY(30px);transition:1s cubic-bezier(.2,.7,.2,1)}
.reveal.in{opacity:1;transform:none}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(8,6,5,.94);display:none;align-items:center;justify-content:center;padding:20px}
.lb.on{display:flex}
.lb figure{max-width:min(1100px,92vw);text-align:center}
.lb img{max-height:80vh;margin:0 auto;border-radius:6px;opacity:0;transform:scale(.97);transition:.35s}
.lb img.in{opacity:1;transform:none}
.lb figcaption{margin-top:12px;color:var(--chalk);font-size:14px}
.lb figcaption small{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.lb button{position:absolute;background:rgba(255,255,255,.08);border:0;color:#fff;font-size:34px;width:52px;height:52px;border-radius:50%;cursor:pointer}
.lb-x{top:18px;right:18px}.lb-p{left:18px;top:50%}.lb-n{right:18px;top:50%}
@media (max-width:900px){
  nav.main{display:none}
  body.nav-open nav.main{display:flex;position:fixed;inset:64px 0 auto;flex-direction:column;background:rgba(18,14,12,.97);padding:24px 6vw;gap:18px}
  .burger{display:block;margin-left:auto}
  .call-desktop{display:none}
  .story{grid-template-columns:1fr;gap:40px}
  .story .photos{height:420px}
  .visit{grid-template-columns:1fr}
  .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:160px}
  .gallery .w2{grid-column:span 2}
  section{padding:80px 0}
  .board{padding:28px 16px;border-width:10px}
  .facts{grid-template-columns:repeat(3,1fr)}
  .fact b{font-size:22px}
  .actionbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:rgba(18,14,12,.92);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:14px;overflow:hidden}
  .actionbar a{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 4px;text-decoration:none;font-size:12px}
  .actionbar a:first-child{background:var(--ember);color:#fff}
  .actionbar svg{width:20px;height:20px}
}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal,.card{opacity:1;transform:none}}
