  :root{
    --ink:#2e2013;
    --paper:#fbf3e4;
    --paper-deep:#f2e5cd;
    --rust:#b5451b;
    --mustard:#d9a441;
    --leaf:#5b6b3f;
    --line:#e0cfa9;
    --white:#fffdf8;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:'Work Sans',sans-serif;line-height:1.55;}
  h1,h2,h3,.brand{font-family:'Bitter',serif;}
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  button{font-family:inherit;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} *{animation:none !important;transition:none !important;} }

  /* ===== Header ===== */
  header{position:sticky;top:0;z-index:50;background:var(--paper);padding:16px 24px;display:flex;justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;border-bottom:1px solid transparent;transition:border-color .2s, box-shadow .2s;}
  header.scrolled{border-color:var(--line);box-shadow:0 2px 10px rgba(46,32,19,.06);}
  .brand{font-size:1.3rem;font-weight:700;color:var(--rust);display:flex;align-items:center;gap:10px;}
  .brand-logo{height:40px;width:auto;display:block;}
  .brand span{white-space:nowrap;}
  @media (max-width:420px){ .brand span{display:none;} }
  nav.desktop-nav{display:flex;gap:24px;font-weight:600;font-size:.92rem;align-items:center;}
  nav.desktop-nav a:hover{color:var(--rust);}
  .call-btn{background:var(--rust);color:var(--white);padding:9px 18px;border-radius:24px;font-weight:600;font-size:.88rem;}
  .menu-toggle{display:none;background:none;border:2px solid var(--ink);border-radius:6px;width:40px;height:36px;cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:5px;position:relative;z-index:70;}
  .menu-toggle span{width:18px;height:2px;background:var(--ink);transition:transform .25s, opacity .2s;}
  .menu-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .menu-toggle.open span:nth-child(2){opacity:0;}
  .menu-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .nav-backdrop{display:none;position:fixed;inset:0;background:rgba(46,32,19,.35);z-index:55;}
  .nav-backdrop.open{display:block;}

  .mobile-nav{
    position:fixed;top:0;right:0;height:100%;width:min(78vw,320px);
    background:var(--white);z-index:65;padding:88px 28px 24px;
    display:flex;flex-direction:column;gap:2px;
    transform:translateX(100%);transition:transform .25s ease;
    box-shadow:-8px 0 24px rgba(46,32,19,.15);
  }
  .mobile-nav.open{transform:translateX(0);}
  .mobile-nav a{padding:14px 0;font-weight:600;font-size:1.02rem;border-bottom:1px solid var(--line);}

  @media (max-width:760px){
    nav.desktop-nav{display:none;}
    .menu-toggle{display:flex;}
  }

  /* ===== Hero ===== */
  .hero{max-width:1100px;margin:0 auto;padding:40px 24px 10px;display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;}
  .hero-eyebrow{color:var(--leaf);font-weight:700;font-size:.85rem;margin-bottom:10px;}
  .hero h1{font-size:clamp(2rem,4.4vw,3rem);line-height:1.1;margin:0 0 16px;opacity:0;animation:riseIn .7s ease-out .1s forwards;}
  .hero p{color:#4a3c28;max-width:480px;margin:0 0 22px;font-size:1.02rem;opacity:0;animation:riseIn .7s ease-out .25s forwards;}
  .hero-actions{display:flex;gap:14px;flex-wrap:wrap;opacity:0;animation:riseIn .7s ease-out .4s forwards;}
  @keyframes riseIn{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:translateY(0);}}
  .btn-primary{background:var(--rust);color:var(--white);padding:13px 26px;border-radius:4px;font-weight:600;}
  .btn-secondary{border:2px solid var(--ink);padding:11px 24px;border-radius:4px;font-weight:600;}
  .hero-art{aspect-ratio:1/1;border-radius:8px;background:
      radial-gradient(circle at 30% 30%, var(--mustard), transparent 60%),
      radial-gradient(circle at 70% 70%, var(--rust), transparent 55%),
      var(--paper-deep);
      position:relative;}
  .hero-art::after{content:"🍳";position:absolute;font-size:4rem;top:50%;left:50%;transform:translate(-50%,-50%);}

  .infobar{background:var(--ink);color:var(--paper);margin:32px 0;padding:16px 24px;}
  .infobar-inner{max-width:1100px;margin:0 auto;display:flex;flex-wrap:wrap;gap:28px;justify-content:space-between;font-size:.9rem;}
  .infobar-inner div strong{display:block;font-family:'Bitter',serif;color:var(--mustard);font-size:.78rem;letter-spacing:.4px;margin-bottom:2px;}

  main{max-width:1100px;margin:0 auto;padding:10px 24px 60px;}
  .section-head{margin-bottom:28px;}
  .section-head .kicker{color:var(--rust);font-weight:700;font-size:.82rem;}
  .section-head h2{font-size:1.9rem;margin:6px 0 0;}

  /* ===== Why us ===== */
  .why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:56px;}
  .why-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:22px;}
  .why-card .icon{font-size:1.8rem;margin-bottom:10px;}
  .why-card h3{font-size:1.02rem;margin:0 0 6px;}
  .why-card p{font-size:.86rem;color:#5c4d38;margin:0;}

  /* ===== Menu filter tabs ===== */
  .menu-tabs{
    display:flex;gap:10px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;
    margin:0 -24px 24px;padding:12px 24px;background:var(--paper);
    position:sticky;top:73px;z-index:40;border-bottom:1px solid var(--line);
    scrollbar-width:none;
  }
  .menu-tabs::-webkit-scrollbar{display:none;}
  .menu-tab{border:2px solid var(--line);background:var(--white);padding:8px 18px;border-radius:20px;font-weight:600;font-size:.85rem;cursor:pointer;color:var(--ink);flex:0 0 auto;white-space:nowrap;}
  .menu-tab.active{background:var(--rust);border-color:var(--rust);color:var(--white);}

  .menu-block{margin-bottom:40px;}
  .menu-block.hide{display:none;}
  .menu-cat-title{display:flex;align-items:center;gap:14px;margin:0 0 14px;}
  .menu-cat-title h3{font-size:1.15rem;margin:0;color:var(--rust);white-space:nowrap;}
  .menu-cat-title .rule{flex:1;height:2px;background:repeating-linear-gradient(to right,var(--line) 0,var(--line) 6px,transparent 6px,transparent 12px);}
  .menu-items{display:flex;flex-direction:column;gap:0;}
  .menu-item{background:var(--white);border-bottom:1px solid var(--line);padding:16px 4px;display:flex;gap:14px;align-items:flex-start;}
  .veg-dot{flex:0 0 auto;width:15px;height:15px;border:1.5px solid var(--leaf);border-radius:3px;display:flex;align-items:center;justify-content:center;margin-top:3px;}
  .veg-dot::after{content:"";width:7px;height:7px;border-radius:50%;background:var(--leaf);}
  .veg-dot.nonveg{border-color:var(--rust);}
  .veg-dot.nonveg::after{background:var(--rust);border-radius:1px;}
  .veg-dot.egg{border-color:var(--mustard);}
  .veg-dot.egg::after{background:var(--mustard);border-radius:50% 50% 50% 0;}
  .item-main{flex:1;min-width:0;}
  .menu-item .name-row{display:flex;align-items:baseline;gap:6px;margin-bottom:4px;flex-wrap:wrap;}
  .menu-item .name{font-weight:700;font-size:.98rem;}
  .dish-link{color:var(--ink);text-decoration:none;}
  .dish-link:hover{color:var(--rust);text-decoration:underline;}
  .menu-item .price{font-family:'Bitter',serif;font-weight:700;color:var(--ink);font-size:.9rem;margin-top:2px;}
  .menu-item .desc{font-size:.82rem;color:#5c4d38;margin-top:4px;line-height:1.4;}
  .spicy{font-size:.82rem;}
  .item-thumb-wrap{flex:0 0 auto;width:96px;position:relative;}
  .item-thumb{width:96px;height:96px;border-radius:10px;object-fit:cover;background:linear-gradient(135deg,var(--mustard),var(--rust));display:block;border:1px solid var(--line);}
  .item-thumb-emoji{width:96px;height:96px;border-radius:10px;background:linear-gradient(135deg,var(--mustard),var(--rust));display:flex;align-items:center;justify-content:center;font-size:2.2rem;}
  .item-add-wrap{position:absolute;left:50%;bottom:-14px;transform:translateX(-50%);width:78px;}
  .add-cart-btn{width:100%;background:var(--white);border:1.5px solid var(--rust);color:var(--rust);font-weight:700;font-size:.82rem;padding:7px 0;border-radius:8px;cursor:pointer;box-shadow:0 2px 6px rgba(46,32,19,.12);text-transform:uppercase;letter-spacing:.3px;}
  .add-cart-btn:hover{background:var(--rust);color:var(--white);}
  .stepper{display:flex;align-items:center;justify-content:space-between;background:var(--rust);color:var(--white);border-radius:8px;box-shadow:0 2px 6px rgba(46,32,19,.12);overflow:hidden;}
  .stepper button{background:none;border:none;color:var(--white);font-weight:700;font-size:1rem;width:24px;height:30px;cursor:pointer;}
  .stepper .stepper-qty{font-weight:700;font-size:.88rem;}
  .menu-item.sold-out{opacity:.5;}
  .sold-out-tag{display:inline-block;font-size:.76rem;font-weight:700;color:#8a7b5e;border:1.5px dashed var(--line);padding:4px 10px;border-radius:16px;margin-top:6px;}

  .story{background:var(--paper-deep);border-radius:8px;padding:36px;margin-bottom:56px;display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:center;}
  .story h2{font-size:1.7rem;margin:0 0 14px;}
  .story p{color:#4a3c28;margin:0 0 12px;font-size:.98rem;}
  .story-badges{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;}
  .badge{background:var(--white);border:1px solid var(--line);padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;color:var(--leaf);}
  .story-art{aspect-ratio:4/3;border-radius:8px;background:linear-gradient(135deg,var(--mustard),var(--rust));}

  /* ===== Hours & location ===== */
  .hours-loc{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-bottom:56px;}
  .hours-table{width:100%;border-collapse:collapse;background:var(--white);border:1px solid var(--line);border-radius:8px;overflow:hidden;}
  .hours-table td{padding:10px 16px;border-bottom:1px solid var(--line);font-size:.9rem;}
  .hours-table tr:last-child td{border-bottom:none;}
  .hours-table td:first-child{font-weight:600;}
  .loc-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:22px;font-size:.92rem;}
  .loc-card .map-visual{aspect-ratio:16/9;border-radius:6px;background:linear-gradient(135deg,var(--paper-deep),var(--mustard));margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-size:2rem;}
  .loc-card a{color:var(--rust);font-weight:600;text-decoration:underline;}

  /* ===== Testimonials ===== */
  .testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-bottom:56px;}
  .testi-card{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:20px;font-size:.9rem;}
  .testi-card .stars{color:var(--mustard);margin-bottom:8px;font-size:.95rem;}
  .testi-card p{margin:0 0 10px;color:#4a3c28;}
  .testi-card .who{font-weight:700;font-size:.85rem;}
  .testi-note{font-size:.78rem;color:#8a7b5e;font-style:italic;margin-top:-6px;}

  /* ===== FAQ ===== */
  .faq{margin-bottom:56px;}
  .faq-item{border-bottom:1px solid var(--line);}
  .faq-q{width:100%;text-align:left;background:none;border:none;padding:16px 4px;font-weight:600;font-size:.98rem;cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--ink);}
  .faq-q .plus{transition:transform .2s;color:var(--rust);font-size:1.2rem;}
  .faq-item.open .plus{transform:rotate(45deg);}
  .faq-a{max-height:0;overflow:hidden;transition:max-height .25s ease;font-size:.9rem;color:#5c4d38;padding:0 4px;}
  .faq-item.open .faq-a{max-height:200px;padding-bottom:16px;}

  .order-form{background:var(--white);border:1px solid var(--line);border-radius:8px;padding:26px;margin-bottom:56px;display:flex;flex-direction:column;gap:16px;}
  .order-form label{display:flex;flex-direction:column;gap:6px;font-weight:600;font-size:.88rem;color:var(--ink);}
  .order-form .of-optional{font-weight:400;color:#8a7b5e;font-size:.8rem;}
  .order-form input, .order-form select, .order-form textarea{
    font-family:'Work Sans',sans-serif;font-size:.92rem;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);resize:vertical;
  }
  .order-form input:focus, .order-form select:focus, .order-form textarea:focus{outline:2px solid var(--rust);outline-offset:1px;}
  .of-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  .order-form button{align-self:flex-start;border:none;cursor:pointer;}
  .of-hint{font-size:.8rem;color:#8a7b5e;margin:0;}
  @media (max-width:600px){ .of-row{grid-template-columns:1fr;} }

  .of-add-btn{align-self:flex-start;}
  .of-cart{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:14px 16px;}
  .of-cart-empty{margin:0;font-size:.85rem;color:#8a7b5e;}
  .of-cart-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;}
  .of-cart-list li{display:flex;justify-content:space-between;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:8px 12px;font-size:.9rem;}
  .of-cart-list .ci-name{font-weight:600;}
  .of-cart-list .ci-right{display:flex;align-items:center;gap:12px;}
  .of-cart-list .ci-price{color:var(--rust);font-weight:700;font-family:'Bitter',serif;}
  .of-cart-list .ci-remove{background:none;border:none;color:#8a7b5e;font-size:1.1rem;cursor:pointer;line-height:1;padding:0 2px;}
  .of-cart-list .ci-remove:hover{color:var(--rust);}
  .of-cart-total{margin-top:12px;font-weight:700;font-family:'Bitter',serif;text-align:right;color:var(--ink);}

  .order-note{border:2px dashed var(--rust);border-radius:8px;padding:22px 26px;margin-bottom:56px;background:var(--white);}
  .order-note h3{margin:0 0 8px;font-size:1.15rem;}
  .order-note p{margin:0;font-size:.92rem;color:#4a3c28;}
  .order-note a{color:var(--rust);font-weight:700;text-decoration:underline;}

  /* ===== WhatsApp float ===== */
  .wa-float{position:fixed;bottom:84px;right:18px;background:#3ba55c;color:#fff;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;box-shadow:0 6px 18px rgba(0,0,0,.25);z-index:60;}
  .cart-float{
    position:fixed;left:0;right:0;bottom:0;z-index:65;
    background:var(--rust);color:var(--white);
    display:none;align-items:center;justify-content:space-between;
    padding:14px 20px;border:none;cursor:pointer;
    box-shadow:0 -4px 16px rgba(0,0,0,.2);
    font-family:inherit;
  }
  .cart-float.show{display:flex;}
  .cart-float .cf-left{display:flex;flex-direction:column;align-items:flex-start;gap:2px;}
  .cart-float .cf-count-line{font-size:.78rem;opacity:.9;}
  .cart-float .cf-total{font-weight:700;font-size:1rem;font-family:'Bitter',serif;}
  .cart-float .cf-cta{font-weight:700;font-size:.92rem;display:flex;align-items:center;gap:6px;}
  body.has-cart-bar{padding-bottom:66px;}

  /* ===== Admin panel ===== */
  .admin-panel{border-top:3px dashed var(--rust);padding-top:40px;margin-top:10px;}
  .admin-note{font-size:.85rem;color:#6b5c40;background:var(--paper-deep);border-radius:6px;padding:12px 16px;margin-bottom:20px;}
  .admin-actions{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:24px;}
  .admin-import-label{display:inline-flex;align-items:center;cursor:pointer;}
  .admin-list{display:flex;flex-direction:column;gap:8px;margin-bottom:32px;}
  .admin-row{display:flex;align-items:center;gap:12px;background:var(--white);border:1px solid var(--line);border-radius:6px;padding:10px 14px;font-size:.88rem;flex-wrap:wrap;}
  .admin-row .ar-name{font-weight:700;flex:1 1 200px;}
  .admin-row .ar-cat{color:var(--leaf);font-weight:600;font-size:.8rem;flex:0 0 auto;}
  .admin-row .ar-price{color:var(--rust);font-weight:700;font-family:'Bitter',serif;flex:0 0 auto;}
  .admin-row .ar-actions{display:flex;gap:8px;margin-left:auto;}
  .admin-row .ar-actions button{border:1px solid var(--line);background:var(--paper);border-radius:4px;padding:4px 10px;font-size:.8rem;cursor:pointer;}
  .admin-row .ar-actions .ar-delete{color:var(--rust);}
  .admin-row.ar-unavailable{opacity:.6;background:var(--paper);}
  .admin-row .ar-toggle{color:var(--leaf);}
  .admin-form h3{margin:0 0 4px;font-size:1.05rem;}
  .admin-checkbox{flex-direction:row !important;align-items:center;gap:8px !important;font-weight:600;font-size:.9rem;}
  .admin-form-actions{display:flex;gap:12px;}

  footer{background:var(--ink);color:#e7dcc5;padding:34px 24px;}
  .footer-inner{max-width:1100px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:20px;font-size:.9rem;}
  .footer-inner strong{color:var(--mustard);font-family:'Bitter',serif;display:block;margin-bottom:6px;}

  @media (max-width:800px){
    .hero{grid-template-columns:1fr;}
    .story{grid-template-columns:1fr;}
    .why-grid{grid-template-columns:1fr;}
    .hours-loc{grid-template-columns:1fr;}
    .testi-grid{grid-template-columns:1fr;}
  }
