:root{
  --red:#c1272d;
  --orange:#f5842a;
  --yellow:#ffc72c;
  --green:#2e7d32;
  --dark:#241a17;
  --cream:#fff8ee;
}
*{box-sizing:border-box;margin:0;padding:0;}
body{
  font-family:'Poppins', 'Helvetica Neue', Arial, sans-serif;
  color:var(--dark);
  background:var(--cream);
  line-height:1.6;
}
h1,h2,h3{font-family:'Poppins', 'Helvetica Neue', Arial, sans-serif;}
a{color:inherit;}
img{max-width:100%;display:block;}

/* NAV */
header{
  background:transparent;
  position:fixed;top:0;left:0;right:0;z-index:100;
  box-shadow:none;
  transition:background .3s ease, box-shadow .3s ease;
}
header.scrolled{
  background:var(--dark);
  box-shadow:0 2px 10px rgba(0,0,0,.2);
}
nav{
  max-width:1100px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;
}
.logo{
  color:var(--yellow);
  font-size:1.6rem;
  font-weight:800;
  letter-spacing:1px;
  text-decoration:none;
  display:flex;align-items:center;gap:8px;
}
.logo img{
  height:44px;width:auto;display:block;
  opacity:0;transform:scale(.7);
  transition:opacity .35s ease, transform .35s ease;
}
body.scrolled .logo img{opacity:1;transform:scale(1);}
.logo span{color:#fff;}
nav ul{list-style:none;display:flex;gap:26px;}
nav ul a{
  color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;
  padding:6px 2px;border-bottom:2px solid transparent;
  transition:.2s;
}
nav ul a:hover{border-color:var(--orange);color:var(--orange);}
.nav-call{
  background:var(--green);color:#fff;padding:9px 18px;border-radius:30px;
  font-weight:700;text-decoration:none;font-size:.9rem;
}
.menu-toggle{display:none;background:none;border:none;color:#fff;font-size:1.8rem;cursor:pointer;}

/* HERO */
.hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(193,39,45,.92), rgba(245,132,42,.88)),
    url('https://images.unsplash.com/photo-1615870216519-2f9fa575fa5c?auto=format&fit=crop&w=1600&q=80') center/cover;
  color:#fff;
  text-align:center;
  padding:100px 20px 90px;
}
.hero h1{
  font-size:3.2rem;
  text-shadow:2px 2px 0 rgba(0,0,0,.25);
  margin-bottom:14px;
}
.hero-logo{
  position:absolute;top:50%;
  height:260px;width:auto;
  transform:translateY(-50%) scale(1);
  opacity:1;
  transition:opacity .35s ease, transform .35s ease;
  z-index:1;
}
.hero-logo-left{left:8%;}
.hero-logo-right{right:8%;}
body.scrolled .hero-logo{
  opacity:0;transform:translateY(-50%) scale(.6);
  pointer-events:none;
}
.hero p{font-size:1.25rem;max-width:600px;margin:0 auto 30px;opacity:.95;}
.btn-row{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;}
.btn{
  display:inline-block;padding:14px 30px;border-radius:32px;
  font-weight:700;text-decoration:none;font-size:1rem;
  transition:transform .15s;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--yellow);color:var(--dark);}
.btn-secondary{background:transparent;border:2px solid #fff;color:#fff;}

section{padding:70px 20px;}
.section-inner{max-width:1100px;margin:0 auto;}
.section-title{
  text-align:center;font-size:2.2rem;color:var(--red);margin-bottom:8px;
}
.section-sub{text-align:center;color:#6b5a52;margin-bottom:40px;font-size:1.05rem;}

/* ABOUT / HOME STRIP */
.about{background:#fff;}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.about-grid img{border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.15);}
.about-text h2{color:var(--red);font-size:2rem;margin-bottom:16px;}
.about-text p{margin-bottom:14px;color:#4a3c36;}
.hours-box{
  background:var(--cream);border-left:5px solid var(--orange);
  padding:16px 20px;border-radius:8px;margin-top:18px;
}
.hours-box h3{color:var(--dark);margin-bottom:8px;font-size:1.05rem;}
.hours-box div{display:flex;justify-content:space-between;font-size:.92rem;padding:2px 0;}

/* SPECIALS */
.specials{
  background:var(--dark);color:#fff;text-align:center;
}
.specials .section-title{color:var(--yellow);}
.specials .section-sub{color:#d8c9c0;}
.special-card{
  max-width:560px;margin:0 auto;
  background:linear-gradient(135deg,var(--red),var(--orange));
  border-radius:20px;padding:36px 30px;
  box-shadow:0 15px 40px rgba(0,0,0,.4);
}
.special-card .tag{
  background:var(--yellow);color:var(--dark);font-weight:800;
  display:inline-block;padding:5px 16px;border-radius:20px;font-size:.8rem;
  letter-spacing:1px;margin-bottom:14px;
}
.special-card h3{font-size:1.7rem;margin-bottom:10px;}
.special-card p{font-size:1.05rem;margin-bottom:6px;}
.special-card .price{font-size:2.2rem;font-weight:800;color:var(--yellow);margin-top:12px;}
.special-note{margin-top:20px;font-size:.85rem;color:#c8b8ae;}

/* MENU */
.menu-block{
  background:#fff;border-radius:20px;padding:34px;
  box-shadow:0 10px 30px rgba(0,0,0,.08);border:1px solid #eee1d6;
}
.menu-table-wrap{overflow-x:auto;margin-bottom:22px;-webkit-overflow-scrolling:touch;}
.menu-table{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;min-width:760px;}
.menu-table th{
  background:var(--dark);color:var(--yellow);font-size:1rem;font-weight:700;
  text-align:center;padding:18px 14px;line-height:1.35;
}
.menu-table th.dish-col,.menu-table td.dish-col{text-align:left;}
.menu-table td{padding:20px 14px;text-align:center;font-weight:700;font-size:1.2rem;color:var(--green);border-bottom:1px dashed #eadfd6;}
.menu-table td.dish-col{color:var(--dark);font-weight:800;font-size:1.35rem;}
.menu-table td.dish-col .sub{display:block;font-weight:400;font-size:.9rem;color:#8a7a70;margin-top:2px;}
.menu-table tbody tr:last-child td{border-bottom:none;}
.menu-table tbody tr:nth-child(even){background:var(--cream);}
.menu-all-include{
  text-align:center;color:#4a3c36;font-size:1rem;margin-bottom:22px;
  background:var(--cream);border-radius:10px;padding:16px 22px;line-height:1.6;
}
.menu-subtitle{
  color:var(--red);font-size:1.5rem;margin-bottom:14px;text-align:center;
}
.menu-subtitle span{display:block;font-size:1rem;font-weight:400;color:#8a7a70;margin-top:6px;}
.sides-grid{margin-bottom:0;}
.sides-grid .menu-cat{box-shadow:none;padding:0;background:transparent;}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px;}
.menu-cat{background:#fff;border-radius:14px;padding:26px 24px;box-shadow:0 6px 18px rgba(0,0,0,.06);}
.menu-cat h3{
  color:var(--red);font-size:1.3rem;margin-bottom:16px;
  border-bottom:2px solid var(--yellow);padding-bottom:8px;
}
.menu-item{display:flex;justify-content:space-between;gap:10px;padding:14px 0;border-bottom:1px dashed #eadfd6;}
.menu-item:last-child{border-bottom:none;}
.menu-item .name{font-weight:700;color:var(--dark);font-size:1.15rem;}
.menu-item .desc{font-size:.95rem;color:#8a7a70;display:block;margin-top:2px;}
.menu-item .price{font-weight:700;color:var(--green);white-space:nowrap;font-size:1.15rem;}
.menu-note{text-align:center;margin-top:30px;color:#8a7a70;font-size:.9rem;}

/* REVIEWS */
.reviews{background:#fff;}
.review-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;}
.review-card{
  background:var(--cream);border-radius:14px;padding:26px;position:relative;
}
.stars{color:var(--yellow);font-size:1.1rem;margin-bottom:10px;letter-spacing:2px;}
.review-card p{font-style:italic;color:#4a3c36;margin-bottom:14px;}
.review-card .author{font-weight:700;color:var(--red);font-size:.9rem;}
.review-source{font-size:.78rem;color:#8a7a70;}

/* CONTACT */
.contact{background:linear-gradient(135deg,var(--red),var(--orange));color:#fff;}
.contact .section-title{color:#fff;}
.contact .section-sub{color:#ffe7d6;}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;}
.contact-card{
  background:rgba(255,255,255,.12);border-radius:16px;padding:30px;
  backdrop-filter:blur(4px);
}
.contact-card h3{margin-bottom:16px;font-size:1.3rem;}
.contact-line{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px;font-size:1rem;}
.contact-line .ic{font-size:1.3rem;}
.call-btn{
  display:inline-flex;align-items:center;gap:10px;
  background:var(--yellow);color:var(--dark);
  font-weight:800;font-size:1.15rem;
  padding:16px 34px;border-radius:40px;text-decoration:none;
  margin-top:10px;box-shadow:0 8px 20px rgba(0,0,0,.25);
  transition:transform .15s;
}
.call-btn:hover{transform:translateY(-2px) scale(1.02);}
.map-embed{border-radius:16px;overflow:hidden;height:100%;min-height:280px;}
.map-embed iframe{width:100%;height:100%;min-height:280px;border:0;}
.social-row{display:flex;gap:14px;margin-top:16px;}
.social-row a{
  background:rgba(255,255,255,.2);width:42px;height:42px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;text-decoration:none;
  font-size:1.2rem;color:#fff;
}

footer{
  background:var(--dark);color:#c8b8ae;text-align:center;
  padding:26px 20px;font-size:.85rem;
}
footer .footer-logo{height:60px;width:auto;margin:0 auto 12px;}
footer a{color:var(--yellow);text-decoration:none;}

@media(max-width:800px){
  .about-grid,.contact-grid{grid-template-columns:1fr;}
  nav ul{
    position:absolute;top:100%;left:0;right:0;background:var(--dark);
    flex-direction:column;padding:16px 20px;gap:14px;display:none;
  }
  nav ul.open{display:flex;}
  .menu-toggle{display:block;}
  .nav-call{display:none;}
  .hero h1{font-size:2.2rem;}
  .hero-logo{height:80px;opacity:.35;}
  .hero-logo-left{left:4%;}
  .hero-logo-right{right:4%;}
}
