:root{
    --bg:#1a120b;
    --bg-deep:#120c07;
    --panel:#251a12;
    --panel-2:#2e2015;
    --gold:#e3a857;
    --gold-soft:#f0c98a;
    --chili:#b6402f;
    --chili-bright:#d14e35;
    --text:#f5ead9;
    --text-muted:#c7b3a0;
    --line:rgba(245,234,217,0.14);
    --radius:2px;
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    background:var(--bg);
    color:var(--text);
    font-family:'Work Sans', sans-serif;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3,h4{
    font-family:'Fraunces', serif;
    margin:0;
    font-weight:600;
    letter-spacing:-0.01em;
  }
  a{color:inherit;text-decoration:none;}
  img{max-width:100%;display:block;}
  .wrap{
    max-width:1140px;
    margin:0 auto;
    padding:0 28px;
  }
  ::selection{background:var(--chili);color:var(--text);}
  :focus-visible{outline:2px solid var(--gold);outline-offset:3px;}

  /* ===== Texture backdrop ===== */
  .grain{
    position:fixed;inset:0;pointer-events:none;z-index:1;opacity:0.05;
    background-image:radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size:3px 3px;
  }

  /* ===== Header ===== */
  header{
    position:fixed;top:0;left:0;right:0;z-index:100;
    padding:18px 0;
    background:rgba(18,12,7,0);
    transition:background .35s ease, padding .35s ease, box-shadow .35s ease;
  }
  header.scrolled{
    background:rgba(18,12,7,0.92);
    backdrop-filter:blur(6px);
    padding:12px 0;
    box-shadow:0 1px 0 var(--line);
  }
  header .wrap{display:flex;align-items:center;justify-content:space-between;}
  .brand{display:flex;align-items:center;gap:12px;}
  .brand-mark{
    width:44px;height:44px;border-radius:50%;
    object-fit:cover;
    flex-shrink:0;
  }
  .brand-name{font-family:'Fraunces',serif;font-size:20px;font-weight:600;color:var(--text);}
  .brand-name small{display:block;font-family:'Work Sans',sans-serif;font-weight:500;font-size:11px;letter-spacing:.06em;color:var(--gold-soft);}
  nav.primary{display:flex;align-items:center;gap:34px;}
  nav.primary a{
    font-size:14.5px;color:var(--text-muted);position:relative;padding:4px 0;
    transition:color .2s ease;
  }
  nav.primary a:hover{color:var(--text);}
  .call-btn{
    display:inline-flex;align-items:center;gap:8px;
    background:var(--chili);color:#fdf3e9;padding:10px 20px;
    font-size:14px;font-weight:600;border-radius:var(--radius);
    transition:background .2s ease, transform .2s ease;
  }
  .call-btn:hover{background:var(--chili-bright);transform:translateY(-1px);}
  .menu-toggle{display:none;background:none;border:1px solid var(--line);color:var(--text);
    padding:8px 10px;border-radius:2px;font-size:20px;line-height:1;}

  /* ===== Hero ===== */
  .hero{
    position:relative;
    min-height:100svh;
    display:flex;
    align-items:flex-end;
    padding:140px 0 90px;
    overflow:hidden;
    background:#120c07;
  }
  .hero-bg{
    position:absolute;inset:0;
    background: rgba(18,12,7,0.97);
  }
  .hero-content{position:relative;z-index:2;}
  .hero-row{display:flex;align-items:center;gap:clamp(32px,5vw,72px);}
  .hero-text{flex:1;min-width:0;}
  .hero-illustration{
    flex:0 0 clamp(220px,28vw,380px);
    opacity:0;transform:translateY(20px) scale(0.95);
    animation:riseIn 1s cubic-bezier(.2,.8,.2,1) .6s forwards;
  }
  .hero-illustration svg{width:100%;height:auto;filter:drop-shadow(0 20px 50px rgba(0,0,0,0.4));cursor:pointer;}

  /* --- pot hover interactions --- */
  .biryani-lid{transition:transform 0.6s cubic-bezier(.34,1.56,.64,1);}
  .hero-illustration:hover .biryani-lid{transform:translate(12,-8) rotate(-12 170 170) translateY(-18px) rotate(-6deg);}
  .biryani-glow{transition:opacity 0.5s ease;}
  .hero-illustration:hover .biryani-glow{opacity:1;}
  .biryani-pot{transition:transform 0.4s ease;}
  .hero-illustration:hover .biryani-pot{transform:translateY(-3px);}
  .biryani-base{transition:transform 0.4s ease;}
  .hero-illustration:hover .biryani-base{transform:scaleX(1.04);}

  /* --- spice shimmer on hover --- */
  .spice-layer{transition:filter 0.5s ease;}
  .hero-illustration:hover .spice-layer{filter:brightness(1.25) saturate(1.2);}

  /* --- steam system --- */
  .steam-wisp{opacity:0;animation:var(--steam-anim, steamRise) var(--dur, 3s) ease-out var(--delay, 0s) infinite;}
  @keyframes steamRise{
    0%  {transform:translate(0,0) scaleX(0.8);opacity:0;}
    8%  {opacity:var(--peak,0.45);}
    40% {opacity:var(--peak,0.35);transform:translate(var(--drift,-6px),-30px) scaleX(1);}
    70% {opacity:0.12;transform:translate(var(--drift2,8px),-60px) scaleX(1.6);}
    100%{opacity:0;transform:translate(var(--drift3,0px),-90px) scaleX(2.2);}
  }
  @keyframes steamRiseSlow{
    0%  {transform:translate(0,0) scaleX(0.7);opacity:0;}
    10% {opacity:0.3;}
    50% {opacity:0.18;transform:translate(var(--drift,10px),-45px) scaleX(1.3);}
    100%{opacity:0;transform:translate(var(--drift2,-5px),-100px) scaleX(2);}
  }
  @keyframes steamPuff{
    0%  {transform:scale(0.3);opacity:0;}
    20% {opacity:0.35;}
    60% {opacity:0.15;transform:scale(1.2) translateY(-20px);}
    100%{opacity:0;transform:scale(1.8) translateY(-45px);}
  }
  .hero-illustration:hover .steam-wisp{--peak:0.6;}

  /* --- warm glow pulse --- */
  .heat-glow{animation:glowPulse 3s ease-in-out infinite;}
  @keyframes glowPulse{
    0%,100%{opacity:0.12;}
    50%{opacity:0.25;}
  }
  .hero-illustration:hover .heat-glow{animation-duration:1.5s;}
  .eyebrow-tag{
    display:inline-flex;align-items:center;gap:8px;
    color:var(--gold-soft);font-size:13.5px;font-weight:500;
    margin-bottom:22px;
  }
  .eyebrow-tag .dot{width:6px;height:6px;border-radius:50%;background:var(--chili-bright);}
  .hero h1{
    font-size:clamp(40px, 6.4vw, 78px);
    line-height:1.03;
    max-width:820px;
    color:#fbf1e2;
    opacity:0;
    transform:translateY(18px);
    animation:riseIn .9s cubic-bezier(.2,.8,.2,1) .25s forwards;
  }
  .hero p.lede{
    max-width:520px;margin-top:22px;font-size:17px;color:var(--text-muted);
    opacity:0;transform:translateY(14px);
    animation:riseIn .9s cubic-bezier(.2,.8,.2,1) .5s forwards;
  }
  .hero-actions{
    display:flex;gap:16px;margin-top:36px;flex-wrap:wrap;
    opacity:0;transform:translateY(14px);
    animation:riseIn .9s cubic-bezier(.2,.8,.2,1) .7s forwards;
  }
  @keyframes riseIn{to{opacity:1;transform:translateY(0);}}
  .btn-solid{
    background:var(--gold);color:#241505;padding:14px 26px;font-weight:600;font-size:15px;border-radius:var(--radius);
    transition:background .2s ease, transform .2s ease;
  }
  .btn-solid:hover{background:var(--gold-soft);transform:translateY(-1px);}
  .btn-outline{
    border:1px solid rgba(245,234,217,0.35);color:var(--text);padding:14px 26px;font-weight:600;font-size:15px;border-radius:var(--radius);
    transition:border-color .2s ease, background .2s ease;
  }
  .btn-outline:hover{border-color:var(--text);background:rgba(245,234,217,0.06);}

  .rating-strip{
    position:relative;z-index:2;margin-top:56px;
    display:flex;align-items:center;gap:22px;flex-wrap:wrap;
    padding-top:26px;border-top:1px solid var(--line);
    max-width:760px;
    opacity:0;animation:riseIn .9s cubic-bezier(.2,.8,.2,1) .9s forwards;
  }
  .rating-num{font-family:'Fraunces',serif;font-size:34px;color:var(--gold-soft);}
  .rating-meta{font-size:13.5px;color:var(--text-muted);}
  .stars{color:var(--gold);letter-spacing:2px;font-size:15px;}
  .hero-hours{font-size:13.5px;color:var(--text-muted);}
  .hero-hours strong{color:var(--text);font-weight:600;}

  /* ===== Section shells ===== */
  section{position:relative;z-index:2;padding:110px 0;}
  .section-head{max-width:640px;margin-bottom:56px;}
  .section-head .kicker{color:var(--gold);font-size:14px;font-weight:600;margin-bottom:10px;display:block;}
  .section-head h2{font-size:clamp(30px,4vw,46px);color:#fbf1e2;line-height:1.08;}
  .section-head p{color:var(--text-muted);margin-top:16px;font-size:16px;max-width:520px;}

  /* ===== Menu ===== */
  .menu-section{background:var(--bg-deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
  .menu-grid{display:grid;grid-template-columns:1.5fr 1fr;gap:64px;align-items:start;}
  .menu-cats{display:flex;flex-direction:column;gap:44px;}
  .menu-cat h3{font-size:20px;color:var(--gold-soft);margin-bottom:18px;padding-bottom:10px;border-bottom:1px solid var(--line);}
  .dish{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px dashed rgba(245,234,217,0.1);}
  .dish:last-child{border-bottom:none;}
  .dish-name{font-size:16px;color:var(--text);font-weight:500;}
  .dish-desc{font-size:13.5px;color:var(--text-muted);margin-top:3px;max-width:340px;}
  .dish-price{font-family:'Fraunces',serif;font-size:17px;color:var(--gold);white-space:nowrap;padding-top:1px;}

  .qr-panel{
    background:var(--panel);border:1px solid var(--line);border-radius:6px;
    padding:36px 30px;text-align:center;position:sticky;top:120px;
  }
  .qr-panel h4{font-size:18px;color:var(--text);margin-bottom:6px;}
  .qr-panel p{font-size:13.5px;color:var(--text-muted);margin:0 0 22px;}
  .qr-frame{
    background:var(--gold-soft);padding:14px;border-radius:6px;display:inline-block;margin-bottom:20px;
  }
  .qr-frame img{width:180px;height:180px;display:block;border-radius:2px;}
  .qr-panel .whatsapp-btn{
    display:inline-flex;align-items:center;gap:8px;justify-content:center;width:100%;
    background:var(--chili);color:#fdf3e9;padding:13px 18px;border-radius:var(--radius);font-weight:600;font-size:14.5px;
    transition:background .2s ease;
  }
  .qr-panel .whatsapp-btn:hover{background:var(--chili-bright);}

  /* ===== Gallery ===== */
  .gallery-grid{
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    grid-auto-rows:150px;
    gap:10px;
  }
  .gallery-grid figure{
    margin:0;overflow:hidden;border-radius:3px;cursor:pointer;position:relative;background:var(--panel);
  }
  .gallery-grid figure img{
    width:100%;height:100%;object-fit:cover;transition:transform .5s ease;
  }
  .gallery-grid figure:hover img{transform:scale(1.06);}
  .gallery-grid figure:nth-child(1){grid-column:span 2;grid-row:span 2;}
  .gallery-grid figure:nth-child(4){grid-row:span 2;}
  .gallery-grid figure:nth-child(7){grid-column:span 2;}

  /* Lightbox */
  .lightbox{
    position:fixed;inset:0;background:rgba(10,7,4,0.94);z-index:1000;
    display:none;align-items:center;justify-content:center;padding:40px;
  }
  .lightbox.open{display:flex;}
  .lightbox img{max-width:90vw;max-height:85vh;border-radius:4px;}
  .lightbox-close{
    position:absolute;top:26px;right:32px;background:none;border:1px solid var(--line);color:var(--text);
    width:42px;height:42px;border-radius:50%;font-size:20px;cursor:pointer;
  }

  /* ===== Contact ===== */
  .contact-section{background:var(--bg-deep);border-top:1px solid var(--line);}
  .contact-grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:64px;align-items:stretch;}
  .contact-cards{display:flex;flex-direction:column;gap:16px;}
  .info-card{
    background:var(--panel);border:1px solid var(--line);border-radius:6px;padding:24px 26px;
    display:flex;gap:16px;align-items:flex-start;
  }
  .info-icon{
    width:42px;height:42px;border-radius:50%;background:rgba(227,168,87,0.14);color:var(--gold);
    display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:18px;
  }
  .info-card h4{font-size:15.5px;color:var(--text);margin-bottom:4px;}
  .info-card p, .info-card a{font-size:14.5px;color:var(--text-muted);}
  .info-card a:hover{color:var(--gold-soft);}
  .map-frame{
    border:1px solid var(--line);border-radius:6px;overflow:hidden;min-height:420px;
  }
  .map-frame iframe{width:100%;height:100%;min-height:420px;border:0;filter:grayscale(0.15) contrast(1.05);}

  footer{
    padding:40px 0;border-top:1px solid var(--line);background:var(--bg-deep);
  }
  footer .wrap{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
  footer p{font-size:13px;color:var(--text-muted);margin:0;}

  @media (max-width: 900px){
    nav.primary{display:none;}
    .menu-toggle{display:inline-block;}
    .hero-row{flex-direction:column-reverse;gap:24px;}
    .hero-illustration{flex:0 0 auto;width:clamp(180px,50vw,260px);}
    .menu-grid, .contact-grid{grid-template-columns:1fr;}
    .qr-panel{position:static;}
    .gallery-grid{grid-template-columns:repeat(2,1fr);}
    .gallery-grid figure:nth-child(1){grid-column:span 2;grid-row:span 1;}
    .gallery-grid figure:nth-child(4){grid-row:span 1;}
    .gallery-grid figure:nth-child(7){grid-column:span 1;}
    section{padding:76px 0;}
  }
  @media (prefers-reduced-motion: reduce){
    .hero h1,.hero p.lede,.hero-actions,.rating-strip,.hero-illustration{animation:none;opacity:1;transform:none;}
    .steam-wisp,.heat-glow{animation:none;opacity:0;}
    .biryani-lid,.biryani-pot,.biryani-base,.biryani-glow,.spice-layer{transition:none;}
    .gallery-grid figure img{transition:none;}
  }
