/* =====================================================================
   MADURAI JALLIKATTU VIRUNDHU — Premium Restaurant Design System
   Brand palette (flat, no gradients):
     #e31e24 red · #000 black · #fbba00 gold
   Type: MADE Tommy (headings) · MADE Tommy Soft (body)
   ===================================================================== */

/* ---------- Web fonts ----------
   MADE Tommy (headings) + MADE Tommy Soft (body), loaded from the .otf files
   in /made-tommy and /made_tommy_soft. Falls back to a geometric sans. */
@font-face{
  font-family:"MADE Tommy";
  src:url("../../made-tommy/MADE TOMMY Light_PERSONAL USE.otf") format("opentype");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy";
  src:url("../../made-tommy/MADE TOMMY Regular_PERSONAL USE.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy";
  src:url("../../made-tommy/MADE TOMMY Medium_PERSONAL USE.otf") format("opentype");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy";
  src:url("../../made-tommy/MADE TOMMY Bold_PERSONAL USE.otf") format("opentype");
  font-weight:700;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy";
  src:url("../../made-tommy/MADE TOMMY ExtraBold_PERSONAL USE.otf") format("opentype");
  font-weight:800;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy Soft";
  src:url("../../made_tommy_soft/MADE Tommy Soft Light PERSONAL USE.otf") format("opentype");
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy Soft";
  src:url("../../made_tommy_soft/MADE Tommy Soft Regular PERSONAL USE.otf") format("opentype");
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy Soft";
  src:url("../../made_tommy_soft/MADE Tommy Soft Medium PERSONAL USE.otf") format("opentype");
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:"MADE Tommy Soft";
  src:url("../../made_tommy_soft/MADE Tommy Soft Bold PERSONAL USE.otf") format("opentype");
  font-weight:700;font-style:normal;font-display:swap;
}
/* Tamil script face — local file, covers the Tamil Unicode block.
   Used for all Tamil text site-wide (MADE Tommy has no Tamil glyphs). */
@font-face{
  font-family:"Tamil011";
  src:url("../fonts/Tamil011.ttf") format("truetype");
  font-weight:400 800;font-style:normal;font-display:swap;
  unicode-range:U+0B80-0BFF,U+200C-200D,U+0964-0965;
}

/* ---------- Tokens ---------- */
:root{
  /* Brand — flat single colours only */
  --maroon:#e31e24;        /* brand red */
  --maroon-deep:#a5121a;   /* darker red panel */
  --maroon-soft:#f0454a;   /* lighter red for hover/lines */
  --gold:#fbba00;
  --gold-soft:#ffce4d;     /* lighter gold for hover */
  --black:#000000;

  /* legacy aliases mapped to the new flat palette
     (so existing rules keep working without per-rule edits) */
  --yellow:var(--gold);
  --red:var(--maroon);
  --gold-deep:#a9761c;

  /* Neutrals */
  --char:#1a0a09;          /* charcoal panel (maroon-tinted) */
  --char-2:#120605;
  --cream:#f4e9d6;
  --cream-soft:#e3d3b4;
  --muted:#b89a7e;
  --line:rgba(200,145,38,.22);

  /* Functional */
  --bg:var(--black);
  --text:var(--cream);
  --accent:var(--gold);

  /* Section theme defaults (DARK) — components read these */
  --sec-bg:var(--black);
  --sec-text:var(--cream);
  --sec-heading:var(--cream);
  --sec-muted:var(--muted);
  --sec-panel:#0d0d0d;        /* card surface on dark */
  --sec-panel-2:#141414;
  --sec-line:rgba(200,145,38,.22);
  --sec-on-accent:#2a0807;    /* text that sits on a gold fill */

  /* Type — MADE Tommy (headings) + MADE Tommy Soft (body) for all LATIN text.
     MADE Tommy is a Latin-only family (no Tamil glyphs), so Tamil characters
     fall through to the local "Tamil011" face (unicode-range scoped to the
     Tamil block). Montserrat/Inter are Latin load-fallbacks; Noto Sans Tamil
     is the final Tamil safety net. */
  --f-display:"MADE Tommy","Tamil011","Montserrat",system-ui,sans-serif;   /* hero / big impact */
  --f-serif:"MADE Tommy","Tamil011","Montserrat",system-ui,sans-serif;     /* section headings */
  --f-sans:"MADE Tommy Soft","Tamil011","Inter",system-ui,sans-serif;      /* body / paragraphs */
  --f-ta:"Tamil011","MADE Tommy Soft","Noto Sans Tamil",sans-serif;        /* Tamil script */

  /* Spacing / motion */
  --container:1240px;
  --pad:clamp(20px,5vw,80px);
  --ease:cubic-bezier(.22,1,.36,1);
  --ease-2:cubic-bezier(.65,.05,.36,1);
  --radius:18px;
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
/* fallback native smooth scroll only when Lenis isn't driving (reduced-motion / no-JS) */
html:not(.lenis){scroll-behavior:smooth}
/* ---------- Lenis smooth scroll ---------- */
html.lenis,html.lenis body{height:auto}
.lenis.lenis-smooth{scroll-behavior:auto!important}
.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}
.lenis.lenis-stopped{overflow:hidden}
body{
  font-family:var(--f-sans);
  background:var(--bg);
  color:var(--text);
  line-height:1.6;
  overflow-x:hidden;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
ul{list-style:none}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px;border-radius:4px}
::selection{background:var(--gold);color:#2a0807}

/* ---------- Layout helpers ---------- */
.container{width:100%;max-width:calc(var(--container) + 2 * var(--pad));
  margin-inline:auto;padding-inline:var(--pad)}
.section{position:relative;padding:clamp(72px,11vw,160px) 0;background:var(--sec-bg);color:var(--sec-text)}
.section--tight{padding:clamp(48px,7vw,96px) 0}

/* ---------- Section themes (alternating black / white) ---------- */
.sec-dark{
  --sec-bg:var(--black);
  --sec-text:var(--cream);
  --sec-heading:var(--cream);
  --sec-muted:var(--muted);
  --sec-panel:#0d0d0d;
  --sec-panel-2:#141414;
  --sec-line:rgba(200,145,38,.24);
}
.sec-light{
  --sec-bg:#ece7dd;          /* half / off-white */
  --sec-text:#3a2a1c;
  --sec-heading:#1d1410;
  --sec-muted:#7c6651;
  --sec-panel:#f4f0e8;       /* card surface — slightly lighter than bg */
  --sec-panel-2:#e3ddd0;
  --sec-line:rgba(95,13,12,.16);
}
.sec-maroon{
  --sec-bg:var(--maroon);
  --sec-text:#f3e2d6;
  --sec-heading:#ffffff;
  --sec-muted:#e0b9a9;
  --sec-panel:var(--maroon-deep);
  --sec-panel-2:#3a0605;
  --sec-line:rgba(200,145,38,.32);
}
/* heading + helper text honour section theme */
.sec-head__title,.about__body h2,.order__title,.cta__title{color:var(--sec-heading)}
.lead{color:var(--sec-text)}
.muted{color:var(--sec-muted)}
.gtext{color:var(--gold)} /* gold reads on both black & white */
.gtext.gtext--red{color:var(--maroon)} /* theme-red variant (higher specificity than the later .gtext rule) */

/* section with a decorative background image */
.section.has-bg{background-color:var(--black);
  background-repeat:no-repeat;background-position:center;background-size:cover}

/* framed banner section — black bg + hand-built SVG gold ornamental frame */
.banner-frame{background-color:transparent;padding-block:clamp(30px,4vw,56px);
  margin-top:clamp(-120px,-9vw,-60px);position:relative;z-index:5}
/* solid black background inside the frame */
.banner-frame .ornframe{background:#000}
/* full-width framed banner — border image spans edge to edge */
.banner-frame .container{max-width:none;padding-inline:0}
.ornframe{position:relative;max-width:1500px;margin-inline:auto;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(26px,3vw,46px) clamp(40px,5vw,80px)}
/* golden ornamental border supplied as an image, stretched to fill the frame */
.ornframe__img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;pointer-events:none;user-select:none;z-index:0}
/* content */
.ornframe__inner{position:relative;z-index:1;text-align:center;max-width:620px;margin-inline:auto}
.ornframe__inner--wide{max-width:none}
.banner-frame__title{font-size:clamp(2rem,5vw,3.6rem);color:#fff;margin:.1em 0 .2em}
.banner-frame .hero__ta{font-size:clamp(.95rem,1.8vw,1.2rem)}
.banner-frame .btn{padding:.85em 1.6em;font-size:.78rem}

/* ----- "Why families choose us" pillar row (inside the gold frame) ----- */
.whyfc__head{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:clamp(14px,2vw,24px)}
.whyfc__title{font-family:var(--f-display);color:var(--gold);
  font-size:clamp(1rem,1.9vw,1.5rem);letter-spacing:.22em;text-transform:uppercase;
  font-weight:800;margin:0;white-space:nowrap}
.whyfc__flourish{flex:0 0 auto;width:clamp(140px,20vw,320px);aspect-ratio:600/240;height:auto;
  background:no-repeat center/contain;opacity:.95;
  margin-inline:clamp(-80px,-6vw,-34px)}
.whyfc__flourish--l{background-image:url("../img/optimized/divider-left-side01.webp")}
.whyfc__flourish--r{background-image:url("../img/optimized/divider-right-side01.webp")}

.whyfc{display:flex;align-items:stretch;justify-content:center;gap:clamp(2px,.4vw,6px)}
.whyfc__card{position:relative;flex:0 1 auto;min-width:0;min-height:150px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;padding:clamp(14px,1.4vw,20px) clamp(6px,0.8vw,12px)}
/* glowing bottom line — visible by default, intensifies on hover */
.whyfc__card::after{content:"";position:absolute;left:50%;bottom:clamp(12px,1.6vw,22px);
  width:min(55%,120px);height:2px;border-radius:2px;transform:translateX(-50%);
  background:linear-gradient(90deg,transparent,var(--gold),transparent);
  box-shadow:0 0 8px rgba(200,145,38,.7),0 0 16px rgba(200,145,38,.45);
  opacity:.85;transition:width .45s var(--ease),opacity .4s var(--ease)}
.whyfc__card:hover::after,
.whyfc__card:focus-within::after{width:min(70%,150px);opacity:1}

/* default cluster: icon + title, centred. fades + lifts away on hover */
.whyfc__face{display:flex;flex-direction:column;align-items:center;gap:14px;
  transition:opacity .4s ease,transform .45s cubic-bezier(.22,1,.36,1)}
.whyfc__icon{display:grid;place-items:center;width:64px;height:60px;color:var(--gold);
  animation:whyfcFloat 3.4s ease-in-out infinite}
.whyfc__icon svg{width:46px;height:42px}
/* stagger each icon so the row breathes alive (cards sit at odd child
   positions because dividers occupy the even ones) */
.whyfc__card:nth-child(3) .whyfc__icon{animation-delay:.25s}
.whyfc__card:nth-child(5) .whyfc__icon{animation-delay:.5s}
.whyfc__card:nth-child(7) .whyfc__icon{animation-delay:.75s}
.whyfc__card:nth-child(9) .whyfc__icon{animation-delay:1s}
.whyfc__card:nth-child(11) .whyfc__icon{animation-delay:1.25s}
@keyframes whyfcFloat{
  0%,100%{transform:translateY(0)}
  50%    {transform:translateY(-7px)}
}
@media (prefers-reduced-motion:reduce){.whyfc__icon{animation:none}}
.whyfc__name{font-family:var(--f-display);color:var(--gold);font-weight:700;
  font-size:clamp(.82rem,1.05vw,1.02rem);letter-spacing:.04em;text-transform:uppercase;
  margin:0;line-height:1.25}

/* description: sits centred over the card, revealed on hover */
.whyfc__desc{position:absolute;left:0;right:0;top:50%;margin:0;
  padding:0 clamp(12px,1.4vw,20px);
  font-family:var(--f-sans);color:var(--gold-soft);
  font-size:clamp(.74rem,.95vw,.9rem);line-height:1.55;
  opacity:0;transform:translateY(-40%);
  transition:opacity .4s ease .05s,transform .45s cubic-bezier(.22,1,.36,1) .05s;
  pointer-events:none}

.whyfc__card:hover .whyfc__face,
.whyfc__card:focus-within .whyfc__face{opacity:0;transform:translateY(-14px)}
.whyfc__card:hover .whyfc__desc,
.whyfc__card:focus-within .whyfc__desc{opacity:1;transform:translateY(-50%)}

.whyfc__div{flex:0 0 auto;align-self:center;display:flex;align-items:center;justify-content:center;
  margin-inline:clamp(-40px,-3vw,-16px)}
.whyfc__div img{height:clamp(90px,10vw,150px);width:auto;opacity:.9}

@media (hover:none){
  /* touch: no hover, so stack icon/title and description statically */
  .whyfc__card{min-height:0;gap:14px}
  .whyfc__desc{position:static;transform:none;opacity:1;color:rgba(255,255,255,.62);
    margin-top:12px;padding:0}
}

/* ---------- Type scale ---------- */
.display{
  font-family:var(--f-display);
  font-weight:800;
  line-height:1.02;
  letter-spacing:-.02em;
  text-wrap:balance;
}
.eyebrow{
  font-family:var(--f-sans);
  text-transform:uppercase;
  letter-spacing:.32em;
  font-size:.72rem;
  font-weight:600;
  color:var(--gold);
  display:inline-flex;align-items:center;gap:.85em;
}
.eyebrow::before{content:"";width:34px;height:1px;background:var(--gold)}
.eyebrow--c{justify-content:center}
.eyebrow--c::after{content:"";width:34px;height:1px;background:var(--gold)}
.ta{font-family:var(--f-ta);color:var(--gold)}
.lead{font-size:clamp(1.02rem,1.4vw,1.18rem);color:var(--cream-soft);max-width:60ch}
.muted{color:var(--muted)}

/* highlight text — flat gold */
.gtext{ color:var(--gold); }

/* ---------- Buttons — sharp edge, transparent, maroon-red on hover ---------- */
.btn{
  --bd:var(--gold);              /* default border colour */
  position:relative;display:inline-flex;align-items:center;gap:.6em;
  padding:1.02em 2.1em;border-radius:1px;
  background:transparent;color:var(--sec-heading,var(--cream));
  box-shadow:inset 0 0 0 1.5px var(--bd);
  font-family:var(--f-sans);font-weight:600;font-size:.86rem;letter-spacing:.06em;
  text-transform:uppercase;
  transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease),transform .4s var(--ease);
}
.btn:hover{
  background:var(--maroon);
  color:#fff;
  box-shadow:inset 0 0 0 1.5px var(--maroon);
}
/* variants differ only in their resting border/text accent */
.btn--gold{--bd:var(--gold);color:var(--gold)}
.btn--red{--bd:var(--maroon);color:var(--maroon)}
.btn--ghost{--bd:var(--sec-line);color:var(--sec-heading,var(--cream))}
/* solid red at rest, gold on hover — inverts the shared .btn:hover */
.btn--redfill{--bd:var(--maroon);background:var(--maroon);color:#fff}
.btn--redfill:hover{background:var(--gold);color:#2a0807;box-shadow:inset 0 0 0 1.5px var(--gold)}
.btn--sm{padding:.72em 1.35em;font-size:.74rem}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}

/* ---------- Custom cursor — center dot + surrounding ring ---------- */
/* hide the native pointer on fine-pointer devices so only the custom cursor shows */
@media (hover:hover) and (pointer:fine){
  html.has-cursor, html.has-cursor *{cursor:none !important}
}
.cursor{position:fixed;top:0;left:0;z-index:9999;pointer-events:none;
  opacity:0;transition:opacity .3s ease}
.cursor.is-active{opacity:1}
.cursor__dot{position:absolute;top:0;left:0;width:9px;height:9px;border-radius:50%;
  background:var(--maroon);transform:translate(-50%,-50%)}
.cursor__ring{position:absolute;top:0;left:0;width:50px;height:50px;border-radius:50%;
  border:2px solid var(--maroon);transform:translate(-50%,-50%);
  transition:width .25s var(--ease),height .25s var(--ease),border-color .25s var(--ease),background .25s var(--ease)}
/* grow the ring over interactive elements */
.cursor.is-hover .cursor__ring{width:72px;height:72px;background:rgba(227,30,36,.14)}
.cursor.is-hover .cursor__dot{opacity:0}
/* fall back to the native pointer on touch / coarse devices */
@media (hover:none),(pointer:coarse){.cursor{display:none}}

/* ---------- Scroll progress ---------- */
.scroll-progress{position:fixed;top:0;left:0;height:3px;width:0;z-index:1000;
  background:var(--gold)}

/* ---------- Preloader ---------- */
.preloader{position:fixed;inset:0;z-index:10000;background:#000;
  display:grid;place-items:center;transition:opacity .8s var(--ease),visibility .8s;
  /* CSS-only safety: auto-hide after 3s even if JS never runs */
  animation:plAutoHide 0s linear 3s forwards}
.preloader.is-done{opacity:0;visibility:hidden;animation:none}
@keyframes plAutoHide{to{opacity:0;visibility:hidden}}
.preloader__inner{width:min(80vw,420px);text-align:center}
.preloader__mark{margin-bottom:26px;display:flex;justify-content:center}
.preloader__logo{width:min(70vw,280px);height:auto;opacity:0;transform:translateY(14px);
  animation:plFade .8s .1s var(--ease) forwards}
@keyframes plFade{to{opacity:1;transform:none}}
.preloader__bar{height:2px;width:100%;background:rgba(255,255,255,.10);border-radius:2px;overflow:hidden}
.preloader__bar span{display:block;height:100%;width:0;background:var(--gold);
  animation:plBar 1.2s var(--ease) forwards}
@keyframes plBar{to{width:100%}}
.preloader__count{margin-top:14px;font-family:var(--f-sans);font-size:.8rem;letter-spacing:.3em;color:var(--cream-soft)}

/* =====================================================================
   HEADER / NAV
   ===================================================================== */
.site-header{position:fixed;top:0;left:0;width:100%;z-index:900;
  padding:22px 0;background:transparent;box-shadow:none;
  transition:padding .5s var(--ease),background .5s var(--ease),box-shadow .5s var(--ease)}
.site-header.is-stuck{padding:10px 0;background:rgba(46,5,5,.97);
  box-shadow:0 1px 0 var(--line),0 18px 50px -30px #000}
/* full-width header so the CTA sits in the far-right corner */
.site-header .container{max-width:none;padding-inline:clamp(20px,3.5vw,56px)}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px}
.site-header .nav{margin-inline:auto}   /* nav centred between logo and CTA */

/* Brand — image wordmark logo */
.brand{display:flex;align-items:center;gap:14px;margin-left:clamp(10px,3vw,60px)}
.brand__logo{height:100px;width:auto;display:block;transition:height .5s var(--ease)}
.site-header.is-stuck .brand__logo{height:74px}
/* legacy text-mark fallbacks (kept for footer compatibility) */
.brand__text{display:flex;flex-direction:column;line-height:1.1}
.brand__name{font-family:var(--f-serif);font-size:1.02rem;letter-spacing:.02em;color:var(--cream)}
.brand__ta{font-family:var(--f-ta);font-size:.8rem;color:var(--gold)}

.nav__list{display:flex;gap:10px}
.nav__link{position:relative;padding:.55em 1.05em;font-size:1.02rem;font-weight:500;color:var(--cream-soft);
  border-radius:100px;transition:color .3s}
.nav__link::before{content:"";position:absolute;left:.95em;right:.95em;bottom:.35em;height:1px;
  background:var(--gold);transform:scaleX(0);transform-origin:right;transition:transform .4s var(--ease)}
.nav__link:hover,.nav__link.is-active{color:var(--cream)}
.nav__link:hover::before,.nav__link.is-active::before{transform:scaleX(1);transform-origin:left}

.site-header__cta{display:flex;align-items:center;gap:14px}
.nav-toggle{display:none;flex-direction:column;gap:5px;width:44px;height:44px;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line)}
.nav-toggle span{width:20px;height:2px;background:var(--cream);border-radius:2px;transition:.4s var(--ease)}
.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle.is-open span:nth-child(2){opacity:0}
.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* fullscreen mobile menu */
.mobile-menu{position:fixed;inset:0;z-index:899;background:var(--black);
  clip-path:circle(0% at calc(100% - 44px) 44px);transition:clip-path .7s var(--ease);
  display:flex;flex-direction:column;justify-content:center;padding:var(--pad)}
.mobile-menu.is-open{clip-path:circle(150% at calc(100% - 44px) 44px)}
.mobile-menu__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.12;filter:saturate(1.2)}
.mobile-menu__nav ul{position:relative}
.mobile-menu__nav li{overflow:hidden}
.mobile-menu__nav a{display:flex;align-items:baseline;gap:18px;font-family:var(--f-display);font-weight:600;
  font-size:clamp(2.2rem,9vw,3.6rem);color:var(--cream);padding:.12em 0;
  transform:translateY(110%);transition:transform .6s var(--ease),color .3s;transition-delay:calc(var(--i)*.05s)}
.mobile-menu.is-open .mobile-menu__nav a{transform:none}
.mobile-menu__nav a:hover{color:var(--gold)}
.mm-num{font-family:var(--f-sans);font-size:.8rem;color:var(--gold);letter-spacing:.2em}
.mobile-menu__foot{position:relative;margin-top:40px;display:flex;flex-direction:column;gap:6px;color:var(--muted);font-size:.9rem}
.mobile-menu__foot a{color:var(--gold)}

/* =====================================================================
   HERO — split: black stage, maroon copy panel (left), food spread (right)
   ===================================================================== */
.hero{position:relative;min-height:115svh;display:flex;align-items:center;
  background:var(--black);padding:clamp(110px,14vh,160px) 0 clamp(60px,9vh,110px)}
/* full-bleed banner: fixed 1000px tall image area */
.hero--full{min-height:1000px;height:1000px;padding-block:0}
/* faint maroon wash on the left half for the reference feel */
.hero::before{content:"";position:absolute;inset:0;z-index:0;pointer-events:none;
  background:var(--maroon);opacity:.16}
.hero__grain{position:absolute;inset:0;z-index:1;opacity:.4;pointer-events:none;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E")}

.hero__inner{position:relative;z-index:2;width:100%;display:grid;grid-template-columns:1fr 1.05fr;
  gap:clamp(30px,5vw,70px);align-items:center}

/* left copy panel */
.hero__copy{position:relative}
.hero__ta{font-family:var(--f-ta);font-size:clamp(1.05rem,2.2vw,1.55rem);color:var(--gold);
  letter-spacing:.04em;margin-bottom:.7em;display:inline-block}
.hero__title{font-size:clamp(2.7rem,7vw,6rem);margin-bottom:.2em;line-height:.98}
.hero__title .ln{display:block;overflow:hidden}
.hero__title .ln > span{display:block}
.hero__title .l1{color:var(--cream)}
.hero__title .l2{color:var(--gold)}
.hero__title .l3{color:var(--maroon)}  /* brand red */
.hero__sub{font-family:var(--f-serif);font-size:clamp(1.05rem,2vw,1.45rem);color:var(--cream);margin:.5em 0 .6em;max-width:46ch}
.hero__desc{color:var(--cream-soft);max-width:60ch;margin-bottom:1.7em}
.hero .btn-row{margin-bottom:8px}

/* right food spread (split variant) */
.hero__media{position:relative;aspect-ratio:1/1;border-radius:50%;overflow:hidden;
  box-shadow:0 50px 110px -40px #000, inset 0 0 0 2px var(--maroon-soft);
  outline:1px solid var(--line);outline-offset:14px}
.hero__media img{width:100%;height:100%;object-fit:cover;will-change:transform;transform:scale(1.05)}
.hero__media::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.12)}

/* ---- FULL-BLEED HERO variant (image as full background) ---- */
.hero--full{align-items:center}
.hero--full::before{display:none}                 /* drop the maroon wash */
.hero--full .hero__media{position:absolute;inset:0;z-index:0;
  aspect-ratio:auto;border-radius:0;overflow:hidden;background:#000;
  box-shadow:none;outline:none;outline-offset:0}
.hero--full .hero__media img{width:100%;height:100%;object-fit:contain;object-position:center;transform:none}
.hero--full .hero__media::after{display:none}
/* readability scrim over the photo — flat single colour overlay */
.hero--full .hero__scrim{position:absolute;inset:0;z-index:1;background:rgba(10,3,2,.42)}
.hero--full .hero__grain{z-index:2}
.hero--full .hero__inner{grid-template-columns:1fr}   /* copy only, left-aligned */
.hero--full .hero__copy{position:relative;max-width:1020px;z-index:3;margin-left:clamp(-120px,-15vw,-280px)}
/* no background box — keep text readable with a soft shadow only */
.hero--full .hero__copy{text-shadow:0 2px 18px rgba(0,0,0,.6)}

/* decorative divider under the hero tagline */
.hero__divider{margin:-104px 0 -84px -90px;line-height:0;pointer-events:none}
.hero__divider img{display:block;width:340px;height:auto;object-fit:contain}

.hero__side{position:absolute;right:0;bottom:clamp(40px,7vh,80px);writing-mode:vertical-rl;z-index:3;
  font-size:.72rem;letter-spacing:.34em;text-transform:uppercase;color:var(--muted);display:flex;align-items:center;gap:14px}

/* circular veg/non-veg seal — sits on the hero's bottom-right edge, aligned
   to the framed banner's right corner so it bridges the two sections */
/* circle centred on the framed banner's top-right corner.
   right = frame's right edge; translate puts the circle's CENTRE on the corner:
   X 50% -> centre sits on the right line; Y = frame padding-top + half height. */
.hero__seal{position:absolute;z-index:6;bottom:0;
  right:clamp(40px,6vw,120px);
  width:clamp(118px,12vw,168px);aspect-ratio:1;border-radius:50%;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  text-align:center;background:#000;
  box-shadow:inset 0 0 0 1.5px var(--gold),0 18px 40px rgba(0,0,0,.55);
  /* gentle floating bob, keeping the seal anchored at its base offset */
  animation:sealFloat 4.5s ease-in-out infinite}
@keyframes sealFloat{
  0%,100%{transform:translate(0,30%)}
  50%{transform:translate(0,24%)}
}
/* slow rotating glow ring behind the seal */
.hero__seal::before{content:"";position:absolute;inset:-6px;border-radius:50%;z-index:-1;
  background:conic-gradient(from 0deg,transparent 0deg,rgba(200,145,38,.55) 60deg,transparent 140deg,transparent 360deg);
  animation:spinSlow 6s linear infinite;
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 3px),#000 calc(100% - 3px))}
/* soft breathing gold glow */
.hero__seal::after{content:"";position:absolute;inset:0;border-radius:50%;z-index:-1;
  box-shadow:0 0 0 0 rgba(200,145,38,.45);animation:sealPulse 3s ease-out infinite}
@keyframes sealPulse{
  0%{box-shadow:0 0 0 0 rgba(200,145,38,.4)}
  70%,100%{box-shadow:0 0 0 16px rgba(200,145,38,0)}
}
@media (prefers-reduced-motion:reduce){
  .hero__seal{animation:none;transform:translate(0,30%)}
  .hero__seal::before,.hero__seal::after{animation:none}
}
.hero__seal-icon{color:var(--gold);line-height:0;animation:sealIconBob 4.5s ease-in-out infinite}
@keyframes sealIconBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.hero__seal-icon svg{width:clamp(26px,2.6vw,34px);height:auto}
.hero__seal-text{font-family:var(--f-display);color:#fff;font-weight:700;
  font-size:clamp(.72rem,1vw,.92rem);letter-spacing:.06em;line-height:1.3;text-transform:uppercase}
@keyframes sealFloatSm{0%,100%{transform:translateY(40%)}50%{transform:translateY(33%)}}
.hero__side::after{content:"";width:1px;height:70px;background:var(--gold)}

.hero__scroll{position:absolute;left:var(--pad);bottom:24px;z-index:3;display:flex;align-items:center;gap:12px;
  font-size:.7rem;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}
.hero__scroll .mouse{width:22px;height:36px;border:1.5px solid var(--line);border-radius:14px;position:relative}
.hero__scroll .mouse::before{content:"";position:absolute;top:7px;left:50%;width:3px;height:7px;border-radius:3px;
  background:var(--gold);transform:translateX(-50%);animation:scrollDot 1.6s infinite}
@keyframes scrollDot{0%{opacity:0;transform:translate(-50%,0)}40%{opacity:1}80%{opacity:0;transform:translate(-50%,12px)}}

/* marquee strip under hero */
.marquee{background:var(--maroon);overflow:hidden;
  border-block:1px solid var(--maroon-deep)}
.marquee__track{display:flex;gap:0;white-space:nowrap;animation:marquee 26s linear infinite;will-change:transform}
.marquee:hover .marquee__track{animation-play-state:paused}
.marquee__track span{font-family:var(--f-display);font-style:italic;font-size:clamp(1.1rem,2vw,1.6rem);
  color:#fff;padding:.7em 1.3em;display:inline-flex;align-items:center;gap:1.3em}
.marquee__track span::after{content:"✦";color:var(--yellow);font-style:normal}
@keyframes marquee{to{transform:translateX(-50%)}}

/* =====================================================================
   SECTION HEADINGS (shared)
   ===================================================================== */
.sec-head{max-width:780px;margin-bottom:clamp(40px,6vw,72px)}
.sec-head--c{margin-inline:auto;text-align:center}
.sec-head__title{font-size:clamp(2.1rem,5.2vw,4.2rem);margin:.35em 0 .25em;color:var(--sec-heading)}
.sec-head__desc{color:var(--sec-text)}

/* =====================================================================
   TRUST — editorial ledger
   ===================================================================== */
.trust__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:48px}
.trust__list{border-top:1px solid var(--sec-line)}
.trust__row{display:grid;grid-template-columns:auto 1.2fr 2fr auto;gap:clamp(16px,4vw,56px);align-items:center;
  padding:clamp(22px,3vw,34px) 4px;border-bottom:1px solid var(--sec-line);position:relative;overflow:hidden}
.trust__row::before{content:"";position:absolute;inset:0;background:var(--gold);opacity:.12;
  transform:translateX(-101%);transition:transform .6s var(--ease);z-index:0}
.trust__row:hover::before{transform:translateX(0)}
.trust__row > *{position:relative;z-index:1}
.trust__no{font-family:var(--f-serif);font-weight:600;font-size:clamp(1.4rem,3vw,2.2rem);color:var(--gold);min-width:2ch}
.trust__name{font-family:var(--f-serif);font-size:clamp(1.15rem,2.6vw,1.7rem);color:var(--sec-heading)}
.trust__desc{color:var(--sec-muted);font-size:.96rem}
.trust__plus{font-size:1.5rem;color:var(--gold);transition:transform .5s var(--ease)}
.trust__row:hover .trust__plus{transform:rotate(90deg)}

/* =====================================================================
   ABOUT — split storytelling + parallax stack
   ===================================================================== */
.about{overflow:hidden}
.about__grid{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,6vw,90px);align-items:center}

/* --- Our Story with full-section background image + right-side content --- */
.about--bg{position:relative;overflow:hidden}
.about--bg .about__bg{position:absolute;inset:0;z-index:0}
.about--bg .about__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.about--bg .about__scrim{display:none}                 /* keep the background clear */
.about--bg .container{position:relative;z-index:2}
/* minimal palette over the clear background: black + red only */
.about--bg .eyebrow{color:var(--maroon)}
.about--bg .eyebrow::before{background:var(--maroon)}
.about--bg .about__body h2{color:var(--black)}
.about--bg .about__body .gtext,
.about--bg .about__body .split-line__inner .gtext{color:var(--maroon)}
.about--bg .about__body p{color:#1a1a1a}
.about--bg .about__stat b{color:var(--maroon)}
.about--bg .about__stat span{color:var(--black)}
/* button: filled red on the clear background -> gold on hover */
.about--bg .btn--gold{color:#fff;box-shadow:inset 0 0 0 1.5px var(--maroon);background:var(--maroon)}
.about--bg .btn--gold:hover{color:#2a0807;background:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}
/* push the content to the right column only */
.about__grid--right{grid-template-columns:1fr;justify-items:end}
.about__grid--right .about__body{max-width:560px;text-align:left}
.about__visual{position:relative;aspect-ratio:4/4.4;border-radius:var(--radius);overflow:hidden}
.about__visual img{width:100%;height:100%;object-fit:cover;transform:scale(1.12);will-change:transform}
.about__visual::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.about__badge{position:absolute;right:-18px;bottom:-18px;z-index:2;width:clamp(120px,16vw,170px);height:clamp(120px,16vw,170px);
  border-radius:50%;display:grid;place-items:center;text-align:center;
  background:var(--gold);color:#2a0807;
  box-shadow:0 30px 60px -25px rgba(200,145,38,.6);animation:spinSlow 22s linear infinite;font-family:var(--f-display)}
.about__badge b{font-size:clamp(1.4rem,3vw,2rem);display:block;line-height:1}
.about__badge small{font-size:.62rem;letter-spacing:.2em;text-transform:uppercase}
@keyframes spinSlow{to{transform:rotate(360deg)}}
.about__thumb{position:absolute;left:-26px;top:34px;width:clamp(100px,14vw,150px);aspect-ratio:1;border-radius:16px;overflow:hidden;
  box-shadow:0 30px 60px -20px #000;border:3px solid var(--sec-bg)}
.about__thumb img{width:100%;height:100%;object-fit:cover}
.about__body p{margin-bottom:1.1em;color:var(--sec-text)}
.about__stats{display:flex;gap:clamp(20px,4vw,46px);margin:30px 0;flex-wrap:wrap}
.about__stat b{font-family:var(--f-display);font-size:clamp(1.8rem,4vw,2.8rem);color:var(--gold);display:block;line-height:1}
.about__stat span{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--sec-muted)}

/* =====================================================================
   SIGNATURE DISHES — simple card row (below Our Story)
   ===================================================================== */
.sigrow{padding-block:clamp(44px,6vw,80px);position:relative;overflow-x:clip;display:flex;align-items:center}
.sigrow .container{position:relative;z-index:1}
/* decorative bull illustration on the right edge of the section */
.sigrow__bull{position:absolute;right:0;bottom:clamp(-120px,-7vw,-40px);z-index:0;
  width:clamp(230px,23vw,440px);height:auto;display:block;
  pointer-events:none;user-select:none;
  /* slides in from the right shortly after you reach the section */
  opacity:0;transform:translateX(60%);
  transition:opacity .7s var(--ease) .2s,transform .9s var(--ease) .2s}
.sigrow__bull.is-in{opacity:.95;transform:translateX(0)}
.no-js .sigrow__bull{opacity:.95;transform:none}
@media (prefers-reduced-motion:reduce){
  .sigrow__bull{transition:none;opacity:.95;transform:none}
}
.sigrow__head{display:flex;align-items:center;justify-content:center;gap:18px;
  margin-bottom:clamp(24px,3vw,40px)}
.sigrow__title{font-family:var(--f-display);color:var(--gold);
  font-size:clamp(1.1rem,2.1vw,1.7rem);letter-spacing:.22em;text-transform:uppercase;
  font-weight:800;margin:0;white-space:nowrap}
.sigrow__deco{flex:0 0 auto;width:clamp(200px,26vw,420px);aspect-ratio:600/240;height:auto;
  background:no-repeat center/contain;
  background-image:url("../img/optimized/divider-left-side01.webp");
  margin-inline:clamp(-90px,-7vw,-40px)}
.sigrow__deco--r{background-image:url("../img/optimized/divider-right-side01.webp")}

/* let this section's cards stretch wider than the default container */
.sigrow .container{max-width:1640px}
/* carousel: track + side arrows.
   reserve room on the RIGHT so the cards clear the bull-chef mascot that sits
   on the section's right edge (the responsive bands below zero this out on
   smaller screens, where the mascot is hidden). */
.sigrow__carousel{position:relative;display:flex;align-items:center;gap:clamp(8px,1.4vw,22px);
  padding-right:clamp(160px,14vw,300px)}
.sigrow-swiper{flex:1;min-width:0;overflow:hidden;padding:6px 4px 10px}
.sigrow-swiper .swiper-slide{height:auto}
.sigrow-swiper .swiper-slide .sigrow__card{height:100%}
.sigrow__arrow{flex:0 0 auto;width:clamp(40px,3.4vw,52px);height:clamp(40px,3.4vw,52px);
  display:grid;place-items:center;border-radius:50%;color:var(--gold);
  background:transparent;box-shadow:inset 0 0 0 1.5px var(--gold);
  transition:background .35s var(--ease),color .35s var(--ease)}
.sigrow__arrow:hover{background:var(--gold);color:#1a0606}
.sigrow__arrow.swiper-button-disabled{opacity:.35;cursor:default}
.sigrow__arrow:hover.swiper-button-disabled{background:transparent;color:var(--gold)}
.sigrow__card{position:relative;display:flex;flex-direction:column;
  border-radius:16px;overflow:hidden;
  box-shadow:inset 0 0 0 1.5px var(--gold);   /* plain gold border, no glow */
  transition:box-shadow .45s var(--ease),transform .45s var(--ease)}
.sigrow__card:hover{transform:translateY(-5px);
  box-shadow:inset 0 0 0 1.5px var(--gold-soft), 0 0 12px rgba(200,145,38,.28)}

/* food image fills the full top of the card, edge to edge */
.sigrow__media{width:100%;aspect-ratio:4/3.1;overflow:hidden}
.sigrow__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.sigrow__card:hover .sigrow__media img{transform:scale(1.08)}

/* glassmorphism content panel below the image */
.sigrow__body{flex:1;text-align:center;
  padding:clamp(14px,1.5vw,22px) clamp(12px,1.3vw,18px) clamp(16px,1.6vw,24px);
  background:rgba(255,255,255,.06);
  -webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);
  border-top:1px solid rgba(200,145,38,.45)}
.sigrow__name{font-family:var(--f-display);color:var(--gold);font-weight:700;
  font-size:clamp(.9rem,1.15vw,1.1rem);letter-spacing:.04em;text-transform:uppercase;
  margin:0 0 8px}
.sigrow__desc{font-family:var(--f-sans);color:var(--cream-soft);
  font-size:clamp(.76rem,.92vw,.88rem);line-height:1.5;margin:0;max-width:26ch;margin-inline:auto}

/* =====================================================================
   MENU CTA — menu-bg01 background with content in the cream panel
   ===================================================================== */
.menucta{position:relative;overflow:hidden;padding:0;min-height:800px;height:800px}
.menucta__bg{position:absolute;inset:0;z-index:0}
.menucta__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
/* full-width section so the columns span edge to edge */
.menucta .container{max-width:none;padding-inline:0}
/* 2-column layout: empty left (maroon art), content in the right (cream) */
.menucta__inner{position:relative;z-index:1;min-height:inherit;
  display:grid;grid-template-columns:50% 50%;align-items:center}
/* left column: discover text + mascot visual side by side */
.menucta__left{grid-column:1;display:flex;align-items:flex-end;
  gap:clamp(16px,2vw,40px);width:100%;height:100%;
  padding:clamp(20px,3vw,50px) 0 clamp(20px,3vw,50px) clamp(56px,7vw,140px)}
/* discover copy on the LEFT, sitting in the upper-left space */
.menucta__discover{flex:0 1 auto;align-self:flex-start;max-width:clamp(280px,30vw,420px);
  color:#f4ecde;text-align:left;margin-top:clamp(30px,4vw,64px)}
.menucta__eyebrow{display:flex;align-items:center;gap:14px;
  font-family:var(--f-display);letter-spacing:.22em;text-transform:uppercase;
  font-size:clamp(.95rem,1.3vw,1.2rem);color:var(--gold,#d9a441);font-weight:700;margin-bottom:14px}
.menucta__dline{flex:0 0 auto;width:clamp(26px,3vw,44px);height:1.5px;background:currentColor;opacity:.8}
.menucta__dtitle{font-family:var(--f-display);font-weight:800;color:#f7efe2;
  font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.05;margin:0}
.menucta__dwave{display:block;width:100%;max-width:300px;aspect-ratio:420/70;height:auto;
  margin:10px 0 16px -10px;
  background:no-repeat left center/100% auto;
  background-image:url("../img/divider-image03.png")}
.menucta__dlead{color:#e7d9c5;font-size:clamp(1.05rem,1.35vw,1.25rem);line-height:1.6;margin:0 0 clamp(26px,3vw,38px)}
.menucta__dbtn{display:inline-flex;align-items:center;justify-content:center;text-transform:uppercase;letter-spacing:.06em;font-size:clamp(.95rem,1.15vw,1.1rem);padding:clamp(14px,1.4vw,18px) clamp(26px,2.4vw,40px)}
.menucta__dlink{display:inline-flex;align-items:center;gap:12px;margin-top:20px;
  color:#f4ecde;text-transform:uppercase;letter-spacing:.08em;font-weight:700;
  font-size:clamp(.92rem,1.1vw,1.05rem);text-decoration:none;
  transition:color .3s var(--ease)}
.menucta__dlink:hover{color:var(--gold,#d9a441)}
/* mascot visual centered in the gap between text and cream panel */
.menucta__visual{flex:1 1 auto;align-self:flex-end;position:relative;z-index:2;
  display:flex;justify-content:flex-end;
  width:auto;
  margin-right:clamp(-80px,-5vw,-30px);
  margin-bottom:clamp(20px,4vw,70px)}
.menucta__visual img{width:auto;height:auto;display:block;
  max-width:min(140%,820px);max-height:900px;object-fit:contain}
.menucta__panel{grid-column:2;justify-self:end;align-self:start;
  width:min(92%,520px);text-align:center;color:#2a0807;margin-top:clamp(20px,4vw,70px);
  padding:clamp(16px,2.4vw,40px) clamp(20px,3vw,56px) clamp(16px,2.4vw,40px) clamp(10px,2vw,30px)}
.menucta__mark{display:flex;justify-content:center;margin-bottom:14px}
.menucta__mark img{height:clamp(54px,5vw,76px);width:auto}
.menucta__title{font-family:var(--f-display);color:#2a0807;font-weight:800;
  font-size:clamp(1.4rem,2.4vw,2.2rem);line-height:1.12;letter-spacing:.01em;margin:0}
.menucta__script{display:flex;align-items:center;justify-content:center;gap:14px;
  font-family:var(--f-ta);color:var(--maroon);
  font-size:clamp(1.5rem,2.6vw,2.3rem);font-style:italic;margin:.15em 0 .5em}
.menucta__line{width:clamp(34px,4vw,60px);height:1.5px;background:var(--maroon);position:relative}
.menucta__line::after{content:"";position:absolute;top:50%;right:-2px;width:5px;height:5px;
  border-radius:50%;background:var(--maroon);transform:translateY(-50%)}
.menucta__script .menucta__line:first-child::after{left:-2px;right:auto}
.menucta__lead{color:#4a2a16;font-size:clamp(.86rem,1.1vw,1rem);line-height:1.55;
  max-width:42ch;margin:0 auto clamp(20px,2.4vw,30px)}

/* order cards grid */
.menucta__grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(12px,1.4vw,20px)}
.ocard{display:flex;align-items:center;gap:14px;padding:clamp(16px,1.8vw,26px) clamp(16px,1.6vw,22px);
  border-radius:10px;color:#fff;text-align:left;
  transition:transform .35s var(--ease),box-shadow .35s var(--ease),filter .35s var(--ease)}
.ocard__ico{flex:0 0 auto;display:grid;place-items:center}
.ocard__txt{display:flex;flex-direction:column;line-height:1.15}
.ocard__txt small{font-size:.74rem;opacity:.92;font-weight:500}
.ocard__txt b{font-family:var(--f-display);font-weight:800;font-size:clamp(1rem,1.5vw,1.5rem);letter-spacing:.01em}
.ocard__txt--c{align-items:flex-start}
.ocard__zomato{font-style:italic;text-transform:lowercase}
.ocard--swiggy{background:#e9620f}
.ocard--zomato{background:#b8232e;justify-content:center;text-align:center}
.ocard--zomato .ocard__txt{align-items:center}
.ocard--wa{background:#1f8a32}
.ocard--call{background:rgba(244,236,222,.5);color:#2a0807;box-shadow:inset 0 0 0 1.5px rgba(42,8,7,.35)}
.ocard--call .ocard__ico{color:var(--maroon)}
/* hover */
.ocard:hover{transform:translateY(-4px) scale(1.02);filter:brightness(1.06);
  box-shadow:0 16px 34px -16px rgba(0,0,0,.55)}
.ocard--call:hover{background:var(--maroon);color:#fff;box-shadow:0 16px 34px -16px rgba(0,0,0,.55)}
.ocard--call:hover .ocard__ico{color:#fff}

.menucta__foot{display:flex;align-items:center;justify-content:center;gap:14px;
  margin-top:clamp(18px,2.2vw,30px)}
.menucta__fline{width:clamp(50px,7vw,110px);height:1.5px;background:var(--maroon);opacity:.7}

/* ---- entrance animation (plays when the panel scrolls into view) ---- */
.menucta__panel > *{opacity:0;transform:translateY(26px)}
.menucta.is-in .menucta__panel > *{opacity:1;transform:none;
  transition:opacity .7s var(--ease),transform .7s var(--ease)}
.menucta.is-in .menucta__mark{transition-delay:.05s}
.menucta.is-in .menucta__title{transition-delay:.15s}
.menucta.is-in .menucta__script{transition-delay:.25s}
.menucta.is-in .menucta__lead{transition-delay:.35s}
.menucta.is-in .menucta__grid{transition-delay:.45s}
.menucta.is-in .menucta__foot{transition-delay:.55s}
@media (prefers-reduced-motion:reduce){
  .menucta__panel > *{opacity:1;transform:none;transition:none}
}

/* =====================================================================
   WHY WE ARE DIFFERENT — cream feature section with cards + trust bar
   ===================================================================== */
.whywe{position:relative;overflow:hidden;color:#2a1c10;
  min-height:900px;
  display:flex;align-items:center;
  padding-block:clamp(40px,4vw,64px)}
.whywe__bg{position:absolute;inset:0;z-index:0}
.whywe__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.whywe__inner{position:relative;z-index:1;max-width:1560px;width:100%;margin-inline:auto;
  padding-inline:clamp(24px,4vw,72px);box-sizing:border-box}

/* ---- centered header ---- */
.whywe__head{text-align:center;max-width:760px;margin:0 auto clamp(20px,2.4vw,36px)}
.whywe__eyebrow{display:inline-block;font-family:var(--f-display);
  letter-spacing:.34em;text-transform:uppercase;font-weight:700;
  font-size:clamp(.8rem,1.1vw,1rem);color:var(--maroon)}
.whywe__deco{display:block;width:clamp(180px,22vw,240px);height:20px;margin:14px auto 16px}
.whywe__deco svg{width:100%;height:100%}
.whywe__title{margin:0;font-family:var(--f-display);
  color:#241406;font-weight:700;line-height:1.04;letter-spacing:.01em;
  font-size:clamp(2.2rem,5.4vw,4rem)}
.whywe__title-em{font-style:italic;color:#a9761c;font-weight:600;
  position:relative;display:inline-block;padding-bottom:.06em}
.whywe__title-em::after{content:"";position:absolute;left:6%;right:6%;bottom:-.04em;height:2px;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 6'%3E%3Cpath d='M2 4q50-5 98 0t98 0' fill='none' stroke='%23a9761c' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E")}
.whywe__lead{margin:18px auto 0;max-width:48ch;color:#5a4632;
  font-family:var(--f-sans);font-size:clamp(1rem,1.3vw,1.18rem);line-height:1.6}

/* ---- body: food image (left) + cards (right) ---- */
.whywe__body{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(16px,2vw,36px);
  align-items:center;width:100%}
.whywe__body > *{min-width:0}
.whywe__visual{position:relative;display:flex;align-items:center;justify-content:flex-start;
  min-height:clamp(280px,26vw,440px);margin-left:clamp(-60px,-4vw,-20px)}
.whywe__plate{position:absolute;top:50%;left:42%;transform:translate(-50%,-50%);
  width:118%;max-width:560px;aspect-ratio:1;border-radius:50%;z-index:0;
  background:radial-gradient(circle at 50% 45%,rgba(201,145,38,.22),rgba(201,145,38,.06) 60%,transparent 72%);
  box-shadow:inset 0 0 0 1px rgba(168,118,28,.18)}
.whywe__food{position:relative;z-index:1;width:100%;max-width:100%;
  height:auto;display:block;filter:drop-shadow(0 24px 40px rgba(60,30,5,.28))}

/* ---- card grid: 3 across + 1 wide ---- */
.whywe__cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(14px,1.4vw,22px)}
.wcard{position:relative;background:rgba(255,255,255,.62);border-radius:18px;
  border:1px solid rgba(168,118,28,.16);text-align:center;
  padding:clamp(28px,2.8vw,44px) clamp(18px,1.8vw,28px) clamp(30px,3vw,44px);
  box-shadow:0 14px 34px rgba(90,55,15,.07);
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),
    border-color .45s var(--ease),background .45s var(--ease)}
.wcard:hover{transform:translateY(-9px);background:rgba(255,252,245,.86);
  border-color:rgba(200,145,38,.55);
  box-shadow:0 26px 54px rgba(90,55,15,.18),0 0 0 1px rgba(200,145,38,.22)}
.wcard__ico{position:relative;display:grid;place-items:center;
  width:clamp(70px,6vw,86px);height:clamp(70px,6vw,86px);
  border-radius:50%;background:#efe2cd;margin-bottom:clamp(14px,1.4vw,20px);
  transition:transform .45s var(--ease),background .45s var(--ease),box-shadow .45s var(--ease)}
.wcard__ico svg{width:54%;height:54%;transition:stroke .45s var(--ease),transform .45s var(--ease)}
.wcard:hover .wcard__ico{transform:scale(1.06);
  background:#f3e6cb;
  box-shadow:0 6px 16px rgba(200,145,38,.18)}
.wcard:hover .wcard__ico svg{stroke:#9a5d12;transform:scale(1.04)}
.wcard__title{margin:0;font-family:var(--f-display);font-weight:700;
  color:#2a1a08;line-height:1.18;font-size:clamp(1.05rem,1.4vw,1.3rem);
  transition:color .45s var(--ease)}
.wcard:hover .wcard__title{color:#7a4a1f}
.wcard__rule{display:block;width:34px;height:8px;margin:clamp(12px,1.4vw,18px) auto;
  background:no-repeat center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 40 8' fill='none' stroke='%23c08a2d' stroke-width='1.2' stroke-linecap='round'%3E%3Cpath d='M2 4h12M26 4h12'/%3E%3Cpath d='M20 1l3 3-3 3-3-3z' fill='%23c08a2d' stroke='none'/%3E%3C/svg%3E")}
.wcard__desc{margin:0;color:#5e4a35;font-family:var(--f-sans);
  font-size:clamp(.86rem,1vw,.98rem);line-height:1.55;max-width:24ch}

/* wide "Family Friendly" card spans full row below the 3 cards */
.wcard--wide{grid-column:1 / -1;flex-direction:row;align-items:center;text-align:left;
  gap:clamp(18px,2vw,28px);margin-top:clamp(14px,1.4vw,22px);
  padding:clamp(18px,1.8vw,28px) clamp(22px,2.4vw,38px)}
.wcard--wide .wcard__ico{margin-bottom:0;flex:0 0 auto}
.wcard__wbody{display:flex;flex-direction:column;gap:8px}
.wcard__title--w{font-size:clamp(1.15rem,1.7vw,1.5rem)}
.wcard--wide .wcard__desc{max-width:42ch}

/* ---- dark trust bar ---- */
.whywe__trust{margin-top:clamp(28px,3.4vw,46px);
  background:#2c2018;border-radius:18px;
  display:grid;grid-template-columns:repeat(7,auto);justify-content:space-between;align-items:center;
  gap:clamp(8px,2vw,30px);padding:clamp(18px,2vw,28px) clamp(24px,4vw,60px)}
.wtrust{display:flex;align-items:center;gap:clamp(10px,1.2vw,16px);cursor:default;
  transition:transform .4s var(--ease)}
.wtrust:hover{transform:translateY(-4px)}
.wtrust__ico{display:grid;place-items:center;flex:0 0 auto;
  width:clamp(40px,3.4vw,52px);height:clamp(40px,3.4vw,52px);border-radius:50%;
  box-shadow:inset 0 0 0 1.5px rgba(217,164,65,.55);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease),background .4s var(--ease)}
.wtrust__ico svg{width:52%;height:52%;transition:stroke .4s var(--ease)}
.wtrust:hover .wtrust__ico{transform:scale(1.06);
  background:rgba(217,164,65,.14);
  box-shadow:inset 0 0 0 1.5px rgba(217,164,65,.95),0 6px 16px rgba(217,164,65,.2)}
.wtrust:hover .wtrust__ico svg{stroke:#f0c668}
.wtrust__txt{color:#f3e7d2;font-family:var(--f-sans);font-weight:600;
  font-size:clamp(.9rem,1.1vw,1.05rem);line-height:1.25;transition:color .4s var(--ease)}
.wtrust:hover .wtrust__txt{color:#fff}
.wtrust__sep{width:1px;height:34px;background:rgba(217,164,65,.28)}

/* ---- responsive ---- */

/* =====================================================================
   SIGNATURE DISHES — interactive showcase
   ===================================================================== */
.sig__stage{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(28px,5vw,70px);align-items:center}
.sig__nav{display:flex;flex-direction:column;border-top:1px solid var(--sec-line)}
.sig__item{text-align:left;display:grid;grid-template-columns:auto 1fr auto;gap:18px;align-items:center;
  padding:clamp(16px,2.4vw,26px) 4px;border-bottom:1px solid var(--sec-line);transition:padding .4s var(--ease)}
.sig__item .ix{font-family:var(--f-serif);font-weight:600;color:var(--gold);font-size:1.1rem}
.sig__item .nm{font-family:var(--f-serif);font-size:clamp(1.2rem,2.6vw,1.9rem);color:var(--sec-muted);transition:color .4s}
.sig__item .ta-sm{font-family:var(--f-ta);font-size:.82rem;color:transparent;transition:.4s;opacity:0;max-height:0}
.sig__item .arw{opacity:0;transform:translateX(-8px);transition:.4s var(--ease);color:var(--gold)}
.sig__item.is-active{padding-left:18px}
.sig__item.is-active .nm{color:var(--sec-heading)}
.sig__item.is-active .ta-sm{color:var(--gold);opacity:1;max-height:30px;margin-top:4px}
.sig__item.is-active .arw{opacity:1;transform:none}
.sig__item:hover .nm{color:var(--sec-heading)}

.sig__viewer{position:relative;aspect-ratio:1/1;border-radius:var(--radius);overflow:hidden;
  box-shadow:0 50px 90px -45px #000}
.sig__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .7s var(--ease),visibility .7s}
.sig__slide.is-active{opacity:1;visibility:visible}
.sig__slide img{width:100%;height:100%;object-fit:cover;transform:scale(1.1);transition:transform 7s var(--ease)}
.sig__slide.is-active img{transform:scale(1)}
.sig__slide::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.5)}
.sig__cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:clamp(22px,4vw,40px)}
.sig__cap .tag{display:inline-block;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:#2a0807;
  background:var(--gold);padding:.4em 1em;border-radius:100px;margin-bottom:12px}
.sig__cap h3{font-family:var(--f-display);font-size:clamp(1.6rem,4vw,2.6rem);color:#fff;margin-bottom:.2em}
.sig__cap p{color:#f0e6d6;max-width:42ch}
.sig__count{position:absolute;top:20px;right:24px;z-index:2;font-family:var(--f-display);color:#fff;font-size:.95rem}
.sig__count b{color:var(--gold);font-size:1.6rem}

/* =====================================================================
   MENU PREVIEW — book / split
   ===================================================================== */
.menupv{overflow:hidden}
/* CTA buttons: gold-outline "Order Online" + filled-red "Download / Print Menu" */
.menupv .btn-row .btn--ghost{color:#fff;background:var(--maroon);box-shadow:inset 0 0 0 1.5px var(--maroon)}
.menupv .btn-row .btn--ghost:hover{color:#2a0807;background:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}
/* "Order Online" (gold outline) fills yellow/gold on hover instead of red */
.menupv .btn-row .btn--gold:hover{color:#2a0807;background:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}
.menupv__grid{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(30px,5vw,80px)}
.menupv__art{position:relative;aspect-ratio:5/6;border-radius:var(--radius);overflow:hidden}
.menupv__art img{width:100%;height:100%;object-fit:cover;will-change:transform}
.menupv__art .frame{position:absolute;inset:14px;border:1px solid rgba(255,255,255,.25);border-radius:12px;z-index:2;pointer-events:none}
.menupv__art .label{position:absolute;z-index:3;left:50%;top:50%;transform:translate(-50%,-50%);text-align:center}
.menupv__art .label .ta{font-family:var(--f-ta);font-size:clamp(1.2rem,3vw,1.8rem)}
.menupv__art .label .en{font-family:var(--f-display);font-style:italic;font-size:clamp(2rem,6vw,3.4rem);color:#fff}
.menupv__art .label .ta{color:var(--gold)}
.menupv__art::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.4)}
.menupv__list{margin:24px 0 30px}
.menupv__li{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:14px;
  padding:14px 0;border-bottom:1px dashed var(--sec-line)}
.menupv__li .nm{font-family:var(--f-serif);font-size:1.12rem;color:var(--sec-heading)}
.menupv__li .dt{flex:1}
.menupv__li .pr{font-family:var(--f-serif);font-weight:600;color:var(--gold);font-size:1.25rem}
.menupv__li small{display:block;color:var(--sec-muted);font-size:.84rem}

/* =====================================================================
   DISH BLOG — per-category write-up below the menu grid
   ===================================================================== */
.dishblog{position:relative;overflow:hidden;padding-top:clamp(56px,8vw,96px);padding-bottom:clamp(56px,8vw,96px)}
.dishblog__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:.14;pointer-events:none;z-index:0}
.dishblog::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;
  background:radial-gradient(120% 80% at 50% 0,transparent,var(--black) 78%)}
.dishblog__inner{position:relative;z-index:2}
.dishblog__head{text-align:center;max-width:62ch;margin:0 auto clamp(28px,4vw,46px)}
.dishblog__title{margin:6px 0 0;font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.12}
.dishblog__lead{margin:16px auto 0;color:var(--sec-muted);max-width:56ch}
.dishblog__deco{display:block;margin:22px auto 0;width:200px;max-width:60%}
.dishblog__deco svg{width:100%;height:auto}
/* full width — two readable columns on desktop, single column on small screens */
.dishblog__prose{margin:0;columns:2;column-gap:clamp(40px,6vw,90px)}
.dishblog__prose p{color:var(--sec-text);font-size:1.06rem;line-height:1.85;
  margin:0 0 1.15em;opacity:.92}
.dishblog__sub{font-family:var(--f-serif);color:var(--sec-heading);
  font-size:clamp(1.25rem,2.6vw,1.55rem);line-height:1.3;margin:1.6em 0 .5em;
  break-after:avoid}
.dishblog__sub:first-child{margin-top:0}
.dishblog__sub::before{content:"";display:inline-block;width:22px;height:2px;
  background:var(--gold);vertical-align:middle;margin-right:12px;border-radius:2px}
.dishblog__close{color:var(--sec-heading);font-family:var(--f-serif);font-style:italic;
  font-size:1.12rem;border-top:1px dashed var(--sec-line);padding-top:1.3em;margin-top:1.6em;
  column-span:all}

/* opt-in: one full-width column instead of two (see $DISH_BLOG['single_column']) */
.dishblog--single .dishblog__head{max-width:none}
.dishblog--single .dishblog__lead{max-width:82ch}
.dishblog__prose--single{columns:1;max-width:82ch;margin-inline:auto;text-align:left}
.dishblog__prose--single .dishblog__quote{max-width:none;margin-inline:0}
.dishblog__prose--single .dishblog__btns{justify-content:flex-start}

/* pull-quote — breaks out of the two prose columns */
.dishblog__quote{column-span:all;margin:1.9em 0;max-width:60ch;padding:0 0 0 clamp(18px,2.4vw,30px);
  border-left:3px solid var(--gold);
  font-family:var(--f-serif);font-style:italic;color:var(--sec-heading);
  font-size:clamp(1.12rem,2.1vw,1.4rem);line-height:1.6}
.dishblog__quote::before{content:"\201C"}
.dishblog__quote::after{content:"\201D"}

/* checklist — one straight left-aligned stack, gold ticks */
.dishblog__list{column-span:all;list-style:none;margin:.4em 0 1.6em;padding:0}
.dishblog__list li{position:relative;padding-left:30px;color:var(--sec-text);
  font-size:1.04rem;line-height:1.7;opacity:.92;margin-bottom:.55em}
.dishblog__list li::before{content:"";position:absolute;left:2px;top:.62em;
  width:11px;height:6px;border-left:2px solid var(--gold);border-bottom:2px solid var(--gold);
  transform:rotate(-45deg)}

/* nested dish entries under a sub-heading */
.dishblog__item{break-inside:avoid;margin:0 0 1.35em}
.dishblog__itemtitle{font-family:var(--f-serif);color:var(--gold);
  font-size:clamp(1.02rem,1.9vw,1.14rem);line-height:1.35;margin:0 0 .35em;letter-spacing:.01em}
.dishblog__item p{margin:0}

/* closing call-to-action row */
.dishblog__btns{column-span:all;display:flex;flex-wrap:wrap;justify-content:center;
  gap:14px;margin-top:clamp(26px,3.4vw,38px)}

@media (max-width:860px){
  .dishblog__prose{columns:1}
}
@media (max-width:600px){
  .dishblog__prose p{font-size:1rem;line-height:1.8}
  .dishblog__sub::before{display:none}
  .dishblog__btns{flex-direction:column;align-items:stretch}
}

/* =====================================================================
   ORDER — conversion band
   ===================================================================== */
/* order band always sits over a photo → keep it dark internally */
.order{position:relative;overflow:hidden;background:var(--black)}
.order__bg{position:absolute;inset:0;z-index:0}
.order__bg img{width:100%;height:100%;object-fit:cover;opacity:.22;transform:scale(1.08)}
.order__bg::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.78)}
.order__inner{position:relative;z-index:1;display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(30px,6vw,80px);align-items:center}
.order__copy .eyebrow,.order__copy .lead{color:#e9d9c4}
.order__title{font-size:clamp(2.2rem,5.5vw,4rem);color:#fff;margin:.3em 0}
.order__panel{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.order-card{position:relative;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;
  padding:24px;border-radius:16px;min-height:140px;overflow:hidden;
  background:rgba(255,255,255,.05);box-shadow:inset 0 0 0 1px var(--line);transition:transform .5s var(--ease)}
.order-card::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .5s;z-index:-1}
.order-card:hover{transform:translateY(-6px)}
.order-card:hover::before{opacity:1}
.order-card .k{font-size:.7rem;letter-spacing:.2em;text-transform:uppercase;color:#c9b79c}
.order-card .v{font-family:var(--f-display);font-size:1.5rem;color:#fff}
.order-card--swiggy::before{background:#fc8019}
.order-card--zomato::before{background:#e23744}
.order-card--wa::before{background:#25d366}
.order-card--call::before{background:var(--gold)}
.order-card:hover .k,.order-card:hover .v{color:#fff}
.order-card--call:hover .k,.order-card--call:hover .v{color:#2a0807}

/* =====================================================================
   DIFFERENCE — sticky scroll story
   ===================================================================== */
.diff__grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(30px,6vw,90px);align-items:start}
.diff__sticky{position:sticky;top:120px}
.diff__list{display:flex;flex-direction:column;gap:18px}
.diff-card{position:relative;border-radius:var(--radius);overflow:hidden;padding:clamp(26px,4vw,44px);
  background:var(--sec-panel);box-shadow:inset 0 0 0 1px var(--sec-line);
  display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:center}
.diff-card__n{font-family:var(--f-display);font-size:clamp(2.4rem,6vw,4.4rem);
  -webkit-text-stroke:1px var(--gold);color:transparent;line-height:1}
.diff-card h3{font-family:var(--f-serif);font-size:clamp(1.3rem,3vw,1.9rem);color:var(--sec-heading);margin-bottom:.3em}
.diff-card p{color:var(--sec-muted)}
.diff-card::after{content:"";position:absolute;right:-50px;top:-50px;width:150px;height:150px;border-radius:50%;
  background:var(--gold);opacity:.12;transition:transform .6s var(--ease)}
.diff-card:hover::after{transform:scale(1.7)}

/* =====================================================================
   REVIEWS
   ===================================================================== */
.reviews{overflow:hidden;position:relative;background:transparent;
  min-height:900px;height:900px;display:flex;align-items:center}
.reviews::before{content:"";position:absolute;inset:0;z-index:0;
  background:url("../img/testimonial-bg01.webp") no-repeat center/cover}
.reviews::after{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(8,5,4,.86),rgba(8,5,4,.78) 50%,rgba(8,5,4,.9))}
.reviews > .container{position:relative;z-index:1;width:100%}
/* centered reviews header */
.reviews__head{text-align:center;max-width:760px;margin:0 auto clamp(36px,4vw,56px);
  display:flex;flex-direction:column;align-items:center}
/* red eyebrow text with gold/yellow flanking divider lines */
.reviews__head .eyebrow{color:#e3262b;margin-bottom:clamp(16px,2vw,28px)}
.reviews__head .eyebrow::before,
.reviews__head .eyebrow::after{background:var(--gold)}
.reviews__title{margin:0;font-size:clamp(2rem,4.6vw,3.4rem);color:var(--sec-heading)}
/* image divider below the title */
.reviews__deco-img{display:block;width:clamp(240px,30vw,430px);aspect-ratio:600/400;height:auto;
  margin:clamp(-110px,-9vw,-64px) auto clamp(-150px,-13vw,-96px);
  background:no-repeat center/contain;
  background-image:url("../img/optimized/divider-image02.webp")}
.reviews__script{font-family:inherit;font-weight:inherit;color:var(--gold)}
.reviews__lead{margin:18px auto 0;max-width:52ch;color:var(--sec-text);
  font-family:var(--f-sans);font-size:clamp(1rem,1.3vw,1.15rem);line-height:1.6;opacity:.85}
.google-badge{display:flex;align-items:center;gap:14px;background:var(--sec-panel);
  margin-top:clamp(22px,2.6vw,32px);
  padding:14px 20px;border-radius:14px;box-shadow:inset 0 0 0 1px var(--sec-line)}
.google-badge .g{font-family:var(--f-sans);font-weight:700;font-size:1.3rem}
.google-badge .g b:nth-child(1){color:#4285F4}.google-badge .g b:nth-child(2){color:#EA4335}
.google-badge .g b:nth-child(3){color:#FBBC05}.google-badge .g b:nth-child(4){color:#4285F4}
.google-badge .g b:nth-child(5){color:#34A853}.google-badge .g b:nth-child(6){color:#EA4335}
.google-badge .rt{display:flex;flex-direction:column;line-height:1.1}
.google-badge .rt strong{font-family:var(--f-display);font-size:1.5rem;color:var(--gold)}
.google-badge .rt small{color:var(--sec-muted);font-size:.78rem}
.stars{color:var(--gold);letter-spacing:2px}
.review-card{background:var(--sec-panel);border-radius:var(--radius);
  padding:clamp(24px,3vw,34px);height:100%;display:flex;flex-direction:column;gap:16px;
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.28),0 0 16px rgba(200,145,38,.08);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),background .45s var(--ease)}
.review-card:hover{transform:translateY(-6px);
  background:rgba(255,255,255,.04);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.5),0 14px 38px rgba(0,0,0,.35),0 0 26px rgba(200,145,38,.18)}
.review-card .stars{font-size:1rem}
.review-card p{font-family:var(--f-sans);font-weight:400;font-size:1.05rem;line-height:1.6;color:var(--sec-text);flex:1}
.review-card .who{display:flex;align-items:center;gap:12px}
.review-card .av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;font-weight:700;color:#2a0807;
  background:var(--gold)}
.review-card .who b{display:block;color:var(--maroon-soft);font-size:.95rem}
.review-card .who small{color:var(--sec-muted);font-size:.75rem}
/* carousel wrapper with side arrows */
.reviews__carousel{position:relative;display:flex;align-items:center;justify-content:center;
  gap:clamp(8px,1.4vw,20px)}
.reviews .swiper{overflow:hidden;max-width:1100px;margin-inline:auto;width:100%;
  padding:6px 4px 12px}
.reviews .swiper-slide{height:auto}
.reviews__arrow{flex:0 0 auto;width:clamp(42px,3.4vw,54px);height:clamp(42px,3.4vw,54px);
  display:grid;place-items:center;border-radius:50%;color:var(--gold);
  background:transparent;cursor:pointer;
  box-shadow:inset 0 0 0 1.5px var(--gold),0 0 14px rgba(200,145,38,.28);
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease),box-shadow .35s var(--ease)}
.reviews__arrow:hover{background:var(--gold);color:#1a0606;transform:scale(1.06);
  box-shadow:inset 0 0 0 1.5px var(--gold),0 0 22px rgba(200,145,38,.55)}
.reviews__arrow.swiper-button-disabled{opacity:.35;cursor:default}
.reviews__arrow:hover.swiper-button-disabled{background:transparent;color:var(--gold);transform:none}

/* =====================================================================
   GALLERY
   ===================================================================== */
.gallery__grid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:200px;gap:14px}
.gallery__grid figure{position:relative;overflow:hidden;border-radius:14px;margin:0}
.gallery__grid img{width:100%;height:100%;object-fit:cover;transition:filter .5s var(--ease)}
/* maroon/gold gradient panel that slides up from the bottom on hover */
.gallery__grid figure::after{content:"";position:absolute;left:0;right:0;bottom:0;height:55%;z-index:1;
  background:linear-gradient(to top,rgba(110,6,8,.7) 0%,rgba(157,9,12,.35) 50%,rgba(157,9,12,0) 100%);
  transform:translateY(100%);opacity:0;
  transition:transform .55s var(--ease),opacity .55s var(--ease)}
.gallery__grid figcaption{position:absolute;left:18px;right:18px;bottom:16px;z-index:2;
  color:#fff;font-family:var(--f-display);font-size:1.1rem;
  opacity:0;transform:translateY(14px);transition:.5s var(--ease) .08s}
/* image just dims slightly — no zoom */
.gallery__grid figure:hover img{filter:brightness(.82)}
.gallery__grid figure:hover::after{transform:translateY(0);opacity:1}
.gallery__grid figure:hover figcaption{opacity:1;transform:none}
.gallery__grid .tall{grid-row:span 2}
.gallery__grid .wide{grid-column:span 2}

/* =====================================================================
   LOCATION (loc2) — premium two-column visit card
   ===================================================================== */
.loc2{display:grid;grid-template-columns:1fr 1.04fr;gap:clamp(28px,5vw,80px);align-items:center}

/* ---- left: info ---- */
.loc2__info{display:flex;flex-direction:column}
.loc2__eyebrow{justify-content:flex-start;align-self:flex-start;color:#e3262b}
.loc2__eyebrow::before,
.loc2__eyebrow::after{background:#e3262b}
.loc2__title{margin:14px 0 0;font-family:var(--f-serif);font-weight:800;
  font-size:clamp(2.2rem,4.4vw,3.6rem);line-height:1.04;color:var(--sec-heading)}
.loc2__rule{display:block;width:clamp(150px,18vw,230px);height:14px;margin:14px 0 clamp(26px,3vw,40px);
  background:no-repeat left center/contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 230 14' fill='none' stroke='%23fbba00' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M2 7h86'/%3E%3Cpath d='M142 7h86'/%3E%3Cpath d='M115 2c-4 2.4-7 4-7 5s3 2.6 7 5c4-2.4 7-4 7-5s-3-2.6-7-5Z' fill='%23fbba00' stroke='none'/%3E%3C/svg%3E")}

.loc2__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:clamp(20px,2.4vw,30px)}
.loc2__row{display:flex;align-items:center;gap:18px;
  border-bottom:1px solid rgba(200,145,38,.16);padding-bottom:clamp(18px,2vw,26px)}
.loc2__row:last-child{border-bottom:0;padding-bottom:0}
.loc2__ico{flex:0 0 auto;display:grid;place-items:center;width:clamp(48px,4vw,58px);height:clamp(48px,4vw,58px);
  border-radius:50%;color:var(--gold);box-shadow:inset 0 0 0 1.5px rgba(200,145,38,.55);
  transition:background .35s var(--ease),color .35s var(--ease)}
.loc2__ico svg{width:46%;height:46%}
.loc2__row:hover .loc2__ico{background:var(--gold);color:#1a0606}
.loc2__val{font-family:var(--f-sans);font-size:clamp(1rem,1.3vw,1.18rem);color:var(--sec-heading);
  line-height:1.4;display:flex;flex-direction:column;gap:2px;transition:color .3s var(--ease)}
a.loc2__val:hover{color:var(--gold)}
.loc2__open{font-weight:600}
.loc2__hours{color:#e3262b}

.loc2__cta{display:inline-flex;align-items:center;gap:12px;align-self:flex-start;
  margin-top:clamp(28px,3vw,42px);padding:clamp(14px,1.4vw,18px) clamp(22px,2.4vw,32px);
  border-radius:1px;color:var(--gold);font-family:var(--f-sans);font-weight:600;
  font-size:clamp(.95rem,1.15vw,1.1rem);text-transform:uppercase;letter-spacing:.04em;text-decoration:none;
  box-shadow:inset 0 0 0 1.5px var(--gold);
  transition:background .4s var(--ease),color .4s var(--ease),box-shadow .4s var(--ease)}
.loc2__cta:hover{background:var(--gold);color:#1a0606}
/* contact page: two CTAs side by side under the info list */
.loc2__ctas{display:flex;flex-wrap:wrap;gap:14px;align-self:flex-start;margin-top:clamp(28px,3vw,42px)}
.loc2__ctas .loc2__cta{margin-top:0}
.loc2__cta--call{color:#fff;background:var(--maroon);box-shadow:inset 0 0 0 1.5px var(--maroon)}
.loc2__cta--call:hover{background:var(--gold);color:#1a0606;box-shadow:inset 0 0 0 1.5px var(--gold)}
.loc2__cta-ico svg{width:22px;height:22px;display:block}
.loc2__cta-arrow{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;
  box-shadow:inset 0 0 0 1.4px currentColor;margin-left:4px}
.loc2__cta-arrow svg{width:14px;height:14px}

/* ---- right: framed brand panel + map ---- */
.loc2__panel{position:relative;border-radius:18px;overflow:hidden;
  background:linear-gradient(160deg,#1c130c,#0d0907);
  box-shadow:inset 0 0 0 1.5px rgba(200,145,38,.45),0 24px 60px rgba(0,0,0,.5);
  padding:clamp(14px,1.6vw,22px);display:flex;flex-direction:column;gap:clamp(12px,1.4vw,18px)}
.loc2__brand{position:relative;min-height:clamp(150px,18vw,230px);border-radius:12px;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  padding:clamp(18px,2.4vw,34px);
  background:radial-gradient(120% 120% at 50% 20%,#3a2410,#120a06 70%);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.25)}
.loc2__brand-logo{max-width:min(72%,300px);max-height:clamp(120px,15vw,190px);width:auto;height:auto;
  object-fit:contain;display:block;filter:drop-shadow(0 6px 22px rgba(0,0,0,.5))}
.loc2__map{border-radius:12px;overflow:hidden;min-height:clamp(220px,22vw,300px);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.2)}
.loc2__map iframe{width:100%;height:100%;min-height:clamp(220px,22vw,300px);border:0;
  filter:grayscale(.25) contrast(1.05)}
.loc2__maplink{display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:6px 4px 2px;color:var(--gold);font-family:var(--f-sans);font-weight:600;
  letter-spacing:.06em;text-transform:uppercase;font-size:clamp(.8rem,1vw,.94rem);
  text-decoration:none;transition:color .3s var(--ease)}
.loc2__maplink:hover{color:var(--gold-soft)}

/* =====================================================================
   CTA STRIP
   ===================================================================== */
.cta{position:relative;overflow:hidden;text-align:center;background:var(--maroon)}
.cta__bg{position:absolute;inset:0;z-index:0}
.cta__bg img{width:100%;height:100%;object-fit:cover;opacity:.30}
.cta__bg::after{content:"";position:absolute;inset:0;background:rgba(72,8,7,.7)}
.cta__inner{position:relative;z-index:1}
.cta__title{font-size:clamp(2.4rem,7vw,5.4rem);color:#fff;margin:.3em 0}

/* =====================================================================
   PAGE HERO (inner pages)
   ===================================================================== */
.page-hero{position:relative;min-height:62vh;display:flex;align-items:flex-end;overflow:hidden;padding-bottom:clamp(40px,6vw,80px)}
/* push the banner content toward the left, with a comfortable left inset */
.page-hero .container{max-width:none;margin-inline:0;padding-left:clamp(40px,8vw,160px)}
.page-hero__media{position:absolute;inset:0;z-index:-2}
.page-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.5) 32%,rgba(0,0,0,.12) 60%,rgba(0,0,0,0) 100%)}
.page-hero__title{font-size:clamp(2rem,5.5vw,4.2rem);color:#fff}
.page-hero__crumb{display:flex;gap:10px;font-size:.82rem;color:#d8c4ad;margin-bottom:14px;letter-spacing:.06em}
.page-hero__crumb a:hover{color:var(--gold)}
/* decorative gold divider (divider-image02) — a slim horizontal flourish that
   sits cleanly between the Tamil tagline and the title. The image carries a lot
   of transparent padding, so we crop the box short (wide aspect) and pull it
   left to align with the text edge without overlapping the title. */
.page-hero__divider{display:block;width:clamp(260px,32vw,440px);aspect-ratio:700/467;height:auto;
  /* the artwork fills its frame top-to-bottom, so use big negative top/bottom
     margins to crop the visual whitespace; pull left to sit flush under the
     Tamil heading text with no gap above */
  margin:clamp(-120px,-10vw,-76px) 0 clamp(-112px,-9.5vw,-72px) clamp(-90px,-7.5vw,-140px);
  background:no-repeat left center/contain;
  background-image:url("../img/optimized/divider-image02.webp");
  pointer-events:none;user-select:none}

/* =====================================================================
   ANIMATION UTILITIES (revealed by JS / fallback visible)
   ===================================================================== */
.reveal{opacity:0;transform:translateX(48px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}
/* keep media/visual blocks + the footer rising vertically (horizontal slide looks odd there) */
.about__visual.reveal,.about__media.reveal,.location__map.reveal,.menupv__art.reveal,
.aboutfx__media.reveal,.sig__item.reveal,.gallery__item.reveal,figure.reveal,
.site-footer .reveal,.reveal img:only-child{transform:translateY(34px)}
.about__visual.reveal.is-in,.about__media.reveal.is-in,.location__map.reveal.is-in,
.menupv__art.reveal.is-in,.aboutfx__media.reveal.is-in,.sig__item.reveal.is-in,
.gallery__item.reveal.is-in,.site-footer .reveal.is-in,figure.reveal.is-in{transform:none}
/* menu card images must not pick up the reveal slide transform (they have their own) */
.mdish.reveal .mdish__media img{transform:translateZ(0)}
.reveal-stagger > *{opacity:0;transform:translateX(56px);
  transition:opacity .8s var(--ease),transform .8s var(--ease)}
/* fallback when GSAP isn't available: IntersectionObserver still reveals them */
.reveal-stagger.is-in > *{opacity:1;transform:none}

/* line-by-line split reveal (built by JS from [data-split-lines]) */
.split-line{display:block;overflow:hidden}
.split-line__inner{display:block;opacity:0;transform:translateX(60px)}
/* once split, the parent element itself shouldn't also slide (lines handle it) */
.reveal-stagger > [data-split-done]{opacity:1;transform:none}
.no-js .split-line__inner,.reveal-stagger.is-in > [data-split-done] .split-line__inner{opacity:1;transform:none}
.line-mask{overflow:hidden}
.line-mask > *{display:inline-block;transform:translateY(110%)}
[data-parallax]{will-change:transform}
.no-js .reveal,.no-js .reveal-stagger > *,.no-js .line-mask > *{opacity:1;transform:none}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001s!important;transition-duration:.001s!important;animation-iteration-count:1!important}
  .reveal,.reveal-stagger>*,.line-mask>*{opacity:1!important;transform:none!important}
}

/* =====================================================================
   FOOTER
   ===================================================================== */
.site-footer{position:relative;background:#0a0604;padding-top:clamp(60px,8vw,100px);overflow:hidden}
.site-footer__bg{position:absolute;inset:0;z-index:0}
.site-footer__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
/* dark scrim removed — show the parchment background cleanly */
.site-footer__bg::after{display:none}
.site-footer .container,.site-footer .footer-bottom{position:relative;z-index:1}
.site-footer__glow{display:none}
.footer-grid{position:relative;display:grid;grid-template-columns:1.6fr 1fr 1fr 1.1fr 1fr;gap:clamp(28px,4vw,56px);
  padding-bottom:48px;border-bottom:1px solid var(--line)}
.brand--footer{margin-bottom:18px;display:inline-block;margin-left:0}
.brand__logo--footer{height:96px}
.footer-usp{list-style:none;margin:0 0 18px;padding:0}
.footer-usp li{position:relative;padding-left:16px;margin-bottom:8px;color:var(--muted);font-size:.92rem}
.footer-usp li::before{content:"\2022";position:absolute;left:0;color:var(--gold)}
.footer-social{display:flex;gap:18px}
.footer-social a{position:relative;font-size:.86rem;color:var(--cream-soft)}
.footer-social a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:var(--gold);transition:width .4s}
.footer-social a:hover{color:var(--gold)}.footer-social a:hover::after{width:100%}
.footer-col__title{font-family:var(--f-serif);font-size:1.05rem;color:var(--gold);margin-bottom:18px;letter-spacing:.04em}
.footer-links li,.footer-contact li{margin-bottom:11px}
.footer-links a,.footer-contact a{color:var(--cream-soft);font-size:.92rem;transition:color .3s,padding .3s}
.footer-links a:hover{color:var(--gold);padding-left:6px}
.footer-contact li{color:var(--muted);font-size:.92rem}
.footer-contact a:hover{color:var(--gold)}
.footer-order{display:flex;flex-wrap:wrap;gap:10px}
.chip{padding:.6em 1.1em;border-radius:1px;font-size:.8rem;font-weight:600;box-shadow:inset 0 0 0 1px var(--line);
  color:var(--cream);transition:transform .4s var(--ease),background .4s,color .4s}
.chip:hover{transform:translateY(-3px);color:#fff}
.chip--swiggy:hover{background:#fc8019}
.chip--zomato:hover{background:#e23744}
.chip--wa:hover{background:#25d366;color:#06351b}
.chip--call:hover{background:var(--gold);color:#2a0807}
.footer-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;padding:26px 0;
  font-size:.82rem;color:var(--muted)}
.footer-bottom__seal{color:var(--gold);font-family:var(--f-ta)}

/* ---- light parchment background: dark text so everything stays readable ---- */
.site-footer{--fdark:#2a1808;--fdark-soft:#4a2f17}        /* footer-local text tones */
.site-footer .footer-usp li{color:var(--fdark-soft)}
.site-footer .footer-usp li::before{color:var(--maroon)}
.site-footer .footer-social a{color:var(--fdark)}
.site-footer .footer-social a:hover{color:var(--maroon)}
.site-footer .footer-col__title{color:var(--maroon)}
.site-footer .footer-links a,
.site-footer .footer-contact a{color:var(--fdark)}
.site-footer .footer-links a:hover,
.site-footer .footer-contact a:hover{color:var(--maroon)}
.site-footer .footer-contact li{color:var(--fdark-soft)}
.site-footer .chip{color:var(--fdark);box-shadow:inset 0 0 0 1px rgba(42,24,8,.4)}
.site-footer .footer-bottom{color:var(--fdark-soft)}
.site-footer .footer-bottom__seal{color:var(--maroon)}
/* divider lines were faint gold on dark — darken for the light bg */
.site-footer .footer-grid{border-bottom-color:rgba(42,24,8,.22)}

/* ---- larger, more legible footer type ---- */
.site-footer .footer-usp li{font-size:1.05rem;line-height:1.6}
.site-footer .footer-social a{font-size:1rem}
.site-footer .footer-col__title{font-size:1.3rem;margin-bottom:22px}
.site-footer .footer-links a,
.site-footer .footer-contact a,
.site-footer .footer-contact li{font-size:1.05rem}
.site-footer .footer-links li,
.site-footer .footer-contact li{margin-bottom:14px}
.site-footer .chip{font-size:.92rem}
.site-footer .footer-bottom{font-size:.95rem}

/* =====================================================================
   FLOATING ACTIONS
   ===================================================================== */
.floating-actions{position:fixed;right:18px;bottom:18px;z-index:800;display:flex;flex-direction:column;gap:12px}
.fab{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#fff;
  box-shadow:0 14px 30px -10px rgba(0,0,0,.6);transition:transform .4s var(--ease)}
.fab:hover{transform:scale(1.1) translateY(-2px)}
.fab--wa{background:#25d366}
.fab--call{background:var(--gold);color:#2a0807}

/* =====================================================================
   LIVE MENU GRID — "What We're Cooking Today" (menu.php)
   ===================================================================== */
/* ===== Menu feature band — decorative bg, height capped so it isn't too tall ===== */
.menuband{position:relative;width:100%;background:#7a0d10;
  height:850px;overflow:hidden}
.menuband__bg{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;object-position:center}   /* fills the shorter band, frame stays around the edges */
/* text block pinned to the LOWER area so the centre showcase has the stage */
.menuband__inner{position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:flex-end;
  text-align:center;gap:10px;
  width:min(640px,56%);margin:0 auto;
  padding:0 clamp(12px,2vw,24px) clamp(24px,4vh,56px)}
.menuband__title{color:var(--maroon);font-size:clamp(1.5rem,3.2vw,2.8rem);line-height:1.04;
  transition:opacity .45s ease,transform .45s ease}
.menuband__lead{margin:0;padding-top:clamp(14px,2vw,24px);color:#1a1208;font-family:var(--f-sans);
  font-size:clamp(.88rem,1.15vw,1.08rem);line-height:1.55;
  transition:opacity .45s ease,transform .45s ease}
.menuband__inner.is-swapping .menuband__title,
.menuband__inner.is-swapping .menuband__lead{opacity:0;transform:translateY(8px)}
.menuband .eyebrow,.menuband .eyebrow--c::before,.menuband .eyebrow--c::after{color:#1a1208}
.menuband .eyebrow::before,.menuband .eyebrow--c::after{background:#1a1208}
/* CTA on the light parchment — transparent with black border; gold on hover */
.menuband .btn{background:transparent;color:#1a1208;box-shadow:inset 0 0 0 1.5px #1a1208}
.menuband .btn:hover{background:var(--gold);color:#2a0807;box-shadow:inset 0 0 0 1.5px #1a1208}

/* big faded uppercase words either side of the showcase */
.menuband__word{position:absolute;top:28%;z-index:1;
  font-family:var(--f-display);font-weight:800;text-transform:uppercase;
  font-size:clamp(2.2rem,3.8vw,4rem);line-height:1;letter-spacing:.02em;
  color:rgba(157,9,12,.38);                 /* maroon watermark — more visible */
  pointer-events:none;user-select:none;white-space:nowrap}
/* tucked into the gap beside the centre food image */
.menuband__word--l{left:18%;transform:translateY(-50%)}
.menuband__word--r{right:18%;transform:translateY(-50%)}

/* ----- centre showcase: dish swings in along a big CLOCKWISE arc from the bottom -----
   Each item rotates around a pivot far BELOW the stage (like a giant clock hand),
   so a modest angle traces a large circular path: in from the lower-left, up to
   centre, then continuing clockwise out to the lower-right. */
.menushow{position:absolute;left:0;right:0;top:8%;height:50%;z-index:1;
  pointer-events:none;display:grid;place-items:center}
.menushow__item{
  position:absolute;grid-area:1/1;
  width:clamp(220px,28vw,400px);aspect-ratio:1;
  border-radius:50%;overflow:hidden;
  /* pivot well below the image so rotation sweeps a big arc */
  transform-origin:50% 900px;
  /* waiting state: swung down to the lower-LEFT (counter-clockwise), hidden */
  opacity:0;visibility:hidden;transform:rotate(-38deg) scale(.78);
  box-shadow:none;                       /* ring shows only on the active dish */
  will-change:transform,opacity;
}
.menushow__item img{width:100%;height:100%;object-fit:cover;display:block}
/* on stage: upright at top-centre */
.menushow__item.is-active{
  opacity:1;visibility:visible;transform:rotate(0deg) scale(1);
  box-shadow:0 30px 60px -16px rgba(58,8,7,.62),0 0 0 7px rgba(244,233,214,.92),0 0 0 11px rgba(200,145,38,.85);
  transition:transform 1.05s cubic-bezier(.22,.85,.32,1),opacity .5s ease .1s,visibility 0s;
}
/* leaving: keep rotating CLOCKWISE → swings down and out to the lower-RIGHT */
.menushow__item.is-leaving{
  opacity:0;visibility:visible;transform:rotate(38deg) scale(.78);
  box-shadow:none;                       /* drop the ring immediately so no ghost circle */
  transition:transform 1.05s cubic-bezier(.5,0,.7,.45),opacity .4s ease,visibility 0s linear 1.05s;
}

@media (prefers-reduced-motion:reduce){
  /* no arc — plain crossfade in place */
  .menushow__item{transform:none;transition:opacity .4s ease}
  .menushow__item.is-active{transform:none;transition:opacity .4s ease}
  .menushow__item.is-leaving{transform:none;transition:opacity .4s ease}
}

.mlive{position:relative;overflow:hidden;color:var(--cream);
  padding-block:clamp(48px,6vw,90px)}
.mlive__bg{position:absolute;inset:0;z-index:0}
.mlive__bg img{width:100%;height:100%;object-fit:cover;object-position:center top}
.mlive::after{content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg,rgba(6,4,3,.88),rgba(6,4,3,.8) 50%,rgba(6,4,3,.92))}
.mlive__inner{position:relative;z-index:1;max-width:none;width:100%;
  padding-inline:clamp(24px,5vw,90px)}

/* header */
.mlive__head{text-align:center;max-width:820px;margin:0 auto clamp(26px,3vw,44px)}
.mlive__eyebrow{display:inline-block;font-family:var(--f-sans);font-weight:600;
  letter-spacing:.34em;text-transform:uppercase;font-size:clamp(.72rem,1vw,.86rem);color:var(--maroon)}
.mlive__title{margin:10px 0 0;font-family:var(--f-display);font-weight:700;
  line-height:1.05;color:#fbf3e4;font-size:clamp(2rem,5vw,3.6rem)}
.mlive__title-em{color:var(--gold)}
.mlive__deco{display:block;width:clamp(180px,22vw,250px);height:18px;margin:14px auto 0}
.mlive__deco svg{width:100%;height:100%}

/* category tabs */
.mlive__tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:clamp(8px,1vw,14px);
  margin-bottom:clamp(26px,3vw,44px)}
.mtab{display:inline-flex;align-items:center;gap:10px;cursor:pointer;
  padding:clamp(10px,1.1vw,14px) clamp(16px,1.8vw,26px);border-radius:48px;
  background:rgba(255,255,255,.04);box-shadow:inset 0 0 0 1px rgba(200,145,38,.4);
  color:var(--cream-soft);font-family:var(--f-sans);font-weight:600;
  font-size:clamp(.82rem,1vw,.98rem);letter-spacing:.01em;
  transition:background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease)}
.mtab__ico{display:grid;place-items:center;width:20px;height:20px;color:var(--gold);transition:color .35s var(--ease)}
.mtab__ico svg{width:100%;height:100%}
.mtab:hover{background:rgba(200,145,38,.12);color:#fff}
.mtab.is-active{background:linear-gradient(180deg,#d8a949,#b8801f);color:#1a0f04;
  box-shadow:0 8px 22px rgba(200,145,38,.35)}
.mtab.is-active .mtab__ico{color:#1a0f04}

/* dish grid */
.mlive__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));
  gap:clamp(14px,1.6vw,24px);align-items:stretch}

.mdish{position:relative;display:flex;flex-direction:column;overflow:hidden;height:100%;
  background:linear-gradient(160deg,rgba(28,18,10,.86),rgba(12,8,5,.86));
  border-radius:14px;box-shadow:inset 0 0 0 1px rgba(200,145,38,.28);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.mdish:hover{transform:translateY(-5px);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.7),0 16px 40px rgba(0,0,0,.45),0 0 22px rgba(200,145,38,.14)}
/* hide/show on filter */
.mdish.is-hidden{display:none}

/* full-width food image banner on top of the card — styled exactly like the blog
   cards (.bpost__media): fixed height + object-fit:cover so every image fills the
   top of the card flush, identical across all dishes */
.mdish__media{position:relative;display:flex;height:clamp(220px,20vw,290px);overflow:hidden}
.mdish__media img{width:100%;height:100%;display:block;
  will-change:transform;transform:translateZ(0);transition:transform .6s var(--ease)}
.mdish:hover .mdish__media img{transform:translateZ(0) scale(1.06)}

/* text + price area below the image */
.mdish__body{display:flex;flex-direction:column;flex:1;
  padding:clamp(14px,1.3vw,20px)}
.mdish__name{margin:0 0 8px;font-family:var(--f-display);font-weight:700;
  color:var(--gold);font-size:clamp(1rem,1.25vw,1.2rem);line-height:1.25}
.mdish__desc{margin:0 0 16px;color:var(--cream-soft);font-family:var(--f-sans);
  font-size:clamp(.82rem,.95vw,.92rem);line-height:1.55;flex:1}
.mdish__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;
  margin-top:auto;padding-top:14px;border-top:1px solid rgba(200,145,38,.16)}
.mdish__price{font-family:var(--f-display);font-weight:800;color:var(--gold);
  font-size:clamp(1.05rem,1.4vw,1.3rem)}
/* add button (default) */
.mdish__add{display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  padding:clamp(8px,.8vw,11px) clamp(14px,1.3vw,18px);
  border-radius:48px;color:var(--gold);background:transparent;
  font-family:var(--f-sans);font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  font-size:clamp(.74rem,.92vw,.86rem);
  box-shadow:inset 0 0 0 1.5px var(--gold);
  transition:background .35s var(--ease),color .35s var(--ease),transform .35s var(--ease)}
.mdish__add svg{flex:0 0 auto}
.mdish__add:hover{background:var(--gold);color:#1a0f04;transform:translateY(-1px)}

/* qty stepper (shown after first add) — swiggy/zomato style */
.mdish__step{display:none;align-items:center;gap:clamp(10px,1.2vw,16px);
  padding:clamp(5px,.5vw,7px) clamp(8px,.8vw,12px);
  border-radius:48px;background:var(--gold);color:#1a0f04;
  box-shadow:0 6px 16px rgba(200,145,38,.35)}
.mdish__minus,.mdish__plus{display:grid;place-items:center;cursor:pointer;
  width:clamp(24px,2.2vw,28px);height:clamp(24px,2.2vw,28px);border-radius:50%;
  color:#1a0f04;background:rgba(0,0,0,.08);
  transition:background .25s var(--ease),transform .2s var(--ease)}
.mdish__minus:hover,.mdish__plus:hover{background:rgba(0,0,0,.18);transform:scale(1.08)}
.mdish__minus svg,.mdish__plus svg{width:60%;height:60%}
.mdish__qty{min-width:1.2ch;text-align:center;font-family:var(--f-display);font-weight:800;
  font-size:clamp(.95rem,1.2vw,1.1rem)}
/* state toggling — only one of add/stepper visible at a time */
.mdish__cart.is-active .mdish__add{display:none}
.mdish__cart.is-active .mdish__step{display:inline-flex}

/* ---- floating cart bar ---- */
.mcart{position:fixed;left:50%;bottom:clamp(16px,3vw,28px);transform:translateX(-50%) translateY(20px);
  z-index:850;display:flex;align-items:center;gap:clamp(12px,1.6vw,22px);
  padding:clamp(8px,1vw,12px) clamp(10px,1.2vw,16px) clamp(8px,1vw,12px) clamp(18px,2vw,28px);
  background:rgba(20,13,8,.92);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  border-radius:60px;box-shadow:0 18px 44px rgba(0,0,0,.5),inset 0 0 0 1px rgba(200,145,38,.4);
  opacity:0;pointer-events:none;transition:opacity .4s var(--ease),transform .4s var(--ease)}
.mcart.is-show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.mcart__info{display:flex;flex-direction:column;line-height:1.15}
.mcart__count{font-family:var(--f-sans);color:var(--cream-soft);font-size:clamp(.8rem,1vw,.92rem)}
.mcart__count b{color:#fff;font-weight:800}
.mcart__total{font-family:var(--f-display);font-weight:800;color:var(--gold);font-size:clamp(1.05rem,1.4vw,1.35rem)}
.mcart__clear{background:transparent;color:var(--cream-soft);cursor:pointer;
  font-family:var(--f-sans);font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:6px 10px;border-radius:30px;box-shadow:inset 0 0 0 1px rgba(200,145,38,.3);
  transition:color .3s var(--ease),box-shadow .3s var(--ease)}
.mcart__clear:hover{color:#fff;box-shadow:inset 0 0 0 1px rgba(200,145,38,.7)}
.mcart__order{display:inline-flex;align-items:center;gap:10px;
  padding:clamp(11px,1.2vw,15px) clamp(18px,2vw,28px);border-radius:48px;
  background:linear-gradient(180deg,#d8a949,#b8801f);color:#1a0f04;
  font-family:var(--f-sans);font-weight:800;letter-spacing:.02em;
  font-size:clamp(.85rem,1vw,1rem);text-decoration:none;white-space:nowrap;
  box-shadow:0 8px 20px rgba(200,145,38,.4);transition:transform .35s var(--ease),box-shadow .35s var(--ease)}
.mcart__order:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(200,145,38,.55)}

/* =====================================================================
   ABOUT FEATURE — full-width parchment background section (about.php)
   ===================================================================== */
.aboutfx{position:relative;overflow:hidden;color:#3a2412;
  min-height:900px;height:900px;
  display:flex;align-items:center;padding-block:clamp(40px,5vw,80px)}
.aboutfx__bg{position:absolute;inset:0;z-index:0}
.aboutfx__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.aboutfx__inner{position:relative;z-index:1;max-width:1500px;width:100%;margin-inline:auto;
  padding-inline:clamp(24px,5vw,72px);box-sizing:border-box;
  display:grid;grid-template-columns:1.35fr 1fr;gap:clamp(28px,5vw,70px);align-items:center}
/* left content block */
.aboutfx__copy{text-align:left}
.aboutfx__eyebrow{display:inline-flex;align-items:center;gap:14px;
  font-family:var(--f-sans);font-weight:700;letter-spacing:.34em;text-transform:uppercase;
  color:var(--maroon);font-size:clamp(.86rem,1.1vw,1.05rem)}
.aboutfx__eline{width:clamp(40px,5vw,70px);height:1.5px;background:var(--maroon);opacity:.65}
.aboutfx__title{margin:18px 0 0;font-family:var(--f-display);font-weight:700;
  line-height:1.07;color:#2a1808;font-size:clamp(2.4rem,5vw,4.2rem)}
.aboutfx__title-em{color:var(--maroon)}
.aboutfx__deco{display:block;width:clamp(280px,32vw,440px);height:24px;margin:24px 0 28px}
.aboutfx__deco svg{width:100%;height:100%}
.aboutfx__lead{margin:0 0 20px;color:#5a4632;font-family:var(--f-sans);
  font-size:clamp(1.1rem,1.4vw,1.32rem);line-height:1.75;max-width:72ch}
.aboutfx__btns{display:flex;flex-wrap:wrap;gap:16px;margin-top:clamp(20px,2.4vw,32px)}
/* buttons sit on the light parchment — force dark/visible styling */
.aboutfx__btns .btn--gold{--bd:var(--maroon);color:#fff;background:var(--maroon)}
.aboutfx__btns .btn--ghost{--bd:var(--gold);color:#7a4a1f;background:transparent}
.aboutfx__btns .btn:hover{background:var(--maroon);color:#fff;box-shadow:inset 0 0 0 1.5px var(--maroon)}
.aboutfx__btns .btn--gold:hover{background:var(--gold);color:#2a0807;box-shadow:inset 0 0 0 1.5px var(--gold)}

/* =====================================================================
   CULINARY PHILOSOPHY (about.php) — heritage layout
   ===================================================================== */
.phil{background:#0a0604;padding-top:clamp(48px,6vw,90px)}
.phil__inner{text-align:center}
/* ornamental frame around header */
.phil__frame{position:relative;max-width:980px;margin:0 auto;
  padding:clamp(34px,4vw,56px) clamp(40px,8vw,110px);
  background:url("../img/optimized/frames-01.webp") center/100% 100% no-repeat;
  display:flex;align-items:center;justify-content:center}
/* header */
.phil__head{max-width:820px;margin:0 auto;width:100%}
.phil__eyebrow{display:inline-flex;align-items:center;gap:18px;
  font-family:var(--f-display);letter-spacing:.32em;text-transform:uppercase;font-weight:700;
  color:var(--gold);font-size:clamp(.72rem,1.1vw,.95rem)}
.phil__eline{width:clamp(28px,4vw,56px);height:1px;background:var(--gold);opacity:.7}
.phil__title{margin:8px 0 0;font-family:var(--f-display);font-weight:800;
  letter-spacing:-.01em;text-transform:uppercase;line-height:1.02;
  font-size:clamp(2.2rem,5.2vw,4rem);
  background:linear-gradient(180deg,#f0c668,#b8801f 70%,#8a5a14);
  -webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;
  text-shadow:0 2px 30px rgba(200,145,38,.18)}
.phil__pill{display:inline-flex;align-items:center;gap:.7em;margin:16px 0 0;
  padding:clamp(7px,.8vw,11px) clamp(18px,2.4vw,34px);border-radius:6px;
  background:linear-gradient(180deg,#7a1417,#4e0c0e);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.4),0 8px 24px rgba(0,0,0,.4);
  font-family:var(--f-sans);letter-spacing:.18em;text-transform:uppercase;font-weight:700;
  color:#f3e7d2;font-size:clamp(.7rem,1.1vw,.95rem)}
.phil__pill i{color:var(--gold);font-style:normal}
.phil__lead{margin:20px auto 0;max-width:54ch;color:#d8c9b4;
  font-family:var(--f-sans);font-size:clamp(.95rem,1.3vw,1.12rem);line-height:1.65}

/* divider rule between header and values */
.phil__rule{display:block;width:clamp(80px,12vw,180px);height:3px;border-radius:3px;
  margin:clamp(14px,1.8vw,26px) auto clamp(20px,2.4vw,32px);
  background:linear-gradient(90deg,transparent,var(--gold),transparent)}

/* sub-header */
.phil__subhead{display:flex;align-items:center;justify-content:center;gap:clamp(16px,2.4vw,34px);
  margin-bottom:clamp(22px,2.6vw,36px)}
.phil__sline{flex:1;max-width:clamp(60px,16vw,260px);height:1px;
  background:linear-gradient(90deg,transparent,rgba(200,145,38,.6),transparent)}
.phil__sub{font-family:var(--f-display);letter-spacing:.24em;text-transform:uppercase;font-weight:700;
  color:var(--gold);font-size:clamp(.95rem,1.6vw,1.4rem);white-space:nowrap}

/* value cards 01–04 */
.phil__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(14px,1.6vw,24px);align-items:stretch}
.philcard{position:relative;text-align:center;border-radius:12px;
  padding:clamp(26px,2.6vw,40px) clamp(18px,1.8vw,28px) clamp(28px,3vw,42px);
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.012));
  border:1px solid rgba(216,169,73,.55);
  box-shadow:0 0 0 1px rgba(200,145,38,.12),0 0 18px rgba(216,169,73,.18),inset 0 1px 0 rgba(255,255,255,.05);
  transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
/* gentle always-on yellow glow ring */
.philcard::after{content:"";position:absolute;inset:-1px;border-radius:inherit;pointer-events:none;
  box-shadow:0 0 14px rgba(216,169,73,.22);opacity:.65;transition:opacity .45s var(--ease)}
.philcard:hover{transform:translateY(-8px);border-color:var(--gold-soft);
  box-shadow:0 0 0 1px rgba(216,169,73,.5),0 0 26px rgba(216,169,73,.45),0 22px 46px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.08)}
.philcard:hover::after{opacity:1;box-shadow:0 0 34px rgba(216,169,73,.5)}
.philcard__n{position:relative;z-index:1;display:block;font-family:var(--f-display);font-weight:800;color:var(--gold);
  font-size:clamp(2.2rem,3.6vw,3.2rem);line-height:1;margin-bottom:10px;
  text-shadow:0 0 18px rgba(216,169,73,.45)}
.philcard__title{position:relative;z-index:1;font-family:var(--f-display);font-weight:700;letter-spacing:.04em;text-transform:uppercase;
  color:#e0413e;font-size:clamp(.9rem,1.1vw,1.1rem);margin:0}
.philcard__line{position:relative;z-index:1;display:block;width:44px;height:1px;margin:14px auto;
  background:linear-gradient(90deg,transparent,var(--gold-soft),transparent);
  box-shadow:0 0 8px rgba(216,169,73,.5)}
.philcard__desc{position:relative;z-index:1;color:#cdbfa8;font-family:var(--f-sans);
  font-size:clamp(.86rem,1vw,.98rem);line-height:1.65;margin:0;max-width:24ch;margin-inline:auto}

/* footer line */
.phil__foot{margin:clamp(34px,4vw,56px) 0 0;font-family:var(--f-display);
  letter-spacing:.18em;text-transform:uppercase;color:var(--gold);font-weight:700;
  font-size:clamp(.8rem,1.1vw,1.02rem);
  padding-top:clamp(24px,3vw,40px);border-top:1px solid rgba(200,145,38,.25)}

/* GSAP sets initial opacity:0 only when it runs; ensure visible without JS/reduced-motion */
.no-js .phil-pop{opacity:1}
/* right media slot (you'll add the image) */
.aboutfx__media{display:flex;align-items:center;justify-content:flex-end}
/* taller image; negative top/bottom margins let it grow past its slot
   without expanding the fixed 900px section (overflow is clipped) */
.aboutfx__media img{width:clamp(300px,32vw,480px);max-width:none;
  height:clamp(440px,44vw,680px);object-fit:cover;display:block;border-radius:16px;
  margin-right:clamp(-24px,-2vw,0px);
  margin-top:clamp(-60px,-5vw,-20px);margin-bottom:clamp(-60px,-5vw,-20px)}

/* =====================================================================
   PAPER BAND — parchment divider between Philosophy & Reviews (about.php)
   ===================================================================== */
.paperband{
  position:relative;text-align:center;
  width:100%;                         /* full-bleed band, edge to edge */
  /* taller band — generous height with centred content */
  height:700px;
  display:flex;align-items:center;
  background-color:#0a0604;          /* fallback while image loads */
  background-position:center center;
  background-size:cover;             /* fill the band, no gaps */
  background-repeat:no-repeat;
}
.paperband .container{width:100%}
.paperband__inner{position:relative;z-index:1}
/* faded feature-name watermark in the left red panel */
.paperband__watermark{
  position:absolute;left:clamp(16px,2vw,40px);top:clamp(24px,4vw,56px);
  z-index:0;display:flex;flex-direction:column;align-items:flex-start;text-align:left;
  gap:.12em;
  font-family:var(--f-display);font-weight:800;text-transform:uppercase;
  line-height:1;letter-spacing:-.01em;
  font-size:clamp(2rem,3.6vw,3.4rem);
  color:rgba(244,233,214,.07);
  pointer-events:none;user-select:none;white-space:nowrap;
}

.paperband__mascot{
  position:absolute;left:clamp(120px,16vw,340px);bottom:0;z-index:2;
  width:clamp(220px,26vw,420px);height:auto;
  pointer-events:none;user-select:none;
  filter:drop-shadow(0 12px 24px rgba(0,0,0,.28));
  /* slides in from the left shortly after you reach the section */
  opacity:0;transform:translateX(-70%);
  transition:opacity .7s var(--ease) .2s,transform 1s var(--ease) .2s;
}
.paperband__mascot.is-in{opacity:1;transform:translateX(0)}
.no-js .paperband__mascot{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .paperband__mascot{transition:none;opacity:1;transform:none}
}
/* biryani dish tucked into the bottom-left corner, behind the mascot */
.paperband__dish{
  position:absolute;left:clamp(0px,1vw,24px);bottom:clamp(-60px,-4vw,-30px);z-index:1;
  width:clamp(240px,26vw,420px);height:auto;
  pointer-events:none;user-select:none;
  filter:drop-shadow(0 14px 26px rgba(0,0,0,.4));
}
/* CTA content pushed to the right half (mascot occupies the left) */
.paperband__content{
  margin-left:auto;width:min(760px,62%);
  text-align:center;
}
.paperband__divider{display:flex;align-items:center;justify-content:center;gap:14px;color:var(--gold)}
.paperband__dline{flex:1;height:2px;max-width:120px;
  background:linear-gradient(90deg,transparent,var(--gold))}
.paperband__divider .paperband__dline:last-child{
  background:linear-gradient(90deg,var(--gold),transparent)}
.paperband__cloche{width:42px;height:30px;flex:none}

.paperband__eyebrow{margin-top:clamp(18px,2.4vw,30px);color:var(--maroon);font-family:var(--f-display)}
.paperband__eyebrow::before,.paperband__eyebrow::after{background:var(--maroon)}

.paperband__title{margin:.18em 0 .35em;color:var(--maroon);
  font-size:clamp(2.4rem,5.2vw,4.4rem);text-transform:uppercase;line-height:.96}
.paperband__script{display:block;color:#1a1208;font-style:italic;
  text-transform:none;font-weight:800}
.paperband__sub{margin:0 auto;max-width:46ch;color:#6e4a2e;
  font-family:var(--f-display);font-weight:500;
  font-size:clamp(.95rem,1.2vw,1.12rem);line-height:1.6}

.paperband__features{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(14px,2vw,26px);margin:clamp(28px,4vw,52px) 0;
  position:relative;
}
/* vertical divider lines between the three columns */
.paperband__features::before,.paperband__features::after{
  content:"";position:absolute;top:18%;bottom:18%;width:1px;
  background:linear-gradient(180deg,transparent,var(--gold),transparent);opacity:.5}
.paperband__features::before{left:33.33%}
.paperband__features::after{left:66.66%}

.pbfeat{display:flex;flex-direction:column;align-items:center;gap:.5em}
.pbfeat__icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;
  color:var(--cream);background:var(--maroon)}
.pbfeat:nth-child(2) .pbfeat__icon{background:var(--gold);color:#2a0807}
.pbfeat__icon svg{width:28px;height:28px}
.pbfeat__title{margin:.2em 0 0;font-family:var(--f-display);font-weight:800;
  color:var(--maroon);text-transform:uppercase;letter-spacing:.02em;
  font-size:clamp(.82rem,1.1vw,1rem);line-height:1.1}
.pbfeat__desc{margin:0;font-family:var(--f-display);color:#6e4a2e;
  font-size:clamp(.82rem,1vw,.95rem);line-height:1.55}

.paperband__btns{display:flex;flex-wrap:wrap;gap:16px;justify-content:center;
  margin-top:clamp(20px,3vw,40px)}
/* "Get Directions" on the light parchment — black text + border for contrast */
.paperband__btns .btn--gold{--bd:#1a1208;color:#1a1208}
.paperband__btns .btn--gold:hover{background:#1a1208;color:#fff;box-shadow:inset 0 0 0 1.5px #1a1208}

/* =====================================================================
   BOOKING PAGE — reservation form
   ===================================================================== */
.booking__grid{display:grid;grid-template-columns:1fr 1.1fr;gap:clamp(28px,4vw,64px);align-items:start}
.booking__title{color:var(--sec-heading);font-size:clamp(1.8rem,3.4vw,2.8rem);margin:.2em 0 .35em;line-height:1.05}
.booking__points{list-style:none;margin:clamp(22px,3vw,34px) 0 0;padding:0;display:grid;gap:14px}
.booking__points li{display:flex;flex-direction:column;gap:2px;
  padding-left:18px;position:relative;color:var(--sec-text)}
.booking__points li::before{content:"";position:absolute;left:0;top:.5em;width:7px;height:7px;border-radius:50%;background:var(--gold)}
.booking__points strong{font-family:var(--f-display);color:var(--gold);font-weight:700;font-size:.98rem}
.booking__points span,.booking__points a{color:var(--sec-muted);font-family:var(--f-sans);font-size:.92rem}
.booking__points a:hover{color:var(--gold)}

.booking__form{background:var(--sec-panel);border-radius:16px;
  box-shadow:inset 0 0 0 1px var(--sec-line),0 22px 50px -24px rgba(0,0,0,.6);
  padding:clamp(20px,2.4vw,34px);display:grid;gap:16px}
.bk-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.bk-field{display:flex;flex-direction:column;gap:7px}
.bk-field label{font-family:var(--f-sans);font-weight:600;font-size:.82rem;letter-spacing:.04em;
  text-transform:uppercase;color:var(--sec-muted)}
.bk-field label em{font-style:normal;text-transform:none;letter-spacing:0;opacity:.7}
.bk-field input,.bk-field select,.bk-field textarea{
  width:100%;font-family:var(--f-sans);font-size:.95rem;color:var(--sec-heading);
  background:var(--sec-bg);border:1px solid var(--sec-line);border-radius:10px;
  padding:12px 14px;transition:border-color .25s var(--ease),box-shadow .25s var(--ease)}
.bk-field textarea{resize:vertical;min-height:84px}
.bk-field input::placeholder,.bk-field textarea::placeholder{color:var(--sec-muted);opacity:.7}
.bk-field input:focus,.bk-field select:focus,.bk-field textarea:focus{
  outline:none;border-color:var(--gold);box-shadow:0 0 0 3px rgba(200,145,38,.18)}
.bk-field select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23fbba00' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px}
.bk-submit{margin-top:4px;justify-self:start}
.bk-note{margin:0;font-family:var(--f-sans);font-size:.82rem;color:var(--sec-muted)}

/* =====================================================================
   BLOG PAGE — post grid
   ===================================================================== */
.blog{position:relative}
.blog__heading{color:var(--sec-heading);font-size:clamp(1.9rem,3.6vw,3rem)}
/* "From the Kitchen" eyebrow in the red theme colour */
.blog .eyebrow{color:var(--maroon)}
.blog .eyebrow::before,.blog .eyebrow--c::after{background:var(--maroon)}

/* ---- vertical side CTAs: sit statically in the blog gutters (no sticky) ---- */
.blogside-rail{position:absolute;top:50%;transform:translateY(-50%);z-index:5;pointer-events:none}
.blogside-rail--l{left:clamp(14px,2vw,32px)}
.blogside-rail--r{right:clamp(14px,2vw,32px)}
.blogside{position:relative;display:inline-flex;align-items:center;gap:12px;pointer-events:auto;
  padding:18px 16px;border-radius:1px;text-decoration:none;
  writing-mode:vertical-rl;transform:rotate(180deg);transform-origin:center;
  font-family:var(--f-sans);font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  font-size:.8rem;color:#2a0807;background:var(--gold);
  box-shadow:inset 0 0 0 1.5px var(--gold);
  transition:box-shadow .35s var(--ease),background .35s var(--ease),color .35s var(--ease)}
.blogside:hover{background:var(--red);color:#fff;box-shadow:inset 0 0 0 1.5px var(--red)}
/* left rail: red default -> yellow on hover; right rail keeps yellow default -> red on hover */
.blogside-rail--l .blogside{color:#fff;background:var(--red);box-shadow:inset 0 0 0 1.5px var(--red)}
.blogside-rail--l .blogside:hover{color:#2a0807;background:var(--gold);box-shadow:inset 0 0 0 1.5px var(--gold)}
.blogside__ico{display:grid;place-items:center}
.blogside__ico svg{width:22px;height:22px;transform:rotate(180deg)}
/* hide on narrower screens where the gutters disappear */
@media (max-width:1200px){.blogside-rail{display:none}}
.blog__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(18px,2vw,30px);margin-top:clamp(34px,4vw,56px)}

.bpost{display:flex;flex-direction:column;overflow:hidden;border-radius:14px;
  background:var(--sec-panel);box-shadow:inset 0 0 0 1px var(--sec-line);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.bpost:hover{transform:translateY(-5px);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.6),0 18px 44px rgba(0,0,0,.45)}
.bpost__media{position:relative;display:block;height:clamp(180px,16vw,230px);overflow:hidden}
.bpost__media img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s var(--ease)}
.bpost:hover .bpost__media img{transform:scale(1.06)}
.bpost__cat{position:absolute;left:14px;top:14px;z-index:1;
  font-family:var(--f-sans);font-weight:700;font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;
  color:#1a0f04;background:var(--gold);padding:.4em .8em;border-radius:100px}
.bpost__body{display:flex;flex-direction:column;flex:1;padding:clamp(16px,1.6vw,22px)}
.bpost__date{font-family:var(--f-sans);font-size:.78rem;letter-spacing:.04em;color:var(--sec-muted)}
.bpost__title{margin:.4em 0 .5em;font-family:var(--f-display);font-weight:800;line-height:1.2;
  font-size:clamp(1.05rem,1.3vw,1.25rem)}
.bpost__title a{color:var(--sec-heading);transition:color .25s var(--ease)}
.bpost__title a:hover{color:var(--gold)}
.bpost__excerpt{margin:0 0 16px;flex:1;color:var(--sec-muted);font-family:var(--f-sans);
  font-size:.9rem;line-height:1.55}
.bpost__more{display:inline-flex;align-items:center;gap:7px;
  font-family:var(--f-sans);font-weight:700;font-size:.84rem;letter-spacing:.03em;color:var(--gold);
  transition:gap .25s var(--ease)}
.bpost__more:hover{gap:11px}
/* actions row: Read more on the left, Order Now button on the right */
.bpost__actions{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:auto;flex-wrap:wrap}
.bpost__order{display:inline-flex;align-items:center;gap:8px;
  font-family:var(--f-sans);font-weight:700;font-size:.76rem;letter-spacing:.06em;text-transform:uppercase;
  color:#fff;background:var(--maroon);padding:.7em 1.3em;border-radius:1px;
  box-shadow:inset 0 0 0 1.5px var(--maroon);
  transition:background .3s var(--ease),color .3s var(--ease),box-shadow .3s var(--ease),transform .3s var(--ease)}
.bpost__order:hover{background:var(--gold);color:#1a0f04;box-shadow:inset 0 0 0 1.5px var(--gold);transform:translateY(-2px)}
.bpost__order svg{width:15px;height:15px}

/* ---- blog CTA banner (drives orders/traffic below the post grid) ---- */
.blogcta{position:relative;overflow:hidden;margin-top:clamp(40px,5vw,72px);
  border-radius:22px;background:linear-gradient(135deg,#2a0707,#7a0d10 55%,#3a0a0b);
  box-shadow:inset 0 0 0 1px rgba(200,145,38,.35),0 30px 60px -30px rgba(0,0,0,.7)}
.blogcta__glow{position:absolute;inset:0;z-index:0;pointer-events:none;
  background:radial-gradient(60% 120% at 85% 0%,rgba(200,145,38,.28),transparent 60%),
             radial-gradient(50% 120% at 10% 100%,rgba(200,145,38,.16),transparent 60%)}
.blogcta__inner{position:relative;z-index:1;text-align:center;
  max-width:760px;margin-inline:auto;padding:clamp(34px,5vw,60px) clamp(22px,4vw,48px)}
.blogcta__eyebrow{display:inline-block;font-family:var(--f-sans);font-weight:700;
  letter-spacing:.28em;text-transform:uppercase;font-size:clamp(.72rem,1vw,.85rem);
  color:var(--gold)}
.blogcta__title{margin:.5em 0 .35em;font-family:var(--f-display);font-weight:800;
  line-height:1.12;color:#fbf3e4;font-size:clamp(1.6rem,3.4vw,2.6rem)}
.blogcta__em{color:var(--gold)}
.blogcta__lead{margin:0 auto;max-width:48ch;color:rgba(255,236,214,.8);
  font-family:var(--f-sans);font-size:clamp(.95rem,1.2vw,1.1rem);line-height:1.6}
.blogcta__btns{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;margin-top:clamp(24px,3vw,34px)}
.blogcta__btns .btn--ghost{--bd:rgba(244,236,222,.5);color:#fbf3e4}

/* =====================================================================
   RESPONSIVE — five bounded breakpoint bands
   Each band is isolated (min..max) so styles never leak between ranges.
     1) (max-width:480px)                  phones
     2) (481px – 768px)                    large phones / small tablets
     3) (769px – 1024px)                   tablets / small laptops
     4) (1025px – 1280px)                  laptops
     5) (1281px – 1536px)                  large laptops / small desktops
   Non-width queries (hover:none, prefers-reduced-motion) live with their
   components above and are intentionally left untouched.
   ===================================================================== */

/* =====================================================================
   5) LARGE LAPTOP / SMALL DESKTOP — 1281px to 1536px
   ===================================================================== */
@media (min-width:1281px) and (max-width:1536px){
  /* live menu: 5 dishes per row is too tight at this width → 4 */
  .mlive__grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}

/* =====================================================================
   4) LAPTOP — 1025px to 1280px
   ===================================================================== */
@media (min-width:1025px) and (max-width:1280px){
  .mlive__grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* decorative flourishes that crowd the content at narrower desktops */
  .hero__side{display:none}
  .sigrow__bull{display:none}

  /* signature carousel no longer needs to clear the (hidden) bull */
  .sigrow__carousel{padding-right:0}

  /* faded watermark words on the menu band — pull in + shrink */
  .menuband__word{font-size:clamp(1.6rem,3vw,2.6rem)}
  .menuband__word--l{left:12%}
  .menuband__word--r{right:12%}

  /* paperband CTA can use a little more of the band width */
  .paperband__content{width:min(760px,68%)}
}

/* =====================================================================
   3) TABLET / SMALL LAPTOP — 769px to 1024px
   The main "things collapse to a single column" tier.
   ===================================================================== */
@media (min-width:769px) and (max-width:1024px){
  /* ---- header: swap full nav for the hamburger + mobile menu ---- */
  .nav{display:none}
  .nav-toggle{display:flex}
  .site-header__cta .btn{display:none}

  /* ---- hero: stack copy over media, centre everything ---- */
  .hero__inner{grid-template-columns:1fr;gap:38px;text-align:center}
  .hero__divider{margin:-80px auto -64px;display:flex;justify-content:center}
  .hero__divider img{width:clamp(260px,32vw,340px)}
  .hero__sub,.hero__desc{margin-inline:auto}
  .hero .btn-row{justify-content:center}
  .hero__media{max-width:480px;margin-inline:auto;border-radius:24px;outline-offset:8px}
  .hero--full{height:auto;min-height:640px;padding-block:clamp(110px,16vh,150px)}
  /* full-bleed banner must COVER the section (no black bars) */
  .hero--full .hero__media{max-width:none;margin:0;border-radius:0;outline:none}
  .hero--full .hero__media img{object-fit:cover;object-position:center}
  .hero--full .hero__scrim{background:rgba(10,3,2,.55)}
  .hero--full .hero__copy::before{display:none}
  .hero--full .hero__inner{text-align:center}
  .hero--full .hero__copy{max-width:none;margin-inline:auto}
  .hero__side{display:none}
  .hero__scroll{display:none}
  .hero__seal{right:18px;width:104px;animation:sealFloatSm 4.5s ease-in-out infinite}

  /* signature mascot: show it in the far bottom-right corner, on top, low */
  .sigrow{padding-bottom:120px}
  .sigrow__bull{display:block;right:-40px;bottom:-60px;left:auto;top:auto;
    width:260px;height:auto;opacity:.95;transform:none;z-index:3}
  .sigrow__carousel{padding-right:0}

  /* live menu grid 3-up */
  .mlive__grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* signature card row (fallback grid variant) */
  .sigrow__grid{grid-template-columns:repeat(3,1fr);gap:24px}

  /* ---- two-column content grids → single column ---- */
  .about__grid{grid-template-columns:1fr;gap:48px}
  /* keep the OUR STORY copy on the RIGHT side at small-laptop width */
  .about__grid--right{justify-items:end}
  .about__grid--right .about__body{max-width:min(560px,56%);text-align:left;margin-right:clamp(16px,4vw,56px)}
  .sig__stage{grid-template-columns:1fr}
  .menupv__grid{grid-template-columns:1fr}
  .order__inner{grid-template-columns:1fr}
  .diff__grid{grid-template-columns:1fr}
  .diff__sticky{position:static}
  .loc2{grid-template-columns:1fr;gap:clamp(28px,6vw,44px)}
  .loc2__panel{order:2}
  .booking__grid{grid-template-columns:1fr}

  /* why-we: keep the desktop side-by-side — food image LEFT, cards RIGHT */
  .whywe__body{grid-template-columns:.8fr 1.2fr;gap:clamp(18px,3vw,32px);align-items:center}
  .whywe__visual{order:0;min-height:clamp(260px,30vw,380px)}
  .whywe__cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .wcard--wide{grid-column:1 / -1}

  /* philosophy value cards: 2-up */
  .phil__grid{grid-template-columns:repeat(2,1fr)}

  /* about feature (about.php): keep the desktop 2-col layout — copy left, image right */
  .aboutfx{height:auto;min-height:0;padding-block:clamp(48px,9vw,80px)}
  .aboutfx__inner{grid-template-columns:1.25fr 1fr;gap:clamp(28px,4vw,48px);align-items:center}
  .aboutfx__media{order:0;justify-content:flex-end}
  .aboutfx__media img{width:min(100%,400px);height:auto;object-fit:contain;margin:0}
  .aboutfx__title{font-size:clamp(2.2rem,4.6vw,3.2rem)}
  .aboutfx__lead{font-size:clamp(1rem,1.5vw,1.15rem)}

  /* paperband: keep the desktop layout — mascot on the LEFT, content on the RIGHT */
  .paperband__watermark,.paperband__dish{display:none}
  .paperband__mascot{display:block;left:clamp(8px,3vw,40px);bottom:0;
    width:clamp(220px,30vw,340px)}
  .paperband__content{margin-left:auto;margin-right:0;width:min(560px,58%)}

  /* ---- reviews header: stop the divider overlapping the lead, even spacing ---- */
  .reviews__head{padding-inline:16px;margin-bottom:clamp(40px,5vw,56px)}
  .reviews__title{line-height:1.12}
  .reviews__deco-img{width:clamp(240px,28vw,340px);
    margin:clamp(-64px,-7vw,-48px) auto clamp(-84px,-10vw,-60px)}
  .reviews__lead{margin-top:20px;line-height:1.6;max-width:52ch}
  .reviews__lead br{display:none}
  .google-badge{margin-top:26px}

  /* blog grid 2-up */
  .blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* footer: 2-up columns */
  .footer-grid{grid-template-columns:1fr 1fr}

  /* menu band: dish in the upper area, caption flows just below it (no overlap) */
  .menuband{height:clamp(620px,78vh,720px)}
  .menuband__word{font-size:clamp(1.6rem,3vw,2.6rem)}
  .menuband__word--l{left:8%}
  .menuband__word--r{right:8%}
  .menushow{top:8%;height:40%}
  .menuband__inner{justify-content:flex-end;padding-bottom:clamp(48px,8vh,90px)}

  /* ---- MENU CTA: desktop layout, tighter — text LEFT, mascot CENTRE, panel RIGHT ---- */
  .menucta{min-height:0;height:auto}
  .menucta__bg img{object-position:center}
  .menucta__inner{grid-template-columns:1fr 1fr;align-items:center;
    padding-block:clamp(40px,6vw,64px)}
  /* left column: discover copy + mascot side by side (mascot centres in the gap) */
  .menucta__left{grid-column:1;display:flex;align-items:flex-end;gap:clamp(8px,1.5vw,20px);
    width:100%;height:100%;padding:clamp(20px,3vw,36px) 0 clamp(20px,3vw,36px) clamp(24px,4vw,56px)}
  .menucta__discover{flex:0 1 auto;align-self:flex-start;max-width:clamp(240px,26vw,340px);
    text-align:left;margin-top:clamp(16px,3vw,40px)}
  .menucta__dtitle{font-size:clamp(2.2rem,4.4vw,3.4rem)}
  .menucta__dlead{font-size:clamp(.98rem,1.2vw,1.12rem);margin-bottom:clamp(20px,2.4vw,30px)}
  /* mascot sits in the gap between the text and the cream panel */
  .menucta__visual{flex:1 1 auto;align-self:flex-end;justify-content:flex-end;
    margin-right:clamp(-40px,-3vw,-16px);margin-bottom:clamp(10px,2vw,32px)}
  .menucta__visual img{width:auto;max-width:min(125%,420px);max-height:520px}
  /* keep everything clipped to the section — no horizontal overflow */
  .menucta{overflow:hidden}
  /* cream order panel — sits in the right of the arch, fully visible */
  .menucta__panel{grid-column:2;justify-self:end;align-self:center;
    width:min(80%,360px);margin-top:0;margin-right:clamp(-12px,-1vw,-4px);
    padding:clamp(18px,2vw,28px) clamp(16px,1.8vw,26px)}
  .menucta__lead{max-width:34ch}
  .menucta__grid{grid-template-columns:1fr 1fr;gap:10px}
  .ocard{padding:clamp(12px,1.4vw,18px) clamp(12px,1.2vw,16px)}
}

/* =====================================================================
   2) LARGE PHONE / SMALL TABLET — 481px to 768px
   ===================================================================== */
@media (min-width:481px) and (max-width:768px){
  /* ---- header ---- */
  .nav{display:none}
  .nav-toggle{display:flex}
  .site-header__cta .btn{display:none}

  /* ---- hero ---- */
  .hero__inner{grid-template-columns:1fr;gap:38px;text-align:center}
  .hero__divider{margin:-70px auto -56px;display:flex;justify-content:center}
  .hero__sub,.hero__desc{margin-inline:auto}
  .hero .btn-row{justify-content:center}
  .hero__media{max-width:480px;margin-inline:auto;border-radius:24px;outline-offset:8px}
  .hero--full{height:auto;min-height:640px;padding-block:clamp(110px,16vh,150px)}
  .hero--full .hero__scrim{background:rgba(10,3,2,.7)}
  .hero--full .hero__copy::before{display:none}
  .hero--full .hero__inner{text-align:center}
  .hero--full .hero__copy{max-width:none;margin-inline:auto;margin-left:auto}
  /* full-bleed banner must COVER the section (no black bars) */
  .hero--full .hero__media{max-width:none;margin:0;border-radius:0;outline:none}
  .hero--full .hero__media img{object-fit:cover;object-position:center}
  .hero--full .hero__scrim{background:rgba(10,3,2,.6)}
  .hero__side{display:none}
  .hero__scroll{display:none}
  .hero__seal{right:18px;width:104px;animation:sealFloatSm 4.5s ease-in-out infinite}

  /* ---- "why families choose us": row → 3-up grid, drop the dividers ---- */
  .whyfc__head{gap:10px;margin-top:clamp(16px,4vw,32px);margin-bottom:clamp(20px,3vw,32px)}
  .whyfc__title{white-space:normal}
  .whyfc__flourish{width:clamp(90px,14vw,160px);margin-inline:clamp(-24px,-3vw,-12px)}
  .whyfc{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
  .whyfc__div{display:none}
  .whyfc__card{min-height:0;padding:18px 12px;border:1px solid rgba(200,145,38,.18);border-radius:12px}
  .whyfc__card::after{display:none}
  .whyfc__desc{position:static;transform:none;opacity:1;margin-top:8px;padding:0;color:rgba(255,255,255,.62)}

  /* ---- single-column content grids ---- */
  .about__grid{grid-template-columns:1fr;gap:48px}
  /* OUR STORY copy on the right at tablet width — a touch wider, nudged left */
  .about__grid--right{justify-items:end}
  .about__grid--right .about__body{max-width:min(520px,66%);text-align:left;margin-right:clamp(12px,4vw,48px)}
  .sig__stage{grid-template-columns:1fr}
  .menupv__grid{grid-template-columns:1fr}
  .order__inner{grid-template-columns:1fr}
  .diff__grid{grid-template-columns:1fr}
  .diff__sticky{position:static}
  .loc2{grid-template-columns:1fr;gap:clamp(28px,6vw,44px)}
  .loc2__panel{order:2}
  .booking__grid{grid-template-columns:1fr}

  /* decorative bits off */
  /* signature mascot: bigger, brought to the FRONT, dropped below the cards */
  .sigrow{padding-bottom:170px}
  .sigrow__bull{display:block;right:6px;bottom:-70px;left:auto;top:auto;
    width:240px;height:auto;opacity:.95;transform:none;z-index:3}
  .sigrow__carousel{padding-right:0}

  /* trust ledger: collapse the 4-col row to label + value, desc on its own line */
  .trust__row{grid-template-columns:auto 1fr;gap:14px 18px}
  .trust__desc{grid-column:1/-1}
  .trust__plus{display:none}

  /* why-we: stacked visual + 2×2 card grid + 2-col trust bar */
  .whywe__body{grid-template-columns:1fr;gap:clamp(24px,5vw,40px)}
  .whywe__visual{order:-1;min-height:auto}
  .whywe__cards{grid-template-columns:1fr 1fr}
  /* the wide card joins the grid as a normal 2×2 cell */
  .wcard--wide{grid-column:auto;flex-direction:column;text-align:center}
  .wcard--wide .wcard__ico{margin-bottom:6px}
  .wcard__wbody{align-items:center}
  .wcard--wide .wcard__desc{max-width:28ch}
  /* trust ledger: 2-up grid, each icon+text kept inline on one row */
  .whywe__trust{grid-template-columns:1fr 1fr;justify-items:start;gap:22px 18px;
    padding:clamp(20px,4vw,28px) clamp(22px,5vw,40px)}
  .wtrust{align-items:center;gap:14px;width:100%}
  .wtrust__txt{line-height:1.2}
  .wtrust__sep{display:none}

  /* signature card row: 2-up */
  .sigrow__grid{grid-template-columns:repeat(2,1fr)}

  /* live menu: 2-up */
  .mlive__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* philosophy: 2-up cards; bigger frame with content aligned evenly inside */
  .phil__grid{grid-template-columns:repeat(2,1fr)}
  .phil__inner{padding-inline:0}
  .phil__frame{padding:clamp(56px,11vw,84px) clamp(48px,9vw,72px);max-width:none;width:auto;
    margin-inline:clamp(-12px,-2vw,-6px)}
  .phil__head{max-width:none}
  .phil__title{font-size:clamp(2.4rem,7vw,3.4rem)}
  .phil__pill{flex-wrap:wrap;justify-content:center;gap:.6em;text-align:center;max-width:100%}
  .phil__lead{max-width:52ch;margin-inline:auto}

  /* ---- MENU CTA: unstack the fixed 50/50 split into a single column ---- */
  .menucta{min-height:0;height:auto}
  /* crop the background to the maroon side only — hide the beige arch on the right */
  .menucta__bg img{object-position:left center}
  .menucta__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(32px,6vw,48px);
    padding:clamp(48px,8vw,72px) clamp(24px,5vw,40px)}
  .menucta__left{grid-column:auto;display:block;width:100%;height:auto;padding:0;text-align:center}
  .menucta__discover{max-width:560px;align-self:auto;margin-top:0;text-align:center;margin-inline:auto}
  .menucta__eyebrow{justify-content:center}
  .menucta__dwave{max-width:280px;margin:10px auto 18px}
  .menucta__dlead{max-width:46ch;margin-inline:auto}
  .menucta__dbtn{margin-inline:auto}
  .menucta__dlink{justify-content:center}
  /* menu mascot shown below the Discover copy, centred — tight spacing */
  .menucta__visual{display:flex;justify-content:center;align-self:auto;width:100%;
    margin:-18px auto -28px}
  .menucta__visual img{max-width:min(100%,300px);max-height:none;margin:0}
  .menucta__panel{grid-column:auto;position:static;transform:none;justify-self:auto;align-self:auto;
    width:100%;max-width:480px;background:rgba(244,236,222,.96);border-radius:18px;
    padding:clamp(30px,5vw,44px) clamp(24px,4vw,36px)}

  /* about feature: stacked */
  .aboutfx{height:auto;min-height:0;padding-block:clamp(48px,9vw,80px)}
  .aboutfx__inner{grid-template-columns:1fr;gap:clamp(28px,6vw,44px)}
  .aboutfx__media{order:-1;justify-content:center}
  .aboutfx__media img{width:min(100%,460px);height:auto;object-fit:contain;margin:0}
  /* readability panel behind the copy over the busy temple background */
  .aboutfx__copy{background:rgba(244,233,214,.86);border-radius:16px;
    padding:clamp(24px,5vw,34px);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
    box-shadow:0 10px 30px -16px rgba(0,0,0,.45)}

  /* paperband: mascot on the LEFT, content on the RIGHT (like desktop) */
  .paperband__watermark,.paperband__dish{display:none}
  .paperband__mascot{display:block;left:clamp(-20px,1vw,16px);bottom:0;
    width:clamp(180px,28vw,260px)}
  .paperband__content{margin-left:auto;margin-right:0;width:min(480px,60%)}
  /* menu band: dish upper, caption just below it — minimal gap */
  .menuband{height:clamp(520px,72vh,620px)}
  /* keep the AUTHENTIC / MADURAI watermark visible, tucked to the edges */
  .menuband__word{display:block;top:18%;font-size:clamp(1.3rem,4vw,2.2rem)}
  .menuband__word--l{left:4%}
  .menuband__word--r{right:4%}
  .menushow{top:7%;height:40%}
  .menushow__item{width:clamp(180px,34vw,250px)}
  .menuband__inner{width:min(560px,86%);gap:8px;justify-content:flex-end;
    padding-bottom:clamp(36px,6vh,60px)}

  /* ---- reviews header: tidy line-height, padding & divider spacing ---- */
  .reviews__head{padding-inline:16px;margin-bottom:clamp(34px,5vw,48px)}
  .reviews__title{font-size:clamp(2rem,5.2vw,2.8rem);line-height:1.15}
  .reviews__deco-img{width:clamp(220px,34vw,300px);
    margin:clamp(-60px,-8vw,-44px) auto clamp(-78px,-11vw,-56px)}
  .reviews__lead{margin-top:16px;font-size:clamp(1rem,1.9vw,1.1rem);line-height:1.6;max-width:46ch}
  .reviews__lead br{display:none}
  .google-badge{margin-top:24px}

  /* gallery: even 3-up grid of uniform square tiles (drop the masonry spans) */
  .gallery__grid{grid-template-columns:repeat(3,1fr);grid-auto-rows:auto;gap:12px}
  .gallery__grid .tall{grid-row:auto}
  .gallery__grid .wide{grid-column:auto}
  .gallery__grid figure{aspect-ratio:1/1}
  .gallery__grid img{height:100%}

  /* blog grid 2-up */
  .blog__grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* footer: 2-up */
  .footer-grid{grid-template-columns:1fr 1fr}
}

/* =====================================================================
   1) PHONE — up to 480px
   Everything collapses to a single column; smallest chrome.
   ===================================================================== */
@media (max-width:480px){
  /* ---- header ---- */
  .nav{display:none}
  .nav-toggle{display:flex}
  .site-header__cta .btn{display:none}
  .brand__logo{height:60px}
  .site-header.is-stuck .brand__logo{height:50px}
  .brand__name{font-size:.86rem;max-width:42vw}

  /* ---- hero ---- */
  .hero__inner{grid-template-columns:1fr;gap:34px;text-align:center}
  .hero__ta{margin-bottom:.2em}
  .hero__divider{margin:-64px auto -52px;display:flex;justify-content:center}
  .hero__divider img{width:clamp(200px,62vw,280px)}
  /* narrower, evenly-centred paragraphs so they balance with the buttons */
  .hero__sub{max-width:30ch;margin:.5em auto .6em;font-size:1.05rem}
  .hero__desc{max-width:34ch;margin:0 auto 1.6em;font-size:.95rem;line-height:1.6}
  .hero .btn-row{flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:320px;margin-inline:auto}
  .hero .btn-row .btn{width:100%;justify-content:center;padding-inline:1.4em}
  .hero__media{max-width:480px;margin-inline:auto;border-radius:24px;outline-offset:8px}
  .hero--full{height:auto;min-height:640px;padding-block:clamp(110px,16vh,150px)}
  .hero--full .hero__scrim{background:rgba(10,3,2,.7)}
  .hero--full .hero__copy::before{display:none}
  .hero--full .hero__inner{text-align:center}
  .hero--full .hero__copy{max-width:none;margin-inline:auto;margin-left:auto}
  /* full-bleed banner must COVER the section on portrait phones (no black bars) */
  .hero--full .hero__media{max-width:none;margin:0;border-radius:0;outline:none}
  .hero--full .hero__media img{object-fit:cover;object-position:center}
  .hero--full .hero__scrim{background:rgba(10,3,2,.6)}
  .hero__side{display:none}
  .hero__scroll{display:none}
  .hero__seal{right:18px;width:104px;animation:sealFloatSm 4.5s ease-in-out infinite}

  /* ---- "why families choose us": row → 2-up grid, drop the dividers ---- */
  .ornframe{padding:clamp(22px,7vw,34px) clamp(16px,5vw,26px)}
  .whyfc__head{gap:6px;justify-content:flex-start;text-align:left;padding-right:90px;margin-bottom:18px}
  .whyfc__title{font-size:clamp(.85rem,3.6vw,1.1rem);letter-spacing:.1em;white-space:normal;text-align:left}
  .whyfc__flourish{display:none}
  .whyfc{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;justify-content:stretch}
  .whyfc__div{display:none}
  .whyfc__card{min-height:0;padding:18px 10px;border:1px solid rgba(200,145,38,.18);border-radius:12px}
  .whyfc__card::after{display:none}
  .whyfc__face{gap:10px}
  .whyfc__desc{position:static;transform:none;opacity:1;margin-top:8px;padding:0;color:rgba(255,255,255,.62)}

  /* ---- single-column content grids ---- */
  .about__grid{grid-template-columns:1fr;gap:48px}
  .about__grid--right{justify-items:stretch}
  .about__grid--right .about__body{max-width:none}
  .about__thumb{display:none}
  .sig__stage{grid-template-columns:1fr}
  .menupv__grid{grid-template-columns:1fr}
  .order__inner{grid-template-columns:1fr}
  .order__panel{grid-template-columns:1fr}
  .diff__grid{grid-template-columns:1fr}
  .diff__sticky{position:static}
  .loc2{grid-template-columns:1fr;gap:clamp(28px,6vw,44px)}
  .loc2__panel{order:2}
  .booking__grid{grid-template-columns:1fr}
  .bk-row{grid-template-columns:1fr}

  /* bigger dish cards: shrink the side arrows + gap so the card gets the width */
  .sigrow__carousel{padding-right:0;gap:6px}
  .sigrow__arrow{width:34px;height:34px}
  .sigrow__media{aspect-ratio:4/3.4}

  /* signature mascot: tucked into the far bottom-right corner, sitting low with
     no empty gap below — section ends right under the mascot */
  .sigrow{padding-bottom:130px}
  .sigrow__bull{display:block;right:-28px;bottom:-20px;left:auto;top:auto;
    width:185px;height:auto;opacity:.95;transform:none;z-index:3}

  /* trust ledger */
  .trust__row{grid-template-columns:auto 1fr;gap:14px 18px}
  .trust__desc{grid-column:1/-1}
  .trust__plus{display:none}

  /* why-we cards + trust bar single column */
  .whywe__body{grid-template-columns:1fr;gap:clamp(24px,5vw,40px)}
  .whywe__visual{order:-1;min-height:auto}
  .whywe__cards{grid-template-columns:1fr}
  .wcard--wide{flex-direction:column;text-align:center}
  .wcard--wide .wcard__ico{margin-bottom:6px}
  .wcard__wbody{align-items:center}
  .wcard--wide .wcard__desc{max-width:28ch}
  /* trust ledger: 2-up grid, each icon+text kept inline on one row */
  .whywe__trust{grid-template-columns:1fr 1fr;justify-items:start;gap:20px 14px;
    padding:clamp(20px,5vw,28px) clamp(18px,5vw,26px)}
  .wtrust{align-items:center;gap:12px;width:100%}
  .wtrust__txt{line-height:1.2}
  .wtrust__sep{display:none}

  /* signature card row single column, centred */
  .sigrow__grid{grid-template-columns:1fr;max-width:340px;margin-inline:auto}

  /* live menu single column */
  .mlive__grid{grid-template-columns:1fr}

  /* philosophy: bigger frame (pull it out to the section edges), text padded in ---- */
  .phil__grid{grid-template-columns:1fr}
  .phil__inner{padding-inline:0}
  .phil__frame{padding:clamp(52px,15vw,80px) clamp(34px,9vw,50px);max-width:none;width:auto;
    margin-inline:clamp(-16px,-4vw,-8px)}
  .phil__head{max-width:none}
  .phil__eyebrow{gap:8px;font-size:.66rem;letter-spacing:.18em}
  .phil__eline{width:clamp(16px,5vw,28px)}
  .phil__title{font-size:clamp(1.8rem,8.5vw,2.5rem);letter-spacing:0}
  /* pill: wrap + breathe so it never touches the frame border */
  .phil__pill{flex-wrap:wrap;justify-content:center;gap:.45em;text-align:center;
    max-width:100%;padding:8px 14px;letter-spacing:.08em;font-size:.66rem;line-height:1.4}
  .phil__lead{max-width:30ch;font-size:.92rem;line-height:1.6}

  /* ---- MENU CTA: unstack the fixed 50/50 split into a single column ---- */
  .menucta{min-height:0;height:auto}
  /* crop the background to the maroon side only — hide the beige arch on the right */
  .menucta__bg img{object-position:left center}
  .menucta__inner{display:flex;flex-direction:column;align-items:center;gap:clamp(28px,7vw,40px);
    padding:clamp(40px,10vw,60px) clamp(18px,5vw,28px)}
  /* maroon "Discover / Our Menu" intro on top, centred, full width */
  .menucta__left{grid-column:auto;display:block;width:100%;height:auto;padding:0;text-align:center}
  .menucta__discover{max-width:none;align-self:auto;margin-top:0;text-align:center}
  .menucta__eyebrow{justify-content:center}
  .menucta__dwave{max-width:240px;margin:8px auto 16px}
  .menucta__dbtn{margin-inline:auto}
  .menucta__dlink{justify-content:center}
  /* menu mascot shown below the Discover copy, centred */
  .menucta__visual{display:flex;justify-content:center;align-self:auto;width:100%;
    margin:clamp(12px,4vw,20px) auto 0}
  .menucta__visual img{max-width:min(100%,230px);max-height:none;margin:0}
  /* cream order panel below, full width */
  .menucta__panel{grid-column:auto;position:static;transform:none;justify-self:auto;align-self:auto;
    width:100%;max-width:460px;background:rgba(244,236,222,.96);border-radius:18px;
    padding:clamp(26px,7vw,38px) clamp(16px,5vw,24px)}
  /* order buttons in a 2×2 grid: icon over text, compact to fit 2-up */
  .menucta__grid{grid-template-columns:1fr 1fr;gap:12px}
  .ocard{flex-direction:column;align-items:center;text-align:center;gap:8px;
    padding:18px 10px;min-height:104px;justify-content:center}
  .ocard__txt{align-items:center;text-align:center}
  .ocard--zomato .ocard__txt,.ocard__txt--c{align-items:center}
  .ocard__txt b{font-size:1.05rem}
  .ocard__txt br{display:none}

  /* about feature stacked */
  .aboutfx{height:auto;min-height:0;padding-block:clamp(48px,9vw,80px)}
  .aboutfx__inner{grid-template-columns:1fr;gap:clamp(28px,7vw,40px)}
  .aboutfx__media{order:-1;justify-content:center;margin-bottom:clamp(14px,4vw,22px)}
  .aboutfx__media img{width:min(100%,460px);height:auto;object-fit:contain;margin:0}
  /* readability: light parchment panel behind the copy so dark text stays legible
     over the busy temple background */
  .aboutfx__copy{background:rgba(244,233,214,.86);border-radius:16px;
    padding:clamp(20px,6vw,28px);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);
    box-shadow:0 10px 30px -16px rgba(0,0,0,.45)}
  .aboutfx__lead{color:#3f2e1c;font-size:1rem;line-height:1.65}

  /* paperband: single-column features; stacked buttons; mascot bottom-left */
  .paperband__watermark,.paperband__dish{display:none}
  .paperband{height:auto;padding-block:clamp(48px,12vw,72px) clamp(170px,46vw,220px)}
  .paperband__content{position:relative;z-index:2;width:100%;margin:0 auto}
  .paperband__mascot{display:block;left:-30px;right:auto;bottom:-10px;
    transform:none;width:clamp(150px,42vw,190px);z-index:1}
  .no-js .paperband__mascot,.paperband__mascot.is-in{transform:none}
  .paperband__features{grid-template-columns:1fr;gap:18px}
  .paperband__features::before,.paperband__features::after{display:none}
  /* stack the CTA buttons slightly right of centre, clear of the left mascot */
  .paperband__btns{flex-direction:column;align-items:flex-end;gap:12px;
    padding-right:clamp(20px,7vw,46px)}
  .paperband__btns .btn{width:min(66%,230px);justify-content:center;
    padding:.85em 1.3em;font-size:.8rem}

  /* menu band: dish upper, caption just below it — minimal gap */
  .menuband{height:clamp(470px,78vh,560px)}
  /* keep the AUTHENTIC / MADURAI watermark visible, small + tucked to the edges */
  .menuband__word{display:block;top:14%;font-size:clamp(.95rem,4.4vw,1.5rem);z-index:0}
  .menuband__word--l{left:2%}
  .menuband__word--r{right:2%}
  .menushow{top:6%;height:36%}
  .menushow__item{width:clamp(160px,46vw,210px)}
  .menuband__inner{width:min(440px,90%);gap:8px;justify-content:flex-end;
    padding-bottom:clamp(30px,6vh,52px)}
  .menuband__title{font-size:1.5rem}
  .menuband__lead{display:block}

  /* gallery: even 2-up grid of uniform square tiles (drop the masonry spans) */
  .gallery__grid{grid-template-columns:1fr 1fr;grid-auto-rows:auto;gap:10px}
  .gallery__grid .tall{grid-row:auto}
  .gallery__grid .wide{grid-column:auto}
  .gallery__grid figure{aspect-ratio:1/1}
  .gallery__grid img{height:100%}
  /* 9 images leave a lone tile on the last row — hide it so the grid ends even */
  .gallery__grid figure:last-child{display:none}

  /* blog single column */
  .blog__grid{grid-template-columns:1fr}

  /* footer single column */
  .footer-grid{grid-template-columns:1fr}

  /* ---- reviews header: tidy spacing, line-height & alignment ---- */
  .reviews__head{padding-inline:6px;margin-bottom:clamp(28px,7vw,40px)}
  .reviews__title{font-size:clamp(1.9rem,8.5vw,2.6rem);line-height:1.12}
  .reviews__deco-img{width:clamp(190px,52vw,260px);
    margin:clamp(-48px,-12vw,-30px) auto clamp(-60px,-15vw,-40px)}
  .reviews__lead{margin-top:14px;font-size:clamp(.95rem,3.6vw,1.05rem);line-height:1.65;max-width:34ch}
  .reviews__lead br{display:none}
  .google-badge{margin-top:22px;padding:12px 18px}

  /* shrink floating chrome */
  .reviews__arrow{display:none}
  .fab{width:48px;height:48px}
  .mcart{left:12px;right:12px;transform:translateY(20px);width:auto;justify-content:space-between;
    gap:10px;padding-inline:14px}
  .mcart.is-show{transform:translateY(0)}
  .mcart__clear{display:none}
  .mcart__order{padding-inline:16px}
}

/* ============ ELFSIGHT BRANDING (hidden) ============ */
/* the link carries inline !important styles, so use properties it doesn't lock */
.reviews__embed a[href*="elfsight.com"]{
  clip-path: inset(100%) !important;
  filter: opacity(0) !important;
  pointer-events: none !important;
}
