:root{
  --preto:#0A0A0A; --carvao:#141210; --carvao2:#1E1B18; --creme:#E3D4C1;
  --creme-60:rgba(227,212,193,.6); --creme-40:rgba(227,212,193,.4); --creme-10:rgba(227,212,193,.1);
  --brasa:#C8380A; --acesa:#F26A1B; --fogo:#981000;
  --max:1120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--preto);color:var(--creme);font-family:'Montserrat',system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,.title{font-family:'Playfair Display',Georgia,serif;line-height:1.05}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--max);margin:0 auto;padding:0 20px}
.muted{color:var(--creme-60)}
.brasa{color:var(--brasa)}
.acesa{color:var(--acesa)}
.center{text-align:center}

/* NAV */
header.nav{position:fixed;top:0;left:0;right:0;z-index:50;background:rgba(10,10,10,.82);backdrop-filter:blur(10px);border-bottom:1px solid var(--creme-10)}
.nav .wrap{height:64px;display:flex;align-items:center;gap:26px}
.logo{font-family:'Playfair Display',serif;font-weight:900;font-size:26px;letter-spacing:.5px}
.nav .tag{font-size:10px;letter-spacing:.25em;text-transform:uppercase;color:var(--brasa);font-weight:700}
.nav nav{margin-left:auto;display:flex;gap:24px;font-size:14px;font-weight:600;color:var(--creme-60)}
.nav nav a:hover{color:var(--creme)}
@media(max-width:720px){.nav nav{display:none}.nav .tag{display:none}}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:700;padding:13px 24px;border-radius:12px;font-size:15px;transition:.2s;cursor:pointer;border:1px solid transparent}
.btn-primary{background:var(--brasa);color:var(--creme)}
.btn-primary:hover{background:var(--acesa);transform:translateY(-1px)}
.btn-ghost{border-color:var(--creme-10);color:var(--creme)}
.btn-ghost:hover{border-color:var(--acesa)}
.btn-sm{padding:9px 16px;font-size:14px;border-radius:10px}

/* BADGE */
.badge{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:7px 14px;border-radius:999px;border:1px solid var(--acesa);color:var(--acesa);background:rgba(242,106,27,.08)}
.dot{width:7px;height:7px;border-radius:50%;background:var(--acesa);box-shadow:0 0 0 0 rgba(242,106,27,.6);animation:pulse 2s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(242,106,27,.5)}70%{box-shadow:0 0 0 9px rgba(242,106,27,0)}100%{box-shadow:0 0 0 0 rgba(242,106,27,0)}}

/* HERO */
.hero{position:relative;min-height:94vh;display:flex;align-items:center;overflow:hidden;padding:120px 0 80px}
.hero-bg{position:absolute;inset:0;z-index:0}
.hero-glow{position:absolute;left:50%;bottom:-30%;transform:translateX(-50%);width:120%;height:70%;
  background:radial-gradient(ellipse at center, rgba(200,56,10,.35), rgba(242,106,27,.12) 40%, transparent 70%);
  filter:blur(20px);animation:breathe 6s ease-in-out infinite}
@keyframes breathe{0%,100%{opacity:.75}50%{opacity:1}}
.ember{position:absolute;bottom:-10px;width:6px;height:6px;border-radius:50%;background:var(--acesa);
  box-shadow:0 0 8px 2px rgba(242,106,27,.7);opacity:0;animation:rise linear infinite}
@keyframes rise{0%{transform:translateY(0) scale(1);opacity:0}10%{opacity:.9}90%{opacity:.4}100%{transform:translateY(-90vh) scale(.3);opacity:0}}
.hero .wrap{position:relative;z-index:2;text-align:center}
.hero-logo{max-width:min(560px,86vw);margin:0 auto 8px;filter:drop-shadow(0 10px 40px rgba(0,0,0,.6))}
.hero-slogan{font-family:'Playfair Display',serif;font-style:italic;font-size:clamp(20px,4vw,30px);color:var(--acesa);margin-top:4px}
.hero-sub{max-width:620px;margin:22px auto 0;font-size:clamp(16px,2.2vw,19px);color:var(--creme-60)}
.hero-cta{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:34px}

/* SECTIONS */
section{position:relative}
.band{padding:70px 0;border-top:1px solid var(--creme-10);border-bottom:1px solid var(--creme-10);background:rgba(20,18,16,.5)}
.section{padding:90px 0}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--brasa)}
.h2{font-size:clamp(30px,5vw,44px);font-weight:800;margin-top:6px}
.lead{color:var(--creme-60);font-size:18px;margin-top:14px}

/* GRID + CARDS */
.grid{display:grid;gap:20px}
.g3{grid-template-columns:repeat(3,1fr)}
.g2{grid-template-columns:repeat(2,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:860px){.g3,.g4{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.g2,.g3,.g4{grid-template-columns:1fr}}
.card{background:var(--carvao);border:1px solid var(--creme-10);border-radius:18px;padding:26px;transition:.2s}
.card:hover{border-color:rgba(242,106,27,.4);transform:translateY(-3px)}
.card .t{font-family:'Playfair Display',serif;font-size:24px;font-weight:700;color:var(--brasa)}
.card.dark{background:var(--carvao2)}
.stat{font-family:'Playfair Display',serif;font-size:34px;font-weight:800;color:var(--brasa)}

/* SOBRE split */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px}}

/* PEDIR cards com estado */
.opt{display:block;background:var(--carvao);border:1px solid var(--creme-10);border-radius:18px;padding:28px;transition:.2s}
.opt:hover{border-color:rgba(242,106,27,.4)}
.opt .ic{font-size:30px;margin-bottom:12px}
.opt .soon{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--acesa);border:1px solid var(--acesa);border-radius:999px;padding:3px 10px;display:inline-block;margin-top:10px}

/* FOOTER */
footer.ft{border-top:1px solid var(--creme-10);background:rgba(20,18,16,.6)}
footer.ft .cols{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding:50px 0}
@media(max-width:720px){footer.ft .cols{grid-template-columns:1fr;gap:24px}}
footer.ft h4{font-family:'Montserrat',sans-serif;font-size:12px;letter-spacing:.15em;text-transform:uppercase;color:var(--creme-60);margin-bottom:12px}
footer.ft a{color:var(--creme-60);font-size:14px;display:block;margin-bottom:6px}
footer.ft a:hover{color:var(--creme)}
.copy{border-top:1px solid var(--creme-10);padding:18px 0;text-align:center;font-size:12px;color:var(--creme-40)}
.copy a{color:var(--creme-40);text-decoration:underline;text-decoration-style:dotted}
.copy a:hover{color:var(--brasa)}

/* MENU (cardápio) */
.menu-cat{font-family:'Playfair Display',serif;font-size:26px;font-weight:700;color:var(--creme);border-bottom:2px solid rgba(200,56,10,.4);padding-bottom:8px;margin-bottom:14px}
.menu-item{display:flex;align-items:baseline;gap:12px;padding:7px 0}
.menu-item .nm{color:var(--creme)}
.menu-item .ln{flex:1;border-bottom:1px dotted var(--creme-10)}
.menu-item .pr{color:var(--acesa);font-weight:700;white-space:nowrap}
.menu-cols{columns:2;column-gap:44px}
@media(max-width:720px){.menu-cols{columns:1}}
.menu-cat-block{break-inside:avoid;margin-bottom:30px}

/* reveal */
.reveal{opacity:0;transform:translateY(18px);transition:.7s ease}
.reveal.on{opacity:1;transform:none}
