/* ================================================================
   MUSTANG THAKALI — Design System v6
   Fully responsive: Mobile · Tablet · Desktop
   Breakpoints:
     xs   < 480px   (small phones)
     sm   480–639px (large phones)
     md   640–1023px (tablets)
     lg   1024–1279px (small desktop)
     xl   ≥ 1280px  (large desktop)
   ================================================================ */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,500;0,600;0,700;0,800;1,500;1,600;1,700&family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=Noto+Sans+Devanagari:wght@400;500&display=swap');

/* ── DESIGN TOKENS ───────────────────────────────────────────── */
:root {
  /* Colours */
  --red:        #C41E20;
  --red-dark:   #9E1517;
  --red-mid:    #E84B1E;
  --red-light:  #F2705A;
  --red-pale:   #FDECEC;
  --red-ghost:  #FFF4F4;

  --green:      #005C2E;
  --green-dark: #004322;
  --green-mid:  #007A3E;
  --green-light:#4CA870;
  --green-pale: #E8F5EE;

  --cream:      #FFF9F2;
  --cream-mid:  #FFF1E2;
  --cream-low:  #F7EFE3;
  --bone:       #EDE5D8;
  --stone:      #D6CCBB;

  --ink:        #1C1009;
  --ink-mid:    #3D2B1A;
  --ink-dim:    #6B5645;
  --ink-muted:  #9C8773;

  --dark:       #1C0E08;
  --dark-mid:   #2E1A10;
  --dark-text:  #F2E8DB;
  --dark-muted: #9C7F68;

  /* Fluid type — clamp(min, fluid, max) */
  --text-display: clamp(2.4rem, 8vw, 5.5rem);
  --text-h1:      clamp(1.9rem, 5vw, 3.4rem);
  --text-h2:      clamp(1.5rem, 3.2vw, 2.25rem);
  --text-h3:      clamp(1.1rem, 1.8vw, 1.4rem);
  --text-body:    clamp(0.9rem, 1.1vw, 1rem);
  --text-sm:      clamp(0.8rem, 0.95vw, 0.9rem);
  --text-xs:      clamp(0.7rem, 0.8vw, 0.75rem);

  /* Spacing (8px grid) */
  --sp1:0.5rem; --sp2:1rem;  --sp3:1.5rem;
  --sp4:2rem;   --sp5:2.5rem;--sp6:3rem;
  --sp8:4rem;   --sp10:5rem; --sp12:6rem;

  /* Radius */
  --r4:4px; --r8:8px; --r12:12px; --rpill:9999px;

  /* Shadows */
  --sh1:0 1px 4px rgba(28,14,8,.07);
  --sh2:0 2px 8px rgba(28,14,8,.09),0 1px 3px rgba(28,14,8,.05);
  --sh3:0 4px 20px rgba(28,14,8,.11),0 2px 6px rgba(28,14,8,.06);
  --sh4:0 8px 32px rgba(28,14,8,.13),0 3px 10px rgba(28,14,8,.07);
  --sh5:0 16px 56px rgba(28,14,8,.15),0 6px 20px rgba(28,14,8,.08);
  --sh-red:0 4px 18px rgba(196,30,32,.28);
  --sh-green:0 4px 14px rgba(0,92,46,.2);

  /* Nav */
  --nav-h: 64px;

  /* Safe area — fills in on notched phones */
  --safe-top:    env(safe-area-inset-top, 0px);
  --safe-bottom: env(safe-area-inset-bottom, 0px);
  --safe-left:   env(safe-area-inset-left, 0px);
  --safe-right:  env(safe-area-inset-right, 0px);

  /* Mobile bottom bar height (hidden on desktop) */
  --mob-bar-h: 0px;

  --max-w: 1360px;
}

/* ── RESET ───────────────────────────────────────────────────── */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html {
  scroll-behavior:smooth; font-size:16px;
  /* Respect prefers-reduced-motion */
  scroll-padding-top: var(--nav-h);
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: .01ms !important;
    transition-duration: .01ms !important;
  }
  html { scroll-behavior: auto; }
}
body {
  font-family:'Plus Jakarta Sans',system-ui,sans-serif;
  font-size:var(--text-body);
  color:var(--ink); background:var(--cream);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  /* Push content above mobile bar */
  padding-bottom: var(--mob-bar-h);
  /* Safe area bottom padding */
  padding-bottom: calc(var(--mob-bar-h) + var(--safe-bottom));
}
img { display:block; max-width:100%; height:auto; }
a { color:inherit; text-decoration:none; }
button { cursor:pointer; border:none; background:none; font-family:inherit; }
ul { list-style:none; }
input,textarea,select { font-family:inherit; }

/* Focus-visible outline for accessibility */
:focus-visible {
  outline: 2.5px solid var(--red);
  outline-offset: 3px;
  border-radius: var(--r4);
}

/* ── LAYOUT ──────────────────────────────────────────────────── */
.container {
  width:100%; max-width:var(--max-w); margin:0 auto;
  padding:0 clamp(1rem, 5vw, 3rem);
}
.section    { padding: clamp(3rem,8vw,6rem) 0; }
.section-sm { padding: clamp(2rem,5vw,4rem) 0; }
.section-alt  { background:var(--cream-mid); }
.section-dark { background:var(--dark); color:var(--dark-text); }
.tc { text-align:center; }
.tc .body-text { margin-left:auto; margin-right:auto; }

/* Scroll reveal */
.rv {
  opacity:0; transform:translateY(18px);
  transition:opacity .5s cubic-bezier(.2,.6,.35,1),
              transform .5s cubic-bezier(.2,.6,.35,1);
}
.rv.vis { opacity:1; transform:none; }
.d1{transition-delay:.07s} .d2{transition-delay:.14s}
.d3{transition-delay:.21s} .d4{transition-delay:.28s}
.d5{transition-delay:.35s}

/* ── TYPOGRAPHY ──────────────────────────────────────────────── */
.eyebrow {
  font-size:var(--text-xs); font-weight:700; letter-spacing:.14em;
  text-transform:uppercase; color:var(--red);
  display:inline-flex; align-items:center; gap:.45rem; margin-bottom:.7rem;
}
.eyebrow::before {
  content:''; width:18px; height:1.5px; background:var(--red-mid); flex-shrink:0;
}
.eyebrow-green { color:var(--green); }
.eyebrow-green::before { background:var(--green-mid); }
.eyebrow-muted { color:var(--ink-muted); }
.eyebrow-muted::before { background:var(--stone); }
.eyebrow-inv { color:#FFCFC8; }
.eyebrow-inv::before { background:#FFCFC8; }

.h1 {
  font-family:'Playfair Display',serif;
  font-size:var(--text-h1); font-weight:700;
  line-height:1.1; letter-spacing:-.015em;
}
.h2 {
  font-family:'Playfair Display',serif;
  font-size:var(--text-h2); font-weight:700;
  line-height:1.18; letter-spacing:-.01em;
}
.h3 {
  font-family:'Playfair Display',serif;
  font-size:var(--text-h3); font-weight:600; line-height:1.28;
}
.accent { font-style:italic; color:var(--red-mid); }
.accent-green { font-style:italic; color:var(--green-mid); }
.body-text { font-size:var(--text-body); line-height:1.76; color:var(--ink-dim); }
.text-sm   { font-size:var(--text-sm);   line-height:1.64; color:var(--ink-dim); }

.rule {
  width:38px; height:2px; border-radius:1px;
  background:linear-gradient(90deg,var(--red),var(--green));
  margin-bottom:var(--sp3);
}
.rule-c { margin-left:auto; margin-right:auto; }

.script-line {
  font-family:'Noto Sans Devanagari',sans-serif;
  font-size:var(--text-sm); color:var(--ink-muted); letter-spacing:.02em;
}

/* ── BUTTONS (min 44×44px touch target) ─────────────────────── */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:.4rem;
  min-height:44px; padding:.6rem 1.35rem;
  border-radius:var(--r4); border:1.5px solid transparent;
  font-size:var(--text-sm); font-weight:700; letter-spacing:.02em;
  transition:all .2s ease; cursor:pointer; white-space:nowrap;
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
.btn-red   { background:var(--red);   color:#fff; box-shadow:var(--sh-red); }
.btn-red:hover, .btn-red:active { background:var(--red-dark); transform:translateY(-1px); }
.btn-green { background:var(--green); color:#fff; box-shadow:var(--sh-green); }
.btn-green:hover { background:var(--green-dark); transform:translateY(-1px); }
.btn-outline { background:transparent; border-color:var(--bone); color:var(--ink-mid); }
.btn-outline:hover { border-color:var(--red); color:var(--red); }
.btn-outline-inv { background:transparent; border-color:rgba(242,232,219,.35); color:var(--dark-text); }
.btn-outline-inv:hover { border-color:rgba(242,232,219,.7); background:rgba(242,232,219,.08); }
.btn-wa  { background:#25D366; color:#fff; }
.btn-wa:hover { background:#1fbb58; transform:translateY(-1px); }
.btn-sm  { min-height:36px; padding:.4rem .85rem; font-size:var(--text-xs); }
.btn-lg  { min-height:52px; padding:.75rem 1.7rem; font-size:var(--text-body); }
.btn-full { width:100%; }

.btn-row { display:flex; flex-wrap:wrap; gap:.6rem; align-items:center; }
.btn-row-stack { flex-direction:column; align-items:stretch; }

/* ── NAVIGATION ──────────────────────────────────────────────── */
#navbar {
  position:fixed; top:0; left:0; right:0; z-index:200;
  height:var(--nav-h);
  /* Account for notch */
  padding-top:var(--safe-top);
  height:calc(var(--nav-h) + var(--safe-top));
  display:flex; align-items:center; justify-content:space-between;
  padding-left:clamp(1rem,5vw,2.5rem);
  padding-right:clamp(1rem,5vw,2.5rem);
  background:transparent;
  transition:background .3s,box-shadow .3s,backdrop-filter .3s;
}
#navbar.scrolled {
  background:rgba(255,249,242,.97);
  backdrop-filter:blur(20px) saturate(1.5);
  -webkit-backdrop-filter:blur(20px) saturate(1.5);
  box-shadow:0 1px 0 var(--bone),var(--sh1);
}
.nav-logo { display:flex; align-items:center; flex-shrink:0; }
.nav-logo img { height:42px; width:auto; }

/* Desktop links */
.nav-links { display:flex; align-items:center; gap:.1rem; list-style:none; }
.nav-links a {
  display:flex; align-items:center; height:36px; padding:0 .8rem;
  font-size:var(--text-sm); font-weight:600; letter-spacing:.01em;
  color:rgba(255,255,255,.9); border-radius:var(--r4);
  transition:color .18s,background .18s; white-space:nowrap;
}
#navbar.scrolled .nav-links a { color:var(--ink-mid); }
.nav-links a:hover,.nav-links a.active { color:#fff; background:rgba(255,255,255,.15); }
#navbar.scrolled .nav-links a:hover,
#navbar.scrolled .nav-links a.active { color:var(--red); background:var(--red-ghost); }
.nav-cta {
  background:var(--red) !important; color:#fff !important;
  box-shadow:var(--sh-red); border-radius:var(--r4) !important;
}
.nav-cta:hover { background:var(--red-dark) !important; }
#navbar.scrolled .nav-cta { background:var(--red) !important; color:#fff !important; }

/* Hamburger — 44×44 touch target */
.hamburger {
  display:none; flex-direction:column; justify-content:center;
  align-items:center; gap:5px; width:44px; height:44px;
  cursor:pointer; background:none; border:none; border-radius:var(--r4);
  -webkit-tap-highlight-color:transparent; flex-shrink:0;
  transition:background .18s;
}
.hamburger:hover { background:rgba(255,255,255,.1); }
#navbar.scrolled .hamburger:hover { background:var(--red-ghost); }
.hamburger span {
  display:block; width:22px; height:2px;
  background:rgba(255,255,255,.9); border-radius:1px;
  transition:all .28s cubic-bezier(.4,0,.2,1);
  transform-origin:center;
}
#navbar.scrolled .hamburger span { background:var(--ink); }
.hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.hamburger.open span:nth-child(2) { opacity:0; transform:scaleX(0); }
.hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

/* Mobile overlay — full screen */
.nav-overlay {
  position:fixed; inset:0; z-index:300;
  background:var(--dark);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:.15rem;
  visibility:hidden; opacity:0; pointer-events:none;
  transition:opacity .28s ease,visibility .28s ease;
  /* Safe area padding */
  padding-top:var(--safe-top);
  padding-bottom:var(--safe-bottom);
}
.nav-overlay.open { visibility:visible; opacity:1; pointer-events:auto; }
.nav-overlay-close {
  position:absolute; top:calc(1.2rem + var(--safe-top)); right:1.4rem;
  width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,.07);
  display:flex; align-items:center; justify-content:center;
  font-size:1.3rem; color:rgba(255,255,255,.6); cursor:pointer;
  transition:background .18s; -webkit-tap-highlight-color:transparent;
}
.nav-overlay-close:hover,.nav-overlay-close:active { background:rgba(255,255,255,.15); color:#fff; }
.nav-overlay a {
  font-family:'Playfair Display',serif;
  font-size:clamp(1.35rem,5vw,1.85rem); font-weight:600;
  color:rgba(255,255,255,.75); padding:.55rem 2.5rem;
  text-align:center; border-radius:var(--r8); width:100%; max-width:360px;
  transition:color .16s,background .16s;
  min-height:52px; display:flex; align-items:center; justify-content:center;
  -webkit-tap-highlight-color:transparent;
}
.nav-overlay a:hover,.nav-overlay a:active,.nav-overlay a.active {
  color:#FFCFC8; background:rgba(255,255,255,.05);
}

/* ── MOBILE BOTTOM NAV BAR ───────────────────────────────────── */
/* Pinned bottom bar for quick actions on mobile */
.mob-bar {
  display:none;
  position:fixed; bottom:0; left:0; right:0; z-index:150;
  background:var(--dark);
  border-top:1px solid rgba(255,255,255,.08);
  /* Safe area bottom inset */
  padding-bottom:var(--safe-bottom);
}
.mob-bar-inner {
  display:grid; grid-template-columns:repeat(4,1fr);
  height:56px;
}
.mob-bar-btn {
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:3px; font-size:9px; font-weight:700; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(255,255,255,.5);
  -webkit-tap-highlight-color:transparent; cursor:pointer;
  transition:color .16s; padding:6px 0;
}
.mob-bar-btn svg { width:20px; height:20px; fill:currentColor; }
.mob-bar-btn.active,
.mob-bar-btn:hover { color:#fff; }
.mob-bar-btn.cta { color:#FFCFC8; }
.mob-bar-btn.cta:hover { color:#fff; }

/* ── HERO ────────────────────────────────────────────────────── */
.hero {
  position:relative; min-height:100svh; min-height:100vh;
  display:flex; align-items:center; overflow:hidden; background:var(--dark);
}
.hero-bg {
  position:absolute; inset:0; background-size:cover; background-position:center;
  transform:scale(1.05); transition:transform 7s cubic-bezier(.2,.6,.35,1);
  will-change:transform;
}
.hero.loaded .hero-bg { transform:scale(1); }
.hero-veil {
  position:absolute; inset:0;
  background:linear-gradient(115deg,rgba(28,14,8,.88) 0%,rgba(28,14,8,.44) 55%,rgba(28,14,8,.6) 100%);
}
.hero-veil::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,transparent,var(--red) 35%,var(--green) 65%,transparent);
  opacity:.6;
}
.hero-content {
  position:relative; z-index:2;
  width:100%; max-width:var(--max-w);
  padding: calc(var(--nav-h) + var(--safe-top) + clamp(2rem,6vw,4rem))
           clamp(1rem,6vw,5rem)
           clamp(3rem,8vw,6rem);
  max-width:820px;
}
.hero-eyebrow {
  font-size:var(--text-xs); font-weight:700; letter-spacing:.16em;
  text-transform:uppercase; color:#FFCFC8;
  display:inline-flex; align-items:center; gap:.55rem; margin-bottom:var(--sp2);
}
.hero-eyebrow::before {
  content:''; width:24px; height:1.5px; background:var(--red-mid); display:block;
}
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:var(--text-display); font-weight:600;
  line-height:1.04; letter-spacing:-.022em;
  color:#fff; margin-bottom:var(--sp2);
}
.hero-title .accent { color:#FFCFC8; }
.hero-script {
  font-family:'Noto Sans Devanagari',sans-serif;
  font-size:var(--text-sm); color:rgba(255,255,255,.38); letter-spacing:.03em;
  margin-bottom:var(--sp3);
}
.hero-sub {
  font-size:clamp(.9rem,1.5vw,1.05rem);
  color:rgba(255,255,255,.72); max-width:48ch; line-height:1.68;
  margin-bottom:var(--sp5);
}
.hero-cta-row { display:flex; flex-wrap:wrap; gap:.65rem; }
.hero-scroll {
  position:absolute; bottom:clamp(1rem,3vw,2rem); left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:.3rem;
  color:rgba(255,255,255,.32); font-size:10px; letter-spacing:.14em; text-transform:uppercase;
}
.hero-scroll::after {
  content:''; width:1px; height:28px;
  background:linear-gradient(to bottom,rgba(255,255,255,.28),transparent);
}

/* ── PAGE HERO ───────────────────────────────────────────────── */
.page-hero {
  position:relative; height:clamp(220px,30vw,420px);
  display:flex; align-items:flex-end; overflow:hidden; background:var(--dark);
}
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center 30%;
}
.page-hero-veil {
  position:absolute; inset:0;
  background:linear-gradient(to top,rgba(28,14,8,.92) 0%,rgba(28,14,8,.42) 55%,rgba(28,14,8,.5) 100%);
}
.page-hero-veil::after {
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--red) 35%,var(--green) 65%,transparent);
  opacity:.55;
}
.page-hero-content {
  position:relative; z-index:2; width:100%;
  padding: calc(var(--nav-h) + var(--safe-top) + var(--sp3))
           clamp(1rem,5vw,2.5rem)
           var(--sp5);
}
.breadcrumb {
  display:flex; align-items:center; gap:.3rem; margin-bottom:.55rem;
  flex-wrap:wrap;
}
.breadcrumb a,.breadcrumb span {
  font-size:var(--text-xs); color:rgba(255,255,255,.48); letter-spacing:.04em;
}
.breadcrumb a:hover { color:rgba(255,255,255,.8); }
.breadcrumb .sep { color:rgba(255,255,255,.28); }
.breadcrumb .cur { color:#FFCFC8; }
.page-hero-content h1 {
  font-family:'Playfair Display',serif;
  font-size:var(--text-h1); font-weight:700; color:#fff;
  line-height:1.1; margin-bottom:.5rem;
}
.page-hero-content p { font-size:var(--text-sm); color:rgba(255,255,255,.68); max-width:54ch; }

/* ── ABOUT GRID ──────────────────────────────────────────────── */
.about-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,5vw,5rem); align-items:center;
}
.about-img-frame { position:relative; }
.about-img {
  height:clamp(280px,42vw,580px); border-radius:var(--r8);
  background-size:cover; background-position:center; box-shadow:var(--sh5);
}
.about-badge {
  position:absolute; bottom:-1rem; right:-1rem;
  background:var(--red); color:#fff; border-radius:var(--r8);
  padding:var(--sp2) var(--sp3);
  font-family:'Playfair Display',serif; font-size:1.8rem; font-weight:800;
  line-height:1; box-shadow:var(--sh-red); text-align:center;
}
.about-badge small {
  display:block; font-family:'Plus Jakarta Sans',sans-serif;
  font-size:var(--text-xs); font-weight:600; margin-top:.2rem; opacity:.82;
}
.spice-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin:var(--sp3) 0 var(--sp4); }
.spice-tag {
  padding:.26rem .7rem;
  background:var(--green-pale); border:1px solid var(--green-light); color:var(--green);
  font-size:var(--text-xs); font-weight:600; letter-spacing:.04em; border-radius:var(--rpill);
}
.stats-row {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:var(--sp2); margin-top:var(--sp5);
  padding-top:var(--sp4); border-top:1px solid var(--bone);
}
.stat-val {
  font-family:'Playfair Display',serif; font-size:clamp(1.3rem,2.5vw,1.7rem);
  font-weight:700; color:var(--red); line-height:1;
}
.stat-lbl { font-size:var(--text-xs); color:var(--ink-dim); margin-top:.3rem; line-height:1.4; }

/* ── DISH CARDS ──────────────────────────────────────────────── */
.dish-grid {
  display:grid; grid-template-columns:repeat(6,1fr);
  gap:clamp(.4rem,.6vw,.65rem); margin-bottom:var(--sp5);
}
.dish-card {
  position:relative; aspect-ratio:2/3; border-radius:var(--r8);
  overflow:hidden; background-size:cover; background-position:center;
  display:flex; align-items:flex-end;
  transition:transform .28s ease,box-shadow .28s ease;
  -webkit-tap-highlight-color:transparent;
}
.dish-card::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to top,rgba(28,14,8,.82) 0%,rgba(28,14,8,.2) 55%,transparent 100%);
  transition:opacity .28s;
}
.dish-card:hover { transform:translateY(-4px); box-shadow:var(--sh4); }
.dish-card:hover::after { opacity:.88; }
.dish-card-lbl { position:relative; z-index:1; width:100%; padding:.5rem .5rem .6rem; }
.dish-card-lbl::before {
  content:''; display:block; width:16px; height:1.5px;
  background:var(--red-mid); margin:0 auto .32rem;
}
.dish-card-lbl span {
  display:block; color:#fff; font-size:clamp(10px,1vw,12px);
  font-weight:700; letter-spacing:.04em; text-align:center;
  text-shadow:0 1px 6px rgba(0,0,0,.55); line-height:1.3;
}

.order-strip {
  display:flex; flex-wrap:wrap; gap:.55rem; justify-content:center;
  padding:var(--sp4) var(--sp3); background:var(--cream-mid);
  border-radius:var(--r8); border:1px solid var(--bone);
}

/* ── GALLERY (homepage teaser) ───────────────────────────────── */
.gal-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:.5rem; grid-auto-rows:clamp(120px,14vw,196px);
}
.gc {
  background-size:cover; background-position:center;
  border-radius:var(--r8); overflow:hidden; cursor:pointer;
  transition:transform .3s ease; position:relative;
}
.gc:hover { transform:scale(1.025); z-index:2; }
.gc.tall { grid-row:span 2; }

/* ── REVIEWS ─────────────────────────────────────────────────── */
.rating-strip {
  display:flex; align-items:center; justify-content:center; gap:var(--sp3);
  padding:var(--sp3) var(--sp5); background:#fff; border-radius:var(--r8);
  border:1px solid var(--bone); box-shadow:var(--sh2);
  width:fit-content; margin:0 auto var(--sp6);
}
.rating-big {
  font-family:'Playfair Display',serif; font-size:clamp(2rem,4vw,3rem);
  font-weight:800; color:var(--ink); line-height:1;
}
.rating-stars { color:var(--red-mid); font-size:clamp(.9rem,1.5vw,1.2rem); letter-spacing:.06em; }
.rating-meta  { font-size:var(--text-sm); color:var(--ink-dim); }
.reviews-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp2); }
.review-card {
  background:#fff; border-radius:var(--r8);
  border:1px solid var(--bone); border-top:2px solid var(--red);
  padding:var(--sp3); box-shadow:var(--sh1);
  transition:box-shadow .22s,transform .22s;
}
.review-card:hover { box-shadow:var(--sh3); transform:translateY(-2px); }
.review-stars  { color:var(--red-mid); font-size:.88rem; margin-bottom:.55rem; }
.review-text   { font-size:var(--text-sm); line-height:1.72; color:var(--ink-dim); font-style:italic; margin-bottom:var(--sp2); }
.review-author { font-weight:700; font-size:var(--text-sm); color:var(--ink); }
.review-source { font-size:var(--text-xs); color:var(--ink-muted); margin-top:.2rem; }

/* ── LOCATIONS ───────────────────────────────────────────────── */
.loc-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp3); }
.loc-card { background:#fff; border-radius:var(--r8); border:1px solid var(--bone); overflow:hidden; box-shadow:var(--sh2); }
.loc-head {
  padding:var(--sp3) var(--sp3) var(--sp2);
  border-bottom:1px solid var(--cream-low);
  display:flex; align-items:center; gap:.55rem; flex-wrap:wrap;
}
.loc-name { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:700; color:var(--ink); }
.status-badge { padding:.25rem .6rem; border-radius:var(--rpill); font-size:var(--text-xs); font-weight:700; }
.status-open  { background:#edfaf2; color:#166534; }
.status-soon  { background:var(--red-pale); color:var(--red-dark); }
.status-new   { background:var(--green-pale); color:var(--green); }
.loc-body { padding:var(--sp3); }
.loc-row { display:grid; grid-template-columns:62px 1fr; gap:.45rem; margin-bottom:.7rem; font-size:var(--text-sm); }
.loc-lbl { font-weight:700; font-size:var(--text-xs); color:var(--ink-muted); text-transform:uppercase; letter-spacing:.06em; padding-top:.1rem; }
.loc-map { width:100%; height:clamp(160px,22vw,200px); border-radius:var(--r4); border:none; margin:var(--sp2) 0; background:var(--cream-low); }
.loc-actions { display:flex; gap:.45rem; flex-wrap:wrap; }
.cs-inset {
  background:var(--red-pale); border-radius:var(--r8);
  border:1.5px dashed var(--red-light); padding:var(--sp4) var(--sp3);
  text-align:center; margin:var(--sp2) 0;
}
.cs-inset h3 { font-family:'Playfair Display',serif; font-size:1.1rem; font-weight:600; margin-bottom:.4rem; }
.cs-inset p { font-size:var(--text-sm); color:var(--ink-dim); margin-bottom:var(--sp2); }

/* ── FAQ ─────────────────────────────────────────────────────── */
.faq-list { display:flex; flex-direction:column; gap:.35rem; }
.faq-item { background:#fff; border-radius:var(--r8); border:1px solid var(--bone); overflow:hidden; }
.faq-q {
  width:100%; text-align:left; padding:var(--sp2) var(--sp3);
  font-size:var(--text-sm); font-weight:600; color:var(--ink);
  display:flex; justify-content:space-between; align-items:center; gap:var(--sp2);
  cursor:pointer; transition:background .16s; min-height:52px;
  -webkit-tap-highlight-color:transparent;
}
.faq-q:hover,.faq-q:active { background:var(--red-ghost); }
.faq-chevron {
  width:22px; height:22px; flex-shrink:0; border-radius:50%;
  background:var(--cream-low); display:flex; align-items:center; justify-content:center;
  font-size:.82rem; color:var(--red); font-weight:700;
  transition:transform .25s,background .18s;
}
.faq-item.open .faq-q { background:var(--red-ghost); }
.faq-item.open .faq-chevron { transform:rotate(45deg); background:var(--red); color:#fff; }
.faq-a { max-height:0; overflow:hidden; transition:max-height .35s ease; }
.faq-item.open .faq-a { max-height:600px; }
.faq-a p {
  padding:var(--sp2) var(--sp3) var(--sp3);
  border-top:1px solid var(--cream-low);
  font-size:var(--text-sm); line-height:1.76; color:var(--ink-dim);
}

/* ── CONTACT ─────────────────────────────────────────────────── */
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); align-items:start; }
.contact-info-line { display:grid; grid-template-columns:62px 1fr; gap:.45rem; margin-bottom:var(--sp2); font-size:var(--text-sm); align-items:start; }
.ci-lbl { font-weight:700; font-size:var(--text-xs); text-transform:uppercase; letter-spacing:.06em; color:var(--ink-muted); padding-top:.1rem; }
.form-fields { display:flex; flex-direction:column; gap:.65rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:.65rem; }
.form-field { display:flex; flex-direction:column; gap:.28rem; }
.form-field label { font-size:var(--text-xs); font-weight:700; color:var(--ink-dim); letter-spacing:.04em; }
.form-field input,.form-field textarea {
  padding:.72rem var(--sp2); border:1.5px solid var(--bone);
  border-radius:var(--r4); font-size:var(--text-sm);
  color:var(--ink); background:#fff;
  transition:border-color .18s,box-shadow .18s; outline:none; width:100%;
  /* Prevent iOS zoom on focus */
  font-size:max(16px, var(--text-sm));
}
.form-field input:focus,.form-field textarea:focus {
  border-color:var(--red); box-shadow:0 0 0 3px rgba(196,30,32,.1);
}
.form-field textarea { min-height:110px; resize:vertical; }

/* ── MENU PAGE ───────────────────────────────────────────────── */
.menu-filter-bar {
  display:none; flex-wrap:nowrap; gap:.4rem;
  margin-bottom:var(--sp5); overflow-x:auto; padding-bottom:.35rem;
  -webkit-overflow-scrolling:touch; scrollbar-width:none;
}
.menu-filter-bar::-webkit-scrollbar { display:none; }
.mtab {
  padding:.42rem .88rem; border-radius:var(--rpill); flex-shrink:0;
  font-size:var(--text-xs); font-weight:700; letter-spacing:.04em;
  border:1.5px solid var(--bone); color:var(--ink-dim);
  background:#fff; cursor:pointer; transition:all .16s; min-height:36px;
  -webkit-tap-highlight-color:transparent;
}
.mtab:hover { border-color:var(--red); color:var(--red); }
.mtab.active { background:var(--red); border-color:var(--red); color:#fff; }

.menu-layout { display:grid; grid-template-columns:196px 1fr; gap:var(--sp6); align-items:start; }
.menu-sidebar {
  position:sticky; top:calc(var(--nav-h) + var(--safe-top) + var(--sp2));
  background:#fff; border-radius:var(--r8);
  border:1px solid var(--bone); overflow:hidden; box-shadow:var(--sh1);
}
.menu-sidebar-hd {
  padding:.72rem var(--sp2); border-bottom:1px solid var(--cream-low);
  font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:var(--ink-muted); background:var(--cream-mid);
}
.menu-sidebar nav { display:flex; flex-direction:column; }
.stab {
  display:flex; align-items:center; gap:.55rem;
  padding:.68rem var(--sp2); font-size:var(--text-sm); font-weight:500;
  color:var(--ink-dim); cursor:pointer; text-align:left;
  background:none; border:none; border-left:2.5px solid transparent; width:100%;
  transition:all .16s; min-height:44px;
  -webkit-tap-highlight-color:transparent;
}
.stab:hover { background:var(--red-ghost); color:var(--ink); }
.stab.active { background:var(--red-ghost); color:var(--red); font-weight:700; border-left-color:var(--red); }
.stab-pip { width:6px; height:6px; border-radius:50%; background:var(--bone); flex-shrink:0; transition:background .16s; }
.stab.active .stab-pip { background:var(--red-mid); }

.menu-content { min-width:0; }
.menu-block {
  padding-bottom:var(--sp8); border-bottom:1px solid var(--cream-low);
  scroll-margin-top:calc(var(--nav-h) + var(--safe-top) + var(--sp4));
}
.menu-block:last-of-type { border-bottom:none; padding-bottom:0; }
.menu-block+.menu-block { padding-top:var(--sp8); }

.menu-section-hd {
  display:flex; align-items:flex-start; gap:var(--sp2);
  padding:var(--sp2) var(--sp3); background:var(--red-ghost);
  border-radius:var(--r8); border-left:3px solid var(--red);
  margin-bottom:var(--sp3);
}
.menu-section-hd h2 { font-family:'Playfair Display',serif; font-size:clamp(1.1rem,2vw,1.3rem); font-weight:700; color:var(--red-dark); line-height:1.2; }
.menu-section-hd p { font-size:var(--text-xs); color:var(--ink-dim); margin-top:.22rem; font-style:italic; }

.menu-sub-hd {
  font-size:var(--text-xs); font-weight:700; color:var(--ink-dim);
  margin:var(--sp3) 0 var(--sp1); padding-bottom:.3rem;
  border-bottom:1px solid var(--bone); text-transform:uppercase; letter-spacing:.06em;
}

.menu-table-wrap {
  background:#fff; border-radius:var(--r8);
  border:1px solid var(--bone); overflow:hidden; box-shadow:var(--sh1); margin-bottom:var(--sp2);
  /* Horizontal scroll for narrow viewports */
  overflow-x:auto; -webkit-overflow-scrolling:touch;
}
.menu-table { width:100%; border-collapse:collapse; min-width:280px; }
.menu-table thead tr { background:var(--cream-mid); }
.menu-table th {
  text-align:left; padding:.52rem clamp(.75rem,2vw,1rem);
  font-size:var(--text-xs); font-weight:700; letter-spacing:.07em; text-transform:uppercase;
  color:var(--ink-dim); border-bottom:1px solid var(--bone); white-space:nowrap;
}
.menu-table th:not(:first-child) { text-align:right; }
.menu-table td {
  padding:.72rem clamp(.75rem,2vw,1rem); border-bottom:1px solid var(--cream-low);
  vertical-align:top; color:var(--ink); font-size:var(--text-sm);
}
.menu-table td:not(:first-child) { text-align:right; }
.menu-table td:last-child { font-family:'Playfair Display',serif; font-weight:600; color:var(--red-dark); white-space:nowrap; }
.menu-table tr:last-child td { border-bottom:none; }
.menu-table tbody tr:hover td { background:var(--red-ghost); }
.item-name { display:block; font-weight:600; }
.item-desc { display:block; font-size:var(--text-xs); color:var(--ink-muted); margin-top:.16rem; max-width:44ch; }
.item-sig td:last-child { color:var(--green); }

.menu-order-cta {
  background:var(--cream-mid); border-radius:var(--r8);
  border:1px solid var(--bone); padding:var(--sp5);
  text-align:center; margin-top:var(--sp6);
}
.menu-order-cta h3 { font-family:'Playfair Display',serif; font-size:clamp(1.1rem,2vw,1.3rem); margin-bottom:.4rem; color:var(--ink); }
.menu-order-cta p { font-size:var(--text-sm); color:var(--ink-dim); margin-bottom:var(--sp3); }
.menu-order-cta .btn-row { justify-content:center; }

/* ── GALLERY ─────────────────────────────────────────────────── */
.gallery-masonry { columns:4; gap:.5rem; }
.gallery-masonry .g-item { break-inside:avoid; margin-bottom:.5rem; border-radius:var(--r8); overflow:hidden; }
.gallery-masonry img { width:100%; display:block; transition:transform .35s ease; }
.gallery-masonry .g-item:hover img { transform:scale(1.04); }

/* ── BLOG ────────────────────────────────────────────────────── */
.blog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp3); }
.blog-card { background:#fff; border-radius:var(--r8); border:1px solid var(--bone); overflow:hidden; transition:box-shadow .22s,transform .22s; }
.blog-card:hover { box-shadow:var(--sh3); transform:translateY(-2px); }
.blog-card-img { height:clamp(150px,18vw,190px); background-size:cover; background-position:center; background-color:var(--cream-mid); }
.blog-card-body { padding:var(--sp3); }
.blog-cat {
  display:inline-block; padding:.2rem .55rem; border-radius:var(--r4);
  background:var(--red-pale); color:var(--red-dark);
  font-size:var(--text-xs); font-weight:700; letter-spacing:.06em; text-transform:uppercase; margin-bottom:.5rem;
}
.blog-cat-green { background:var(--green-pale); color:var(--green); }
.blog-card h3 { font-family:'Playfair Display',serif; font-size:clamp(.95rem,1.4vw,1.05rem); font-weight:700; line-height:1.3; color:var(--ink); margin-bottom:.45rem; }
.blog-card h3 a:hover { color:var(--red); }
.blog-card p { font-size:var(--text-sm); color:var(--ink-dim); line-height:1.62; }
.blog-read { display:inline-flex; align-items:center; gap:.3rem; margin-top:.65rem; font-size:var(--text-xs); font-weight:700; color:var(--red); }

/* ── ARTICLE ─────────────────────────────────────────────────── */
.article-layout { display:grid; grid-template-columns:1fr 272px; gap:var(--sp8); align-items:start; }
.article-body { min-width:0; }
.article-body h2 { font-family:'Playfair Display',serif; font-size:clamp(1.2rem,2.2vw,1.5rem); font-weight:700; color:var(--ink); margin:var(--sp5) 0 var(--sp2); }
.article-body h3 { font-family:'Playfair Display',serif; font-size:clamp(1.05rem,1.8vw,1.2rem); font-weight:600; color:var(--ink); margin:var(--sp4) 0 var(--sp1); }
.article-body p { font-size:var(--text-body); line-height:1.8; color:var(--ink-dim); margin-bottom:var(--sp2); }
.article-body ul { margin:var(--sp2) 0 var(--sp3) var(--sp3); display:flex; flex-direction:column; gap:.4rem; }
.article-body ul li { font-size:var(--text-sm); color:var(--ink-dim); line-height:1.65; position:relative; }
.article-body ul li::before { content:'›'; color:var(--red); font-weight:700; position:absolute; left:-1rem; }
.article-pull {
  background:var(--red-ghost); border-left:3px solid var(--red);
  padding:var(--sp3) var(--sp4); border-radius:0 var(--r8) var(--r8) 0; margin:var(--sp4) 0;
  font-family:'Playfair Display',serif; font-size:clamp(1rem,1.5vw,1.1rem); font-style:italic; color:var(--ink-mid); line-height:1.6;
}
.article-sidebar { position:sticky; top:calc(var(--nav-h) + var(--safe-top) + var(--sp2)); display:flex; flex-direction:column; gap:var(--sp3); }
.sidebar-card { background:#fff; border-radius:var(--r8); border:1px solid var(--bone); overflow:hidden; box-shadow:var(--sh1); }
.sidebar-card-hd {
  padding:.68rem var(--sp2); border-bottom:1px solid var(--cream-low);
  font-size:var(--text-xs); font-weight:700; letter-spacing:.08em; text-transform:uppercase;
  color:var(--red); background:var(--red-ghost);
}
.sidebar-card-body { padding:var(--sp2); }
.sidebar-card-body a {
  display:block; padding:.4rem .3rem; font-size:var(--text-sm); color:var(--ink-dim);
  border-radius:var(--r4); transition:color .16s,background .16s,padding-left .16s;
  min-height:36px; display:flex; align-items:center;
}
.sidebar-card-body a:hover { color:var(--red); background:var(--red-ghost); padding-left:.6rem; }
.article-meta { display:flex; align-items:center; gap:var(--sp2); margin-bottom:var(--sp4); flex-wrap:wrap; }
.article-meta span { font-size:var(--text-xs); color:var(--ink-muted); }
.article-meta .dot { color:var(--stone); }

/* ── FOOTER ──────────────────────────────────────────────────── */
footer { background:var(--dark); color:var(--dark-text); border-top:2px solid var(--red); }
.ft-top {
  display:grid; grid-template-columns:1.7fr 1fr 1fr 1.3fr; gap:var(--sp6);
  padding:var(--sp10) clamp(1rem,5vw,2.5rem); max-width:var(--max-w); margin:0 auto;
}
.ft-logo img { height:40px; filter:brightness(0) invert(1); margin-bottom:var(--sp2); }
.ft-blurb { font-size:var(--text-sm); line-height:1.74; color:var(--dark-muted); max-width:28ch; margin-bottom:var(--sp2); }
.ft-script-line { font-family:'Noto Sans Devanagari',sans-serif; font-size:var(--text-xs); color:rgba(156,127,104,.45); }
.ft-col-hd {
  font-size:var(--text-xs); font-weight:700; letter-spacing:.1em; text-transform:uppercase;
  color:#FFCFC8; margin-bottom:var(--sp2); padding-bottom:.45rem;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ft-col ul { display:flex; flex-direction:column; gap:.38rem; }
.ft-col ul a { font-size:var(--text-sm); color:var(--dark-muted); transition:color .16s; }
.ft-col ul a:hover { color:var(--dark-text); }
.ft-contact-row { font-size:var(--text-sm); color:var(--dark-muted); margin-bottom:.48rem; line-height:1.55; }
.ft-contact-row a { color:var(--dark-muted); }
.ft-contact-row a:hover { color:var(--dark-text); }
.ft-bottom {
  border-top:1px solid rgba(255,255,255,.06);
  padding:var(--sp2) clamp(1rem,5vw,2.5rem);
  max-width:var(--max-w); margin:0 auto;
  display:flex; justify-content:space-between; align-items:center; gap:var(--sp2); flex-wrap:wrap;
}
.ft-copy { font-size:var(--text-xs); color:rgba(156,127,104,.48); }
.ft-copy a { color:rgba(156,127,104,.48); }
.ft-copy a:hover { color:var(--dark-text); }
.ft-note { font-size:11px; color:rgba(156,127,104,.32); max-width:52ch; line-height:1.5; }

/* ── WHATSAPP FAB ────────────────────────────────────────────── */
.wa-fab {
  position:fixed; bottom:calc(var(--sp3) + var(--mob-bar-h));
  right:clamp(.85rem,3vw,1.25rem); z-index:140;
  width:52px; height:52px; border-radius:50%;
  background:#25D366; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 18px rgba(37,211,102,.42); transition:all .22s;
  -webkit-tap-highlight-color:transparent;
}
.wa-fab svg { width:25px; height:25px; fill:#fff; }
.wa-fab:hover { background:#1fbb58; transform:translateY(-3px) scale(1.07); box-shadow:0 8px 26px rgba(37,211,102,.52); }

/* ════════════════════════════════════════════════════════════════
   RESPONSIVE BREAKPOINTS
   ════════════════════════════════════════════════════════════════ */

/* ── LARGE DESKTOP ≥ 1280px ──────────────────────────────────── */
@media (min-width:1280px) {
  :root { --nav-h: 70px; }
  .nav-links a { padding:0 .9rem; font-size:.875rem; }
  .dish-grid { gap:.75rem; }
  .gal-grid { grid-auto-rows:210px; gap:.6rem; }
}

/* ── SMALL DESKTOP 1024–1279px ───────────────────────────────── */
@media (min-width:1024px) and (max-width:1279px) {
  .menu-layout { grid-template-columns:180px 1fr; gap:var(--sp5); }
  .article-layout { grid-template-columns:1fr 240px; gap:var(--sp6); }
  .ft-top { grid-template-columns:1.5fr 1fr 1fr 1.2fr; gap:var(--sp5); }
}

/* ── TABLET 640–1023px ───────────────────────────────────────── */
@media (max-width:1023px) {
  /* Nav: hamburger only */
  .hamburger { display:flex; }
  .nav-links  { display:none; }

  /* Layouts collapse to single column */
  .about-grid { grid-template-columns:1fr; gap:var(--sp4); }
  .about-img-frame { order:-1; }
  .about-img { height:clamp(240px,40vw,380px); }
  .about-badge { bottom:-.75rem; right:.75rem; }
  .stats-row { grid-template-columns:repeat(4,1fr); }

  .dish-grid { grid-template-columns:repeat(3,1fr); }
  .reviews-grid { grid-template-columns:repeat(2,1fr); }
  .loc-grid { grid-template-columns:1fr; max-width:620px; margin-left:auto; margin-right:auto; }
  .contact-grid { grid-template-columns:1fr; gap:var(--sp5); }
  .blog-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-masonry { columns:3; }

  .gal-grid { grid-template-columns:repeat(3,1fr); }
  .gal-grid .gc.tall { grid-row:span 1; }

  /* Menu: sidebar → scrollable tab bar */
  .menu-layout { grid-template-columns:1fr; gap:0; }
  .menu-sidebar { display:none; }
  .menu-filter-bar { display:flex; }

  /* Article: sidebar below article */
  .article-layout { grid-template-columns:1fr; gap:var(--sp5); }
  .article-sidebar { position:static; flex-direction:row; flex-wrap:wrap; }
  .sidebar-card { flex:1 1 280px; }

  /* Footer: 2-col */
  .ft-top { grid-template-columns:1fr 1fr; gap:var(--sp5); }

  /* Rating strip: horizontal stays */
  .rating-strip { flex-wrap:wrap; }
}

/* ── MOBILE 480–639px ────────────────────────────────────────── */
@media (max-width:639px) {
  :root {
    --nav-h: 60px;
    --mob-bar-h: calc(56px + var(--safe-bottom));
  }

  /* Activate mobile bottom bar */
  .mob-bar { display:block; }

  /* Push WA fab above bottom bar */
  .wa-fab { bottom:calc(var(--mob-bar-h) + .75rem); right:.85rem; width:48px; height:48px; }
  .wa-fab svg { width:22px; height:22px; }

  /* Hero: tighten */
  .hero-title { font-size:clamp(2rem,9vw,2.6rem); }
  .hero-sub { font-size:.875rem; max-width:100%; }
  .hero-cta-row { flex-direction:column; align-items:flex-start; gap:.5rem; }
  .hero-cta-row .btn { width:100%; max-width:320px; }
  .hero-scroll { display:none; }

  /* Page hero shorter */
  .page-hero { height:clamp(180px,48vw,260px); }
  .page-hero-content h1 { font-size:clamp(1.5rem,6vw,2rem); }

  /* Grids */
  .dish-grid { grid-template-columns:repeat(3,1fr); gap:.4rem; }
  .reviews-grid { grid-template-columns:1fr; }
  .blog-grid { grid-template-columns:1fr; }
  .gallery-masonry { columns:2; gap:.35rem; }
  .gallery-masonry .g-item { margin-bottom:.35rem; }
  .gal-grid { grid-template-columns:repeat(2,1fr); gap:.35rem; }
  .gal-grid .gc.tall { grid-row:span 1; }
  .stats-row { grid-template-columns:repeat(2,1fr); }

  /* About */
  .about-img { height:clamp(220px,52vw,320px); }
  .about-badge { font-size:1.4rem; padding:var(--sp1) var(--sp2); bottom:-.5rem; right:.5rem; }
  .spice-tags { gap:.28rem; }

  /* Forms */
  .form-row { grid-template-columns:1fr; gap:.6rem; }
  .contact-grid { gap:var(--sp4); }
  .contact-info-line { grid-template-columns:1fr; gap:.15rem; }
  .ci-lbl { opacity:.7; }

  /* Buttons */
  .btn-row { flex-direction:column; align-items:stretch; }
  .btn-row .btn { width:100%; }

  /* Rating */
  .rating-strip { flex-direction:column; gap:.35rem; text-align:center; padding:var(--sp2) var(--sp3); }

  /* Menu filter */
  .mtab { font-size:11px; padding:.38rem .75rem; }

  /* Menu table: allow horizontal scroll */
  .menu-table-wrap { border-radius:var(--r4); }
  .item-desc { max-width:36ch; }

  /* Footer */
  .ft-top { grid-template-columns:1fr; gap:var(--sp4); }
  .ft-bottom { flex-direction:column; text-align:center; gap:var(--sp1); }
  .ft-note { max-width:100%; }

  /* Order strip stacks */
  .order-strip { flex-direction:column; align-items:center; padding:var(--sp3) var(--sp2); }
  .order-strip .btn { width:100%; max-width:320px; }

  /* Article sidebar becomes stacked cards */
  .article-sidebar { flex-direction:column; }
  .sidebar-card { flex:1 1 100%; }

  /* Menu order CTA */
  .menu-order-cta { padding:var(--sp4) var(--sp3); }
  .menu-order-cta .btn-row { flex-direction:column; align-items:center; }
  .menu-order-cta .btn-row .btn { width:100%; max-width:320px; }

  /* Locations */
  .loc-grid { grid-template-columns:1fr; }
  .loc-row { grid-template-columns:52px 1fr; }

  /* FAQ */
  .faq-q { padding:var(--sp2) var(--sp2); font-size:var(--text-sm); }
}

/* ── SMALL PHONES < 480px ────────────────────────────────────── */
@media (max-width:479px) {
  :root { --nav-h:56px; }

  .dish-grid { grid-template-columns:repeat(2,1fr); gap:.35rem; }
  .dish-card-lbl span { font-size:10px; }

  .hero-title { font-size:clamp(1.85rem,8.5vw,2.3rem); }
  .hero-eyebrow { font-size:9px; }

  .gallery-masonry { columns:2; }

  .nav-overlay a { font-size:1.3rem; }

  .blog-grid { gap:var(--sp2); }
  .blog-card-img { height:140px; }
  .blog-card-body { padding:var(--sp2); }

  .reviews-grid { gap:var(--sp2); }
  .review-card { padding:var(--sp2); }

  .loc-row { grid-template-columns:1fr; }
  .loc-lbl { margin-bottom:.1rem; }

  /* Article body tighter */
  .article-pull { padding:var(--sp2) var(--sp3); font-size:1rem; }
  .article-body h2 { font-size:1.2rem; margin-top:var(--sp4); }

  /* Stats 2-col */
  .stats-row { grid-template-columns:repeat(2,1fr); gap:var(--sp1); }

  /* Footer minimal */
  .ft-top { padding:var(--sp6) clamp(.75rem,4vw,1.25rem); }
  .ft-blurb { max-width:100%; }
}

/* ── LANDSCAPE PHONE (short viewport) ───────────────────────── */
@media (max-height:500px) and (max-width:900px) {
  .hero { min-height:100svh; }
  .hero-content { padding-top:calc(var(--nav-h) + var(--safe-top) + .75rem); padding-bottom:var(--sp5); }
  .hero-title { font-size:clamp(1.6rem,5.5vw,2.2rem); margin-bottom:.75rem; }
  .hero-script { display:none; }
  .hero-sub { font-size:.85rem; margin-bottom:var(--sp3); max-width:48ch; }
  .hero-scroll { display:none; }
  .page-hero { height:clamp(160px,38vw,220px); }
}

/* ── HIGH-DPI / RETINA ───────────────────────────────────────── */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  /* Sharper borders on retina */
  .menu-table-wrap,
  .faq-item,
  .review-card,
  .blog-card,
  .loc-card,
  .sidebar-card { border-width:.5px; }
}

/* ── PRINT ───────────────────────────────────────────────────── */
@media print {
  #navbar, .nav-overlay, .mob-bar, .wa-fab, .hero-scroll,
  .rv, .btn-row, .order-strip { display:none !important; }
  .hero { min-height:auto; page-break-after:always; }
  body { background:#fff; color:#000; font-size:11pt; }
  a { color:#000; }
  footer { background:#fff; color:#000; border-top:1px solid #ccc; }
  .menu-table td:last-child { color:#000; }
}
