:root{
    --red:#a8262c; --red-dark:#7d1c21; --dark:#1c1a19; --cream:#fbf6ee;
    --gray:#6b6560; --line:#e8ddd0;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--dark); background:var(--cream); line-height:1.55;}
  h1,h2,h3,h4{font-family:Georgia,"Times New Roman",serif; font-weight:700;}
  a{color:inherit; text-decoration:none;}
  img{max-width:100%; display:block;}
  .container{max-width:1100px; margin:0 auto; padding:0 20px;}
  
  /* HEADER */
  header{position:sticky; top:0; z-index:100; background:#fff; box-shadow:0 2px 10px rgba(0,0,0,.08);}
  .nav-wrap{display:flex; align-items:center; justify-content:space-between; padding:12px 20px; max-width:1100px; margin:0 auto;}
  .brand{display:flex; align-items:center; gap:12px;}
  .logo-mark{width:54px; height:54px; flex-shrink:0; filter:drop-shadow(0 2px 4px rgba(0,0,0,.3));}
  .logo-mark svg{width:100%; height:100%; display:block;}
  .brand-text h1{font-size:1.35rem; color:var(--red); letter-spacing:1px; line-height:1;}
  .brand-text span{font-size:.68rem; letter-spacing:2px; text-transform:uppercase; color:var(--gray);}
  nav ul{display:flex; gap:28px; list-style:none;}
  nav a{font-size:.95rem; font-weight:600; color:var(--dark); padding:6px 2px; border-bottom:2px solid transparent; transition:.2s;}
  nav a:hover{color:var(--red); border-color:var(--red);}
  .burger{display:none; flex-direction:column; gap:5px; cursor:pointer; background:none; border:none; padding:6px;}
  .burger span{width:26px; height:3px; background:var(--dark); border-radius:2px;}
  .call-btn{background:var(--red); color:#fff; padding:9px 18px; border-radius:30px; font-weight:700; font-size:.88rem; white-space:nowrap;}
  .call-btn:hover{background:var(--red-dark);}
  
  /* MOBILE NAV */
  @media(max-width:840px){
    nav{position:fixed; top:70px; left:0; right:0; background:#fff; flex-direction:column; padding:10px 20px 20px; box-shadow:0 8px 15px rgba(0,0,0,.1); transform:translateY(-140%); transition:transform .3s ease; z-index:99;}
    nav.open{transform:translateY(0);}
    nav ul{flex-direction:column; gap:0;}
    nav ul li{border-bottom:1px solid var(--line);}
    nav ul li a{display:block; padding:14px 4px;}
    .burger{display:flex;}
    .call-btn{display:none;}
  }
  
  /* HERO */
  .hero{position:relative; background:linear-gradient(135deg, var(--red-dark), var(--red) 60%); color:#fff; overflow:hidden;}
  .hero::before{content:""; position:absolute; inset:0; background-image:radial-gradient(circle, rgba(255,255,255,.08) 1px, transparent 1px); background-size:22px 22px; opacity:.5;}
  .hero-inner{position:relative; max-width:1100px; margin:0 auto; padding:70px 20px 90px; text-align:center;}
  .hero-logo{width:120px; height:120px; margin:0 auto 22px; border-radius:50%; background:#fff; padding:8px; box-shadow:0 8px 24px rgba(0,0,0,.35);}
  .hero-logo svg{width:100%; height:100%; display:block;}
  .hero h2{font-size:2.6rem; margin-bottom:14px; text-shadow:0 2px 8px rgba(0,0,0,.25);}
  .hero p{font-size:1.15rem; max-width:560px; margin:0 auto 30px; opacity:.95;}
  .hero-btns{display:flex; gap:16px; justify-content:center; flex-wrap:wrap;}
  .btn{padding:13px 28px; border-radius:30px; font-weight:700; font-size:1rem; display:inline-block; transition:.2s;}
  .btn-primary{background:#fff; color:var(--red);}
  .btn-primary:hover{background:#f1e6d8;}
  .btn-outline{border:2px solid #fff; color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.15);}
  @media(max-width:600px){.hero h2{font-size:1.9rem;} .hero-inner{padding:50px 20px 70px;} .hero-logo{width:96px; height:96px;}}
  
  /* SECTIONS */
  section{padding:64px 0;}
  .section-title{text-align:center; margin-bottom:10px; font-size:2rem; color:var(--red);}
  .section-sub{text-align:center; color:var(--gray); max-width:600px; margin:0 auto 40px; font-size:1rem;}
  
  /* ABOUT */
  .about-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:center;}
  .about-box{background:#fff; border:1px solid var(--line); border-radius:16px; padding:34px;}
  .about-box h3{color:var(--red); margin-bottom:12px; font-size:1.4rem;}
  .badges{display:flex; flex-wrap:wrap; gap:10px; margin-top:20px;}
  .badge{background:var(--cream); border:1px solid var(--line); padding:7px 14px; border-radius:20px; font-size:.85rem; font-weight:600; color:var(--red-dark);}
  @media(max-width:760px){.about-grid{grid-template-columns:1fr;}}
  
  /* MENU */
  .menu-section{background:#fff;}
  .tabs{display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-bottom:36px;}
  .tab-btn{background:var(--cream); border:1px solid var(--line); padding:11px 20px; border-radius:30px; font-weight:700; font-size:.88rem; cursor:pointer; color:var(--dark); transition:.2s;}
  .tab-btn.active,.tab-btn:hover{background:var(--red); color:#fff; border-color:var(--red);}
  .tab-panel{display:none;}
  .tab-panel.active{display:block; animation:fade .35s ease;}
  @keyframes fade{from{opacity:0; transform:translateY(6px);} to{opacity:1; transform:translateY(0);}}
  .tab-title{text-align:center; font-size:1.6rem; color:var(--red-dark); margin-bottom:28px;}
  .group{margin-bottom:34px;}
  .group h4{font-size:1.15rem; color:var(--red); border-bottom:2px solid var(--red); display:inline-block; padding-bottom:4px; margin-bottom:16px;}
  .dish{display:flex; gap:14px; padding:12px 0; border-bottom:1px dashed var(--line); align-items:baseline;}
  .dish:last-child{border-bottom:none;}
  .dish-num{color:var(--red); font-weight:700; font-size:.85rem; min-width:34px;}
  .dish-body{flex:1;}
  .dish-body h5{font-size:1rem; font-weight:700; margin-bottom:2px;}
  .dish-body p{font-size:.87rem; color:var(--gray);}
  .dish-price{font-weight:700; color:var(--red-dark); white-space:nowrap; font-size:1rem;}
  .menu-note{background:var(--cream); border-left:4px solid var(--red); padding:16px 20px; border-radius:6px; font-size:.88rem; color:var(--gray); margin-top:10px;}
  
  /* HOURS + CONTACT */
  .info-grid{display:grid; grid-template-columns:1fr 1fr; gap:30px;}
  .info-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:30px;}
  .info-card h3{color:var(--red); margin-bottom:18px; display:flex; align-items:center; gap:10px; font-size:1.2rem;}
  .hours-table{width:100%; border-collapse:collapse; font-size:.95rem;}
  .hours-table td{padding:9px 0; border-bottom:1px solid var(--line);}
  .hours-table tr:last-child td{border-bottom:none;}
  .hours-table td:first-child{font-weight:700;}
  .contact-row{display:flex; align-items:flex-start; gap:12px; margin-bottom:18px;}
  .icon{width:22px; height:22px; flex-shrink:0; color:var(--red); margin-top:2px;}
  .contact-row div a{color:var(--red-dark); font-weight:600;}
  .social-row{display:flex; gap:14px; margin-top:22px;}
  .social-row a{width:42px; height:42px; border-radius:50%; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center;}
  .social-row a:hover{background:var(--red-dark);}
  .map-wrap{margin-top:40px; border-radius:16px; overflow:hidden; border:1px solid var(--line);}
  .map-wrap iframe{width:100%; height:320px; border:0; display:block;}
  @media(max-width:760px){.info-grid{grid-template-columns:1fr;}}
  
/* REVIEWS */
.reviews-section{background:linear-gradient(180deg, #fff, var(--cream));}
.rating-summary{display:flex; flex-direction:column; align-items:center; gap:8px; margin-bottom:44px;}
.rating-number{font-size:3.2rem; font-family:Georgia,serif; font-weight:700; color:var(--red); line-height:1;}
.stars{display:flex; gap:4px;}
.stars svg{width:26px; height:26px;}
.rating-count{color:var(--gray); font-size:.95rem;}
.google-badge{display:flex; align-items:center; gap:8px; margin-top:6px; font-size:.85rem; color:var(--gray); font-weight:600;}
.google-badge svg{width:18px; height:18px;}
.reviews-grid{display:grid; grid-template-columns:repeat(3, 1fr); gap:22px; margin-bottom:40px;}
.review-card{background:#fff; border:1px solid var(--line); border-radius:16px; padding:26px; display:flex; flex-direction:column; gap:14px; box-shadow:0 2px 8px rgba(0,0,0,.04);}
.review-stars{display:flex; gap:2px;}
.review-stars svg{width:16px; height:16px;}
.review-text{color:var(--dark); font-size:.95rem; line-height:1.6; flex:1;}
.review-author{display:flex; align-items:center; gap:10px;}
.review-avatar{width:36px; height:36px; border-radius:50%; background:var(--red); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:.9rem; flex-shrink:0;}
.review-author-name{font-weight:700; font-size:.9rem;}
.review-author-src{font-size:.78rem; color:var(--gray);}
@media(max-width:900px){.reviews-grid{grid-template-columns:1fr 1fr;}}
@media(max-width:600px){.reviews-grid{grid-template-columns:1fr;}}
.review-cta{text-align:center; background:#fff; border:2px dashed var(--red); border-radius:16px; padding:34px 24px;}
.review-cta h3{color:var(--red-dark); font-size:1.4rem; margin-bottom:10px;}
.review-cta p{color:var(--gray); margin-bottom:22px; max-width:480px; margin-left:auto; margin-right:auto;}
.review-btn{display:inline-flex; align-items:center; gap:10px; background:var(--red); color:#fff; padding:14px 30px; border-radius:30px; font-weight:700; font-size:1rem;}
.review-btn:hover{background:var(--red-dark);}
.review-btn svg{width:20px; height:20px;}

  /* CTA */
  .cta{background:var(--dark); color:#fff; text-align:center;}
  .cta h2{color:#fff; margin-bottom:14px;}
  .cta p{color:#cfc8be; margin-bottom:26px;}
  
  /* FOOTER */
  footer{background:var(--red-dark); color:#f6e9dd; padding:36px 0; text-align:center; font-size:.85rem;}
  footer a{text-decoration:underline;}
  .footer-logo{width:56px; height:56px; margin:0 auto 16px; border-radius:50%; background:#fff; padding:4px;}
  .footer-logo svg{width:100%; height:100%; display:block;}