/* Nova Steak Gastro Bar — site público, esboço v1
   Paleta oficial do manual de marca (nenhuma cor fora dela):
   Sceptre Red #830016 · Sierra #995C41 · Peach Powder #E3BFB2 · Brown #614329 */
:root{
  --red:#830016; --sierra:#995C41; --peach:#E3BFB2; --brown:#614329;
  --ink:#1a1a1a; --white:#ffffff;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0; background:var(--white); color:var(--ink);
  font-family:'Work Sans',sans-serif; font-weight:400; line-height:1.6;
}
h1,h2,h3,.brand-font{ font-family:'Oswald',sans-serif; font-weight:700; letter-spacing:-0.2px; }
a{ text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ max-width:1120px; margin:0 auto; padding:0 24px; }

/* NAV */
.nav{
  position:sticky; top:0; z-index:50; background:var(--white);
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.nav .wrap{ display:flex; align-items:center; justify-content:space-between; height:76px; }
.nav .logo img{ height:44px; width:auto; }
.nav ul{ list-style:none; display:flex; gap:32px; margin:0; padding:0; }
.nav a{
  font-family:'Oswald',sans-serif; font-size:13px; font-weight:600; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--ink); padding:6px 0; border-bottom:2px solid transparent;
}
.nav a:hover, .nav a.active{ color:var(--red); border-bottom-color:var(--red); }
.nav-toggle{
  display:none; background:none; border:none; cursor:pointer; padding:10px; margin:-10px;
}
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; transition:transform .2s,opacity .2s; }
.nav-toggle.open span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.nav-toggle.open span:nth-child(2){ opacity:0; }
.nav-toggle.open span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }

/* HERO */
.hero{
  position:relative; min-height:88vh; display:flex; align-items:flex-end;
  background:var(--brown); overflow:hidden;
}
.hero img.bg{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.hero::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(20,8,8,0.92) 0%, rgba(20,8,8,0.25) 55%, rgba(20,8,8,0.45) 100%);
}
.hero-content{ position:relative; z-index:2; padding:64px 24px 72px; max-width:1120px; margin:0 auto; width:100%; }
.badge{
  display:inline-block; background:var(--red); color:var(--white);
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:2.5px;
  text-transform:uppercase; padding:8px 16px; margin-bottom:22px;
}
.hero h1{ color:var(--white); font-size:clamp(32px,5vw,56px); line-height:1.08; margin:0 0 16px; max-width:820px; }
.hero p.lead{ color:var(--peach); font-size:18px; max-width:560px; margin:0 0 28px; font-family:'Work Sans',sans-serif; }

.btn{
  display:inline-block; font-family:'Oswald',sans-serif; font-size:13px; font-weight:600;
  letter-spacing:2px; text-transform:uppercase; padding:15px 30px; border:2px solid var(--white);
  color:var(--white); transition:background .2s,color .2s;
}
.btn:hover{ background:var(--white); color:var(--red); }
.btn.solid{ background:var(--red); border-color:var(--red); color:var(--white); }
.btn.solid:hover{ background:var(--brown); border-color:var(--brown); color:var(--white); }
.btn-row{ display:flex; gap:16px; flex-wrap:wrap; }

/* SECTIONS */
section{ padding:88px 0; }
section.alt{ background:#FAF6F3; }
.eyebrow{
  font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:3px;
  text-transform:uppercase; color:var(--sierra); margin-bottom:14px; display:flex; align-items:center; gap:10px;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--red); display:inline-block; }
h2.section-title{ font-size:clamp(26px,3.4vw,38px); margin:0 0 18px; color:var(--ink); }
p.section-lead{ font-size:17px; color:#5a5a5a; max-width:680px; margin:0 0 40px; }

.grid-2{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.grid-4{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }

.photo{ overflow:hidden; }
.photo img{ width:100%; height:100%; object-fit:cover; }

/* DISH CARDS */
.dish-card{ background:var(--white); border:1px solid rgba(0,0,0,0.08); padding:28px; }
.dish-card h3{ font-size:19px; margin:0 0 8px; color:var(--red); }
.dish-card p{ font-size:14.5px; color:#555; margin:0; }

/* STATS STRIP */
.stats-strip{
  display:flex; flex-wrap:wrap; gap:32px; justify-content:space-between;
  padding:44px 0; border-top:1px solid rgba(0,0,0,0.08); border-bottom:1px solid rgba(0,0,0,0.08);
}
.stats-strip .stat{ flex:1; min-width:150px; }
.stats-strip .stat .stat-num{
  font-family:'Oswald',sans-serif; font-weight:700; font-size:34px; color:var(--red); line-height:1;
}
.stats-strip .stat .stat-label{ font-size:14px; color:#555; margin-top:6px; }

/* MENU LIST (cardápio) */
.menu-block{ margin-bottom:56px; }
.menu-block h3.menu-cat{
  font-family:'Oswald',sans-serif; font-size:14px; font-weight:600; letter-spacing:2.5px;
  text-transform:uppercase; color:var(--red); border-bottom:2px solid var(--peach); padding-bottom:12px; margin-bottom:4px;
}
.menu-item{
  display:flex; justify-content:space-between; gap:20px; padding:18px 0;
  border-bottom:1px solid rgba(0,0,0,0.08);
}
.menu-item .mi-main{ flex:1; }
.menu-item .mi-name{ font-weight:600; font-size:16.5px; color:var(--ink); }
.menu-item .mi-name em{ font-style:normal; font-weight:400; color:var(--sierra); font-size:13px; }
.menu-item .mi-desc{ font-size:14px; color:#666; margin-top:4px; font-style:italic; }
.menu-item .mi-price{
  font-family:'Oswald',sans-serif; font-size:15px; font-weight:600; color:var(--red);
  white-space:nowrap; padding-top:2px;
}

.callout{
  background:var(--peach); padding:28px 32px; display:flex; align-items:center; justify-content:space-between;
  gap:24px; flex-wrap:wrap; margin-bottom:56px;
}
.callout .num{ font-family:'Oswald',sans-serif; font-size:34px; font-weight:700; color:var(--red); }
.callout .label{ font-size:14px; color:var(--brown); max-width:460px; }

/* CONTACT */
.info-row{ display:flex; gap:16px; padding:20px 0; border-bottom:1px solid rgba(0,0,0,0.08); }
.info-row .k{ font-family:'Oswald',sans-serif; font-size:12px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--sierra); width:160px; flex-shrink:0; }
.info-row .v{ font-size:16px; }
.pending{ color:var(--red); font-style:italic; font-size:14px; }
.map-frame{ width:100%; height:340px; border:0; filter:grayscale(0.15); }

/* FOOTER */
footer{ background:var(--brown); color:var(--peach); padding:56px 0 28px; }
footer .wrap{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:32px; }
footer .fcol h4{ font-family:'Oswald',sans-serif; font-size:13px; letter-spacing:2px; text-transform:uppercase; color:var(--white); margin:0 0 14px; }
footer a{ color:var(--peach); }
footer a:hover{ color:var(--white); }
footer .fine{ text-align:center; font-size:12px; color:rgba(227,191,178,0.6); margin-top:40px; border-top:1px solid rgba(227,191,178,0.15); padding-top:22px; }

/* RESPONSIVE */
@media (max-width:860px){
  .nav-toggle{ display:block; }
  .nav ul{
    display:none; position:absolute; top:76px; left:0; right:0; background:var(--white);
    flex-direction:column; gap:0; margin:0; padding:8px 24px 16px;
    border-bottom:1px solid rgba(0,0,0,0.08); box-shadow:0 12px 24px rgba(0,0,0,0.08);
  }
  .nav ul.open{ display:flex; }
  .nav ul li{ width:100%; }
  .nav a{ display:block; padding:14px 0; border-bottom:1px solid rgba(0,0,0,0.06); }
  .grid-2{ grid-template-columns:1fr; }
  .grid-3{ grid-template-columns:1fr; }
  .grid-4{ grid-template-columns:1fr 1fr; }
  section{ padding:56px 0; }
  .info-row{ flex-direction:column; gap:4px; }
  .info-row .k{ width:auto; }
}
