/* =========================================================
   Restaurante Tavares
   Paleta quente de churrascaria: base escura de carne assada,
   acentos de brasa e dourado de fritura. Sem cinzas, sem cremes
   de fundo — creme só aparece como cor de texto.
   ========================================================= */

:root{
  /* superfícies: tudo marrom torrado, do mais escuro ao mais claro */
  --carvao:#140A05;    /* rodapé e topo do cardápio */
  --fundo:#1E0E07;     /* fundo geral da página */
  --painel:#2B1509;    /* cartas e blocos em cima do fundo */
  --painel-2:#381D0E;  /* seções alternadas */
  --linha:#54301A;     /* divisórias */

  /* texto: creme e caramelo, nunca cinza */
  --texto:#FFEFE0;
  --texto-2:#EBC5A5;
  --texto-3:#BC8C66;

  /* acentos que abrem o apetite */
  --brasa:#FF6A1F;     /* laranja de chama: CTAs */
  --pimenta:#D42A16;   /* vermelho de pimenta: hovers */
  --dourado:#FFB627;   /* dourado de fritura: rótulos e números */
  --tinta:#20100A;     /* texto escuro por cima dos acentos */

  --max:1200px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

body{
  background:var(--fundo);
  color:var(--texto);
  font-family:"Barlow",system-ui,sans-serif;
  font-size:17px;
  font-weight:400;
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
/* brilho de brasa no fundo, para o escuro não ficar chapado */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(60% 40% at 8% 12%, rgba(255,106,31,.10), transparent 70%),
    radial-gradient(55% 40% at 92% 55%, rgba(212,42,22,.10), transparent 70%),
    radial-gradient(50% 35% at 50% 100%, rgba(255,182,39,.07), transparent 70%);
}

h1,h2,h3{
  font-family:"Anton","Barlow Condensed",Impact,sans-serif;
  font-weight:400;letter-spacing:.01em;text-transform:uppercase;line-height:1.05;
}
a{color:inherit;text-decoration:none}
img,svg{max-width:100%;display:block}
:focus-visible{outline:2px solid var(--dourado);outline-offset:4px}

.wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 28px}
.estreito{max-width:760px}
.centro{text-align:center}

/* ---------- Navegação ---------- */
.nav{
  position:fixed;top:0;left:0;right:0;z-index:60;
  transition:background .35s ease,border-color .35s ease;
  border-bottom:1px solid transparent;
  color:var(--texto);
}
.nav.solida{
  background:rgba(20,10,5,.92);
  backdrop-filter:blur(10px);
  border-bottom-color:var(--linha);
}
.nav-in{
  max-width:var(--max);margin:0 auto;padding:20px 28px;
  display:flex;align-items:center;justify-content:space-between;gap:28px;
}
.nav-marca{
  font-family:"Anton",Impact,sans-serif;
  font-size:26px;letter-spacing:.14em;text-transform:uppercase;
}
.nav-marca::first-letter{color:var(--brasa)}
.nav-links{display:flex;gap:30px}
.nav-links a,.link-acao{
  font-family:"Barlow Condensed",sans-serif;
  font-size:15px;letter-spacing:.16em;text-transform:uppercase;font-weight:600;
  position:relative;padding-bottom:3px;transition:color .2s;
}
.nav-links a::after{
  content:"";position:absolute;left:0;bottom:0;width:0;height:2px;
  background:var(--brasa);transition:width .25s ease;
}
.nav-links a:hover{color:var(--brasa)}
.nav-links a:hover::after{width:100%}
.nav-acoes{display:flex;align-items:center;gap:18px}
.link-acao{border:1px solid var(--linha);padding:9px 18px;color:var(--texto-2)}
.link-acao:hover{background:var(--brasa);border-color:var(--brasa);color:var(--tinta)}
.nav-acoes .zap{background:var(--brasa);border-color:var(--brasa);color:var(--tinta)}
.nav-acoes .zap:hover{background:var(--dourado);border-color:var(--dourado)}

.nav-botao{
  display:none;background:none;border:none;cursor:pointer;
  width:30px;height:22px;position:relative;color:inherit;
}
.nav-botao span{display:block;height:2px;background:currentColor;width:100%;position:absolute;left:0;transition:transform .25s ease,opacity .25s}
.nav-botao span:first-child{top:5px}
.nav-botao span:last-child{bottom:5px}
.nav-botao[aria-expanded="true"] span:first-child{transform:translateY(5px) rotate(45deg)}
.nav-botao[aria-expanded="true"] span:last-child{transform:translateY(-6px) rotate(-45deg)}

.menu-mobile{
  display:flex;flex-direction:column;gap:2px;
  background:var(--carvao);border-top:1px solid var(--linha);
  padding:10px 28px 22px;
}
.menu-mobile[hidden]{display:none}
.menu-mobile a{
  color:var(--texto);font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:17px;letter-spacing:.16em;text-transform:uppercase;
  padding:13px 0;border-bottom:1px solid var(--linha);
}
.menu-mobile a:last-child{border-bottom:none}
.menu-mobile a:hover{color:var(--brasa)}

@media (max-width:980px){
  .nav-links,.nav-acoes{display:none}
  .nav-botao{display:block}
  .nav{background:rgba(20,10,5,.92);border-bottom-color:var(--linha)}
}
@media (min-width:981px){
  .menu-mobile{display:none!important}
}

/* ---------- Hero ---------- */
.hero{position:relative;height:100vh;min-height:560px;display:grid;place-items:center;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;animation:zoomLento 14s ease-out both}
@keyframes zoomLento{from{transform:scale(1.08)}to{transform:scale(1)}}
.hero-veu{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(20,10,5,.62), rgba(20,10,5,.24) 42%, var(--fundo) 98%);
}
/* brasa respirando por baixo do véu, como carvão vivo */
.hero-veu::before{
  content:"";position:absolute;inset:0;
  background:radial-gradient(60% 50% at 50% 58%, rgba(255,106,31,.34), transparent 72%);
  animation:respiraBrasa 6.5s ease-in-out infinite;
}
@keyframes respiraBrasa{
  0%,100%{opacity:.55;transform:scale(1)}
  50%{opacity:1;transform:scale(1.06)}
}
.hero-conteudo{position:relative;z-index:2;text-align:center;color:var(--texto);padding:0 24px}
.hero-tag{
  display:inline-block;margin-bottom:18px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13.5px;letter-spacing:.3em;text-transform:uppercase;color:var(--dourado);
  border:1px solid rgba(255,182,39,.45);padding:7px 16px;
  animation:sobe 1.1s cubic-bezier(.2,.8,.2,1) both;
}
.hero-acoes{
  display:flex;flex-wrap:wrap;gap:14px;justify-content:center;margin-top:30px;
  animation:sobe 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:.35s;
}
.hero-acoes .btn{margin-top:0;cursor:pointer}
.logo-grande{
  font-size:clamp(3.8rem,14vw,10rem);line-height:.92;
  letter-spacing:.04em;text-transform:uppercase;text-indent:.04em;
  text-shadow:0 8px 44px rgba(20,10,5,.8);
  animation:sobe 1.1s cubic-bezier(.2,.8,.2,1) both;
}
.logo-sub{
  margin-top:16px;display:inline-block;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:clamp(13px,1.8vw,16px);letter-spacing:.42em;text-transform:uppercase;text-indent:.42em;
  color:var(--tinta);background:var(--brasa);padding:8px 20px 7px;
  box-shadow:0 10px 30px rgba(255,106,31,.5);
  animation:sobe 1.1s cubic-bezier(.2,.8,.2,1) both;animation-delay:.2s;
}
@keyframes sobe{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-seta{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;color:var(--dourado);
  animation:pulsa 2.4s ease-in-out infinite;
}
.hero-seta svg{width:26px;height:26px}
@keyframes pulsa{0%,100%{transform:translate(-50%,0);opacity:.75}50%{transform:translate(-50%,8px);opacity:1}}

/* ---------- Seções ---------- */
.secao{padding:clamp(70px,10vw,120px) 0}
.sobre{padding-top:clamp(80px,12vw,140px)}
.rotulo{
  display:inline-block;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13.5px;letter-spacing:.28em;text-transform:uppercase;
  color:var(--dourado);margin-bottom:16px;
}
.rotulo::after{
  content:"";display:block;width:46px;height:3px;background:var(--brasa);
  margin:10px auto 0;
}
.titulo{font-size:clamp(2.2rem,5.4vw,4rem);line-height:1.02;margin-bottom:22px;color:var(--texto)}
.titulo em{font-style:normal;color:var(--brasa)}
.texto{color:var(--texto-2);font-size:17.5px;margin-bottom:18px}
.texto strong{color:var(--dourado);font-weight:600}
.centro .texto{margin-left:auto;margin-right:auto;max-width:62ch}
.cab{margin-bottom:clamp(44px,6vw,64px)}

.revela{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}
.revela.ativo{opacity:1;transform:translateY(0)}

/* containers que não se movem: quem entra são os filhos, em cascata */
.mosaico.revela,.cartas.revela,.contato.revela,.destaques-in.revela{opacity:1;transform:none}

/* ---------- Títulos que sobem palavra por palavra ---------- */
.titulo .palavra{
  display:inline-block;overflow:hidden;vertical-align:bottom;
  padding-bottom:.12em;margin-bottom:-.12em;
}
.titulo .palavra i{
  display:inline-block;font-style:inherit;
  transform:translateY(115%);
  transition:transform .75s cubic-bezier(.2,.85,.25,1);
}
.revela.ativo .titulo .palavra i{transform:translateY(0)}

/* ---------- Barra de progresso da rolagem ---------- */
.progresso{
  position:fixed;top:0;left:0;height:3px;width:0;z-index:80;
  background:linear-gradient(90deg,var(--pimenta),var(--brasa),var(--dourado));
  box-shadow:0 0 14px rgba(255,106,31,.7);
  pointer-events:none;transition:width .1s linear;
}

/* ---------- Selo de aberto/fechado ao vivo ---------- */
.status{
  display:inline-flex;align-items:center;gap:9px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 15px;border:1px solid var(--linha);color:var(--texto-2);
  white-space:nowrap;
}
.status[hidden]{display:none}
.status .bolinha{
  width:9px;height:9px;border-radius:50%;flex:none;background:var(--texto-3);
  position:relative;
}
.status.aberto{border-color:rgba(78,209,106,.5);color:var(--texto)}
.status.aberto .bolinha{background:#4ED16A}
/* anel que expande, como sinal de transmissão ao vivo */
.status.aberto .bolinha::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:#4ED16A;
  animation:sinalVivo 1.9s ease-out infinite;
}
@keyframes sinalVivo{
  0%{transform:scale(1);opacity:.7}
  70%{transform:scale(3.2);opacity:0}
  100%{transform:scale(3.2);opacity:0}
}
.status.fechado{border-color:var(--linha);color:var(--texto-3)}

.status-grande{
  display:inline-flex;align-items:center;gap:11px;margin-top:14px;
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:16px;letter-spacing:.12em;text-transform:uppercase;
  padding:10px 18px;
}
.status-grande[hidden]{display:none}
.status-grande.aberto{background:rgba(78,209,106,.14);color:#8FE39F;box-shadow:inset 0 0 0 1px rgba(78,209,106,.4)}
.status-grande.fechado{background:rgba(255,106,31,.1);color:var(--texto-3);box-shadow:inset 0 0 0 1px var(--linha)}

/* base comum: só tipografia e alinhamento. A forma é de cada variante. */
.btn{
  display:inline-flex;align-items:center;gap:12px;margin-top:12px;
  font-family:"Anton",Impact,sans-serif;font-weight:400;
  text-transform:uppercase;letter-spacing:.04em;line-height:1;
  cursor:pointer;border:none;background:none;color:inherit;
  transition:transform .2s ease,background .25s ease,color .25s ease,box-shadow .25s ease;
}
.btn svg{width:22px;height:22px;flex:none}

/* 1 — BRASA: bloco torto com sombra dura, o chamariz principal */
.btn-fogo{
  background:var(--brasa);color:var(--tinta);
  padding:18px 34px;font-size:clamp(1.1rem,2.2vw,1.5rem);
  transform:rotate(-1.6deg);
  box-shadow:9px 9px 0 var(--carvao),0 18px 40px rgba(255,106,31,.4);
}
.btn-fogo:hover{
  background:var(--dourado);
  transform:rotate(-1.6deg) translate(5px,5px);
  box-shadow:4px 4px 0 var(--carvao),0 12px 30px rgba(255,182,39,.45);
}

/* 2 — CORTE: cantos chanfrados, contorno vazado */
.btn-corte{
  color:var(--texto);padding:17px 32px;font-size:clamp(1rem,2vw,1.3rem);
  background:rgba(255,239,224,.06);
  box-shadow:inset 0 0 0 2px var(--texto);
  clip-path:polygon(18px 0,100% 0,100% calc(100% - 18px),calc(100% - 18px) 100%,0 100%,0 18px);
}
.btn-corte:hover{background:var(--texto);color:var(--tinta);box-shadow:inset 0 0 0 2px var(--texto)}

/* 3 — PLACA: ponta de seta à direita, para "como chegar" */
.btn-mapa{
  background:var(--dourado);color:var(--tinta);
  padding:16px 44px 16px 28px;font-size:clamp(1rem,2vw,1.3rem);
  clip-path:polygon(0 0,calc(100% - 22px) 0,100% 50%,calc(100% - 22px) 100%,0 100%);
}
.btn-mapa:hover{background:var(--brasa);transform:translateX(6px)}

/* 4 — SELO: carimbo torto com borda tracejada, para o telefone */
.btn-selo{
  flex-direction:column;align-items:flex-start;gap:2px;
  background:transparent;color:var(--texto);
  padding:14px 26px;transform:rotate(1.4deg);
  border:2px dashed var(--brasa);outline:2px solid var(--brasa);outline-offset:4px;
}
.btn-selo small{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.26em;color:var(--dourado);
}
.btn-selo b{font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:clamp(1.3rem,2.6vw,1.9rem)}
.btn-selo:hover{background:var(--brasa);color:var(--tinta);transform:rotate(1.4deg) scale(1.04)}
.btn-selo:hover small{color:var(--tinta)}

/* ---------- Faixa de destaques ---------- */
.destaques{
  background:linear-gradient(100deg,var(--pimenta),var(--brasa) 55%,var(--dourado));
  color:var(--tinta);
}
.destaques-in{
  display:grid;grid-template-columns:repeat(4,1fr);
  padding:26px 28px;gap:20px;
}
@media (max-width:860px){.destaques-in{grid-template-columns:repeat(2,1fr);gap:26px}}
@media (max-width:440px){.destaques-in{grid-template-columns:1fr}}
.destaque-item{position:relative;padding-left:20px}
.destaque-item::before{
  content:"";position:absolute;left:0;top:6px;bottom:6px;width:3px;
  background:rgba(32,16,10,.35);
}
.destaque-item strong{
  display:block;font-family:"Anton",Impact,sans-serif;font-weight:400;
  font-size:clamp(1.3rem,2.4vw,1.8rem);text-transform:uppercase;line-height:1;
}
.destaque-item span{display:block;font-size:14.5px;color:rgba(32,16,10,.78);margin-top:3px}

/* ---------- Blocos em duas colunas ---------- */
.dupla{
  display:grid;grid-template-columns:1.05fr .95fr;
  gap:clamp(34px,5vw,70px);align-items:center;
}
@media (max-width:900px){.dupla{grid-template-columns:1fr;gap:36px}}
.dupla-txt{text-align:left}
.dupla-txt .rotulo::after{margin-left:0}
.dupla-img{position:relative;isolation:isolate}
.dupla-img img{
  position:relative;z-index:1;
  width:100%;height:auto;object-fit:cover;
  border:1px solid var(--linha);
  box-shadow:0 30px 70px rgba(0,0,0,.5);
}
/* moldura deslocada atrás da foto, para ela não flutuar sozinha */
.dupla-img::before{
  content:"";position:absolute;inset:26px -26px -26px 26px;z-index:0;
  border:2px solid var(--brasa);
}
@media (max-width:900px){.dupla-img::before{inset:18px -18px -18px 18px}}
.dupla-invertida .dupla-img{order:-1}
@media (max-width:900px){.dupla-invertida .dupla-img{order:0}}
.dupla-invertida .dupla-img::before{inset:26px 26px -26px -26px}

.selo-img{
  position:absolute;right:-18px;bottom:-24px;z-index:2;
  background:var(--brasa);color:var(--tinta);
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:14px;letter-spacing:.18em;text-transform:uppercase;
  padding:14px 20px;text-align:center;line-height:1.15;
  box-shadow:0 14px 34px rgba(255,106,31,.45);
}
.selo-img b{display:block;font-family:"Anton",Impact,sans-serif;font-weight:400;font-size:26px;letter-spacing:.02em}

.lista-check{list-style:none;margin:22px 0 28px;display:flex;flex-direction:column;gap:12px}
.lista-check li{
  position:relative;padding-left:34px;color:var(--texto-2);font-size:16.5px;
}
.lista-check li::before{
  content:"";position:absolute;left:0;top:9px;width:18px;height:18px;
  background:var(--brasa);
  clip-path:polygon(14% 46%, 0 60%, 40% 100%, 100% 22%, 86% 8%, 38% 70%);
}

/* cabeçalho de seção com texto ao lado, em vez de tudo centralizado */
.cab-lado{
  display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;
  gap:24px;text-align:left;
}
.cab-lado .rotulo::after{margin-left:0}
.cab-lado .titulo{margin-bottom:0}
.cab-lado .texto{max-width:34ch;margin-bottom:0;padding-bottom:6px}

/* ---------- Esteira de palavras ---------- */
.esteira{
  overflow:hidden;background:var(--carvao);
  border-top:1px solid var(--linha);border-bottom:1px solid var(--linha);
  padding:18px 0;
}
.esteira-linha{display:flex;width:max-content;animation:corre 34s linear infinite}
.esteira-linha span{
  font-family:"Anton",Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(1.7rem,4vw,2.8rem);color:transparent;
  -webkit-text-stroke:1px var(--texto-3);
  white-space:nowrap;padding-right:26px;
}
.esteira-linha i{font-style:normal;color:var(--brasa);-webkit-text-stroke:0}
@keyframes corre{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Faixa com foto ---------- */
.faixa{position:relative;overflow:hidden;min-height:clamp(300px,42vw,460px);display:grid;place-items:center}
.faixa-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}

/* fumaça subindo por cima da brasa */
.fumaca{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:1}
.fumaca i{
  position:absolute;bottom:-30%;
  width:52%;height:110%;border-radius:50%;
  background:radial-gradient(closest-side,rgba(255,225,200,.16),transparent 72%);
  filter:blur(26px);opacity:0;
  animation:sobeFumaca 13s ease-in-out infinite;
}
.fumaca i:nth-child(1){left:6%;animation-delay:0s}
.fumaca i:nth-child(2){left:36%;width:44%;animation-delay:4.2s;animation-duration:15s}
.fumaca i:nth-child(3){left:64%;width:48%;animation-delay:8.4s;animation-duration:11.5s}
@keyframes sobeFumaca{
  0%{transform:translate(0,0) scale(.8);opacity:0}
  18%{opacity:.85}
  60%{opacity:.5}
  100%{transform:translate(-8%,-115%) scale(1.5);opacity:0}
}
.faixa-veu{
  position:absolute;inset:0;
  background:
    radial-gradient(60% 60% at 50% 50%, rgba(255,106,31,.26), transparent 70%),
    linear-gradient(90deg, var(--fundo) 2%, rgba(30,14,7,.55) 40%, rgba(30,14,7,.55) 60%, var(--fundo) 98%);
}
.faixa-in{position:relative;z-index:2;text-align:center;padding-top:40px;padding-bottom:40px}
.faixa-in h2{font-size:clamp(2rem,6vw,4.4rem);line-height:1.08;margin-bottom:12px}
.faixa-in h2 em{font-style:normal;color:var(--brasa)}

/* ênfase que anda palavra por palavra, em batida dupla de coração */
.pulso span{
  display:inline-block;
  color:var(--texto);
  text-shadow:0 6px 34px rgba(20,10,5,.8);
  animation:batida 3.9s cubic-bezier(.2,.75,.3,1) infinite both;
  will-change:transform;
}
.pulso span:nth-child(1){animation-delay:0s}
.pulso span:nth-child(2){animation-delay:.62s}
.pulso span:nth-child(3){animation-delay:1.24s}
.pulso span:nth-child(4){animation-delay:1.86s}
.pulso span:nth-child(5){animation-delay:2.48s}
.pulso span:nth-child(6){animation-delay:3.1s}

@keyframes batida{
  0%{transform:scale(1);color:var(--texto);text-shadow:0 6px 34px rgba(20,10,5,.8)}
  /* primeira batida, a forte */
  3%{transform:scale(1.2);color:var(--brasa);text-shadow:0 0 34px rgba(255,106,31,.85),0 6px 34px rgba(20,10,5,.8)}
  7%{transform:scale(1.06);color:var(--brasa)}
  /* segunda batida, mais curta */
  11%{transform:scale(1.14);color:var(--brasa);text-shadow:0 0 26px rgba(255,106,31,.7),0 6px 34px rgba(20,10,5,.8)}
  18%{transform:scale(1);color:var(--texto);text-shadow:0 6px 34px rgba(20,10,5,.8)}
  100%{transform:scale(1);color:var(--texto)}
}
.faixa-in p{
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:clamp(14px,2vw,18px);letter-spacing:.3em;text-transform:uppercase;color:var(--texto-2);
}

/* ---------- Menu (cartas) ---------- */
.menu{background:var(--painel-2)}
.cartas{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--linha);border:1px solid var(--linha)}
@media (max-width:820px){.cartas{grid-template-columns:1fr}}
.carta{
  background:var(--painel);padding:clamp(38px,5vw,58px) 30px;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  width:100%;border:none;font-family:inherit;color:var(--texto);cursor:pointer;
  transition:background .3s ease,color .3s ease;
}
/* o realce só acontece quando a carta realmente abre algo */
a.carta:hover,button.carta:hover{background:linear-gradient(165deg,var(--brasa),var(--pimenta));color:var(--tinta)}
.carta-num{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.26em;color:var(--dourado);transition:color .3s}
a.carta:hover .carta-num,button.carta:hover .carta-num{color:var(--tinta)}
.carta h3{font-size:clamp(1.9rem,3.6vw,2.6rem)}
.carta-link{font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--texto-3);transition:color .3s}
a.carta:hover .carta-link,button.carta:hover .carta-link{color:rgba(32,16,10,.75)}

/* ---------- Galeria (mosaico assimétrico) ---------- */
.mosaico{
  display:grid;grid-template-columns:repeat(4,1fr);
  grid-auto-rows:minmax(0,1fr);gap:16px;
}
.mosaico .m-grande{grid-column:span 2;grid-row:span 2}
.mosaico .m-larga{grid-column:span 2}
.mosaico .g-item img{aspect-ratio:auto;height:100%}
.mosaico .m-grande img{aspect-ratio:1/1}
.mosaico .m-larga img{aspect-ratio:2/1}
.mosaico .g-item:not(.m-grande):not(.m-larga) img{aspect-ratio:1/1}
@media (max-width:820px){
  .mosaico{grid-template-columns:repeat(2,1fr)}
  .mosaico .m-grande{grid-column:span 2;grid-row:span 1}
  .mosaico .m-larga{grid-column:span 2}
}
@media (max-width:520px){
  .mosaico{grid-template-columns:1fr}
  .mosaico .m-grande,.mosaico .m-larga{grid-column:span 1}
  .mosaico .m-larga img{aspect-ratio:3/2}
}

.galeria{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media (max-width:900px){.galeria{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.galeria{grid-template-columns:1fr}}
.g-item{overflow:hidden;background:var(--painel);position:relative;border:1px solid var(--linha)}

/* entrada em cascata dos quadros, cartas e blocos de contato */
.mosaico .g-item,.cartas .carta,.contato .c-bloco,.destaques-in .destaque-item{
  opacity:0;transform:translateY(34px) scale(.97);
  transition:opacity .7s ease,transform .75s cubic-bezier(.2,.85,.25,1),background .3s ease,border-color .25s ease;
}
.mosaico.ativo .g-item,.cartas.ativo .carta,.contato.ativo .c-bloco,.destaques-in.ativo .destaque-item{
  opacity:1;transform:none;
}
.mosaico.ativo .g-item:nth-child(1),.cartas.ativo .carta:nth-child(1),
.contato.ativo .c-bloco:nth-child(1),.destaques-in.ativo .destaque-item:nth-child(1){transition-delay:.05s}
.mosaico.ativo .g-item:nth-child(2),.cartas.ativo .carta:nth-child(2),
.contato.ativo .c-bloco:nth-child(2),.destaques-in.ativo .destaque-item:nth-child(2){transition-delay:.18s}
.mosaico.ativo .g-item:nth-child(3),.cartas.ativo .carta:nth-child(3),
.contato.ativo .c-bloco:nth-child(3),.destaques-in.ativo .destaque-item:nth-child(3){transition-delay:.31s}
.mosaico.ativo .g-item:nth-child(4),.destaques-in.ativo .destaque-item:nth-child(4){transition-delay:.44s}
.g-item img{
  width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;
  filter:saturate(1.08) contrast(1.03);
  transition:transform .7s cubic-bezier(.2,.8,.2,1),filter .5s;
}
.g-item:hover img{transform:scale(1.06);filter:saturate(1.22) contrast(1.06) brightness(1.05)}
/* brilho de brasa por baixo, para a comida "acender" no hover */
.g-item::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(80% 70% at 50% 100%, rgba(255,106,31,.3), transparent 65%);
  opacity:0;transition:opacity .5s ease;
}
.g-item:hover::after{opacity:1}

/* ---------- Press ---------- */
.press-secao{background:var(--painel-2)}
.press{display:flex;flex-direction:column;border-top:1px solid var(--linha)}
.press-item{
  display:grid;grid-template-columns:120px 1fr auto;align-items:center;gap:26px;
  padding:22px 8px;border-bottom:1px solid var(--linha);
  transition:background .25s ease,padding .25s ease;
}
.press-item:hover{background:var(--painel);padding-left:20px;padding-right:20px}
.press-item img{width:120px;height:80px;object-fit:cover}
.press-meta{display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;font-size:14px;letter-spacing:.2em;text-transform:uppercase;color:var(--dourado);margin-bottom:6px}
.press-txt h3{font-size:clamp(1.3rem,2.6vw,1.8rem);line-height:1.15}
.press-seta{font-size:18px;color:var(--texto-3);transition:transform .25s ease,color .25s}
.press-item:hover .press-seta{transform:translateX(6px);color:var(--brasa)}
@media (max-width:680px){
  .press-item{grid-template-columns:88px 1fr;gap:16px}
  .press-item img{width:88px;height:64px}
  .press-seta{display:none}
}

/* ---------- Eventos ---------- */
.eventos{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
@media (max-width:820px){.eventos{grid-template-columns:1fr}}
.eventos .g-item img{aspect-ratio:3/2}

/* ---------- Contato ---------- */
.contato-secao{background:var(--painel-2)}
.contato{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:left}
@media (max-width:820px){.contato{grid-template-columns:1fr}}
.c-bloco{
  background:var(--painel);border:1px solid var(--linha);
  padding:32px 30px 34px;position:relative;
  transition:border-color .25s,transform .25s;
}
.c-bloco:hover{border-color:var(--brasa);transform:translateY(-4px)}
.c-ico{
  display:grid;place-items:center;width:50px;height:50px;margin-bottom:18px;
  background:var(--brasa);color:var(--tinta);
}
.c-ico svg{width:24px;height:24px}
.c-bloco h3{
  font-family:"Barlow Condensed",sans-serif;font-size:15px;letter-spacing:.24em;
  text-transform:uppercase;color:var(--dourado);margin-bottom:14px;font-weight:700;
}
.c-bloco p{color:var(--texto-2);font-size:16.5px}
.c-bloco a{border-bottom:1px solid transparent;transition:border-color .2s,color .2s}
.c-bloco a:hover{border-bottom-color:var(--brasa);color:var(--brasa)}

/* ---------- Rodapé ---------- */
footer{
  background:var(--carvao);color:var(--texto-2);
  padding:56px 0 48px;text-align:center;
  border-top:4px solid var(--brasa);
}
.rodape-in{display:flex;flex-direction:column;align-items:center;gap:16px}
.rodape-marca{
  font-family:"Anton",Impact,sans-serif;color:var(--texto);
  font-size:34px;letter-spacing:.14em;text-transform:uppercase;text-indent:.14em;
}
.rodape-marca::first-letter{color:var(--brasa)}
.rodape-legal{font-size:13.5px;max-width:48ch}
.rodape-social{display:flex;gap:18px;margin-top:4px}
.rodape-social a{width:38px;height:38px;border:1px solid var(--linha);display:grid;place-items:center;transition:background .25s,color .25s,border-color .25s}
.rodape-social a svg{width:17px;height:17px}
.rodape-social a:hover{background:var(--brasa);border-color:var(--brasa);color:var(--tinta)}
.rodape-ano{font-size:12px;letter-spacing:.2em;color:var(--texto-3)}

/* ---------- Cardápio virtual (painel lateral) ---------- */
.cardapio{position:fixed;inset:0;z-index:90}
.cardapio[hidden]{display:none}
.cardapio-fundo{
  position:absolute;inset:0;background:rgba(20,10,5,.75);
  backdrop-filter:blur(3px);
  opacity:0;transition:opacity .4s ease;
}
.cardapio.aberto .cardapio-fundo{opacity:1}

.cardapio-painel{
  position:absolute;top:0;right:0;bottom:0;
  width:100%;max-width:100%;
  background:var(--fundo);
  display:flex;flex-direction:column;
  box-shadow:-20px 0 60px rgba(0,0,0,.6);
  transform:translateX(100%);
  transition:transform .45s cubic-bezier(.22,.8,.24,1);
}
.cardapio.aberto .cardapio-painel{transform:translateX(0)}

.cardapio-topo{
  display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:22px clamp(20px,4vw,56px);
  background:var(--carvao);color:var(--texto);flex:none;
  border-bottom:3px solid var(--brasa);
}
.cardapio-marca{
  display:block;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.32em;text-transform:uppercase;color:var(--brasa);
}
.cardapio-topo h2{font-size:clamp(1.8rem,4vw,2.8rem);line-height:1;margin-top:4px}
.cardapio-fechar{
  flex:none;width:48px;height:48px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid var(--linha);color:var(--texto);
  display:grid;place-items:center;transition:background .2s,border-color .2s,transform .2s,color .2s;
}
.cardapio-fechar svg{width:22px;height:22px}
.cardapio-fechar:hover{background:var(--brasa);border-color:var(--brasa);color:var(--tinta);transform:rotate(90deg)}

.cardapio-abas{
  display:flex;gap:0;flex:none;
  background:var(--painel-2);border-bottom:1px solid var(--linha);
  padding:0 clamp(20px,4vw,56px);overflow-x:auto;
}
.cardapio-abas button{
  background:none;border:none;cursor:pointer;color:var(--texto-3);
  font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:17px;letter-spacing:.16em;text-transform:uppercase;
  padding:18px 26px;position:relative;white-space:nowrap;transition:color .2s;
}
.cardapio-abas button::after{
  content:"";position:absolute;left:16px;right:16px;bottom:0;height:4px;
  background:var(--brasa);transform:scaleX(0);transition:transform .25s ease;
}
.cardapio-abas button:hover{color:var(--brasa)}
.cardapio-abas button[aria-selected="true"]{color:var(--texto)}
.cardapio-abas button[aria-selected="true"]::after{transform:scaleX(1)}

.cardapio-corpo{
  flex:1;overflow-y:auto;
  padding:clamp(28px,4vw,52px) clamp(20px,4vw,56px);
}
.cardapio-painel-aba[hidden]{display:none}
.cardapio-painel-aba{animation:entraAba .4s ease both}
@keyframes entraAba{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}

.cardapio-destaque{
  background:linear-gradient(120deg,var(--brasa),var(--pimenta));color:var(--tinta);
  padding:22px 26px;margin-bottom:34px;
  box-shadow:0 14px 34px rgba(255,106,31,.35);
}
.cardapio-destaque strong{
  display:block;font-family:"Anton",Impact,sans-serif;font-weight:400;
  font-size:clamp(1.4rem,3vw,2rem);text-transform:uppercase;letter-spacing:.02em;
}
.cardapio-destaque span{display:block;margin-top:4px;font-size:16px;color:rgba(32,16,10,.85)}

.cardapio-colunas{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(420px,1fr));
  gap:clamp(30px,3.5vw,56px);
}
@media (max-width:520px){.cardapio-colunas{grid-template-columns:1fr}}
.cardapio-grupo h3{
  font-size:clamp(1.7rem,3vw,2.3rem);color:var(--texto);
  padding-bottom:12px;margin-bottom:8px;border-bottom:3px solid var(--brasa);
}
.cardapio-grupo ul{list-style:none}
.cardapio-grupo li{
  display:flex;align-items:center;gap:20px;
  padding:14px 0;border-bottom:1px dashed var(--linha);
  color:var(--texto);font-size:20px;
}
.cardapio-grupo li:last-child{border-bottom:none}
.cardapio-grupo li img{
  width:120px;height:120px;flex:none;object-fit:cover;cursor:zoom-in;
  border:1px solid var(--linha);
  filter:saturate(1.1) contrast(1.03);
  transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease;
}
.cardapio-grupo li img:hover{transform:scale(1.04);border-color:var(--brasa);box-shadow:0 12px 30px rgba(255,106,31,.35)}
.cardapio-grupo li span{flex:1;line-height:1.35}
.cardapio-grupo li.destaque{background:rgba(255,106,31,.1);padding-left:12px;padding-right:12px}
.cardapio-grupo li.destaque span{color:var(--dourado);font-weight:600}
.cardapio-grupo li.destaque img{border-color:var(--dourado)}
@media (max-width:520px){
  .cardapio-grupo li{font-size:17.5px;gap:14px}
  .cardapio-grupo li img{width:92px;height:92px}
}

/* pista de que a foto abre maior */
.cardapio-grupo li{position:relative}
.cardapio-grupo li img + span::after{
  content:"";display:inline-block;vertical-align:middle;margin-left:10px;
  width:16px;height:16px;opacity:.45;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF6A1F' stroke-width='2' stroke-linecap='round'><circle cx='11' cy='11' r='7'/><path d='M20 20l-3.5-3.5M11 8v6M8 11h6'/></svg>");
}
.cardapio-grupo li em{
  font-style:normal;flex:none;font-family:"Barlow Condensed",sans-serif;font-weight:700;
  font-size:13px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tinta);background:var(--dourado);padding:3px 10px;
}

.cardapio-rodape{
  flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;
  padding:20px clamp(20px,4vw,56px);
  background:var(--painel-2);border-top:1px solid var(--linha);
  font-size:15px;color:var(--texto-2);
}
.cardapio-rodape .btn{margin-top:0}

body.travado{overflow:hidden}

@media (max-width:560px){
  .cardapio-topo{padding:18px 20px}
  .cardapio-abas button{padding:16px 18px;font-size:15.5px}
  .cardapio-rodape{justify-content:center;text-align:center}
}

/* ---------- Visualizador de foto (lupa) ---------- */
.lupa{
  position:fixed;inset:0;z-index:120;
  display:grid;place-items:center;padding:clamp(16px,4vw,52px);
  background:rgba(12,6,3,.94);
  opacity:0;transition:opacity .3s ease;
  cursor:zoom-out;
}
.lupa[hidden]{display:none}
.lupa.aberta{opacity:1}
.lupa-caixa{
  max-width:min(1000px,92vw);text-align:center;cursor:default;
  transform:scale(.94);transition:transform .35s cubic-bezier(.2,.8,.2,1);
}
.lupa.aberta .lupa-caixa{transform:scale(1)}
.lupa-caixa img{
  width:auto;max-width:100%;max-height:76vh;
  border:3px solid var(--brasa);
  box-shadow:0 30px 80px rgba(0,0,0,.7);
  background:var(--painel);
}
.lupa-txt{
  margin-top:18px;color:var(--texto);
  font-family:"Anton",Impact,sans-serif;text-transform:uppercase;
  font-size:clamp(1.2rem,3vw,2rem);letter-spacing:.02em;
}
.lupa-fechar{
  position:absolute;top:clamp(14px,3vw,28px);right:clamp(14px,3vw,28px);
  width:52px;height:52px;border-radius:50%;cursor:pointer;
  background:transparent;border:1px solid var(--linha);color:var(--texto);
  display:grid;place-items:center;transition:background .2s,border-color .2s,color .2s,transform .2s;
}
.lupa-fechar svg{width:24px;height:24px}
.lupa-fechar:hover{background:var(--brasa);border-color:var(--brasa);color:var(--tinta);transform:rotate(90deg)}

/* as fotos da galeria também abrem */
.g-item img,.dupla-img img,.faixa-img{cursor:zoom-in}
.faixa-img{cursor:default}

/* ---------- Botão flutuante ---------- */
.flutua{
  position:fixed;right:22px;bottom:22px;z-index:70;
  width:58px;height:58px;border-radius:50%;
  background:var(--brasa);color:var(--tinta);display:grid;place-items:center;
  box-shadow:0 12px 32px rgba(255,106,31,.5);transition:transform .2s,background .2s;
}
.flutua svg{width:26px;height:26px}
.flutua:hover{transform:scale(1.08);background:var(--dourado)}

@media (prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
  .revela{opacity:1!important;transform:none!important}
}
