/* ===== Virundhu Spot: tokens + base ===== */
:root {
  --h: 80px;
  --pad: clamp(16px, 4vw, 32px);   /* page side gutter, same on every page */
  --wrap: 1240px;                  /* page content width, same on every page */
  --bg: #FFF0D2;
  --surface: #FFF7E8;
  --text: #211F17;
  --muted: #625744;
  --ink: #142817;            /* headings */
  --gold: #F2B83F;
  --gold-soft: #F7D77C;
  --gold-text: #765018;      /* gold for TEXT on light surfaces */
  --leaf: #28552B;
  --chilli: #9C4A2F;
  --brass: #C49435;
  --deep: #071B0B;
  --line: rgba(196, 148, 53, .38);
  --shade: rgba(7, 27, 11, .06);
  --shade-strong: rgba(7, 27, 11, .13);
  --btn-bg: #17421F;
  --btn-fg: #FFF0D2;
  --shadow: 0 18px 40px rgba(7, 27, 11, .22);
  /* header + footer use deep heritage green in both modes */
  --hdr-bg: #071B0B;
  --hdr-fg: #FFF4DD;
  --hdr-muted: #F7D77C;
  --hdr-line: rgba(242, 184, 63, .42);
  --hdr-shade: rgba(247, 215, 124, .10);
  --hdr-shade-strong: rgba(247, 215, 124, .18);
  --font-head: "Cormorant Garamond", Georgia, serif;
  --font-body: "Hind Madurai", "Segoe UI", system-ui, sans-serif;
  color-scheme: light;
}
*,*::before,*::after{ box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--bg); color: var(--text); font: 400 1rem/1.65 var(--font-body); transition: background .3s ease, color .3s ease; }
body.no-scroll { overflow: hidden; }
img { display: block; max-width: 100%; }
a { color: inherit; }
ul,ol{ margin: 0; padding: 0; list-style: none; }
.container { width: min(100% - 2 * var(--pad), var(--wrap)); margin-inline: auto; }
:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.skip { position: absolute; inset-inline-start: 12px; top: -60px; z-index: 2000; padding: 10px 16px; background: var(--btn-bg); color: var(--btn-fg); border-radius: 8px; }
.skip:focus { top: 12px; }

/* ===== Buttons ===== */
.btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px 22px; border-radius: 999px; font: 500 .9375rem/1 var(--font-body); text-decoration: none; cursor: pointer; border: 1.5px solid transparent; transition: transform .25s ease, box-shadow .25s ease, background .25s ease, color .25s ease; }
.btn--solid { background: var(--btn-bg); color: var(--btn-fg); }
.btn--solid:hover { transform: translateY(-2px); box-shadow: var(--shadow); }
.btn--gold { background: var(--gold); color: var(--deep); font-weight: 600; }
.btn--gold:hover { background: var(--gold-soft); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(0, 0, 0, .25); }
.btn--ghost { border-color: var(--gold); color: var(--ink); background: transparent; }
.btn--ghost:hover { background: var(--gold); color: var(--deep); transform: translateY(-2px); }
.btn--lg { min-height: 52px; padding: 14px 30px; font-size: 1rem; }

/* ===== Header (logo + name left, menu centre, tools + CTA right) ===== */
.hdr { position: sticky; top: 0; z-index: 1000; height: var(--h); background: var(--hdr-bg); color: var(--hdr-fg); border-bottom: 3px solid var(--gold); transition: box-shadow .25s ease, background .3s ease; }
.hdr::after { content: ""; position: absolute; inset-inline: 0; top: 100%; height: 9px; pointer-events: none; background: var(--deep) radial-gradient(circle, var(--gold) 1.6px, transparent 2.2px) 0 50% / 14px 9px repeat-x; }
.hdr.is-scrolled { box-shadow: 0 8px 22px rgba(7, 27, 11, .42); }
.hdr__inner { height: 100%; width: min(100% - 2 * var(--pad), var(--wrap)); margin-inline: auto; display: grid; grid-template-columns: auto 1fr auto auto; align-items: center; gap: 20px; }

.brand { position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 12px; color: var(--hdr-fg); text-decoration: none; }
.brand__mark { height: 48px; width: auto; flex: none; transition: transform .5s ease; }
.brand:hover .brand__mark { transform: scale(1.06); }
.brand__text { display: flex; flex-direction: column; line-height: 1.05; white-space: nowrap; }
.brand__name { font: 700 1.75rem/1 var(--font-head); letter-spacing: .02em; color: var(--hdr-fg); }
.brand__tag { margin-top: 4px; font: italic 500 1rem/1 var(--font-head); color: var(--hdr-muted); }

.menu { display: contents; }
.nav { justify-self: center; order: 1; }
.nav__list { display: flex; align-items: center; gap: 2px; margin: 0; padding: 4px; background: var(--hdr-shade); border-radius: 999px; }
.nav__item { position: relative; }
.nav__link,.nav__row{ border-radius: 999px; }
.nav__link { display: inline-block; padding: 10px 18px; font-size: .9375rem; font-weight: 500; white-space: nowrap; color: var(--hdr-fg); text-decoration: none; transition: background .2s ease, color .2s ease; }
.nav__row { display: flex; align-items: center; transition: background .2s ease; }
.nav__row .nav__link { padding-inline: 18px 4px; }
.nav__toggle { width: 28px; height: 28px; margin-inline-end: 8px; display: grid; place-items: center; background: none; border: 0; border-radius: 50%; color: var(--hdr-fg); font-size: 11px; cursor: pointer; }
.nav__toggle i { transition: transform .2s ease; }
.has-sub.is-open .nav__toggle i { transform: rotate(180deg); }
.nav__link:hover { color: var(--hdr-muted); }
.nav__item > .nav__link:hover,.nav__row:hover{ background: var(--hdr-shade-strong); }
.nav__item.is-current > .nav__link,.nav__item.is-current > .nav__row{ background: var(--gold); }
.nav__item.is-current > .nav__link,.nav__item.is-current .nav__row .nav__link,.nav__item.is-current .nav__toggle{ color: var(--deep); font-weight: 600; }

.sub { position: absolute; top: 100%; inset-inline-start: 0; z-index: 5; min-width: 148px; margin: 7px 0 0; padding: 4px; display: none; background: var(--deep); border: 1px solid var(--hdr-line); border-radius: 14px; box-shadow: var(--shadow); }
.sub::before { content: ""; position: absolute; inset-inline: 0; top: -8px; height: 8px; }
.has-sub.is-open > .sub { display: block; }
@media (hover: hover) and (min-width: 1024px) { .has-sub:hover > .sub { display: block; } }
.sub__link { display: block; padding: 9px 12px; min-height: 38px; border-radius: 10px; text-align: center; font-size: .9375rem; line-height: 1.25; font-weight: 500; color: var(--hdr-fg); text-decoration: none; transition: background .2s ease, color .2s ease; }
.sub__link:hover { background: var(--hdr-shade-strong); color: var(--hdr-muted); }
.sub__link[aria-current="page"] { background: var(--gold); color: var(--deep); }

.actions { display: flex; align-items: center; gap: 10px; order: 3; }
.hdr__tools { order: 2; position: relative; z-index: 2; display: flex; align-items: center; gap: 10px; margin-inline-end: -10px; }
.icon-btn { width: 42px; height: 42px; display: grid; place-items: center; background: var(--hdr-shade); border: 1px solid var(--hdr-line); border-radius: 50%; color: var(--hdr-fg); font-size: 16px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.icon-btn:hover { background: var(--hdr-shade-strong); color: var(--hdr-muted); }
.ico-sun { display: none; }
.hdr__enq { height: 44px; min-height: 0; padding-inline: 22px; gap: 10px; }
.hdr__enq i { font-size: 12px; transition: translate .2s ease; }
.hdr__enq:hover i { translate: 3px 0; }

/* hamburger: tablet + mobile only */
.burger { --bsz: 42px; order: 4; position: relative; z-index: 2; display: none; width: var(--bsz); height: var(--bsz); place-items: center; padding: 0; background: var(--hdr-shade); border: 1px solid var(--hdr-line); border-radius: 50%; color: var(--hdr-fg); font-size: 16px; cursor: pointer; transition: background .2s ease, color .2s ease; }
.burger:hover { background: var(--hdr-shade-strong); color: var(--hdr-muted); }
.burger i { display: none !important; }
.burger::before,.burger::after{ content: ""; position: absolute; left: 50%; top: 50%; width: 18px; height: 2px; margin: -1px 0 0 -9px; border-radius: 2px; background: currentColor; transition: transform .25s ease, box-shadow .25s ease; }
.burger::before { transform: translateY(-6px); box-shadow: 0 6px 0 currentColor; }
.burger::after { transform: translateY(6px); }
.burger[aria-expanded="true"]::before { transform: rotate(45deg); box-shadow: none; }
.burger[aria-expanded="true"]::after { transform: rotate(-45deg); }

/* large laptops: keep one row */
@media (min-width: 1024px) and (max-width: 1180px) {
  .hdr__inner { gap: 12px; }
  .brand__name { font-size: 1.5rem; }
  .brand__tag { font-size: .9rem; }
  .nav__link { padding: 9px 12px; font-size: .875rem; }
  .nav__row .nav__link { padding-inline: 12px 2px; }
  .nav__toggle { margin-inline-end: 6px; }
  .actions { gap: 8px; }
  .hdr__enq { padding-inline: 16px; font-size: .875rem; }
}

/* tablet + mobile (below 1024px): dropdown menu card */
@media (max-width: 1023px) {
  :root { --h: 68px; }
  .hdr__inner { display: flex; justify-content: flex-start; gap: 8px; }
  .hdr__tools { margin-inline: auto 0; gap: 8px; }
  .burger { display: grid; }
  .brand__mark { height: 40px; }
  .brand__name { font-size: 1.5rem; }
  .hdr::after { display: none; }

  .menu { position: fixed; top: calc(var(--h) + 8px); right: var(--pad); left: auto; z-index: 1; width: min(340px, calc(100% - 2 * var(--pad))); max-height: calc(100vh - var(--h) - 24px); max-height: calc(100dvh - var(--h) - 24px); overflow-y: auto; display: none; flex-direction: column; background: var(--deep); border: 1px solid var(--hdr-line); border-radius: 20px; box-shadow: var(--shadow); }
  [dir="rtl"] .menu { right: auto; left: var(--pad); }
  .menu.is-open { display: flex; animation: menu-in .22s ease both; }
  @keyframes menu-in { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

  .nav { flex: none; width: 100%; min-height: 0; justify-self: auto; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; padding: 10px 12px 6px; }
  .nav__list { flex-direction: column; align-items: stretch; gap: 2px; margin: 0; padding: 0; background: none; border-radius: 0; }
  .nav__item { padding: 0; text-align: start; }
  .nav__link,.nav__row{ border-radius: 12px; }
  .nav__link { display: block; padding: 11px 14px; font: 600 1.25rem/1.25 var(--font-head); }
  .nav__row { justify-content: space-between; }
  .nav__row .nav__link { display: block; flex: 1; padding: 11px 14px; }
  .nav__toggle { width: 40px; height: 40px; margin-inline-end: 2px; font-size: 12px; }
  .nav__item > .nav__link:hover,.nav__row:hover{ background: var(--hdr-shade); }
  .sub { position: static; min-width: 0; margin: 0; padding: 2px 0 6px; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
  .sub::before { display: none; }
  .sub__link { text-align: start; padding: 9px 14px 9px 28px; }
  [dir="rtl"] .sub__link { padding: 9px 28px 9px 14px; }
  .actions { flex: none; justify-content: stretch; padding: 8px 12px 12px; }
  .actions .hdr__enq { width: 100%; }
}
@media (max-width: 440px) {
  .brand__tag { display: none; }
  .brand { gap: 10px; }
  .brand__mark { height: 34px; }
  .brand__name { font-size: 1.375rem; }
  .hdr__tools { gap: 6px; }
  .hdr__tools .icon-btn { width: 38px; height: 38px; font-size: 15px; }
  .burger { --bsz: 38px; }
}
@media (max-width: 340px) {
  .hdr__tools .icon-btn { width: 34px; height: 34px; }
  .burger { --bsz: 34px; }
  .brand__name { font-size: 1.25rem; }
}
@media (prefers-reduced-motion: reduce) {
  .hdr *,.menu{ transition: none !important; }
  html { scroll-behavior: auto; }
}

/* ===== Page placeholder (replaced as each page's sections are built) ===== */
.page-stub { min-height: 70vh; display: grid; place-content: center; gap: 8px; padding: 72px 0; text-align: center; }
.page-stub h1 { margin: 0; font: 700 clamp(2rem, 5vw, 3.25rem)/1.1 var(--font-head); color: var(--ink); }
.page-stub p { margin: 0; color: var(--muted); }

/* ===== Footer ===== */
.ftr { color: rgba(255, 244, 221, .78); background: var(--deep); font-size: .9375rem; }
.ftr::before { content: ""; display: block; height: 3px; background: linear-gradient(90deg, transparent, var(--gold), transparent); }
.ftr__wrap { width: min(100% - 2 * var(--pad), var(--wrap)); margin-inline: auto; display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.2fr; gap: clamp(28px, 4vw, 56px); padding-block: clamp(44px, 6vw, 72px); }
.ftr__wrap > div:first-child { max-width: 310px; }
.ftr__about { margin: 14px 0 17px; max-width: 30ch; line-height: 1.75; }
.ftr h3 { margin: 0 0 14px; font: 700 1.4rem/1.2 var(--font-head); color: var(--gold-soft); }
.ftr li + li { margin-top: 9px; }
.ftr a { text-decoration: none; transition: color .2s ease; }
.ftr li a { display: inline-flex; gap: 10px; align-items: flex-start; line-height: 1.55; }
.ftr li a i { margin-top: .3em; flex: 0 0 1.1em; color: var(--gold-soft); }
.ftr li a:hover,.ftr__bar a:hover{ color: var(--gold-soft); }
.ftr__social { display: flex; gap: 11px; }
.ftr__social a { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid rgba(242, 184, 63, .44); border-radius: 50%; color: var(--gold-soft); transition: transform .22s ease, background .22s ease, color .22s ease; }
.ftr__social a:hover { background: var(--gold-soft); color: var(--deep); transform: translateY(-3px); }
.ftr__bar { border-top: 1px solid rgba(242, 184, 63, .20); }
.ftr__bar p { width: min(100% - 2 * var(--pad), var(--wrap)); margin: 0 auto; padding-block: 18px; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; font-size: .8125rem; color: rgba(255, 244, 221, .62); }
@media (max-width: 960px) { .ftr__wrap { grid-template-columns: 1fr 1fr; } .ftr__wrap > div:first-child { max-width: none; } }
@media (max-width: 560px) { .ftr__wrap { grid-template-columns: 1fr; } .ftr__bar p { justify-content: center; text-align: center; } }

/* ===== Back to top ===== */
.totop { position: fixed; inset-inline-end: var(--pad); bottom: 22px; z-index: 900; width: 48px; height: 48px; padding: 0; display: grid; place-items: center; background: var(--btn-bg); border: 0; border-radius: 50%; color: var(--btn-fg); box-shadow: var(--shadow); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .25s ease, transform .25s ease, visibility .25s; }
.totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.totop__ring { position: absolute; inset: 0; width: 100%; height: 100%; transform: rotate(-90deg); }
.totop__track { fill: none; stroke: rgba(255, 244, 221, .25); stroke-width: 2; }
.totop__bar { fill: none; stroke: var(--gold); stroke-width: 2.5; stroke-linecap: round; stroke-dasharray: 138.23; stroke-dashoffset: 138.23; }
.totop__arrow { position: relative; width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* =====================================================================
   HOME 1 / SECTION 1: HERO (cinematic)
   ===================================================================== */
.hero1 { position: relative; isolation: isolate; overflow: hidden; height: max(calc(100svh - var(--h)), 620px); display: flex; background: var(--deep); color: var(--hdr-fg); }
.hero1__slides,.hero1__shade{ position: absolute; inset: 0; }
.hero1__slides { z-index: -2; }
.hero1__slide { position: absolute; inset: 0; opacity: 0; background: #1a3a1f; }
.hero1__slide.is-active { opacity: 1; }
.hero1__slide img { width: 100%; height: 100%; object-fit: cover; will-change: transform; }
.hero1__shade { z-index: -1; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(7, 27, 11, .90) 0, rgba(7, 27, 11, .66) 42%, rgba(7, 27, 11, .12) 100%),
    linear-gradient(0deg, rgba(7, 27, 11, .80) 0, transparent 38%); }

.hero1__inner { position: relative; display: flex; flex-direction: column; justify-content: center; padding-block: clamp(32px, 5vw, 64px) 96px; }
.hero1__copy { max-width: 780px; }
.hero1__badge { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 24px; padding: 8px 18px 8px 14px; border: 1px solid var(--hdr-line); border-radius: 999px; background: rgba(7, 27, 11, .45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: .875rem; font-weight: 500; color: var(--hdr-fg); }
.hero1__pulse { position: relative; width: 10px; height: 10px; border-radius: 50%; background: var(--gold); }
.hero1__pulse::after { content: ""; position: absolute; inset: -5px; border-radius: 50%; border: 2px solid var(--gold); opacity: 0; animation: hero1-pulse 2.2s ease-out infinite; }
@keyframes hero1-pulse { 0% { transform: scale(.5); opacity: .8; } 100% { transform: scale(1.6); opacity: 0; } }

.hero1__title { margin: 0 0 22px; font: 700 clamp(3.1rem, 8.2vw, 7.4rem)/.96 var(--font-head); letter-spacing: -.015em; color: var(--hdr-fg); text-shadow: 0 4px 40px rgba(0, 0, 0, .4); }
.hero1__title .line { display: block; overflow: hidden; padding-block: .06em .15em; margin-block: -.06em -.15em; }
.hero1__title .w { display: inline-block; will-change: transform; }
.hero1__title em { font-style: italic; font-weight: 500; color: var(--gold); }
.hero1__lead { max-width: 46ch; margin: 0 0 32px; font-size: 1.125rem; color: rgba(255, 244, 221, .88); }
.hero1__cta { display: flex; flex-wrap: wrap; gap: 12px; }
.hero1__cta .btn i { margin-inline-start: 10px; font-size: .8em; transition: translate .2s ease; }
.hero1__cta .btn:hover i { translate: 4px 0; }
.hero1 .btn--ghost { color: var(--hdr-fg); border-color: rgba(255, 244, 221, .7); }
.hero1 .btn--ghost:hover { color: var(--deep); border-color: var(--gold); }

.hero1__bottom { position: absolute; inset-inline: 0; bottom: 28px; display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.hero1__cap { display: flex; align-items: baseline; gap: 14px; margin: 0; }
.hero1__capNum { font: 700 1.1rem/1 var(--font-head); color: var(--gold); letter-spacing: .08em; }
.hero1__capName { font: italic 500 1.6rem/1.1 var(--font-head); color: var(--hdr-fg); }
.hero1__bars { display: flex; gap: 10px; }
.hero1__bar { width: clamp(36px, 7vw, 72px); height: 22px; padding: 0; display: flex; align-items: center; background: none; border: 0; cursor: pointer; }
.hero1__bar i { display: block; position: relative; width: 100%; height: 3px; border-radius: 3px; background: rgba(255, 244, 221, .3); overflow: hidden; }
.hero1__bar i::after { content: ""; position: absolute; inset: 0; background: var(--gold); transform-origin: left center; transform: scaleX(var(--p, 0)); }
.hero1__bar.is-active:first-child i::after { transform: scaleX(var(--p, 1)); }
.hero1__bar:hover i { background: rgba(255, 244, 221, .55); }

/* hidden for a split second until the intro starts (never longer than 4s) */
.hero-js .hero1 { visibility: hidden; animation: hero1-show 0s linear 4s forwards; }
@keyframes hero1-show { to { visibility: visible; } }

@media (max-width: 899px) {
  .hero1 { height: auto; min-height: max(calc(100svh - var(--h)), 600px); }
  .hero1__shade { background: linear-gradient(0deg, rgba(7, 27, 11, .92) 0, rgba(7, 27, 11, .62) 55%, rgba(7, 27, 11, .35) 100%); }
  .hero1__inner { padding-block: 44px 100px; }
}
@media (max-width: 560px) {
  .hero1__cta .btn { flex: 1 1 100%; }
  .hero1__capName { font-size: 1.3rem; }
  .hero1__bottom { bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) { .hero1__pulse::after { animation: none; } }

/* =====================================================================
   HOME 1 / SECTION 2: WELCOME STRIP
   ===================================================================== */

/* =====================================================================
   HOME 1 / SECTION 3: BREAKFAST SPECIALS (interactive showcase)
   ===================================================================== */
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.vm { flex: none; position: relative; width: 16px; height: 16px; border: 1.5px solid #2e8b3d; border-radius: 3px; background: #fff; }
.vm::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: #2e8b3d; }

/* heading */

/* showcase grid */
.sp-show { display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: "tabs" "stage" "info"; gap: clamp(26px, 4vw, 40px); margin-top: clamp(32px, 5vw, 60px); }
.sp-tabs { grid-area: tabs; }
.sp-stage { grid-area: stage; }
.sp-infos { grid-area: info; }

/* tabs */
.sp-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.sp-tab { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px 20px; border-radius: 16px; border: 1px solid var(--hdr-line); background: rgba(247, 215, 124, .06); color: var(--hdr-fg); font: inherit; text-align: start; cursor: pointer; transition: background .3s ease, color .3s ease, border-color .3s ease, transform .3s ease; }
.sp-tab:hover { background: rgba(247, 215, 124, .14); transform: translateY(-2px); }
.sp-tab__n { font: 700 1.5rem/1 var(--font-head); color: var(--gold); }
.sp-tab__t { min-width: 0; }
.sp-tab__t b { display: block; font: 700 1.2rem/1.15 var(--font-head); }
.sp-tab__t small { display: block; margin-top: 3px; font-size: .78rem; color: var(--gold-soft); }
.sp-tab__p { font: 700 1.3rem/1 var(--font-head); color: var(--gold-soft); white-space: nowrap; }
.sp-tab.is-active { background: var(--gold); border-color: var(--gold); color: var(--deep); box-shadow: 0 14px 30px rgba(0, 0, 0, .35); }
.sp-tab.is-active .sp-tab__n,.sp-tab.is-active .sp-tab__t small,.sp-tab.is-active .sp-tab__p{ color: var(--deep); }
.sp-tab.is-active .sp-tab__t small { opacity: .8; }
.sp-tab__bar { position: absolute; inset-inline: 16px; bottom: 8px; display: none; height: 3px; border-radius: 3px; overflow: hidden; background: rgba(7, 27, 11, .18); }
.sp-tab__bar i { display: block; width: 100%; height: 100%; background: var(--deep); transform-origin: left center; transform: scaleX(0); }
.sp-show.is-auto .sp-tab.is-active .sp-tab__bar { display: block; }
.sp-show.is-auto .sp-tab.is-active .sp-tab__bar i { animation: sp-fill 7s linear forwards; }
.sp-show.is-paused .sp-tab__bar i { animation-play-state: paused; }
@keyframes sp-fill { to { transform: scaleX(1); } }

/* plate stage */
.sp-stage { position: relative; width: min(100%, 420px); aspect-ratio: 1; margin-inline: auto; }
.sp-stage::before { content: ""; position: absolute; inset: -9%; border-radius: 50%; background: radial-gradient(circle, rgba(242, 184, 63, .3) 0, rgba(242, 184, 63, .09) 46%, transparent 68%); animation: sp-glow 5s ease-in-out infinite alternate; }
@keyframes sp-glow { from { opacity: .65; transform: scale(.96); } to { opacity: 1; transform: scale(1.04); } }
.sp-ring { position: absolute; inset: 0; width: 100%; height: 100%; color: var(--gold); animation: sp-spin 80s linear infinite; }
.sp-ring circle { fill: none; stroke: currentColor; }
.sp-ring .r1 { stroke-width: 1.1; stroke-linecap: round; stroke-dasharray: .1 2.3; }
.sp-ring .r2 { stroke-width: .4; stroke-dasharray: 5 3; opacity: .55; }
@keyframes sp-spin { to { transform: rotate(360deg); } }
.sp-steam { position: absolute; top: -9%; left: 50%; z-index: 3; width: 26%; translate: -50% 0; pointer-events: none; }
.sp-steam path { fill: none; stroke: rgba(255, 244, 221, .6); stroke-width: 2.4; stroke-linecap: round; transform-box: fill-box; transform-origin: center; opacity: 0; animation: sp-steam 3.6s ease-in-out infinite; }
.sp-steam .w2 { animation-delay: 1.1s; }
.sp-steam .w3 { animation-delay: 2.2s; }
@keyframes sp-steam { 0% { opacity: 0; transform: translateY(16px) scaleY(.85); } 35% { opacity: .75; } 100% { opacity: 0; transform: translateY(-14px) scaleY(1.1); } }

.sp-plate { position: absolute; inset: 0; opacity: 0; visibility: hidden; transition: opacity .7s ease, visibility .7s; }
.sp-plate.is-active { opacity: 1; visibility: visible; }
.sp-plate__img { position: absolute; inset: 9%; margin: 0; border-radius: 50%; overflow: hidden; border: 5px solid var(--gold); background: #1a3a1f; box-shadow: 0 0 0 10px var(--deep), 0 0 0 12px var(--brass), 0 30px 60px rgba(0, 0, 0, .55); }
.sp-plate__img img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.2) rotate(-4deg); transition: transform 1.4s cubic-bezier(.2, .7, .2, 1); }
.sp-plate.is-active .sp-plate__img img { transform: none; }
.sp-show.is-hover .sp-plate.is-active .sp-plate__img img { transform: scale(1.05); }
.sp-plate__badge { position: absolute; top: 2%; inset-inline-end: 0; z-index: 4; display: grid; place-items: center; width: 27%; aspect-ratio: 1; border-radius: 50%; background: var(--gold); color: var(--deep); border: 3px solid var(--deep); box-shadow: 0 12px 26px rgba(0, 0, 0, .45); }
.sp-plate__badge::after { content: ""; position: absolute; inset: 20%; border: 1px dashed rgba(7, 27, 11, .45); border-radius: 50%; }
.sp-plate__ring { position: absolute; inset: 0; width: 100%; height: 100%; animation: sp-spin 20s linear infinite; }
.sp-plate__ring text { font: 600 7.6px var(--font-body); fill: currentColor; }
.sp-plate__amt { position: relative; z-index: 1; display: flex; align-items: baseline; font: 700 clamp(1.25rem, 3.4vw, 2rem)/1 var(--font-head); }
.sp-plate__amt small { margin-inline-end: 1px; font-size: .6em; }
.sp-plate__chip { position: absolute; z-index: 4; display: inline-flex; align-items: center; gap: 8px; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--hdr-line); background: rgba(7, 27, 11, .84); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: .8125rem; font-weight: 500; color: var(--hdr-fg); white-space: nowrap; animation: sp-float 5s ease-in-out infinite; }
.sp-plate__chip i { color: var(--gold); }
.sp-plate__chip--a { inset-inline-start: -2%; top: 24%; }
.sp-plate__chip--b { inset-inline-start: 4%; bottom: 10%; animation-delay: -2.4s; }
@keyframes sp-float { 50% { translate: 0 -8px; } }
.sp-plate__badge,.sp-plate__chip{ opacity: 0; scale: .6; transition: opacity .5s ease, scale .7s cubic-bezier(.34, 1.56, .64, 1); }
.sp-plate.is-active .sp-plate__badge,.sp-plate.is-active .sp-plate__chip{ opacity: 1; scale: 1; transition-delay: .35s; }
.sp-plate.is-active .sp-plate__chip--b { transition-delay: .5s; }

/* details */
.sp-infos { display: grid; padding: clamp(22px, 3.4vw, 36px); border-radius: 24px; border: 1px solid var(--hdr-line); background: linear-gradient(180deg, rgba(247, 215, 124, .10), rgba(247, 215, 124, .03)); box-shadow: inset 0 1px 0 rgba(247, 215, 124, .18); }
.sp-info { grid-area: 1 / 1; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .5s ease, transform .6s ease, visibility .5s; }
.sp-info.is-active { opacity: 1; visibility: visible; transform: none; transition-delay: .12s; }
.sp-info:focus-visible { outline-offset: 8px; border-radius: 12px; }
.sp-info__label { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 7px 16px; border-radius: 999px; background: var(--gold); color: var(--deep); font-size: .8rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.sp-info__label i { font-size: .85em; }
.sp-info__name { display: flex; align-items: center; gap: 12px; margin: 0; font: 700 clamp(2rem, 4.4vw, 3.2rem)/1.05 var(--font-head); color: var(--hdr-fg); }
.sp-info__name .vm { width: 20px; height: 20px; }
.sp-info__name .vm::after { inset: 4px; }
.sp-info__ta { margin: 6px 0 0; font-size: 1.1rem; font-weight: 500; color: var(--gold-soft); }
.sp-info__desc { margin: 14px 0 0; max-width: 52ch; font-size: 1.0625rem; color: rgba(255, 244, 221, .88); }
.sp-info__meta { display: flex; flex-wrap: wrap; gap: 10px 26px; margin: 20px 0 0; padding-block: 16px; border-block: 1px dashed var(--hdr-line); font-size: .9375rem; color: var(--hdr-fg); }
.sp-info__meta li { display: inline-flex; align-items: center; gap: 9px; }
.sp-info__meta li > i { color: var(--gold); }
.sp-spice { display: inline-flex; gap: 3px; font-size: .85rem; }
.sp-spice i { color: rgba(255, 244, 221, .25); }
.sp-spice i.is-on { color: #E8643A; }
.sp-info__with { margin-top: 18px; }
.sp-info__with p { margin: 0 0 8px; font: italic 600 1.15rem/1.2 var(--font-head); color: var(--gold-soft); }
.sp-info__with ul { display: flex; flex-wrap: wrap; gap: 8px; }
.sp-info__with li { padding: 6px 14px; border-radius: 999px; border: 1px solid var(--hdr-line); background: rgba(247, 215, 124, .08); font-size: .875rem; }
.sp-info__act { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.sp-info__act .btn i { margin-inline-start: 10px; font-size: .8em; transition: translate .2s ease; }
.sp-info__act .btn:hover i { translate: 4px 0; }

/* menu board */
.board1 { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); align-items: center; gap: clamp(24px, 5vw, 64px); margin-top: clamp(56px, 8vw, 100px); padding: clamp(24px, 4vw, 48px); border-radius: 26px; border: 2px solid var(--brass); background: linear-gradient(180deg, rgba(247, 215, 124, .09), rgba(247, 215, 124, .03)); box-shadow: 0 0 0 6px var(--deep), 0 0 0 7px var(--hdr-line); }
.board1__ta { margin: 0 0 4px; font-size: 1rem; font-weight: 600; color: var(--gold-soft); }
.board1__title { margin: 0; font: 700 clamp(1.9rem, 3.6vw, 2.7rem)/1.1 var(--font-head); color: var(--hdr-fg); }
.board1__note { margin: 12px 0 22px; max-width: 34ch; font-size: .96rem; color: rgba(255, 244, 221, .75); }
.board1__cta i { margin-inline-start: 10px; font-size: .8em; transition: translate .2s ease; }
.board1__cta:hover i { translate: 4px 0; }
.board1__list { display: grid; grid-template-columns: 1fr 1fr; gap: 2px clamp(24px, 4vw, 48px); }
.board1__list li { display: flex; align-items: baseline; gap: 10px; padding-block: 11px; }
.board1__name { font: 700 1.3rem/1.2 var(--font-head); color: var(--hdr-fg); }
.board1__name small { display: block; margin-top: 2px; font: 500 .8125rem/1.3 var(--font-body); color: var(--gold-soft); }
.board1__dots { flex: 1; min-width: 18px; align-self: flex-end; margin-bottom: .45em; border-bottom: 2px dotted rgba(242, 184, 63, .6); }
.board1__price { font: 700 1.3rem/1 var(--font-head); color: var(--gold); white-space: nowrap; }
.board1__price span[aria-hidden] { margin-inline-end: 2px; font-size: .8em; }

/* Tamil ribbon */
.ribbon1 { display: flex; overflow: hidden; margin-top: clamp(56px, 8vw, 100px); background: var(--gold); color: var(--deep); border-block: 2px solid var(--brass); }
.ribbon1__track { flex: none; display: flex; align-items: center; min-width: 100%; animation: sp-marquee 42s linear infinite; }
.ribbon1:hover .ribbon1__track { animation-play-state: paused; }
.ribbon1__track li { display: inline-flex; align-items: center; gap: 12px; padding: 16px 0 16px 0; padding-inline-end: 0; white-space: nowrap; font: 700 clamp(1.3rem, 2.4vw, 1.8rem)/1 var(--font-head); }
.ribbon1__track li span { font: 600 .82em/1 var(--font-body); opacity: .85; }
.ribbon1__track li::after { content: ""; flex: none; width: 9px; height: 9px; margin-inline: 22px; background: var(--deep); transform: rotate(45deg); }
@keyframes sp-marquee { to { transform: translateX(-100%); } }

/* desktop: stage left, tabs + details right */
@media (min-width: 1024px) {
  .sp-show { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-areas: "stage tabs" "stage info"; column-gap: clamp(40px, 5vw, 80px); row-gap: 24px; align-items: start; }
  .sp-stage { align-self: center; width: min(100%, 540px); }
  .sp-plate__chip { font-size: .875rem; }
}
@media (max-width: 1023px) {
  .sp-infos { max-width: 760px; width: 100%; margin-inline: auto; }
  .sp-tabs { max-width: 760px; width: 100%; margin-inline: auto; }
}
@media (max-width: 900px) {
  .board1 { grid-template-columns: 1fr; }
  .board1__note { max-width: none; }
}

/* phones: tabs become a swipe row */
@media (max-width: 599px) {
  .sp-tabs { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; margin-inline: calc(-1 * var(--pad)); width: auto; max-width: none; padding: 4px var(--pad) 8px; scroll-padding-inline: var(--pad); }
  .sp-tabs::-webkit-scrollbar { display: none; }
  .sp-tab { flex: 0 0 min(76%, 270px); scroll-snap-align: start; }
  .sp-stage { width: min(100%, 340px); }
  .sp-plate__chip { padding: 6px 11px; font-size: .72rem; gap: 6px; }
  .sp-plate__chip--a { inset-inline-start: -4%; }
  .sp-plate__badge { width: 29%; }
  .sp-info__act .btn { flex: 1 1 100%; }
  .board1__list { grid-template-columns: 1fr; }
  
}
@media (prefers-reduced-motion: reduce) {
  .sp-stage::before,.sp-ring,.sp-steam path,.sp-plate__ring,.sp-plate__chip{ animation: none; }
  .sp-steam { display: none; }
  .sp-plate,.sp-plate__img img,.sp-plate__badge,.sp-plate__chip,.sp-info,.sp-tab{ transition: none; }
  .sp-plate__img img { transform: none; }
  .ribbon1 { display: block; }
  .ribbon1__track { animation: none; flex-wrap: wrap; justify-content: center; }
  .ribbon1__dup { display: none; }
}

/* ===== Breakfast Specials — editorial tiffin-house redesign ===== */

.sp-show{grid-template-columns:minmax(205px,.72fr) minmax(340px,1.22fr) minmax(290px,.9fr);grid-template-areas:"tabs stage info";align-items:center;gap:clamp(20px,3vw,42px);margin-top:clamp(34px,5vw,62px);}
.sp-tabs{display:flex;flex-direction:column;gap:0;border-top:1px solid rgba(226,190,125,.25);}
.sp-tab{min-height:92px;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;padding:16px 12px 17px 8px;border:0;border-bottom:1px solid rgba(226,190,125,.25);border-radius:0;background:transparent;color:#fff7e8;text-align:start;box-shadow:none;}
.sp-tab:hover{transform:translateX(4px);background:rgba(226,190,125,.06);}
.sp-tab__n{font:600 1.05rem/1 Georgia,serif;color:#b18b4d;align-self:start;padding-top:3px;}
.sp-tab__t b{font:600 1.08rem/1.2 var(--font-body);letter-spacing:.01em;}
.sp-tab__t small{font-size:.78rem;color:#b9a887;margin-top:6px;}
.sp-tab__p{font:600 1.05rem/1 Georgia,serif;color:#e5c17c;}
.sp-tab.is-active{background:rgba(218,174,96,.12);border-color:rgba(218,174,96,.5);color:#fff7e8;box-shadow:inset 3px 0 #d5a653;}
.sp-tab.is-active .sp-tab__n,.sp-tab.is-active .sp-tab__t small,.sp-tab.is-active .sp-tab__p{color:#edc77e;}
.sp-tab__bar{display:block;inset-inline:0;bottom:-1px;height:1px;background:transparent;}
.sp-show.is-auto .sp-tab.is-active .sp-tab__bar{background:rgba(213,166,83,.18);}
.sp-show.is-auto .sp-tab.is-active .sp-tab__bar i{background:#d5a653;}
.sp-stage{width:100%;max-width:540px;aspect-ratio: .94;margin:0;display:grid;place-items:center;isolation:isolate;}
.sp-stage::before{inset:8%;border-radius:48% 52% 45% 55%;background:radial-gradient(ellipse,rgba(198,143,57,.28),rgba(198,143,57,.06) 54%,transparent 72%);filter:blur(4px);}
.sp-ring{inset:5%;width:90%;height:90%;color:#c99b53;opacity:.55;}
.sp-steam{top:3%;width:20%;}
.sp-plate__img{inset:8%;border:8px solid #f2e4c7;border-radius:48% 52% 47% 53%;box-shadow:0 0 0 1px #b78b49,0 26px 65px rgba(0,0,0,.55);background:#332818;}
.sp-plate__img img{transform:scale(1.08);}
.sp-plate__badge{top:6%;inset-inline-end:3%;width:25%;background:#e3bd76;color:#182014;border:5px solid #10170f;box-shadow:0 0 0 1px #d2a353,0 12px 28px rgba(0,0,0,.4);}
.sp-plate__badge::after{border-color:rgba(24,32,20,.45);}
.sp-plate__chip{background:#182016;border:1px solid rgba(226,190,125,.55);border-radius:3px;padding:10px 13px;color:#fff4dc;font-size:.78rem;}
.sp-plate__chip--a{inset-inline-start:-1%;top:25%;}
.sp-plate__chip--b{inset-inline-start:4%;bottom:13%;}
.sp-infos{min-height:440px;display:flex;align-items:center;padding:clamp(24px,3vw,38px);border:0;border-inline-start:1px solid rgba(226,190,125,.35);border-radius:0;background:linear-gradient(135deg,rgba(218,174,96,.09),rgba(218,174,96,.015));box-shadow:none;}
.sp-info{width:100%;}
.sp-info__label{border-radius:2px;padding:7px 11px;background:#d8ad64;color:#1b2116;font-size:.68rem;letter-spacing:.12em;}
.sp-info__name{font-size:clamp(1.85rem,3vw,2.7rem);line-height:1.05;color:#fff6e6;}
.sp-info__ta{color:#d9b777;font-size:.95rem;}
.sp-info__desc{font-size:.94rem;line-height:1.85;color:#d0cabb;margin-top:17px;}
.sp-info__meta{gap:10px 16px;margin-top:19px;padding-block:14px;border-color:rgba(226,190,125,.25);font-size:.8rem;color:#f0e6d2;}
.sp-info__with{margin-top:18px;}
.sp-info__with>p{color:#d9b777;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;}
.sp-info__with ul{gap:7px 14px;}
.sp-info__with li{color:#d8d0c0;font-size:.82rem;}
.sp-info__act{margin-top:24px;gap:10px;}
.sp-info__act .btn{min-height:46px;padding-inline:16px;font-size:.82rem;border-radius:2px;}

.board1{position:relative;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,5vw,70px);margin-top:clamp(58px,8vw,100px);padding:clamp(28px,4vw,52px);border:1px solid rgba(219,177,103,.55);border-radius:3px;background:linear-gradient(110deg,rgba(211,164,83,.13),rgba(211,164,83,.025) 55%),#151d14;box-shadow:inset 0 0 0 6px #10170f,inset 0 0 0 7px rgba(219,177,103,.24);}
.board1__intro{position:relative;padding-inline-end:20px;border-inline-end:1px solid rgba(219,177,103,.25);}
.board1__ta{color:#d7b16f;letter-spacing:.14em;font-size:.85rem;}
.board1__title{font-size:clamp(2rem,3.4vw,3.1rem);line-height:1.02;color:#fff4df;}
.board1__note{max-width:30ch;color:#c8c0ae;font-size:.9rem;line-height:1.8;}
.board1__list{column-gap:clamp(20px,4vw,52px);row-gap:0;}
.board1__list li{min-height:66px;padding:13px 0;border-bottom:1px solid rgba(219,177,103,.2);}
.board1__name{font-size:1rem;color:#fff1d8;}
.board1__name small{color:#bda77f;font-size:.75rem;}
.board1__dots{border-bottom:1px dotted rgba(219,177,103,.5);}
.board1__price{color:#e6c17e;font-size:.95rem;}
.board1__cta{margin-top:16px;border-radius:2px;}
.ribbon1{margin-top:clamp(58px,8vw,96px);background:#d3a653;color:#172014;}
.ribbon1__track li{font-size:.86rem;letter-spacing:.04em;}
.ribbon1__track li span{color:#5e4826;}
@media(max-width:1050px){.sp-show{grid-template-columns:minmax(180px,.68fr) minmax(300px,1.1fr);grid-template-areas:"tabs stage" "info info";}.sp-infos{min-height:0;border:1px solid rgba(226,190,125,.28);border-top:2px solid #bd914e;}.sp-info__act{flex-wrap:wrap;}}
@media(max-width:700px){.sp-show{grid-template-columns:1fr;grid-template-areas:"stage" "tabs" "info";gap:24px;}.sp-stage{width:min(100%,430px);margin-inline:auto;}.sp-tabs{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(226,190,125,.25);}.sp-tab{min-height:84px;padding:13px 9px;grid-template-columns:25px minmax(0,1fr) auto;gap:7px;}.sp-tab__t b{font-size:.92rem;}.sp-tab__n{font-size:.9rem;}.sp-tab__p{font-size:.9rem;}.sp-infos{padding:24px 20px;}.board1{grid-template-columns:1fr;}.board1__intro{border-inline-end:0;border-bottom:1px solid rgba(219,177,103,.25);padding:0 0 24px;}.board1__list{grid-template-columns:1fr;}}
@media(max-width:420px){.sp-tabs{grid-template-columns:1fr;}.sp-tab{min-height:72px;}.sp-stage{aspect-ratio:1;}.sp-plate__chip{font-size:.68rem;padding:8px 10px;}.sp-info__act .btn{width:100%;justify-content:center;}}

/* ===== Breakfast Specials: editorial signature experience ===== */

.bf-topline{display:flex;justify-content:space-between;align-items:center;padding-bottom:18px;border-bottom:1px solid rgba(222,184,103,.28);color:#d7ae62;font-size:.72rem;font-weight:800;letter-spacing:.2em}
.bf-topline span:last-child{font-family:var(--font-head);font-size:1.1rem;letter-spacing:.04em}

.bf-headnote{max-width:340px;padding-bottom:8px}.bf-headnote p{margin:0 0 20px;color:rgba(255,248,233,.7);font-size:1rem;line-height:1.8}.bf-headnote span{display:inline-flex;align-items:center;gap:9px;color:#e5bb68;font-size:.7rem;font-weight:800;letter-spacing:.12em}
.bf-experience{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.85fr);min-height:560px;border:1px solid rgba(222,184,103,.27);background:#172319;box-shadow:0 35px 90px rgba(0,0,0,.2)}
.bf-gallery{position:relative;min-width:0;padding:clamp(18px,3vw,38px);background:#1a281d;overflow:hidden}.bf-image-wrap{position:relative;min-height:470px;height:100%;overflow:hidden;background:#253329}.bf-image-wrap:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,17,10,.05) 35%,rgba(8,17,10,.78) 100%);pointer-events:none}.bf-main-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.04);transition:opacity .45s ease,transform 1.2s cubic-bezier(.2,.7,.2,1);animation:bf-image-enter .8s ease both}.bf-main-image.is-changing{opacity:.15;transform:scale(1.1)}@keyframes bf-image-enter{from{opacity:.5;transform:scale(1.12)}to{opacity:1;transform:scale(1.04)}}
.bf-image-count{position:absolute;z-index:2;top:22px;left:22px;display:flex;align-items:baseline;gap:5px;padding:10px 14px;background:#e2b65e;color:#142016;font:700 1rem var(--font-head)}.bf-image-count span{font:600 .72rem var(--font-body);opacity:.65}.bf-image-caption{position:absolute;z-index:2;left:clamp(20px,4vw,48px);right:25px;bottom:28px;display:flex;flex-direction:column;gap:9px}.bf-image-caption span{color:#e8c579;font-size:.68rem;font-weight:800;letter-spacing:.22em}.bf-image-caption b{color:#fff8e9;font:500 clamp(1.5rem,3vw,2.6rem)/1.05 var(--font-head);letter-spacing:.01em}.bf-round-stamp{position:absolute;z-index:2;right:24px;top:24px;width:112px;height:112px;border:1px solid #e5bd6b;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:rgba(15,28,18,.76);color:#e5bd6b;text-align:center;transform:rotate(9deg);backdrop-filter:blur(5px)}.bf-round-stamp i{font-size:1.05rem}.bf-round-stamp b{font:700 .68rem/1.2 var(--font-body);letter-spacing:.1em}.bf-round-stamp small{font-size:.48rem;letter-spacing:.08em}.bf-gallery-foot{display:flex;justify-content:space-between;gap:16px;padding-top:16px;color:rgba(255,248,233,.55);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase}.bf-gallery-foot span:first-child{color:#e2b65e}.bf-gallery-foot i{margin-right:7px}
.bf-detail{display:flex;flex-direction:column;justify-content:center;padding:clamp(28px,4.2vw,64px);min-width:0;background:radial-gradient(ellipse at 100% 0,rgba(218,174,91,.11),transparent 52%),#172319}.bf-detail-top{display:flex;align-items:center;justify-content:space-between;gap:15px}.bf-kicker{color:#e5bd6b;font-size:.68rem;font-weight:800;letter-spacing:.18em}.bf-veg{display:inline-flex;align-items:center;gap:7px;color:rgba(255,248,233,.65);font-size:.66rem;font-weight:700;letter-spacing:.12em}.bf-veg i{width:10px;height:10px;border:1px solid #8ec28c;display:inline-block;position:relative}.bf-veg i:after{content:"";position:absolute;width:4px;height:4px;left:2px;top:2px;border-radius:50%;background:#8ec28c}.bf-title-wrap{margin:34px 0 24px}.bf-tamil{margin:0 0 10px;color:#d9b46d;font-size:1rem}.bf-title-wrap h3{margin:0;color:#fff8e9;font:500 clamp(2.7rem,5vw,4.6rem)/.94 var(--font-head);letter-spacing:-.04em}.bf-title-wrap h3 em{color:#e0b45e;font-weight:500}.bf-price-line{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-top:1px solid rgba(222,184,103,.25);border-bottom:1px solid rgba(222,184,103,.25)}.bf-price-line>span{color:rgba(255,248,233,.52);font-size:.64rem;font-weight:800;letter-spacing:.14em}.bf-price-line strong{display:flex;align-items:flex-start;color:#e7bd68;font-family:var(--font-head);line-height:1}.bf-price-line strong small{font-size:1.15rem;margin:4px 3px 0 0}.bf-price-line strong b{font-size:2.4rem;font-weight:500}.bf-description{max-width:46ch;margin:23px 0;color:rgba(255,248,233,.76);font-size:1rem;line-height:1.85}.bf-facts{display:flex;flex-wrap:wrap;gap:12px 22px;color:rgba(255,248,233,.7);font-size:.78rem}.bf-facts span{display:inline-flex;align-items:center;gap:8px}.bf-facts i{color:#e5bd6b}.bf-facts b{color:#fff8e9}.bf-accomp{margin-top:28px}.bf-accomp>span{color:#d9b46d;font-size:.64rem;font-weight:800;letter-spacing:.17em}.bf-accomp p{margin:9px 0 0;color:rgba(255,248,233,.78);font-size:.85rem;line-height:1.7}.bf-accomp p i{padding:0 4px;color:#d9b46d;font-style:normal}.bf-menu-link{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:30px;padding:16px 0;border-top:1px solid rgba(222,184,103,.25);color:#e9c474;font-size:.7rem;font-weight:800;letter-spacing:.14em;text-decoration:none;transition:color .25s,gap .25s}.bf-menu-link:hover{color:#fff2d4;gap:28px}.bf-menu-link i{font-size:.9rem}
.bf-selector{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;border-top:1px solid rgba(222,184,103,.3);border-bottom:1px solid rgba(222,184,103,.3)}.bf-choice{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;min-height:94px;padding:16px 18px;border:0;border-right:1px solid rgba(222,184,103,.22);background:transparent;color:#fff8e9;text-align:left;cursor:pointer;transition:background .3s,color .3s}.bf-choice:last-child{border-right:0}.bf-choice:before{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:#e3b65d;transition:right .45s ease}.bf-choice:hover{background:rgba(225,182,94,.08)}.bf-choice.is-active{background:rgba(225,182,94,.13)}.bf-choice.is-active:before{right:0}.bf-choice-no{align-self:start;padding-top:2px;color:#d6aa59;font:500 1.25rem var(--font-head)}.bf-choice-name{min-width:0}.bf-choice-name b{display:block;overflow:hidden;color:#fff8e9;font:600 1rem/1.2 var(--font-head);text-overflow:ellipsis;white-space:nowrap}.bf-choice-name small{display:block;margin-top:5px;color:rgba(255,248,233,.53);font-size:.72rem}.bf-choice-price{color:#e5bd6b;font:600 1rem var(--font-head);white-space:nowrap}.bf-choice>i{display:none;color:#e5bd6b;font-size:.72rem}.bf-board{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(25px,5vw,70px);margin:clamp(65px,8vw,110px) 0 72px;padding:clamp(26px,4vw,52px);border:1px solid rgba(222,184,103,.3);background:linear-gradient(120deg,rgba(218,174,91,.12),rgba(218,174,91,.025) 65%)}.bf-board .board1__intro{padding:0;border:0}.bf-board .board1__title{color:#fff8e9;font-size:clamp(2rem,3.5vw,3.2rem);line-height:1.05}.bf-board .board1__title em{color:#dcb15e}.bf-board .board1__note{max-width:34ch;color:rgba(255,248,233,.65)}.bf-board .board1__cta{margin-top:18px}.bf-board .board1__list{display:grid;grid-template-columns:1fr 1fr;gap:0 32px;align-content:center}.bf-board .board1__list li{min-width:0;padding:16px 0;border-bottom:1px solid rgba(222,184,103,.2)}.bf-board .board1__name{color:#fff8e9}.bf-board .board1__name small{color:#c8a866}.bf-board .board1__price{color:#e5bd6b}.bf-board .board1__dots{border-color:rgba(222,184,103,.3)}
@media(max-width:900px){.bf-experience{grid-template-columns:1fr}.bf-image-wrap{min-height:clamp(350px,68vw,560px)}.bf-detail{padding:34px clamp(24px,6vw,54px)}.bf-selector{grid-template-columns:1fr 1fr}.bf-choice:nth-child(2){border-right:0}.bf-choice:nth-child(-n+2){border-bottom:1px solid rgba(222,184,103,.22)}.bf-board{grid-template-columns:1fr}.bf-board .board1__intro{padding-bottom:25px;border-bottom:1px solid rgba(222,184,103,.22)}}
@media(max-width:600px){.bf-topline{font-size:.58rem;letter-spacing:.12em}.bf-topline span:last-child{font-size:.9rem}.bf-headnote{margin-top:22px}.bf-headnote p{font-size:.9rem}.bf-image-wrap{min-height:360px}.bf-round-stamp{width:88px;height:88px;right:14px;top:14px}.bf-round-stamp b{font-size:.6rem}.bf-image-count{top:14px;left:14px}.bf-image-caption{left:20px;bottom:22px}.bf-detail{padding:28px 22px}.bf-title-wrap{margin:25px 0 18px}.bf-title-wrap h3{font-size:3rem}.bf-description{font-size:.93rem}.bf-choice{min-height:86px;padding:13px 10px;grid-template-columns:auto minmax(0,1fr);gap:8px}.bf-choice-price{grid-column:2;grid-row:2;font-size:.9rem}.bf-choice-name b{font-size:.88rem}.bf-choice-name small{font-size:.66rem}.bf-choice-no{grid-row:1 / span 2;font-size:1.1rem}.bf-choice>i{display:none}.bf-board{margin:55px 0 55px;padding:24px 20px}.bf-board .board1__list{grid-template-columns:1fr;gap:0}.bf-board .board1__list li{padding:13px 0}.bf-board .board1__title{font-size:2.4rem}}
@media(prefers-reduced-motion:reduce){.bf-main-image,.bf-choice,.bf-choice:before,.bf-menu-link{transition:none!important}.bf-main-image{animation:none!important}}

/* ===== Menu page ===== */
[lang="ta"] { font-family: var(--font-body); }
html { scroll-behavior: smooth; }
/* ---- 1. Menu hero: copy on the left, royal scroll menu on the right ---- */
.mh { position: relative; overflow: hidden; padding-block: clamp(28px, 4vw, 52px) clamp(36px, 5vw, 64px); color: #FFF4DD;
  background: radial-gradient(760px 480px at 88% 8%, rgba(242, 184, 63, .20), transparent 65%), radial-gradient(620px 420px at 0 100%, rgba(40, 85, 43, .55), transparent 70%), radial-gradient(rgba(247, 215, 124, .07) 1.2px, transparent 1.6px) 0 0 / 26px 26px, var(--deep); }
.mh__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.02fr); align-items: center; gap: clamp(32px, 5vw, 80px); }
.mh__copy { min-width: 0; }
.mh__eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 18px; font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-soft); }
.mh__eyebrow::before { content: ""; width: 34px; height: 2px; background: var(--gold); }
.mh__title { margin: 0; font: 700 clamp(2.4rem, 5.2vw, 4.4rem)/1.04 var(--font-head); letter-spacing: -.01em; color: #FFF4DD; }
.mh__title em { display: block; font-style: italic; font-weight: 600; color: var(--gold); }
.mh__lead { max-width: 46ch; margin: 16px 0 0; font-size: clamp(1rem, 1.5vw, 1.12rem); line-height: 1.75; color: rgba(255, 244, 221, .84); }
.mh__times { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 24px 0 0; padding: 0; list-style: none; max-width: 520px; }
.mh__times a { display: flex; align-items: center; gap: 12px; padding: 11px 14px; border: 1px solid var(--hdr-line); border-radius: 16px; background: rgba(247, 215, 124, .07); color: #FFF4DD; text-decoration: none; transition: transform .3s ease, background .3s ease, border-color .3s ease; }
.mh__times a:hover,.mh__times a:focus-visible{ transform: translateY(-4px); background: rgba(247, 215, 124, .16); border-color: var(--gold); }
.mh__times i { flex: none; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: var(--gold); color: var(--deep); font-size: .95rem; }
.mh__times b { display: block; font: 700 1.12rem/1.15 var(--font-head); color: #FFF4DD; }
.mh__times a span span { display: block; margin-top: 2px; font-size: .78rem; color: var(--gold-soft); white-space: nowrap; }
.mh__cta { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.mh .btn--ghost { color: #FFF4DD; border-color: var(--gold); }
.mh .btn--ghost:hover { color: var(--deep); }
.mh__proof { display: flex; align-items: center; gap: 16px; margin-top: 24px; }
.mh__faces { display: flex; flex: none; }
.mh__faces img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 2px solid var(--gold); background: #17421F; }
.mh__faces img + img { margin-inline-start: -14px; }
.mh__proof p { margin: 0; max-width: 30ch; font-size: .9rem; line-height: 1.5; color: rgba(255, 244, 221, .8); }
.mh__proof strong { color: var(--gold-soft); font-weight: 600; }

/* the royal scroll */
.mh__stage { display: flex; justify-content: center; min-width: 0; }
.mh-scroll { position: relative; width: 100%; max-width: 600px; filter: drop-shadow(0 26px 34px rgba(0, 0, 0, .5)); }
.mh-rod { position: relative; z-index: 3; display: flex; align-items: center; height: 50px; }
.mh-knob { flex: none; width: 30px; height: 30px; border-radius: 50%; background: radial-gradient(circle at 35% 30%, #fff6bd, #e3ad3c 45%, #84540e); box-shadow: inset 0 -3px 5px rgba(90, 50, 0, .5); }
.mh-collar { flex: none; width: 18px; height: 62px; margin-inline: -3px; border-radius: 8px; background: linear-gradient(90deg, #7d5110, #f5d77a 30%, #fff1ab 48%, #d9a53a 70%, #7d5110); box-shadow: 0 2px 6px rgba(70, 40, 0, .4); }
.mh-roll { position: relative; flex: 1; height: 100%; min-width: 0; border-radius: 8px; background: linear-gradient(180deg, #fffdf7 0, #f6eed9 30%, #e9dbb2 68%, #bfa56a 100%); box-shadow: inset 0 0 0 2px rgba(214, 166, 63, .75); }
.mh-roll::before,.mh-roll::after{ content: ""; position: absolute; top: 0; bottom: 0; width: 9px; background: linear-gradient(90deg, #8a5d12, #f6d777 40%, #c8922c); }
.mh-roll::before { inset-inline-start: 0; } .mh-roll::after { inset-inline-end: 0; }
.mh-sheet { position: relative; z-index: 1; display: grid; grid-template-rows: 1fr; margin-block: -6px; animation: mhUnroll 1.7s cubic-bezier(.65, 0, .25, 1) .25s both; }
.mh-paper { position: relative; min-height: 0; overflow: hidden; margin-inline: clamp(24px, 5%, 40px); color: #3b2a12;
  background: linear-gradient(90deg, rgba(120, 80, 20, .22), transparent 6%, transparent 94%, rgba(120, 80, 20, .22)), repeating-linear-gradient(90deg, rgba(150, 110, 40, .04) 0 2px, transparent 2px 7px), linear-gradient(180deg, #fffaf0, #f7edd3 55%, #f1e3bd); }
.mh-paper::before,.mh-paper::after{ content: ""; position: absolute; top: 0; bottom: 0; width: 8px; background: linear-gradient(90deg, #8a5d12, #f6d777 40%, #c8922c); }
.mh-paper::before { inset-inline-start: 0; } .mh-paper::after { inset-inline-end: 0; }
.mh-paper__in { padding: clamp(18px, 3vw, 26px) clamp(18px, 4vw, 34px) clamp(16px, 2.4vw, 22px); }
.mh-sheet__head { text-align: center; }
.mh-sheet__kicker { margin: 0; font-size: .72rem; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; color: #7a4a0c; }
.mh-sheet__title { margin: 2px 0 0; font: 700 clamp(1.8rem, 3.6vw, 2.4rem)/1.05 var(--font-head); color: #2e200c; }
.mh-sheet__title em { font-style: italic; font-weight: 600; color: #8c2f1d; }
.mh-flo { position: relative; display: block; height: 12px; width: min(70%, 300px); margin: 8px auto 4px; background: linear-gradient(90deg, transparent, #8a6218 30%, #8a6218 70%, transparent) center / 100% 1.5px no-repeat; }
.mh-flo::after { content: ""; position: absolute; top: 50%; left: 50%; width: 10px; height: 10px; translate: -50% -50%; rotate: 45deg; background: #8c2f1d; border: 1.5px solid #8a6218; }
.mh-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(20px, 3.4vw, 34px); }
.mh-grp { padding-block: 12px; border-bottom: 1px dotted rgba(90, 60, 20, .45); animation: mhRise .8s ease both; animation-delay: calc(1.1s + var(--i) * .16s); }
.mh-grp:nth-last-child(-n+2) { border-bottom: 0; }
.mh-grp__head { display: flex; align-items: center; gap: 10px; margin-bottom: 6px; }
.mh-grp__pic { flex: none; display: block; width: 46px; height: 46px; border-radius: 50%; overflow: hidden; border: 2px solid #c8922c; box-shadow: 0 3px 8px rgba(60, 35, 0, .3); background: linear-gradient(135deg, #e9d9ae, #c9a24c); }
.mh-grp__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mh-grp__top { min-width: 0; }
.mh-grp__top a { display: block; color: #2e200c; text-decoration: none; font: 700 clamp(1.15rem, 2vw, 1.35rem)/1.1 var(--font-head); }
.mh-grp__top a:hover,.mh-grp__top a:focus-visible{ color: #8c2f1d; }
.mh-grp__hrs { display: inline-flex; align-items: center; gap: 5px; margin-top: 2px; font-size: .7rem; font-weight: 600; letter-spacing: .03em; color: #7a4a0c; white-space: nowrap; }
.mh-foot { margin: 6px 0 0; padding-top: 10px; border-top: 1px dotted rgba(90, 60, 20, .45); text-align: center; font-size: .82rem; font-weight: 500; color: #5a4527; animation: mhRise .8s ease 1.9s both; }
.mh-foot strong { color: #8c2f1d; font-weight: 600; }
.mh-list { margin: 0; padding: 0; list-style: none; }
.mh-list li { display: flex; align-items: baseline; gap: 6px; padding-block: 2px; font-size: clamp(.86rem, 1.3vw, .94rem); line-height: 1.35; }
.mh-list span { min-width: 0; color: #3b2a12; }
.mh-list i { flex: 1; min-width: 12px; border-bottom: 2px dotted rgba(90, 60, 20, .5); translate: 0 -4px; }
.mh-list b { flex: none; font: 700 1.02rem var(--font-head); color: #7a4a0c; }
@keyframes mhUnroll { from { grid-template-rows: 0fr; } to { grid-template-rows: 1fr; } }
@keyframes mhRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 999px) {
  .mh__grid { grid-template-columns: 1fr; gap: 44px; }
  .mh__copy { width: 100%; max-width: none; margin-inline: 0; }
  .mh__lead { max-width: 62ch; }
  .mh__times { max-width: none; }
  .mh-scroll { max-width: 560px; margin-inline: auto; }
}
@media (max-width: 599px) {
  .mh-groups { grid-template-columns: 1fr; } .mh-grp:nth-last-child(-n+2) { border-bottom: 1px dotted rgba(90, 60, 20, .45); } .mh-grp:last-child { border-bottom: 0; }
  .mh { padding-top: 28px; }
  .mh__copy { text-align: center; }
  .mh__eyebrow { letter-spacing: .12em; font-size: .72rem; } .mh__eyebrow::before { display: none; }
  .mh__lead { margin-inline: auto; }
  .mh__times { text-align: start; }
  .mh__cta,.mh__proof{ justify-content: center; }
  .mh__proof { flex-direction: column; text-align: center; gap: 12px; }
  .mh__cta .btn { flex: 1 1 100%; }
  .mh-rod { height: 40px; } .mh-knob { width: 24px; height: 24px; } .mh-collar { width: 14px; height: 50px; }
  .mh-paper { margin-inline: 18px; } .mh-paper__in { padding-inline: 16px; }
    .mh-list li { gap: 6px; } .mh-list b { font-size: 1rem; }
}
@media (max-width: 400px) {
  .mh__times { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  .mh-sheet,.mh-grp,.mh-foot{ animation: none !important; }
}

/* ---- sticky meal-time tabs ---- */
.mtabs { position: sticky; top: var(--h); z-index: 40; background: rgba(7, 27, 11, .95); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); border-bottom: 1px solid var(--hdr-line); }
.mtabs__in { display: flex; gap: 8px; padding-block: 10px; overflow-x: auto; scrollbar-width: none; justify-content: center; }
.mtabs__in::-webkit-scrollbar { display: none; }
.mtabs a { flex: none; min-height: 40px; display: inline-flex; align-items: center; padding: 8px 18px; border: 1px solid rgba(242, 184, 63, .4); border-radius: 999px; color: #FFF4DD; font-size: .88rem; text-decoration: none; transition: background .25s ease, color .25s ease, transform .25s ease, border-color .25s ease; }
.mtabs a:hover { transform: translateY(-2px); border-color: var(--gold); }
.mtabs a.is-on { background: var(--gold); color: var(--deep); border-color: var(--gold); font-weight: 600; }

/* ---- 2. Pick your time ---- */
.mt { padding-block: clamp(56px, 8vw, 104px); background: var(--bg); scroll-margin-top: calc(var(--h) + 60px); }
.mt__head { max-width: 680px; margin: 0 auto clamp(36px, 5vw, 60px); text-align: center; }
.mt__eyebrow { margin: 0 0 10px; font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-text); }
.mt__title { margin: 0; font: 700 clamp(2rem, 4.6vw, 3.4rem)/1.1 var(--font-head); color: var(--ink); }
.mt__title em { font-style: italic; font-weight: 600; color: var(--chilli); }
.mt__lead { margin: 16px auto 0; max-width: 52ch; color: var(--muted); font-size: clamp(1rem, 1.5vw, 1.08rem); line-height: 1.75; }
.mt__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(18px, 2.4vw, 30px); margin: 0; padding: 0; list-style: none; }
.mt-card { position: relative; padding-top: 38px; }
.mt-card__pin { position: absolute; top: 0; inset-inline: 0; display: flex; align-items: center; height: 26px; }
.mt-card__pin::before { content: ""; position: absolute; top: 50%; inset-inline: 0; margin-inline-end: calc(-1 * clamp(18px, 2.4vw, 30px)); border-top: 2px dotted var(--brass); }
.mt-card:last-child .mt-card__pin::before { margin-inline-end: 0; inset-inline-end: 50%; }
.mt-card__pin b { position: relative; margin-inline: 0; padding: 3px 14px; border: 1.5px solid var(--brass); border-radius: 999px; background: var(--bg); color: var(--gold-text); font-size: .78rem; font-weight: 600; letter-spacing: .06em; }
.mt-card__link { display: block; height: 100%; overflow: hidden; border: 1px solid var(--line); border-radius: 22px; background: var(--surface); color: var(--text); text-decoration: none; box-shadow: 0 8px 22px var(--shade); transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .45s ease, border-color .3s ease; }
.mt-card__link:hover,.mt-card__link:focus-visible{ transform: translateY(-10px); box-shadow: var(--shadow); border-color: var(--gold); }
.mt-card__pic { position: relative; display: block; aspect-ratio: 4 / 3; overflow: hidden; background: linear-gradient(135deg, #e9d9ae, #c9a24c); }
.mt-card__pic img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1s ease; }
.mt-card__link:hover .mt-card__pic img { transform: scale(1.08); }
.mt-card__now { position: absolute; top: 12px; inset-inline-start: 12px; padding: 4px 12px; border-radius: 999px; background: var(--leaf); color: #FFF4DD; font-style: normal; font-size: .72rem; font-weight: 600; letter-spacing: .06em; box-shadow: 0 4px 10px rgba(0, 0, 0, .3); }
.mt-card__now::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-inline-end: 7px; border-radius: 50%; background: #7CE07F; animation: mtBlink 1.4s ease infinite; }
.mt-card.is-next .mt-card__now { background: var(--brass); color: var(--deep); } .mt-card.is-next .mt-card__now::before { display: none; }
.mt-card__ico { display: grid; place-items: center; width: 52px; height: 52px; margin: -26px auto 0; position: relative; border-radius: 50%; background: var(--gold); color: var(--deep); font-size: 1.15rem; border: 3px solid var(--surface); box-shadow: 0 6px 14px rgba(0, 0, 0, .22); transition: transform .5s ease; }
.mt-card__link:hover .mt-card__ico { transform: rotate(360deg); }
.mt-card__body { display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 12px 20px 24px; text-align: center; }
.mt-card__name { font: 700 1.55rem/1.15 var(--font-head); color: var(--ink); }
.mt-card__hrs { display: inline-flex; align-items: center; gap: 7px; padding: 4px 14px; border: 1.5px solid var(--brass); border-radius: 999px; font-size: .8rem; font-weight: 600; color: var(--gold-text); }
.mt-card__desc { color: var(--muted); font-size: .94rem; line-height: 1.6; }
.mt-card__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; margin: 2px 0 0; padding: 0; list-style: none; }
.mt-card__chips li { padding: 3px 11px; border-radius: 999px; background: var(--shade); color: var(--text); font-size: .76rem; }
.mt-card__go { display: inline-flex; align-items: center; gap: 8px; margin-top: 6px; font-size: .85rem; font-weight: 600; color: var(--chilli); transition: gap .3s ease; }
.mt-card__link:hover .mt-card__go { gap: 14px; }
.mt__all { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 10px; margin: clamp(32px, 4vw, 48px) 0 0; padding: 14px 22px; border: 1.5px dashed var(--brass); border-radius: 18px; text-align: center; color: var(--muted); font-size: .95rem; }
.mt__all i:first-child { color: var(--gold-text); }
.mt__all strong { color: var(--ink); }
.mt__all a { color: var(--chilli); font-weight: 600; text-decoration: none; } .mt__all a:hover { text-decoration: underline; }
.js .mt-card { opacity: 0; transform: translateY(30px); transition: opacity .8s ease calc(var(--i) * .12s), transform .8s cubic-bezier(.2, .7, .2, 1) calc(var(--i) * .12s); }
.js .mt-card.is-in { opacity: 1; transform: none; }
@keyframes mtBlink { 50% { opacity: .3; } }
@media (max-width: 1099px) {
  .mt__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 34px; }
  .mt-card__pin::before { margin-inline-end: 0; inset-inline-end: 0; }
  .mt-card:nth-child(even) .mt-card__pin::before { inset-inline-start: 0; inset-inline-end: 50%; } .mt-card:nth-child(odd) .mt-card__pin::before { inset-inline-start: 50%; }
}
@media (max-width: 639px) {
  .mtabs__in { justify-content: flex-start; }
  .mt__grid { grid-template-columns: 1fr; max-width: 420px; margin-inline: auto; }
  .mt-card__pin { justify-content: center; } .mt-card__pin::before { display: none; }
  .mt__all { text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
  .js .mt-card { opacity: 1 !important; transform: none !important; transition: none !important; }
  .mt-card__now::before { animation: none; } .mt-card__link,.mt-card__pic img,.mt-card__ico{ transition: none; }
}

/* ---- 3-4. Meal-time menu sections ---- */
.mm { position: relative; overflow: hidden; padding-block: clamp(56px, 8vw, 104px); scroll-margin-top: calc(var(--h) + 60px); }
.mm--dark { --m-bg: var(--deep); --m-ink: #FFF4DD; --m-muted: rgba(255, 244, 221, .78); --m-accent: var(--gold); --m-price: var(--gold-soft); --m-line: rgba(247, 215, 124, .38); --m-veg: #6fcf75; --m-tag-bg: var(--gold); --m-tag-fg: var(--deep); --m-card: #12301A;
  background: radial-gradient(700px 420px at 90% 0, rgba(242, 184, 63, .14), transparent 65%), radial-gradient(rgba(247, 215, 124, .06) 1.2px, transparent 1.6px) 0 0 / 26px 26px, var(--m-bg); }
.mm--light { --m-ink: var(--ink); --m-muted: var(--muted); --m-accent: var(--chilli); --m-price: var(--gold-text); --m-line: rgba(90, 60, 20, .4); --m-veg: #2f7a34; --m-tag-bg: var(--chilli); --m-tag-fg: #FFF3DA; --m-card: var(--surface); background: var(--bg); }
.mm__head { max-width: 700px; margin: 0 auto clamp(34px, 5vw, 56px); text-align: center; }
.mm__eyebrow { display: inline-flex; align-items: center; gap: 12px; margin: 0 0 12px; font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--m-price); }
.mm__eyebrow span { display: grid; place-items: center; width: 38px; height: 38px; border: 1.5px solid var(--brass); border-radius: 50%; font: 700 1rem var(--font-head); letter-spacing: 0; }
.mm__title { margin: 0; font: 700 clamp(2rem, 4.6vw, 3.4rem)/1.1 var(--font-head); color: var(--m-ink); }
.mm__title em { font-style: italic; font-weight: 600; color: var(--m-accent); }
.mm__lead { margin: 16px auto 0; max-width: 54ch; color: var(--m-muted); font-size: clamp(1rem, 1.5vw, 1.08rem); line-height: 1.75; }
.mm__hrs { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 0; padding: 7px 20px; border: 1.5px solid var(--brass); border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--m-price); }
.mm__body { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.6fr); align-items: start; gap: clamp(28px, 4.4vw, 68px); }
.mm--flip .mm__body { grid-template-columns: minmax(0, 1.6fr) minmax(0, .78fr); }
.mm--flip .mm__media { order: 2; }
.mm__media { position: relative; padding-bottom: 0; }
.mm__arch { margin: 0; aspect-ratio: 4 / 5; overflow: hidden; border: 3px solid var(--brass); border-radius: 999px 999px 26px 26px; background: linear-gradient(135deg, #e9d9ae, #c9a24c); box-shadow: 0 22px 44px rgba(0, 0, 0, .3); }
.mm__arch img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s ease; }
.mm__media:hover .mm__arch img { transform: scale(1.06); }
.mm__dot { position: absolute; z-index: 2; bottom: 74px; inset-inline-end: -18px; width: 38%; aspect-ratio: 1; margin: 0; overflow: hidden; border: 4px solid var(--m-card); border-radius: 50%; background: linear-gradient(135deg, #e9d9ae, #c9a24c); box-shadow: 0 12px 26px rgba(0, 0, 0, .35); outline: 2px solid var(--brass); }
.mm__dot img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mm__pick { position: relative; z-index: 3; display: grid; gap: 2px; width: 82%; margin: -34px auto 0; padding: 14px 18px; border: 1.5px solid var(--brass); border-radius: 16px; background: var(--m-card); box-shadow: 0 14px 28px rgba(0, 0, 0, .25); text-align: center; }
.mm__pick span { font-size: .68rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--m-accent); }
.mm__pick b { font: 700 1.3rem/1.15 var(--font-head); color: var(--m-ink); }
.mm__pick em { font: 600 1.05rem var(--font-head); font-style: normal; color: var(--m-price); }
.mm-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: clamp(24px, 3.4vw, 48px); margin: 0; padding: 0; list-style: none; }
.mm-item { padding: 15px 0 13px; border-bottom: 1px dotted var(--m-line); transition: padding .3s ease; }
.mm-item:hover { padding-inline-start: 8px; }
.mm-item__top { display: flex; align-items: baseline; gap: 8px; }
.mm-item__name { min-width: 0; font: 700 clamp(1.08rem, 1.6vw, 1.3rem)/1.2 var(--font-head); color: var(--m-ink); transition: color .3s ease; }
.mm-item:hover .mm-item__name { color: var(--m-accent); }
.mm-item__dots { flex: 1; min-width: 12px; border-bottom: 2px dotted var(--m-line); translate: 0 -4px; }
.mm-item__price { flex: none; font: 700 clamp(1.1rem, 1.6vw, 1.3rem) var(--font-head); color: var(--m-price); }
.mm-item p { margin: 3px 0 0 24px; font-size: .88rem; line-height: 1.5; color: var(--m-muted); }
[dir="rtl"] .mm-item p { margin: 3px 24px 0 0; }
.mm-veg { flex: none; align-self: center; position: relative; width: 15px; height: 15px; border: 1.5px solid var(--m-veg); border-radius: 3px; }
.mm-veg::after { content: ""; position: absolute; inset: 3px; border-radius: 50%; background: var(--m-veg); }
.mm-tag { flex: none; padding: 2px 9px; border-radius: 999px; background: var(--m-tag-bg); color: var(--m-tag-fg); font: 600 .64rem/1.5 var(--font-body); font-style: normal; letter-spacing: .05em; text-transform: uppercase; white-space: nowrap; }
.js .mm__media,.js .mm__head{ opacity: 0; transform: translateY(26px); transition: opacity .8s ease, transform .8s cubic-bezier(.2, .7, .2, 1); }
.js .mm .mm-item { opacity: 0; transform: translateY(16px); }
.js .mm.is-in .mm__media,.js .mm.is-in .mm__head{ opacity: 1; transform: none; }
.js .mm.is-in .mm-item { opacity: 1; transform: none; transition: opacity .6s ease calc(.25s + var(--i) * 60ms), transform .6s cubic-bezier(.2, .7, .2, 1) calc(.25s + var(--i) * 60ms), padding .3s ease; }
@media (max-width: 1023px) {
  .mm__body,.mm--flip .mm__body{ grid-template-columns: 1fr; gap: 44px; }
  .mm--flip .mm__media { order: 0; }
  .mm__media { width: min(100%, 380px); margin-inline: auto; }
}
@media (max-width: 719px) {
  .mm-items { grid-template-columns: 1fr; }
  .mm-item p { margin-inline-start: 23px; }
  .mm__dot { inset-inline-end: -10px; }
}
@media (max-width: 479px) {
  .mm-tag { font-size: .58rem; padding: 2px 7px; }
  .mm-item__top { flex-wrap: wrap; row-gap: 2px; } .mm-item__dots { min-width: 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .mm__media,.js .mm__head,.js .mm .mm-item{ opacity: 1 !important; transform: none !important; transition: none !important; }
  .mm__arch img { transition: none; }
}

/* ---- 5-7. sub-headings and closing banner ---- */
@media (min-width: 1024px) { #sweets .mm__body { align-items: center; } }
.mm-sub { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px; margin: 18px 0 2px; font: 700 1.05rem var(--font-head); letter-spacing: .16em; text-transform: uppercase; color: var(--m-price); }
.mm-sub:first-child { margin-top: 0; }
.mm-sub::after { content: ""; flex: 1; border-top: 1.5px solid var(--brass); opacity: .7; }
.mm-cta { position: relative; isolation: isolate; overflow: hidden; margin-top: clamp(48px, 6vw, 84px); border: 1.5px solid var(--brass); border-radius: 28px; background: #12301A; box-shadow: 0 24px 48px rgba(0, 0, 0, .35); }
.mm-cta > img { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.mm-cta::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(100deg, rgba(7, 27, 11, .95) 20%, rgba(7, 27, 11, .62)); }
.mm-cta__in { max-width: 640px; padding: clamp(32px, 6vw, 76px) clamp(24px, 5vw, 64px); }
.mm-cta__eyebrow { margin: 0 0 10px; font-size: .78rem; font-weight: 600; letter-spacing: .18em; text-transform: uppercase; color: var(--gold-soft); }
.mm-cta__title { margin: 0; font: 700 clamp(2rem, 4.4vw, 3.2rem)/1.1 var(--font-head); color: #FFF4DD; }
.mm-cta__title em { font-style: italic; font-weight: 600; color: var(--gold); }
.mm-cta__text { margin: 14px 0 0; max-width: 46ch; color: rgba(255, 244, 221, .85); line-height: 1.7; }
.mm-cta__btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 26px; }
.mm-cta .btn--ghost { color: #FFF4DD; border-color: var(--gold); } .mm-cta .btn--ghost:hover { color: var(--deep); }
.js .mm .mm-cta { opacity: 0; transform: translateY(26px); transition: opacity .9s ease .5s, transform .9s cubic-bezier(.2, .7, .2, 1) .5s; }
.js .mm.is-in .mm-cta { opacity: 1; transform: none; }
[dir="rtl"] .mm-cta::before { background: linear-gradient(260deg, rgba(7, 27, 11, .95) 20%, rgba(7, 27, 11, .62)); }
@media (max-width: 599px) {
  .mm-cta__in { text-align: center; } .mm-cta__text { margin-inline: auto; } .mm-cta__btns { justify-content: center; } .mm-cta__btns .btn { flex: 1 1 100%; }
  .mm-cta::before { background: rgba(7, 27, 11, .85); }
}
@media (prefers-reduced-motion: reduce) { .js .mm .mm-cta { opacity: 1 !important; transform: none !important; transition: none !important; } }

/* ===== Contact page ===== */
@keyframes ctBlink{50%{opacity:.25}}
.ct-sec{padding:clamp(56px,8vw,96px) 0}.ct-sec--alt{background:var(--surface)}
.ct-eyebrow{margin:0 0 8px;color:var(--gold-text);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.ct-head{text-align:center;margin-bottom:36px}.ct-head h2,.ct-form h2{margin:0;color:var(--ink);font:700 clamp(1.9rem,4vw,2.9rem)/1.1 var(--font-head)}
.ct-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.ct-card{position:relative;display:block;padding-bottom:22px;text-align:center;text-decoration:none;color:var(--text);background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;transition:transform .3s,box-shadow .3s,border-color .3s}
.ct-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);border-color:var(--gold)}
.ct-card img{width:100%;height:150px;object-fit:cover;display:block;transition:transform .6s}.ct-card:hover img{transform:scale(1.08)}
.ct-ico{display:grid;place-items:center;width:54px;height:54px;margin:-27px auto 10px;position:relative;border-radius:50%;background:var(--gold);color:var(--deep);font-size:1.15rem;box-shadow:0 6px 16px rgba(0,0,0,.25);transition:transform .4s}.ct-card:hover .ct-ico{transform:rotate(360deg)}
.ct-card h3{margin:0 0 4px;color:var(--ink);font:700 1.4rem var(--font-head)}.ct-card p{margin:0;color:var(--muted);font-size:.92rem;padding:0 10px;overflow-wrap:anywhere}
.ct-enq{display:grid;grid-template-columns:1.5fr 1fr;gap:28px;align-items:stretch}
.ct-form{position:relative;padding:clamp(24px,4vw,44px);background:var(--bg);border:1.5px solid var(--brass);border-radius:22px;box-shadow:var(--shadow)}
.ct-form h2{margin-bottom:22px}.ct-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.ct-f{position:relative;margin-bottom:18px}
.ct-f input,.ct-f select,.ct-f textarea{width:100%;padding:22px 14px 8px;border:1.5px solid var(--line);border-radius:12px;background:var(--surface);color:var(--text);font:inherit;transition:border-color .25s,box-shadow .25s}
.ct-f textarea{resize:vertical;min-height:110px}
.ct-f label{position:absolute;inset-inline-start:15px;top:16px;color:var(--muted);font-size:.95rem;pointer-events:none;transition:all .2s}
.ct-f input:focus~label,.ct-f input:not(:placeholder-shown)~label,.ct-f textarea:focus~label,.ct-f textarea:not(:placeholder-shown)~label,.ct-sel label{top:6px;font-size:.7rem;color:var(--gold-text)}
.ct-f input[type=date]~label{top:6px;font-size:.7rem;color:var(--gold-text)}
.ct-f input:focus,.ct-f select:focus,.ct-f textarea:focus{outline:0;border-color:var(--gold);box-shadow:0 0 0 4px rgba(242,184,63,.22)}
.ct-f small{display:none;margin-top:4px;color:var(--chilli);font-size:.78rem}
.ct-f.is-bad input,.ct-f.is-bad textarea{border-color:var(--chilli)}.ct-f.is-bad small{display:block}.ct-f.is-bad{animation:ctShake .4s}.ct-f.is-good input,.ct-f.is-good textarea{border-color:var(--leaf)}
@keyframes ctShake{25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.ct-extra:not([hidden]){animation:ctDrop .4s}@keyframes ctDrop{from{opacity:0;transform:translateY(-8px)}}
.ct-send i{margin-inline-start:10px;transition:translate .25s}.ct-send:hover i{translate:5px -3px}.ct-send.is-load{pointer-events:none;opacity:.7}
.ct-ok{text-align:center;padding:30px 10px}.ct-ok svg{width:84px;height:84px;fill:none;stroke:var(--leaf);stroke-width:3}.ct-ok circle{stroke-dasharray:151;animation:ctDraw .7s forwards}.ct-ok path{stroke-dasharray:50;stroke-dashoffset:50;animation:ctDraw .5s .5s forwards}
@keyframes ctDraw{from{stroke-dashoffset:151}to{stroke-dashoffset:0}}.ct-ok path{--x:0}.ct-ok h3{margin:10px 0 4px;color:var(--ink);font:700 1.9rem var(--font-head)}.ct-ok p{margin:0;color:var(--muted)}
.ct-side{position:relative;border-radius:22px;overflow:hidden;color:var(--hdr-fg);min-height:420px;isolation:isolate;display:flex;align-items:flex-end}
.ct-side>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.ct-side:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,27,11,.96) 35%,rgba(7,27,11,.45))}
.ct-side__in{display:flex;flex-wrap:wrap;gap:12px;padding:28px}.ct-side h3{flex:1 1 100%;margin:0;color:var(--gold);font:700 1.8rem/1.15 var(--font-head)}.ct-side__in>p{flex:1 1 100%;margin:0 0 6px;line-height:1.6;color:rgba(255,244,221,.85)}
.ct-side .btn--ghost{color:var(--hdr-fg);border-color:rgba(255,244,221,.7)}.ct-side .btn--ghost:hover{color:var(--deep)}.ct-note{font-size:.82rem;color:var(--gold-soft)!important;margin:6px 0 0!important}
.ct-map{display:grid;grid-template-columns:1.4fr 1fr;gap:26px}
.ct-frame{position:relative;min-height:480px;border:3px solid var(--brass);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.ct-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.ct-pin{position:absolute;top:14px;inset-inline-start:14px;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--gold);color:var(--deep);box-shadow:0 0 0 0 rgba(242,184,63,.7);animation:ctPulse 2s infinite;pointer-events:none}
@keyframes ctPulse{to{box-shadow:0 0 0 22px rgba(242,184,63,0)}}
.ct-addr{padding:0 0 24px;background:var(--surface);border:1px solid var(--line);border-radius:22px;overflow:hidden}.ct-addr>*:not(img){margin-inline:24px}.ct-addr img{width:100%;height:170px;object-fit:cover;display:block}
.ct-addr h3{margin-top:18px;margin-bottom:8px;color:var(--ink);font:700 1.7rem var(--font-head)}.ct-addr p{margin-block:0 6px;color:var(--muted)}.ct-addr p i{color:var(--gold-text);width:20px}
.ct-hours{list-style:none;padding:0;margin-block:14px 18px}.ct-hours li{display:flex;justify-content:space-between;gap:10px;padding:8px 12px;border-radius:8px;font-size:.88rem;color:var(--muted)}.ct-hours li.is-today{background:var(--gold);color:var(--deep);font-weight:600}
.ct-faq .ct-acc{max-width:820px;margin:0 auto 56px}.ct-q{border:1px solid var(--line);border-radius:14px;margin-bottom:12px;background:var(--bg);overflow:hidden}
.ct-q button{all:unset;box-sizing:border-box;display:flex;justify-content:space-between;align-items:center;gap:14px;width:100%;padding:18px 22px;cursor:pointer;color:var(--ink);font:600 1.05rem var(--font-body)}.ct-q button:focus-visible{outline:2px solid var(--gold);outline-offset:-2px}
.ct-q button i{color:var(--gold-text);transition:transform .3s}.ct-q.is-open button i{transform:rotate(135deg)}
.ct-q>div{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s}.ct-q.is-open>div{grid-template-rows:1fr}.ct-q>div p{overflow:hidden;margin:0;padding:0 22px;color:var(--muted);line-height:1.7}.ct-q.is-open>div p{padding-bottom:18px}
.ct-cta{position:relative;border-radius:22px;overflow:hidden;isolation:isolate;min-height:280px;display:grid;align-items:center;padding:clamp(28px,6vw,64px);color:var(--hdr-fg)}
.ct-cta>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.ct-cta:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(7,27,11,.92),rgba(7,27,11,.3))}
.ct-cta h2{margin:0 0 8px;font:700 clamp(2rem,4.5vw,3.2rem)/1.1 var(--font-head);color:var(--gold)}.ct-cta p{margin:0 0 20px;color:rgba(255,244,221,.88)}
[data-rv]{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease;transition-delay:var(--d,0s)}[data-rv].is-in{opacity:1;transform:none}
@media(max-width:991px){.ct-cards{grid-template-columns:repeat(2,1fr)}.ct-enq,.ct-map{grid-template-columns:1fr}.ct-side{min-height:360px}.ct-frame{min-height:380px}}
@media(max-width:575px){.ct-cards{grid-template-columns:1fr}.ct-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){.ct-hero>img,.ct-steam,.ct-pin,.ct-status i{animation:none}[data-rv]{opacity:1;transform:none;transition:none}}

/* Contact hero v7: panel with enquiry form */
.ct-hero,#enquiry,#map,#hours{scroll-margin-top:calc(var(--h) + 12px)}
.ct-hero{padding:clamp(24px,4vw,48px) 0 clamp(40px,6vw,72px);background:var(--bg)}
.ct-panel{position:relative;display:grid;grid-template-columns:1.02fr 1fr;gap:clamp(28px,5vw,60px);align-items:center;padding:clamp(24px,5vw,60px);border-radius:32px;background:radial-gradient(ellipse at 0 0,rgba(242,184,63,.2),transparent 50%),radial-gradient(ellipse at 100% 100%,rgba(242,184,63,.12),transparent 55%),var(--hdr-bg);color:#FFF4DD;box-shadow:var(--shadow);overflow:hidden}
.ct-crumb{margin:0 0 18px;font-size:.85rem;color:rgba(255,244,221,.7)}.ct-crumb a{color:var(--gold-soft);text-decoration:none}.ct-crumb i{font-size:.6rem;margin:0 6px}
.ct-hero .ct-eyebrow{color:var(--gold);margin:0 0 12px}
.ct-hero h1{margin:0;color:#FFF4DD;font:700 clamp(2.4rem,4.6vw,4rem)/1.05 var(--font-head)}.ct-hero h1 em{color:var(--gold)}
.ct-lead{max-width:46ch;margin:18px 0 26px;color:rgba(255,244,221,.82);line-height:1.75}
.ct-facts{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:14px}
.ct-facts li{display:flex;align-items:center;gap:14px}
.ct-bi{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--deep);transition:transform .5s}.ct-facts li:hover .ct-bi{transform:rotate(360deg)}
.ct-facts small{display:block;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}.ct-facts a,.ct-facts li>div>span{display:block;color:#FFF4DD;text-decoration:none;font-weight:600;overflow-wrap:anywhere}.ct-facts a:hover{color:var(--gold)}
#ctStatus.is-closed .ct-bi{background:#e07a5f}
.ct-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.ct-thumbs img{width:100%;height:96px;object-fit:cover;border-radius:16px;border:2px solid var(--hdr-line);transition:transform .4s,border-color .3s}.ct-thumbs img:hover{transform:translateY(-4px);border-color:var(--gold)}
.ct-panel .ct-form{margin:0;box-shadow:0 24px 50px rgba(0,0,0,.4)}
.ct-hero__txt,.ct-panel .ct-form{animation:ctRise .8s ease both}.ct-panel .ct-form{animation-delay:.15s}@keyframes ctRise{from{opacity:0;transform:translateY(26px)}}
.ct-party{display:flex;flex-wrap:wrap;gap:12px}.ct-cta .btn--ghost{color:#FFF4DD;border-color:rgba(255,244,221,.65)}.ct-cta .btn--ghost:hover{color:var(--deep);border-color:var(--gold)}
@media(max-width:991px){.ct-panel{grid-template-columns:1fr}}
@media(max-width:575px){.ct-thumbs img{height:76px}.ct-party .btn{flex:1 1 100%}}
@media(prefers-reduced-motion:reduce){.ct-hero__txt,.ct-panel .ct-form{animation:none}}

/* ===== Our Story page: hero, history, mission & vision ===== */
.os-hr,.os-history,.os-mv{scroll-margin-top:calc(var(--h) + 12px)}
.os-sec{padding:clamp(56px,8vw,104px) 0}.os-sec--alt{background:var(--surface)}
.os-eyebrow{margin:0 0 10px;color:var(--gold-text);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.os-h2{margin:0;color:var(--ink);font:700 clamp(1.9rem,4vw,2.9rem)/1.1 var(--font-head)}.os-h2 em{color:var(--gold-text);font-style:italic}
.os-text{margin:18px 0 0;color:var(--muted);max-width:56ch}
.os-head{max-width:680px;margin:0 auto clamp(28px,5vw,48px);text-align:center}.os-head p:last-child{margin:14px 0 0;color:var(--muted)}
.os-js [data-os]{opacity:0;transform:translateY(28px);transition:opacity .8s ease var(--d,0s),transform .8s cubic-bezier(.2,.7,.2,1) var(--d,0s)}
.os-js [data-os].is-in{opacity:1;transform:none}
/* hero */
.os-cta{display:flex;flex-wrap:wrap;gap:12px}.os-cta .btn i{margin-inline-start:10px;font-size:.8em;transition:translate .2s}.os-cta .btn:hover i{translate:4px 0}
@keyframes osRise{from{opacity:0;transform:translateY(24px)}}@keyframes osZoom{from{transform:scale(1.08)}}
/* history: scroll-driven story plate */
@keyframes osSpin{to{transform:rotate(360deg)}}
@keyframes osReveal{from{clip-path:circle(0% at 50% 50%)}to{clip-path:circle(72% at 50% 50%)}}

/* mission & vision */
.os-mv__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr) minmax(0,1fr);gap:clamp(18px,3vw,32px);align-items:stretch}
.os-card{display:flex;flex-direction:column;gap:12px;padding:clamp(24px,3vw,36px);background:var(--bg);border:1px solid var(--line);border-radius:22px;transition:transform .3s,box-shadow .3s,border-color .3s}
.os-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--gold)}
.os-ico{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--deep);font-size:1.2rem;box-shadow:0 6px 16px rgba(0,0,0,.22);transition:transform .5s}.os-card:hover .os-ico{transform:rotate(360deg)}
.os-card h3{margin:4px 0 0;color:var(--ink);font:700 1.9rem/1.1 var(--font-head)}.os-card p{margin:0;color:var(--muted)}
.os-points{display:grid;gap:8px;margin-top:6px;padding-top:14px;border-top:1px dashed var(--line)}.os-points li{display:flex;gap:10px;align-items:baseline;font-size:.95rem}.os-points i{color:var(--gold-text);font-size:.8rem}
.os-arch{position:relative;margin:0;min-height:380px;border:3px solid var(--brass);border-radius:999px 999px 22px 22px;overflow:hidden;background:var(--deep);box-shadow:var(--shadow)}
.os-arch img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s}.os-arch:hover img{transform:scale(1.06)}
.os-arch figcaption{position:absolute;inset-inline:16px;bottom:16px;padding:10px 14px;border-radius:999px;background:rgba(7,27,11,.85);color:var(--gold);font-weight:600;font-size:.9rem;text-align:center}
.os-promises{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:clamp(24px,4vw,40px)}
.os-promises li{display:flex;align-items:center;gap:14px;padding:16px 20px;background:var(--bg);border:1px solid var(--line);border-radius:16px}
.os-promises li>i{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;background:var(--shade-strong);color:var(--gold-text)}
.os-promises h3{margin:0;color:var(--ink);font:700 1.25rem/1.2 var(--font-head)}.os-promises p{margin:0;color:var(--muted);font-size:.88rem}
/* responsive */
@media(max-width:991px){
  .os-mv__grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .os-arch{grid-column:1/-1;order:-1;min-height:0;aspect-ratio:16/9;border-radius:22px}
}
@media(max-width:767px){
  .os-promises{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:575px){
  .os-cta .btn{flex:1 1 100%}
  .os-mv__grid{grid-template-columns:minmax(0,1fr)}
  .os-arch{aspect-ratio:4/3}
}

@media(prefers-reduced-motion:reduce){.os-hr__txt>*{animation:none}.os-js [data-os]{opacity:1;transform:none;transition:none}.os-card,.os-ico,.os-arch img{transition:none}}

/* ===== Our Story page: values, team, testimonials, call to action ===== */
.os-values,.os-team,.os-rv{scroll-margin-top:calc(var(--h) + 12px)}
/* values */
/* team */
/* testimonials */
/* call to action */
/* responsive */

@media(prefers-reduced-motion:reduce){.os-tile>img{transition:none}}

/* ===== Our Story page: image tiles + real photo avatars ===== */
.os-vhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 48px;margin-bottom:clamp(24px,4vw,44px)}
.os-vhead__l{flex:1 1 420px;max-width:660px}.os-vhead__r{flex:0 1 380px}.os-vhead__r p{margin:0 0 16px;color:var(--muted)}
.os-vhead__r .btn i{margin-inline-start:10px;font-size:.8em;transition:translate .2s}.os-vhead__r .btn:hover i{translate:4px 0}
.os-vgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:clamp(220px,22vw,290px);gap:clamp(12px,1.6vw,20px)}
.os-tile{position:relative;isolation:isolate;display:flex;align-items:flex-end;margin:0;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:var(--deep);color:#FFF4DD;box-shadow:0 10px 26px rgba(7,27,11,.14)}
.os-tile>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.os-tile::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,27,11,.93) 0,rgba(7,27,11,.55) 42%,rgba(7,27,11,.08) 78%)}
.os-tile:hover>img{transform:scale(1.07)}
.os-tile .os-ico{position:absolute;top:16px;inset-inline-start:16px;width:46px;height:46px;font-size:1rem}
.os-tile__body{width:100%;padding:clamp(18px,2vw,26px)}
.os-tile h3{margin:0 0 4px;color:#FFF4DD;font:700 clamp(1.4rem,2vw,1.8rem)/1.15 var(--font-head)}
.os-tile p{margin:0;max-width:44ch;color:rgba(255,244,221,.88);font-size:.93rem}
.os-tile--1{grid-row:span 2}.os-tile--4,.os-tile--6{grid-column:span 2}
.os-av{display:block;flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--deep);box-shadow:0 0 0 2px var(--gold),0 0 0 5px rgba(242,184,63,.25)}
@media(max-width:991px){
  .os-vgrid{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:clamp(220px,34vw,280px)}
  .os-tile--1{grid-column:span 2;grid-row:auto}.os-tile--6{grid-column:auto}
}
@media(max-width:575px){
  .os-vgrid{grid-template-columns:minmax(0,1fr);grid-auto-rows:260px}
  .os-tile--1,.os-tile--4,.os-tile--6{grid-column:auto;grid-row:auto}
  .os-vhead__r{flex-basis:100%}
}

/* ===== Our Story page: guest order slips + CTA card ===== */
.os-rv{padding:clamp(44px,6vw,72px) 0 clamp(52px,6vw,80px);background:var(--bg);scroll-margin-top:calc(var(--h) + 12px)}
.os-rvhead{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:20px 40px;margin-bottom:clamp(22px,3.5vw,36px)}
.os-rvsum{display:flex;align-items:center;gap:14px;padding:10px 20px 10px 10px;background:var(--surface);border:1px solid var(--line);border-radius:999px}
.os-rvsum__faces{display:flex}.os-rvsum__faces img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:var(--deep);border:3px solid var(--surface);box-shadow:0 0 0 1.5px var(--gold)}.os-rvsum__faces img+img{margin-inline-start:-14px}
.os-rvsum small{display:block;margin-top:2px;color:var(--muted);font-size:.85rem;line-height:1.3}
.os-stars{display:flex;gap:3px;color:#C98A12;font-size:.85rem}
.os-slips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);align-items:stretch;padding-bottom:10px}
.os-slipw{display:flex}
.os-slip{--paper:#FFF9EC;position:relative;display:flex;flex-direction:column;gap:12px;width:100%;margin:0;padding:22px clamp(20px,2.4vw,28px) 34px;background:var(--paper);color:#211F17;border-radius:14px 14px 0 0;filter:drop-shadow(0 10px 14px rgba(7,27,11,.18));transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.os-slip:hover{transform:translateY(-6px)}
.os-slip::after{content:"";position:absolute;inset-inline:0;bottom:-8px;height:8px;background:var(--paper);-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 50%/16px 100%}
.os-slip__top{display:flex;align-items:center;justify-content:space-between;gap:12px}
.os-slip__no{color:#765018;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.os-slip__dish{position:relative;margin:0;padding-bottom:14px;border-bottom:2px dashed rgba(196,148,53,.55);color:#142817;font:700 1.4rem/1.2 var(--font-head)}
.os-slip__dish small{display:block;margin-bottom:1px;color:#625744;font:600 .66rem/1.4 var(--font-body);letter-spacing:.16em;text-transform:uppercase}
.os-slip blockquote{flex:1;margin:0}.os-slip blockquote p{margin:0;color:#211F17;font:500 1.2rem/1.5 var(--font-head);font-style:italic}
.os-slip figcaption{display:flex;align-items:center;gap:12px;padding-top:14px;border-top:1px solid rgba(196,148,53,.28)}.os-slip figcaption>span:not(.os-slip__stamp){flex:1;min-width:0}
.os-slip figcaption strong{display:block;color:#142817}.os-slip figcaption small{display:block;color:#625744;font-size:.8rem}
.os-slip__stamp{flex:none;display:grid;place-content:center;justify-items:center;gap:1px;width:58px;height:58px;border:2px dashed #9C4A2F;border-radius:50%;color:#9C4A2F;font-size:.6rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;transform:rotate(-14deg);opacity:.85}
.os-slip__stamp i{font-size:.75rem}
/* CTA card */
.os-cc-sec{padding-block:clamp(36px,5vw,64px)}
.os-cc{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);overflow:hidden;border:1px solid var(--line);border-radius:28px;background:var(--bg);box-shadow:var(--shadow)}
.os-cc__main{position:relative;overflow:hidden;padding:clamp(30px,4.6vw,60px);background:radial-gradient(ellipse at 0 0,rgba(242,184,63,.2),transparent 60%),var(--hdr-bg);color:#FFF4DD}
.os-cc__mark{position:absolute;inset-inline-end:-18px;bottom:-26px;color:var(--gold);font-size:11rem;opacity:.07;transform:rotate(-12deg);pointer-events:none}
.os-cc .os-eyebrow{color:var(--gold)}
.os-cc h2{position:relative;margin:0;color:#FFF4DD;font:700 clamp(2.1rem,4.4vw,3.2rem)/1.06 var(--font-head)}.os-cc h2 em{color:var(--gold)}
.os-cc__txt{position:relative;max-width:40ch;margin:12px 0 24px;color:rgba(255,244,221,.86)}
.os-cc .os-cta{position:relative}
.os-cc .btn--ghost{color:#FFF4DD;border-color:rgba(255,244,221,.7)}.os-cc .btn--ghost:hover{color:var(--deep);border-color:var(--gold)}
.os-cc__visit{display:flex;flex-direction:column;justify-content:center;padding:clamp(24px,3.4vw,40px)}
.os-cc__vt{margin:0 0 6px;color:var(--gold-text);font-size:.75rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase}
.os-cc__visit ul{display:grid}
.os-cc__visit li{display:flex;align-items:center;gap:14px;padding:16px 0}.os-cc__visit li+li{border-top:1px dashed var(--line)}
.os-cc__visit li>i{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--deep)}
.os-cc__visit span{flex:1;min-width:0}.os-cc__visit small{display:block;color:var(--muted);font-size:.78rem;line-height:1.3}
.os-cc__visit strong{display:block;color:var(--ink);font:700 1.3rem/1.25 var(--font-head)}
.os-cc__go{display:grid;place-items:center;flex:none;width:36px;height:36px;border:1px solid var(--line);border-radius:50%;color:var(--ink);text-decoration:none;font-size:.8rem;transition:background .25s,color .25s,border-color .25s}
.os-cc__go:hover{background:var(--btn-bg);color:var(--btn-fg);border-color:var(--btn-bg)}
@media(max-width:991px){
  .os-slips{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:6px 6px 22px;margin-inline:-6px;scrollbar-width:thin;scrollbar-color:var(--gold) transparent}
  .os-slipw{flex:0 0 min(78%,380px);scroll-snap-align:start}
  .os-slips:focus-visible{outline:2px solid var(--gold);outline-offset:4px;border-radius:12px}
  .os-cc{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:575px){.os-slipw{flex-basis:88%}.os-cc{border-radius:22px}.os-cc__mark{font-size:8rem}.os-cc .os-cta .btn{flex:1 1 100%}.os-rvsum{width:100%}}
@media(prefers-reduced-motion:reduce){.os-slip{transition:none}}

/* ===== Our Story page: team ===== */
.os-team{background:radial-gradient(ellipse at 50% 0,rgba(242,184,63,.16),transparent 60%),var(--hdr-bg);color:#FFF4DD}
.os-team .os-eyebrow{color:var(--gold)}.os-team .os-h2{color:#FFF4DD}.os-team .os-h2 em{color:var(--gold)}
.os-team .os-head p:last-child{color:rgba(255,244,221,.8)}
.os-tf__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,2vw,24px)}
.os-tf{position:relative;isolation:isolate;overflow:hidden;display:flex;align-items:flex-end;aspect-ratio:3/4.1;border:1px solid var(--hdr-line);border-radius:20px;background:#0b2410;outline:0;transition:border-color .4s,box-shadow .4s}
.os-tf:hover,.os-tf:focus-within,.os-tf:focus-visible{border-color:var(--gold);box-shadow:0 22px 44px rgba(0,0,0,.5)}
.os-tf:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.os-tf>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:50% 22%;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.os-tf:hover>img,.os-tf:focus-within>img{transform:scale(1.06)}
.os-tf::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,rgba(7,27,11,.96) 0,rgba(7,27,11,.78) 34%,rgba(7,27,11,.12) 68%,rgba(7,27,11,.35) 100%);transition:opacity .4s}
.os-tf::after{content:"";position:absolute;inset:10px;z-index:0;border:1px solid rgba(247,215,124,.28);border-radius:12px;pointer-events:none;transition:border-color .4s}
.os-tf:hover::after,.os-tf:focus-within::after{border-color:rgba(247,215,124,.6)}
.os-tf__no{position:absolute;top:22px;inset-inline-start:24px;color:var(--gold-soft);font:600 1rem/1 var(--font-head);letter-spacing:.14em}
.os-tf__ico{position:absolute;top:16px;inset-inline-end:18px;display:grid;place-items:center;width:38px;height:38px;border:1px solid rgba(247,215,124,.5);border-radius:50%;background:rgba(7,27,11,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);color:var(--gold);font-size:.85rem}
.os-tf__info{width:100%;padding:clamp(20px,2vw,28px) clamp(20px,2vw,28px) clamp(22px,2vw,30px)}
.os-tf__role{margin:0 0 6px;color:var(--gold);font-size:.7rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.os-tf h3{position:relative;margin:0;padding-bottom:12px;color:#FFF4DD;font:700 clamp(1.7rem,2.4vw,2.1rem)/1.1 var(--font-head)}
.os-tf h3::after{content:"";position:absolute;bottom:0;inset-inline-start:0;width:42px;height:2px;background:var(--gold);transition:width .5s}
.os-tf:hover h3::after,.os-tf:focus-within h3::after{width:100%;background:linear-gradient(90deg,var(--gold),transparent)}
.os-tf__more{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .5s cubic-bezier(.3,.7,.2,1),opacity .4s}
.os-tf__more>div{overflow:hidden;min-height:0}
.os-tf:hover .os-tf__more,.os-tf:focus-within .os-tf__more{grid-template-rows:1fr;opacity:1}
.os-tf__more p{margin:14px 0 14px;color:rgba(255,244,221,.9);font-size:.92rem;line-height:1.55}
.os-tf__spec{display:inline-block;padding:6px 14px;border:1px solid rgba(247,215,124,.5);border-radius:999px;color:#FFF4DD;font-size:.82rem;font-weight:500}
.os-tf__spec small{margin-inline-end:8px;color:var(--gold);font-size:.62rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:1100px){.os-tf__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.os-tf{aspect-ratio:4/4.6}}
@media(max-width:575px){.os-tf__grid{grid-template-columns:minmax(0,1fr)}.os-tf{aspect-ratio:4/4.8}}
/* touch screens below 1024px have no hover, so the details stay open; from 1024px up the cards reveal on hover (or tap/focus) like desktop */
@media(hover:none) and (max-width:1023px){.os-tf__more{grid-template-rows:1fr;opacity:1}.os-tf h3::after{width:100%;background:linear-gradient(90deg,var(--gold),transparent)}}
@media(prefers-reduced-motion:reduce){.os-tf,.os-tf>img,.os-tf__more,.os-tf h3::after{transition:none}}

/* ===== Our Story page: hero ===== */
.os-hr{position:relative;overflow:hidden;padding:clamp(36px,5vw,72px) 0 clamp(48px,7vw,96px);background:radial-gradient(ellipse at 88% 8%,rgba(242,184,63,.24),transparent 55%),var(--surface)}
.os-hr__mark{position:absolute;inset-inline-start:2%;bottom:-.12em;color:transparent;-webkit-text-stroke:1.5px var(--line);font:700 clamp(7rem,19vw,16rem)/1 var(--font-body);white-space:nowrap;pointer-events:none;user-select:none}
.os-hr__grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(36px,6vw,84px);align-items:center}
.os-crumb{margin:0 0 18px;font-size:.85rem;color:var(--muted)}.os-crumb a{color:var(--gold-text);text-decoration:none;font-weight:500}.os-crumb i{font-size:.6rem;margin:0 6px}
.os-hr h1{margin:0;max-width:15ch;color:var(--ink);font:700 clamp(2.5rem,5.6vw,4.4rem)/1.04 var(--font-head);overflow-wrap:break-word}.os-hr h1 em{color:var(--gold-text);font-style:italic}
.os-lead{max-width:50ch;margin:20px 0 28px;color:var(--muted);font-size:1.05rem;line-height:1.75}
.os-cta{display:flex;flex-wrap:wrap;gap:12px}.os-cta .btn i{margin-inline-start:10px;font-size:.8em;transition:translate .2s}.os-cta .btn:hover i{translate:4px 0}
.os-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));max-width:520px;margin-top:clamp(28px,4vw,44px);padding-top:22px;border-top:1px solid var(--line)}
.os-stats li{min-width:0;padding-inline:clamp(12px,2.4vw,24px)}.os-stats li:first-child{padding-inline-start:0}.os-stats li+li{border-inline-start:1px solid var(--line)}
.os-stats strong{display:block;color:var(--ink);font:700 clamp(1.6rem,3.2vw,2.2rem)/1.1 var(--font-head)}.os-stats span{display:block;margin-top:2px;color:var(--muted);font-size:.8rem;line-height:1.35}
.os-hr__txt>*{animation:osRise .8s ease both}.os-hr__txt>:nth-child(2){animation-delay:.08s}.os-hr__txt>:nth-child(3){animation-delay:.16s}.os-hr__txt>:nth-child(4){animation-delay:.24s}.os-hr__txt>:nth-child(5){animation-delay:.32s}.os-hr__txt>:nth-child(6){animation-delay:.4s}
.os-hr__art{position:relative;isolation:isolate;height:clamp(440px,46vw,580px);animation:osRise .9s .2s ease both}
.os-hr__art::before{content:"";position:absolute;z-index:-1;inset:14px -14px -14px 14px;border:2px solid var(--gold);border-radius:30px;opacity:.55}
.os-hr__cols{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;height:100%;overflow:hidden;padding-inline:12px;border-radius:28px;background:rgba(255,255,255,.35);border:1px solid var(--line);-webkit-mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent);mask-image:linear-gradient(transparent,#000 14%,#000 86%,transparent)}
.os-hr__col{min-width:0;overflow:hidden}
.os-hr__track{display:flex;flex-direction:column;animation:osScroll var(--spd,32s) linear infinite}
.os-hr__col--2 .os-hr__track{animation-direction:reverse;--spd:40s}.os-hr__col--3 .os-hr__track{--spd:36s}
.os-hr__set{display:flex;flex-direction:column;gap:12px;padding-bottom:12px}
.os-hr__set img{display:block;width:100%;height:auto;object-fit:cover;border:2px solid var(--brass);border-radius:18px;background:var(--deep)}
.os-hr__art:hover .os-hr__track{animation-play-state:paused}
@keyframes osScroll{to{transform:translateY(-50%)}}
.os-hr__open{position:absolute;z-index:2;inset-inline-start:-26px;bottom:34px;display:flex;align-items:center;gap:12px;padding:12px 20px 12px 12px;border:1px solid var(--hdr-line);border-radius:16px;background:rgba(7,27,11,.9);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFF4DD;font-weight:500;box-shadow:0 14px 30px rgba(0,0,0,.35)}
.os-hr__open i{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--gold);color:var(--deep)}
.os-hr__open small{display:block;color:var(--gold-soft);font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}
@media(max-width:991px){
  .os-hr__grid{grid-template-columns:minmax(0,1fr)}
  .os-hr h1{max-width:18ch}
  .os-hr__art{height:clamp(340px,62vw,460px);margin-inline:14px}
  .os-hr__open{inset-inline-start:-10px;bottom:20px}
}
@media(max-width:575px){.os-hr__art{height:340px;margin-inline:10px}.os-hr__art::before{inset:10px -10px -10px 10px}.os-hr__cols{grid-template-columns:repeat(2,minmax(0,1fr))}.os-hr__col--3{display:none}.os-hr__open{padding:10px 16px 10px 10px;font-size:.88rem}.os-stats{max-width:none}}
@media(prefers-reduced-motion:reduce){.os-hr__art{animation:none}.os-hr__track{animation:none}.os-hr__set+.os-hr__set{display:none}}

/* ===== Contact page: breakfast invitation — editorial split redesign ===== */
.ct-cta{position:relative;display:grid;grid-template-columns:1.02fr .98fr;align-items:stretch;gap:clamp(24px,4vw,58px);min-height:0;padding:clamp(22px,3.5vw,42px);border:1px solid rgba(242,184,63,.34);border-radius:28px;background:radial-gradient(circle at 5% 8%,rgba(242,184,63,.14),transparent 34%),linear-gradient(135deg,#092b1a 0%,#123d28 58%,#0b2b1d 100%);color:#fff4dd;box-shadow:0 22px 55px rgba(9,43,26,.14)}
.ct-cta:before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,244,221,.12);border-radius:20px;pointer-events:none}
.ct-cta__copy{position:relative;z-index:1;align-self:center;padding:clamp(14px,2vw,30px) clamp(8px,2vw,24px)}
.ct-cta__eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#f4c45d;font-size:.72rem;font-weight:700;letter-spacing:.19em;text-transform:uppercase}
.ct-cta__eyebrow span{width:28px;height:1px;background:#f4c45d}
.ct-cta h2{margin:0;color:#fff4dd;font:700 clamp(2.35rem,4.3vw,4.1rem)/.98 var(--font-head);letter-spacing:-.025em}
.ct-cta h2 em{color:#f4bd45;font-weight:600}
.ct-cta__desc{max-width:43ch;margin:20px 0 22px;color:rgba(255,244,221,.78);font-size:1rem;line-height:1.8}
.ct-cta__meta{display:flex;flex-wrap:wrap;gap:10px 22px;margin:0 0 28px;color:rgba(255,244,221,.86);font-size:.83rem}
.ct-cta__meta span{display:inline-flex;align-items:center;gap:8px}.ct-cta__meta i{color:#f4bd45}
.ct-cta__link{display:inline-flex;align-items:center;gap:18px;padding:14px 19px;border:1px solid rgba(244,189,69,.75);border-radius:999px;color:#092b1a;background:#f4bd45;text-decoration:none;font-weight:700;font-size:.9rem;transition:background .25s,transform .25s,box-shadow .25s}
.ct-cta__link i{transition:transform .25s}.ct-cta__link:hover{background:#ffd16a;transform:translateY(-2px);box-shadow:0 10px 22px rgba(0,0,0,.2)}.ct-cta__link:hover i{transform:translateX(4px)}
.ct-cta__visual{position:relative;min-height:360px;overflow:hidden;border-radius:20px;background:#183b29;isolation:isolate}
.ct-cta__visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,27,11,.02) 48%,rgba(7,27,11,.55));pointer-events:none}
.ct-cta__visual>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-1;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.ct-cta:hover .ct-cta__visual>img{transform:scale(1.045)}
.ct-cta__stamp{position:absolute;top:22px;right:22px;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:104px;height:104px;border:1px solid rgba(9,43,26,.35);border-radius:50%;background:#f4bd45;color:#123522;box-shadow:0 8px 24px rgba(0,0,0,.2);transform:rotate(8deg)}
.ct-cta__stamp span{font-size:.55rem;font-weight:800;letter-spacing:.16em}.ct-cta__stamp strong{font:700 1.35rem/.95 var(--font-head);margin:3px 0}
.ct-cta__caption{position:absolute;z-index:1;left:22px;bottom:20px;color:#fff4dd;font:italic 1.15rem var(--font-head);letter-spacing:.02em}
@media(max-width:800px){.ct-cta{grid-template-columns:1fr;gap:20px;padding:22px}.ct-cta__copy{padding:20px 14px 8px}.ct-cta__visual{min-height:320px}.ct-cta h2{font-size:clamp(2.5rem,8vw,3.5rem)}}
@media(max-width:480px){.ct-cta{padding:16px;border-radius:22px}.ct-cta:before{inset:8px;border-radius:16px}.ct-cta__copy{padding:18px 8px 6px}.ct-cta__desc{font-size:.92rem;margin:16px 0}.ct-cta__meta{gap:9px 14px;font-size:.77rem;margin-bottom:22px}.ct-cta__link{width:100%;justify-content:space-between;padding:13px 16px}.ct-cta__visual{min-height:260px;border-radius:16px}.ct-cta__stamp{width:84px;height:84px;top:14px;right:14px}.ct-cta__stamp strong{font-size:1.1rem}.ct-cta__caption{left:15px;bottom:14px;font-size:1rem}}
@media(prefers-reduced-motion:reduce){.ct-cta__visual>img,.ct-cta__link,.ct-cta__link i{transition:none}}

/* ===== Contact page: FAQ + breakfast invitation — coordinated premium redesign ===== */
.ct-faq-area{position:relative;overflow:hidden;background:linear-gradient(135deg,#fff8e9 0%,#fff2d8 100%);}
.ct-faq-area:before{content:"";position:absolute;width:420px;height:420px;inset-inline-start:-230px;top:-190px;border:1px solid rgba(185,126,26,.16);border-radius:50%;box-shadow:0 0 0 28px rgba(185,126,26,.035),0 0 0 58px rgba(185,126,26,.025);pointer-events:none}
.ct-faq{position:relative;display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.22fr);gap:clamp(34px,6vw,88px);align-items:center;margin-bottom:clamp(54px,7vw,82px)}
.ct-faq__intro{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding:18px 0}
.ct-faq__intro .ct-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 18px;color:#9a6415;font-size:.72rem;font-weight:700;letter-spacing:.2em}
.ct-faq__eyeline{display:block;width:30px;height:1px;background:#c58b28}
.ct-faq__intro h2{position:relative;z-index:1;margin:0;color:#123522;font:700 clamp(2.5rem,4.5vw,4rem)/.98 var(--font-head);letter-spacing:-.025em}
.ct-faq__intro h2 em{color:#b57b1d;font-weight:600}
.ct-faq__lead{position:relative;z-index:1;max-width:36ch;margin:22px 0 28px;color:#655c4c;font-size:.98rem;line-height:1.85}
.ct-faq__help{position:relative;z-index:1;display:flex;align-items:center;gap:13px;width:min(100%,340px);padding:13px 15px;border:1px solid rgba(173,119,32,.24);border-radius:15px;background:rgba(255,255,255,.56);color:#173b27;text-decoration:none;transition:background .25s,border-color .25s,transform .25s}
.ct-faq__help:hover{background:#fff;border-color:#c58b28;transform:translateY(-2px)}
.ct-faq__help-icon{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border-radius:12px;background:#123522;color:#f4bd45;font-size:1rem}
.ct-faq__help strong,.ct-faq__help small{display:block}.ct-faq__help strong{font-size:.87rem}.ct-faq__help small{margin-top:3px;color:#786b57;font-size:.76rem}.ct-faq__help>i{margin-inline-start:auto;color:#a87520;font-size:.78rem}
.ct-faq__ornament{position:absolute;z-index:0;inset-inline-end:0;bottom:-.18em;color:rgba(181,123,29,.075);font:700 clamp(2rem,4vw,3.6rem) var(--font-head);white-space:nowrap;pointer-events:none}
.ct-faq .ct-acc{max-width:none;margin:0;display:grid;gap:12px}
.ct-q{position:relative;margin:0;overflow:hidden;border:1px solid rgba(174,119,34,.28);border-radius:15px;background:rgba(255,255,255,.7);box-shadow:0 5px 16px rgba(75,53,17,.035);transition:border-color .25s,background .25s,box-shadow .25s}
.ct-q:hover,.ct-q.is-open{border-color:rgba(174,119,34,.72);background:#fffdf8;box-shadow:0 10px 24px rgba(75,53,17,.07)}
.ct-q button{display:grid;grid-template-columns:38px minmax(0,1fr) 34px;align-items:center;gap:14px;padding:17px 18px;color:#173522;font:600 .98rem var(--font-body)}
.ct-q__num{color:#b17b24;font:600 .77rem var(--font-body);letter-spacing:.08em}
.ct-q__text{line-height:1.45}
.ct-q__toggle{display:grid;place-items:center;width:32px;height:32px;border:1px solid rgba(174,119,34,.35);border-radius:50%;color:#9a6415;transition:background .25s,color .25s,transform .3s}
.ct-q.is-open .ct-q__toggle{background:#123522;color:#f4bd45;transform:rotate(45deg);border-color:#123522}
.ct-q button i{color:inherit;transition:none}
.ct-q>div p{padding:0 66px 0 70px;color:#6c6252;font-size:.9rem;line-height:1.8}
.ct-q.is-open>div p{padding-bottom:18px}
.ct-cta-wrap{position:relative}
.ct-cta{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:0;min-height:390px;padding:15px;border:1px solid rgba(242,184,63,.48);border-radius:26px;background:linear-gradient(120deg,#082b19 0%,#123c27 62%,#0b2e1d 100%);box-shadow:0 24px 52px rgba(9,43,26,.16)}
.ct-cta:before{inset:11px;border:1px solid rgba(255,244,221,.13);border-radius:18px}
.ct-cta__copy{padding:clamp(26px,4vw,54px) clamp(20px,4vw,54px)}
.ct-cta__eyebrow{gap:9px;margin-bottom:24px;font-size:.67rem;letter-spacing:.16em;line-height:1.5}
.ct-cta__eyebrow span{width:24px;flex:0 0 24px}
.ct-cta h2{font-size:clamp(2.8rem,5vw,4.5rem);line-height:.98}
.ct-cta h2 em{font-style:italic}
.ct-cta__desc{max-width:38ch;margin:18px 0 20px;font-size:.94rem;line-height:1.75}
.ct-cta__meta{gap:10px 18px;margin-bottom:25px;font-size:.78rem}
.ct-cta__link{gap:15px;padding:13px 18px;border-radius:8px;font-size:.86rem}
.ct-cta__visual{min-height:360px;margin:0 0 0 12px;border-radius:18px 18px 18px 92px}
.ct-cta__visual:before{content:"";position:absolute;z-index:1;inset:0 auto 0 0;width:7px;background:#e9b63e;opacity:.95}
.ct-cta__visual>img{object-position:center;}
.ct-cta__stamp{top:24px;right:24px;width:92px;height:92px;background:#f4bd45}
.ct-cta__caption{left:25px;bottom:22px;font-size:1.1rem}
@media(max-width:900px){.ct-faq{grid-template-columns:1fr;gap:26px}.ct-faq__intro{padding:0}.ct-faq__ornament{inset-inline-end:5%;bottom:-.15em}.ct-faq__lead{max-width:55ch;margin:16px 0 20px}.ct-faq .ct-acc{max-width:none}.ct-cta{grid-template-columns:1fr;gap:14px}.ct-cta__copy{padding:30px 28px 16px}.ct-cta__visual{min-height:340px;margin:0;border-radius:16px 16px 16px 60px}}
@media(max-width:575px){.ct-faq-area{padding:52px 0}.ct-faq{gap:22px;margin-bottom:44px}.ct-faq__intro h2{font-size:2.75rem}.ct-faq__lead{font-size:.91rem}.ct-q{border-radius:13px}.ct-q button{grid-template-columns:28px minmax(0,1fr) 30px;gap:10px;padding:14px 12px;font-size:.9rem}.ct-q__toggle{width:29px;height:29px}.ct-q>div p{padding-inline:50px 16px;font-size:.84rem}.ct-q.is-open>div p{padding-bottom:15px}.ct-cta{padding:10px;border-radius:20px}.ct-cta:before{inset:7px;border-radius:15px}.ct-cta__copy{padding:25px 16px 12px}.ct-cta__eyebrow{font-size:.58rem;letter-spacing:.12em;margin-bottom:18px}.ct-cta h2{font-size:clamp(2.65rem,12vw,3.5rem)}.ct-cta__desc{font-size:.88rem;margin:15px 0}.ct-cta__meta{font-size:.74rem;gap:8px 13px;margin-bottom:20px}.ct-cta__link{width:100%;justify-content:space-between;padding:13px 15px}.ct-cta__visual{min-height:250px;border-radius:14px 14px 14px 44px}.ct-cta__stamp{width:78px;height:78px;top:13px;right:13px}.ct-cta__stamp strong{font-size:1rem}.ct-cta__caption{left:15px;bottom:13px;font-size:.95rem}}
@media(prefers-reduced-motion:reduce){.ct-faq__help,.ct-q,.ct-q__toggle{transition:none}}

/* ===== Contact page: separated editorial hero + dedicated enquiry section ===== */
.ct-hero--redesigned{position:relative;padding:clamp(34px,5vw,68px) 0 clamp(54px,7vw,88px);background:linear-gradient(180deg,var(--bg),var(--surface));}
.ct-hero--redesigned .ct-hero__inner{display:grid;grid-template-columns:1fr 1.02fr;gap:clamp(28px,5vw,64px);align-items:center;min-height:510px;padding:clamp(26px,4vw,52px);border-radius:30px;background:radial-gradient(ellipse at 0 0,rgba(242,184,63,.17),transparent 46%),var(--hdr-bg);color:#fff4dd;overflow:hidden;box-shadow:var(--shadow)}
.ct-hero__copy{position:relative;z-index:1}
.ct-hero--redesigned .ct-crumb{margin-bottom:30px}
.ct-hero--redesigned .ct-eyebrow{color:var(--gold);letter-spacing:.2em}
.ct-hero--redesigned h1{max-width:650px;margin:0;color:#fff4dd;font:700 clamp(2.65rem,5vw,4.65rem)/.98 var(--font-head);letter-spacing:-.025em}
.ct-hero--redesigned h1 em{display:block;margin-top:8px;color:var(--gold);font-style:italic}
.ct-hero--redesigned .ct-lead{max-width:48ch;margin:22px 0 28px;color:rgba(255,244,221,.78);font-size:1.04rem}
.ct-hero__links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:30px}
.ct-hero__links a{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:5px;text-decoration:none;color:#fff4dd}
.ct-hero__links a>span{width:42px;height:42px;display:grid;place-items:center;border:1px solid rgba(242,184,63,.6);border-radius:50%;color:var(--gold);font-size:1rem;margin-bottom:6px;transition:background .25s,transform .25s}
.ct-hero__links a:hover>span{background:var(--gold);color:var(--deep);transform:translateY(-3px)}
.ct-hero__links small{color:var(--gold-soft);font-size:.76rem;letter-spacing:.12em;text-transform:uppercase}
.ct-hero__links b{font-size:.88rem;line-height:1.35;overflow-wrap:anywhere}
.ct-hero__scroll{display:inline-flex;align-items:center;gap:12px;margin-top:28px;color:var(--gold-soft);font-size:.88rem;text-decoration:none}
.ct-hero__scroll i{transition:transform .25s}.ct-hero__scroll:hover i{transform:translateY(4px)}
.ct-hero__visual{position:relative;min-height:420px;height:100%;border-radius:24px;overflow:hidden;background-image:linear-gradient(180deg,transparent 52%,rgba(7,27,11,.68)),url('../images/contact-hero-food.jpg');background-size:cover;background-position:center;box-shadow:0 22px 48px rgba(0,0,0,.28);border:1px solid rgba(242,184,63,.42)}
.ct-visual-tag{position:absolute;top:22px;inset-inline-start:22px;display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(7,27,11,.78);color:#ffe4a0;font-size:.78rem;letter-spacing:.04em;backdrop-filter:blur(8px)}
.ct-visual-caption{position:absolute;inset-inline:24px;bottom:22px;color:#fff4dd;font:italic 1.55rem/1.1 var(--font-head);text-shadow:0 2px 12px rgba(0,0,0,.5)}
.ct-enquiry-section{position:relative;padding:clamp(58px,8vw,104px) 0;background:var(--surface);overflow:hidden}
.ct-enquiry-section:before,.ct-enquiry-section:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(196,148,53,.16);border-radius:50%;pointer-events:none}
.ct-enquiry-section:before{top:-145px;inset-inline-start:-115px;box-shadow:0 0 0 24px rgba(196,148,53,.035),0 0 0 48px rgba(196,148,53,.025)}
.ct-enquiry-section:after{bottom:-170px;inset-inline-end:-120px;box-shadow:0 0 0 24px rgba(196,148,53,.035),0 0 0 48px rgba(196,148,53,.025)}
.ct-enquiry-wrap{position:relative;z-index:1;display:grid;grid-template-columns:.78fr 1.22fr;gap:clamp(28px,6vw,76px);align-items:center}
.ct-enquiry-intro h2{max-width:440px;margin:0;color:var(--ink);font:700 clamp(2.25rem,4vw,3.45rem)/1.02 var(--font-head)}
.ct-enquiry-intro h2 em{color:var(--gold-text)}
.ct-enquiry-intro>p:not(.ct-eyebrow){max-width:45ch;margin:18px 0 26px;color:var(--muted)}
.ct-enquiry-note{display:flex;align-items:center;gap:13px;margin-top:17px}
.ct-enquiry-note>span{width:42px;height:42px;flex:none;display:grid;place-items:center;border-radius:50%;background:rgba(242,184,63,.2);color:var(--gold-text)}
.ct-enquiry-note b,.ct-enquiry-note small{display:block}.ct-enquiry-note b{color:var(--ink);font-size:.94rem}.ct-enquiry-note small{color:var(--muted);font-size:.84rem}
.ct-enquiry-wrap .ct-form{width:100%;padding:clamp(24px,3.5vw,42px);background:var(--bg);border:1px solid var(--line);border-radius:24px;box-shadow:0 18px 42px rgba(7,27,11,.10)}
.ct-enquiry-wrap .ct-form h2{margin-bottom:24px}
.ct-enquiry-wrap .ct-form .ct-f{margin-bottom:16px}
.ct-enquiry-wrap .ct-form textarea{min-height:135px}
@media(max-width:900px){
 .ct-hero--redesigned .ct-hero__inner{grid-template-columns:1fr;gap:28px}
 .ct-hero__visual{min-height:360px;order:-1}
 .ct-enquiry-wrap{grid-template-columns:1fr;gap:30px}
 .ct-enquiry-intro{max-width:680px}
}
@media(max-width:575px){
 .ct-hero--redesigned{padding:20px 0 42px}
 .ct-hero--redesigned .ct-hero__inner{padding:22px 18px;border-radius:22px;gap:24px}
 .ct-hero__visual{min-height:250px;border-radius:17px}
 .ct-hero--redesigned h1{font-size:clamp(2.35rem,11vw,3.3rem)}
 .ct-hero__links{grid-template-columns:1fr 1fr;gap:18px 12px}
 .ct-hero__links a:last-child{grid-column:1/-1}
 .ct-visual-caption{font-size:1.25rem}
 .ct-enquiry-wrap .ct-form{padding:22px 17px}
}
[data-theme="dark"] .ct-enquiry-section{background:#101b12}
[data-theme="dark"] .ct-enquiry-wrap .ct-form{background:#1b2b1d;border-color:rgba(242,184,63,.32)}
[data-theme="dark"] .ct-enquiry-intro h2{color:#fff0d2}
[data-theme="dark"] .ct-enquiry-intro h2 em{color:#f7d77c}
[data-theme="dark"] .ct-enquiry-note b{color:#fff0d2}
@media(prefers-reduced-motion:reduce){.ct-hero__links a>span,.ct-hero__scroll i{transition:none}}

/* ===== Contact page refinement: premium editorial hero + accessible enquiry form ===== */
.ct-hero--redesigned{padding-top:clamp(22px,3vw,38px);padding-bottom:clamp(58px,7vw,88px);background:radial-gradient(ellipse at 85% 5%,rgba(222,170,61,.12),transparent 35%),linear-gradient(180deg,#fff7e7 0%,var(--surface) 100%)}
.ct-hero--redesigned .ct-hero__inner{position:relative;isolation:isolate;grid-template-columns:minmax(0,.94fr) minmax(390px,1.06fr);gap:clamp(30px,4vw,58px);min-height:590px;padding:clamp(34px,5vw,66px);border:1px solid rgba(231,183,75,.38);border-radius:34px;background:radial-gradient(ellipse at 8% 10%,rgba(220,170,56,.18),transparent 35%),linear-gradient(130deg,#142b18 0%,#071b0d 62%,#102819 100%);box-shadow:0 28px 65px rgba(14,34,18,.2)}
.ct-hero--redesigned .ct-hero__inner:before{content:"";position:absolute;z-index:-1;width:410px;height:410px;inset-inline-start:-230px;bottom:-250px;border:1px solid rgba(242,184,63,.23);border-radius:50%;box-shadow:0 0 0 24px rgba(242,184,63,.035),0 0 0 52px rgba(242,184,63,.025)}
.ct-hero--redesigned .ct-crumb{display:flex;align-items:center;gap:10px;margin-bottom:clamp(34px,4vw,54px);font-size:.82rem;color:rgba(255,244,221,.62)}
.ct-hero--redesigned .ct-crumb a{color:#f4bd45;text-decoration:none}.ct-hero--redesigned .ct-crumb i{font-size:.65rem;color:rgba(255,244,221,.45)}
.ct-hero--redesigned .ct-eyebrow{display:flex;align-items:center;gap:12px;margin-bottom:18px;font-size:.72rem;font-weight:800;letter-spacing:.24em;text-transform:uppercase;color:#f4bd45}
.ct-hero--redesigned .ct-eyebrow:before{content:"";width:28px;height:1px;background:#d9a72e;box-shadow:7px 0 0 rgba(217,167,46,.35)}
.ct-hero--redesigned h1{max-width:620px;font-size:clamp(3.1rem,5.4vw,5.2rem);line-height:.99;letter-spacing:-.045em;text-wrap:balance}
.ct-hero--redesigned h1 em{margin-top:12px;color:#f2b83f}
.ct-hero--redesigned .ct-lead{max-width:47ch;margin:24px 0 34px;font-size:1.02rem;line-height:1.85;color:rgba(255,244,221,.78)}
.ct-hero__links{gap:clamp(12px,2vw,25px);margin-top:0}
.ct-hero__links a{padding-top:2px;transition:transform .25s ease}.ct-hero__links a:hover{transform:translateY(-4px)}
.ct-hero__links a>span{width:48px;height:48px;margin-bottom:8px;background:rgba(242,184,63,.07);font-size:1.05rem}
.ct-hero__links small{font-size:.68rem;letter-spacing:.17em}.ct-hero__links b{font-size:.82rem;line-height:1.5}
.ct-hero__scroll{margin-top:32px;padding-bottom:5px;border-bottom:1px solid rgba(242,184,63,.35);font-weight:700;letter-spacing:.02em}
.ct-hero__visual{min-height:510px;border-radius:170px 24px 24px 24px;background-position:center;background-size:cover;box-shadow:0 28px 55px rgba(0,0,0,.34);border:1px solid rgba(242,184,63,.56)}
.ct-hero__visual:before{content:"";position:absolute;inset:12px;border:1px solid rgba(255,242,207,.24);border-radius:158px 16px 16px 16px;pointer-events:none}
.ct-visual-tag{top:26px;inset-inline-start:26px;padding:10px 16px;background:rgba(6,26,12,.84);border:1px solid rgba(242,184,63,.32);font-weight:700}
.ct-visual-caption{inset-inline:30px;bottom:28px;padding:18px 20px;border-inline-start:2px solid #f2b83f;background:linear-gradient(90deg,rgba(5,20,9,.7),transparent);font-size:clamp(1.2rem,2vw,1.7rem)}
.ct-enquiry-section{padding:clamp(68px,8vw,112px) 0;background:linear-gradient(180deg,#fff7e8 0%,#f8eedb 100%)}
.ct-enquiry-wrap{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:clamp(34px,6vw,88px);align-items:start}
.ct-enquiry-intro{position:sticky;top:calc(var(--h) + 28px);padding:18px 0}
.ct-enquiry-intro .ct-eyebrow{margin-bottom:18px}.ct-enquiry-intro h2{font-size:clamp(2.7rem,4.4vw,4.1rem);line-height:.99;letter-spacing:-.035em}
.ct-enquiry-intro>p:not(.ct-eyebrow){margin:22px 0 30px;line-height:1.85;font-size:.98rem}
.ct-enquiry-note{margin-top:20px}.ct-enquiry-note>span{width:46px;height:46px;border:1px solid rgba(174,124,34,.18);background:#f6e6c4}
.ct-enquiry-wrap .ct-form{padding:clamp(27px,4vw,48px);border:1px solid rgba(184,135,50,.32);border-radius:26px;background:rgba(255,252,244,.94);box-shadow:0 24px 58px rgba(58,43,17,.10)}
.ct-enquiry-wrap .ct-form>.ct-eyebrow{margin-bottom:10px}.ct-enquiry-wrap .ct-form h2{margin:0 0 14px;font-size:clamp(2rem,3.2vw,2.8rem);line-height:1.08}
.ct-form-hint{margin:0 0 25px;color:#776b58;font-size:.82rem;line-height:1.6}
.ct-enquiry-wrap .ct-form .ct-f{margin-bottom:18px}
.ct-enquiry-wrap .ct-form .ct-row{gap:16px}
.ct-enquiry-wrap .ct-form input,.ct-enquiry-wrap .ct-form select,.ct-enquiry-wrap .ct-form textarea{min-height:60px;padding:25px 16px 9px;border:1px solid #e6d2ad;border-radius:13px;background:#fffaf0;color:#2b2b20;box-shadow:inset 0 1px 2px rgba(73,48,11,.025)}
.ct-enquiry-wrap .ct-form textarea{min-height:150px;padding-top:28px}
.ct-enquiry-wrap .ct-form .ct-f label{inset-inline-start:17px;top:18px;color:#81745f;font-size:.9rem}
.ct-enquiry-wrap .ct-form .ct-f input:focus~label,.ct-enquiry-wrap .ct-form .ct-f input:not(:placeholder-shown)~label,.ct-enquiry-wrap .ct-form .ct-f textarea:focus~label,.ct-enquiry-wrap .ct-form .ct-f textarea:not(:placeholder-shown)~label,.ct-enquiry-wrap .ct-form .ct-sel label,.ct-enquiry-wrap .ct-form .ct-f input[type=date]~label{top:7px;font-size:.68rem;color:#9a6818}
.ct-enquiry-wrap .ct-form .ct-f label span{color:#b87b1c}
.ct-enquiry-wrap .ct-form .ct-f select{padding-top:20px;appearance:auto}
.ct-enquiry-wrap .ct-form .ct-f input:focus,.ct-enquiry-wrap .ct-form .ct-f select:focus,.ct-enquiry-wrap .ct-form .ct-f textarea:focus{outline:0;border-color:#bd8a2c;box-shadow:0 0 0 4px rgba(220,170,56,.16)}
.ct-enquiry-wrap .ct-form .ct-f.is-bad input,.ct-enquiry-wrap .ct-form .ct-f.is-bad select,.ct-enquiry-wrap .ct-form .ct-f.is-bad textarea{border-color:#c34b3d;background:#fff8f6;box-shadow:0 0 0 3px rgba(195,75,61,.09)}
.ct-enquiry-wrap .ct-form .ct-f.is-good input,.ct-enquiry-wrap .ct-form .ct-f.is-good select,.ct-enquiry-wrap .ct-form .ct-f.is-good textarea{border-color:#47865a}
.ct-enquiry-wrap .ct-form .ct-f small{padding-inline:4px;color:#b53d32;font-size:.76rem;font-weight:600}
.ct-enquiry-wrap .ct-form .ct-send{min-width:190px;min-height:54px;border-radius:999px;box-shadow:0 8px 18px rgba(7,27,11,.13);transition:transform .25s,box-shadow .25s}
.ct-enquiry-wrap .ct-form .ct-send:hover{transform:translateY(-2px);box-shadow:0 13px 25px rgba(7,27,11,.2)}
.ct-enquiry-wrap .ct-form .ct-send:disabled{opacity:.75;cursor:wait}
.ct-enquiry-wrap .ct-form .ct-extra[hidden]{display:none}
[data-theme="dark"] .ct-enquiry-section{background:linear-gradient(180deg,#101b12,#0c170f)}
[data-theme="dark"] .ct-enquiry-wrap .ct-form{background:#1b2b1d;border-color:rgba(242,184,63,.32)}
[data-theme="dark"] .ct-form-hint{color:#c5bda9}
[data-theme="dark"] .ct-enquiry-wrap .ct-form input,[data-theme="dark"] .ct-enquiry-wrap .ct-form select,[data-theme="dark"] .ct-enquiry-wrap .ct-form textarea{background:#142318;border-color:#526044;color:#fff0d2}
[data-theme="dark"] .ct-enquiry-wrap .ct-form .ct-f label{color:#c7b99c}
[data-theme="dark"] .ct-enquiry-wrap .ct-form .ct-f.is-bad input,[data-theme="dark"] .ct-enquiry-wrap .ct-form .ct-f.is-bad select,[data-theme="dark"] .ct-enquiry-wrap .ct-form .ct-f.is-bad textarea{background:#2b1b18}
@media(max-width:900px){.ct-hero--redesigned .ct-hero__inner{grid-template-columns:1fr;gap:28px}.ct-hero__visual{min-height:410px;order:-1;border-radius:120px 22px 22px 22px}.ct-enquiry-wrap{grid-template-columns:1fr;gap:25px}.ct-enquiry-intro{position:relative;top:auto;max-width:700px;padding:0}.ct-enquiry-intro h2{max-width:600px}}
@media(max-width:575px){.ct-hero--redesigned{padding:15px 0 40px}.ct-hero--redesigned .ct-hero__inner{padding:22px 18px;border-radius:22px;gap:24px;min-height:0}.ct-hero--redesigned .ct-crumb{margin-bottom:23px}.ct-hero--redesigned h1{font-size:clamp(2.55rem,12vw,3.6rem)}.ct-hero--redesigned .ct-lead{font-size:.94rem;margin:18px 0 24px}.ct-hero__visual{min-height:290px;border-radius:90px 17px 17px 17px}.ct-hero__visual:before{inset:8px;border-radius:82px 11px 11px 11px}.ct-visual-tag{top:17px;inset-inline-start:17px}.ct-visual-caption{inset-inline:18px;bottom:17px;padding:12px 14px;font-size:1.12rem}.ct-hero__links{grid-template-columns:1fr 1fr;gap:18px 12px}.ct-hero__links a:last-child{grid-column:1/-1}.ct-hero__links b{font-size:.79rem}.ct-enquiry-section{padding:54px 0}.ct-enquiry-intro h2{font-size:2.8rem}.ct-enquiry-wrap .ct-form{padding:23px 17px;border-radius:19px}.ct-enquiry-wrap .ct-form .ct-row{grid-template-columns:1fr;gap:0}.ct-enquiry-wrap .ct-form input,.ct-enquiry-wrap .ct-form select{min-height:58px}.ct-enquiry-wrap .ct-form .ct-send{width:100%}}
@media(prefers-reduced-motion:reduce){.ct-hero__links a,.ct-enquiry-wrap .ct-form .ct-send{transition:none}}

/* =========================================================
   HOME 2 — Heritage editorial experience (sections 01–03)
   ========================================================= */
.h2-page { overflow: clip; }
.h2-page a { text-decoration: none; }
.h2-hero { min-height: min(760px, calc(100svh - var(--h))); min-height: clamp(620px, 47vw, 760px); position: relative; isolation: isolate; display: flex; align-items: center; color: #fff4dd; background: #071b0b; overflow: hidden; }
.h2-hero__photo { position: absolute; z-index: -3; inset: 0; background: url('../images/contact-hero-food.jpg') center 54% / cover no-repeat; transform: scale(1.035); animation: h2HeroSettle 1.5s cubic-bezier(.2,.7,.2,1) both; }
.h2-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: linear-gradient(90deg, rgba(4,19,8,.96) 0%, rgba(4,19,8,.88) 34%, rgba(4,19,8,.42) 63%, rgba(4,19,8,.10) 100%), linear-gradient(0deg, rgba(4,19,8,.48), transparent 35%); }
.h2-hero__grain { position: absolute; z-index: -1; inset: 18px; border: 1px solid rgba(247,215,124,.25); pointer-events: none; }
.h2-hero__grain::before,.h2-hero__grain::after{ content: "✳"; position: absolute; color: rgba(247,215,124,.72); font-size: 17px; }
.h2-hero__grain::before { top: -12px; left: 42px; background: #102514; padding: 0 8px; }.h2-hero__grain::after { bottom: -12px; right: 42px; background: #102514; padding: 0 8px; }
.h2-hero__inner { width: min(100% - 2 * var(--pad), 1240px); margin-inline: auto; padding: 100px 0 115px; position: relative; }
.h2-hero__copy { max-width: 610px; }
.h2-kicker,.h2-eyebrow{ margin: 0 0 22px; display: flex; align-items: center; gap: 12px; color: #f4c65d; font-size: .73rem; font-weight: 700; letter-spacing: .19em; }
.h2-kicker span,.h2-eyebrow span{ width: 34px; height: 1px; background: currentColor; display: inline-block; }
.h2-hero h1 { margin: 0; color: #fff4dd; font: 600 clamp(4rem, 7.5vw, 7.5rem)/.83 var(--font-head); letter-spacing: -.045em; }
.h2-hero h1 em,.h2-story h2 em,.h2-signatures h2 em{ color: #f4c65d; font-weight: 500; }
.h2-hero__lead { max-width: 440px; margin: 28px 0 30px; color: rgba(255,244,221,.82); font-size: clamp(1rem,1.3vw,1.12rem); line-height: 1.85; }
.h2-hero__actions { display: flex; align-items: center; flex-wrap: wrap; gap: 26px; }
.h2-hero__actions .btn { gap: 13px; }
.h2-hero__actions .btn i { font-size: .8rem; transition: transform .25s ease; }.h2-hero__actions .btn:hover i { transform: translateX(4px); }
.h2-text-link { color: #fff4dd; font-size: .94rem; border-bottom: 1px solid rgba(247,215,124,.65); padding: 9px 0; }.h2-text-link i { margin-inline-start: 8px; color: #f4c65d; font-size: .75rem; }
.h2-hero__note { display: flex; align-items: center; gap: 13px; margin-top: 55px; }.h2-hero__note-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(247,215,124,.55); border-radius: 50%; color: #f4c65d; font-size: 19px; }.h2-hero__note b,.h2-hero__note small{ display: block; }.h2-hero__note b { font: 600 1.05rem var(--font-head); color: #fff4dd; }.h2-hero__note small { margin-top: 2px; color: rgba(255,244,221,.64); font-size: .78rem; }
.h2-hero__stamp { position: absolute; right: max(var(--pad), calc((100vw - 1240px)/2)); bottom: 105px; width: 132px; height: 132px; border: 1px solid rgba(247,215,124,.75); border-radius: 50%; display: flex; flex-direction: column; justify-content: center; align-items: center; color: #f7d77c; transform: rotate(9deg); box-shadow: 0 0 0 7px rgba(247,215,124,.09),0 0 0 8px rgba(247,215,124,.32); }
.h2-hero__stamp span { font-size: .52rem; letter-spacing: .2em; }.h2-hero__stamp b { font: 600 2.1rem var(--font-head); line-height: 1.2; }
.h2-scroll { position: absolute; bottom: 32px; left: max(var(--pad), calc((100vw - 1240px)/2)); display: flex; align-items: center; gap: 13px; color: rgba(255,244,221,.7); font-size: .61rem; letter-spacing: .2em; }.h2-scroll i { height: 1px; width: 48px; background: #f4c65d; transform-origin: left; animation: h2LinePulse 2s ease-in-out infinite; }
.h2-hero__index { position: absolute; right: max(var(--pad), calc((100vw - 1240px)/2)); bottom: 38px; color: rgba(255,244,221,.62); font-size: .72rem; letter-spacing: .12em; }.h2-hero__index b { color: #f4c65d; font-size: 1.1rem; }.h2-hero__index span { margin: 0 8px; }
@keyframes h2HeroSettle { from { transform: scale(1.12); opacity: .65; } to { transform: scale(1.035); opacity: 1; } } @keyframes h2LinePulse { 0%,100% { transform: scaleX(.55); opacity: .5; } 50% { transform: scaleX(1); opacity: 1; } }
.h2-story { position: relative; display: grid; grid-template-columns: minmax(0,1.02fr) minmax(0,.98fr); align-items: center; gap: clamp(54px,8vw,120px); width: min(100% - 2 * var(--pad), 1160px); margin: 0 auto; padding: clamp(88px,10vw,150px) 0; }
.h2-story__ornament { position: absolute; top: 38px; left: 0; display: flex; align-items: center; gap: 13px; color: var(--gold-text); }.h2-story__sun { font-size: 24px; }.h2-story__vertical { font-size: .6rem; letter-spacing: .2em; writing-mode: vertical-rl; transform: rotate(180deg); }
.h2-story__visual { position: relative; padding: 0 28px 35px 0; min-width: 0; }.h2-story__image { height: clamp(390px,45vw,580px); overflow: hidden; position: relative; background: #19371d; }.h2-story__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(7,27,11,.42),transparent 38%); }.h2-story__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .9s cubic-bezier(.2,.7,.2,1); }.h2-story__visual:hover .h2-story__image img { transform: scale(1.055); }
.h2-story__image-frame { position: absolute; inset: 18px 10px 18px 18px; border: 1px solid var(--brass); pointer-events: none; }.h2-story__seal { position: absolute; top: 30px; right: 0; width: 112px; height: 112px; border-radius: 50%; background: var(--deep); border: 1px solid var(--gold); outline: 5px solid var(--bg); color: #f7d77c; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(8deg); }.h2-story__seal span { font-size: .52rem; letter-spacing: .19em; }.h2-story__seal b { font: 600 1.9rem var(--font-head); }.h2-story__caption { position: absolute; bottom: 0; left: 28px; background: var(--deep); color: #fff4dd; padding: 16px 22px; min-width: min(80%,320px); }.h2-story__caption span,.h2-story__caption b{ display: block; }.h2-story__caption span { color: #f4c65d; font-size: .57rem; letter-spacing: .16em; }.h2-story__caption b { margin-top: 4px; font: 600 1.2rem var(--font-head); }
.h2-story__copy { padding-top: 25px; }.h2-eyebrow { color: var(--gold-text); margin-bottom: 18px; }.h2-story h2,.h2-signatures h2{ margin: 0; color: var(--ink); font: 600 clamp(3.2rem,5.2vw,5.3rem)/.91 var(--font-head); letter-spacing: -.035em; }.h2-story h2 em { color: var(--leaf); }.h2-story__intro { margin: 27px 0 14px; max-width: 500px; color: var(--ink); font: 500 1.16rem/1.75 var(--font-head); }.h2-story__body { max-width: 500px; margin: 0; color: var(--muted); line-height: 1.9; font-size: .96rem; }.h2-underlink { display: inline-flex; align-items: center; gap: 17px; margin-top: 25px; padding-bottom: 8px; border-bottom: 1px solid var(--brass); color: var(--ink); font-weight: 700; font-size: .85rem; }.h2-underlink span { color: var(--gold-text); font-size: 1.1rem; transition: transform .2s; }.h2-underlink:hover span { transform: translate(3px,-3px); }
.h2-story__facts { margin-top: 45px; padding-top: 22px; border-top: 1px solid var(--line); display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }.h2-story__facts div + div { border-inline-start: 1px solid var(--line); padding-inline-start: 17px; }.h2-story__facts b,.h2-story__facts span{ display: block; }.h2-story__facts b { color: var(--ink); font: 600 1.28rem var(--font-head); }.h2-story__facts span { color: var(--muted); font-size: .72rem; margin-top: 3px; }
.h2-signatures { position: relative; padding: clamp(78px,8vw,116px) max(var(--pad),calc((100vw - 1240px)/2)) 35px; background: #0b2410; color: #fff4dd; overflow: hidden; }.h2-signatures::before { content: ""; position: absolute; inset: 0; opacity: .12; pointer-events: none; background-image: radial-gradient(rgba(247,215,124,.7) .7px,transparent .7px); background-size: 17px 17px; mask-image: linear-gradient(90deg,#000,transparent 70%); }
.h2-signatures__top { position: relative; display: flex; align-items: end; justify-content: space-between; gap: 50px; margin-bottom: 52px; }.h2-eyebrow--light { color: #f4c65d; }.h2-signatures h2 { color: #fff4dd; }.h2-signatures h2 em { color: #f4c65d; }.h2-signatures__aside { max-width: 340px; padding-bottom: 8px; }.h2-signatures__aside p { margin: 0 0 22px; color: rgba(255,244,221,.68); line-height: 1.8; }.h2-signatures__all { color: #f7d77c; font-size: .7rem; font-weight: 700; letter-spacing: .16em; border-bottom: 1px solid rgba(247,215,124,.55); padding-bottom: 9px; }.h2-signatures__all i { margin-inline-start: 10px; font-size: .7rem; }
.h2-dishes { position: relative; display: grid; grid-template-columns: 1.13fr .92fr .92fr; align-items: start; gap: clamp(18px,2.5vw,34px); }.h2-dish { min-width: 0; }.h2-dish--raised { margin-top: 55px; }.h2-dish__image { height: clamp(240px,27vw,350px); position: relative; overflow: hidden; background: #17391e; }.h2-dish--featured .h2-dish__image { height: clamp(290px,33vw,410px); }.h2-dish__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .75s cubic-bezier(.2,.7,.2,1),filter .5s; filter: saturate(.88); }.h2-dish:hover .h2-dish__image img { transform: scale(1.06); filter: saturate(1.08); }.h2-dish__image::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg,rgba(4,18,7,.56),transparent 45%); pointer-events: none; }.h2-dish__number { position: absolute; z-index: 1; top: 15px; left: 17px; color: #fff4dd; font: 600 1.25rem var(--font-head); }.h2-dish__tag { position: absolute; z-index: 1; bottom: 16px; left: 18px; color: #f7d77c; font-size: .57rem; letter-spacing: .19em; }.h2-dish__info { display: flex; align-items: start; justify-content: space-between; gap: 12px; padding: 18px 0 0; border-top: 1px solid rgba(247,215,124,.35); margin-top: 15px; }.h2-dish__info h3 { margin: 0; color: #fff4dd; font: 600 clamp(1.5rem,2.1vw,2rem)/1.1 var(--font-head); }.h2-dish__info p { margin: 8px 0 0; max-width: 290px; color: rgba(255,244,221,.62); font-size: .82rem; line-height: 1.7; }.h2-dish__info>a { flex: 0 0 36px; width: 36px; height: 36px; border: 1px solid rgba(247,215,124,.48); border-radius: 50%; display: grid; place-items: center; color: #f7d77c; font-size: .75rem; transition: background .2s,color .2s,transform .2s; }.h2-dish__info>a:hover { background: #f7d77c; color: #071b0b; transform: rotate(45deg); }.h2-signatures__foot { position: relative; display: flex; justify-content: space-between; gap: 20px; margin-top: 76px; padding-top: 17px; border-top: 1px solid rgba(247,215,124,.25); color: rgba(255,244,221,.48); font-size: .58rem; letter-spacing: .18em; }.h2-signatures__foot b { color: #f4c65d; margin: 0 8px; }
.h2-js [data-h2-reveal] { opacity: 0; transform: translateY(30px); transition: opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1); transition-delay: var(--h2-delay,0s); }.h2-js [data-h2-reveal].h2-in { opacity: 1; transform: none; }
@media (max-width: 900px) { .h2-hero { min-height: 680px; }.h2-hero::before { background: linear-gradient(90deg,rgba(4,19,8,.94),rgba(4,19,8,.72) 58%,rgba(4,19,8,.3)),linear-gradient(0deg,rgba(4,19,8,.5),transparent 45%); }.h2-hero__stamp { right: 8%; bottom: 90px; width: 108px; height: 108px; }.h2-story { gap: 48px; }.h2-story__facts { grid-template-columns: 1fr; gap: 12px; }.h2-story__facts div + div { border-inline-start: 0; border-top: 1px solid var(--line); padding: 11px 0 0; }.h2-dishes { grid-template-columns: repeat(2,minmax(0,1fr)); }.h2-dish--featured { grid-row: span 2; }.h2-dish--featured .h2-dish__image { height: 520px; }.h2-dish--raised { margin-top: 0; } }
@media (max-width: 640px) { .h2-hero { min-height: 690px; min-height: min(760px,calc(100svh - 68px)); align-items: center; }.h2-hero__photo { background-position: 58% center; }.h2-hero::before { background: linear-gradient(90deg,rgba(4,19,8,.9),rgba(4,19,8,.62)),linear-gradient(0deg,rgba(4,19,8,.55),transparent 55%); }.h2-hero__grain { inset: 9px; }.h2-hero__inner { padding: 86px 0 100px; }.h2-kicker { font-size: .61rem; letter-spacing: .13em; }.h2-hero h1 { font-size: clamp(3.65rem,15vw,5.6rem); }.h2-hero__lead { max-width: 360px; font-size: .94rem; margin: 23px 0 25px; }.h2-hero__actions { gap: 16px 20px; }.h2-hero__actions .btn { min-height: 48px; padding: 12px 18px; font-size: .86rem; }.h2-hero__note { margin-top: 38px; }.h2-hero__stamp { width: 82px; height: 82px; right: 26px; bottom: 88px; outline-width: 3px; }.h2-hero__stamp span { font-size: .4rem; }.h2-hero__stamp b { font-size: 1.45rem; }.h2-scroll { bottom: 25px; font-size: .52rem; }.h2-hero__index { bottom: 29px; font-size: .6rem; }.h2-story { display: flex; flex-direction: column; align-items: stretch; gap: 38px; padding: 95px 0 82px; }.h2-story__ornament { top: 26px; }.h2-story__visual { width: calc(100% - 12px); padding: 0 16px 28px 0; }.h2-story__image { height: min(112vw,470px); }.h2-story__image-frame { inset: 12px 5px 12px 12px; }.h2-story__seal { width: 86px; height: 86px; top: 20px; }.h2-story__seal b { font-size: 1.5rem; }.h2-story__caption { left: 16px; padding: 12px 15px; min-width: min(88%,280px); }.h2-story__caption b { font-size: 1.04rem; }.h2-story__copy { padding-top: 0; }.h2-story h2,.h2-signatures h2{ font-size: clamp(3.1rem,13vw,4.5rem); }.h2-story__intro { margin-top: 22px; font-size: 1.1rem; }.h2-story__body { font-size: .91rem; }.h2-story__facts { margin-top: 32px; grid-template-columns: repeat(3,1fr); gap: 8px; }.h2-story__facts div + div { border-inline-start: 1px solid var(--line); border-top: 0; padding: 0 8px; }.h2-story__facts b { font-size: 1.08rem; }.h2-story__facts span { font-size: .65rem; line-height: 1.4; }.h2-signatures { padding-top: 76px; }.h2-signatures__top { display: block; margin-bottom: 34px; }.h2-signatures__aside { margin-top: 25px; }.h2-signatures__aside p { font-size: .9rem; }.h2-dishes { grid-template-columns: 1fr; gap: 34px; }.h2-dish--featured { grid-row: auto; }.h2-dish--featured .h2-dish__image,.h2-dish__image{ height: min(78vw,370px); }.h2-dish--raised { margin-top: 0; }.h2-dish__info { margin-top: 12px; padding-top: 14px; }.h2-dish__info h3 { font-size: 1.7rem; }.h2-dish__info p { font-size: .78rem; }.h2-signatures__foot { margin-top: 48px; flex-direction: column; gap: 7px; font-size: .53rem; } }
@media (prefers-reduced-motion: reduce) { .h2-hero__photo,.h2-scroll i{ animation: none !important; }.h2-js [data-h2-reveal] { opacity: 1; transform: none; transition: none; } }

/* =========================================================
   HOME 2 — SECTION 02 + 03 REDESIGN
   The hero above remains intentionally untouched.
   ========================================================= */
.h2-table{position:relative;overflow:hidden;background:#f4eddd;color:#17351f;padding:clamp(88px,10vw,142px) 0 0}
.h2-table::before{content:"";position:absolute;inset:0 0 auto;height:1px;background:linear-gradient(90deg,transparent,#b9954d,transparent)}
.h2-table__rail{position:absolute;top:clamp(90px,10vw,140px);left:max(var(--pad),calc((100vw - 1320px)/2));display:flex;align-items:center;gap:15px;color:#8b713d;writing-mode:vertical-rl;font-size:.58rem;font-weight:700;letter-spacing:.22em}
.h2-table__rail i{height:58px;width:1px;background:#b9954d}.h2-table__rail b{font:600 1.2rem var(--font-head);color:#1d4829}
.h2-table__inner{width:min(100% - 2 * var(--pad),1120px);margin-inline:auto;display:grid;grid-template-columns:.88fr 1.12fr;align-items:center;gap:clamp(55px,8vw,120px);padding-bottom:clamp(80px,9vw,125px)}
.h2-table__heading{padding-inline-start:24px}.h2-table .h2-eyebrow{color:#947333}.h2-table h2,.h2-craft h2{margin:0;color:#17351f;font:600 clamp(3.35rem,5.8vw,6rem)/.91 var(--font-head);letter-spacing:-.045em}.h2-table h2 em,.h2-craft h2 em{color:#a27c35;font-weight:500}.h2-table__intro{max-width:390px;margin:27px 0 30px;color:#596451;font-size:1rem;line-height:1.9}.h2-table__link{display:inline-flex;align-items:center;gap:17px;color:#24472c;border-bottom:1px solid #b9954d;padding:0 0 11px;font-size:.68rem;font-weight:700;letter-spacing:.16em}.h2-table__link i{color:#a27c35;transition:transform .25s}.h2-table__link:hover i{transform:translate(4px,-4px)}
.h2-table__composition{position:relative;min-height:590px;padding:0 64px 60px 0}.h2-table__mainphoto{height:510px;width:78%;margin-inline-start:auto;overflow:hidden;position:relative;box-shadow:0 28px 65px rgba(27,46,27,.17)}.h2-table__mainphoto::after{content:"";position:absolute;inset:0;border:1px solid rgba(255,255,255,.38);margin:13px;pointer-events:none}.h2-table__mainphoto img,.h2-table__smallphoto img,.h2-craft__feature img,.h2-craft__detail img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1s cubic-bezier(.2,.7,.2,1)}.h2-table__composition:hover .h2-table__mainphoto img{transform:scale(1.045)}.h2-table__smallphoto{position:absolute;left:0;bottom:0;width:43%;height:235px;border:9px solid #f4eddd;box-shadow:0 15px 35px rgba(27,46,27,.16);overflow:hidden}.h2-table__roundel{position:absolute;right:0;top:38px;width:126px;height:126px;border-radius:50%;background:#1c4328;color:#f6df9c;border:1px solid #c9a95e;outline:7px solid #f4eddd;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(9deg);box-shadow:0 8px 25px #17351f25}.h2-table__roundel span{font-size:.48rem;letter-spacing:.17em}.h2-table__roundel b{font:600 2rem var(--font-head);line-height:1.25}.h2-table__photo-note{position:absolute;right:55px;bottom:24px;display:flex;align-items:center;gap:12px;color:#fff8e8}.h2-table__photo-note b{font:600 2rem var(--font-head);color:#f5d987}.h2-table__photo-note span{font-size:.55rem;letter-spacing:.14em;line-height:1.5}.h2-table__vertical-note{position:absolute;right:8px;bottom:95px;writing-mode:vertical-rl;color:#947333;font-size:.52rem;letter-spacing:.18em}
.h2-table__ticker{display:flex;justify-content:center;align-items:center;gap:clamp(15px,3vw,44px);flex-wrap:wrap;padding:20px var(--pad);background:#e9dfc9;border-top:1px solid #d9c9a7;color:#536346;font-size:.58rem;font-weight:700;letter-spacing:.17em}.h2-table__ticker b{color:#a27c35;font-size:.9rem}
.h2-craft{position:relative;overflow:hidden;padding:clamp(85px,9vw,130px) max(var(--pad),calc((100vw - 1240px)/2)) 30px;background:#fffaf0;color:#193b23}.h2-craft::before{content:"";position:absolute;top:0;right:0;width:37%;height:100%;background:#f1e8d5;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%);opacity:.58;pointer-events:none}.h2-craft__top{position:relative;display:flex;justify-content:space-between;align-items:end;gap:50px;margin-bottom:55px}.h2-craft .h2-eyebrow{color:#947333}.h2-craft__lead{max-width:350px;margin:0 0 8px;color:#66705e;font-size:.95rem;line-height:1.9}.h2-craft__story{position:relative;display:grid;grid-template-columns:1.03fr .94fr .55fr;align-items:center;gap:clamp(25px,4vw,58px)}
.h2-craft__feature{height:540px;position:relative;overflow:hidden;background:#1c4328}.h2-craft__feature img{filter:saturate(.86)}.h2-craft__feature:hover img,.h2-craft__detail:hover img{transform:scale(1.05)}.h2-craft__feature::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,28,13,.8),transparent 58%)}.h2-craft__feature-caption{position:absolute;z-index:1;left:30px;bottom:32px;color:#fff8e8}.h2-craft__feature-caption span{font-size:.58rem;letter-spacing:.19em;color:#f1cf79}.h2-craft__feature-caption b{display:block;margin-top:12px;font:600 clamp(2.1rem,3.2vw,3.4rem)/.95 var(--font-head)}
.h2-craft__steps{position:relative;padding:12px 0}.h2-craft__step{display:grid;grid-template-columns:44px 1fr 22px;gap:14px;align-items:start;padding:25px 0;border-bottom:1px solid #dfd4bd}.h2-craft__step:first-child{border-top:1px solid #dfd4bd}.h2-craft__step-no{font:600 1.3rem var(--font-head);color:#a27c35}.h2-craft__step h3{margin:0;color:#1b3c25;font:600 1.55rem/1.15 var(--font-head)}.h2-craft__step p{margin:9px 0 0;color:#68715f;font-size:.83rem;line-height:1.75}.h2-craft__step-mark{color:#b18d48;font-size:1rem}.h2-craft__cta{display:flex;align-items:center;justify-content:space-between;margin-top:27px;padding:17px 19px;background:#1c4328;color:#fff4dc;font-size:.62rem;font-weight:700;letter-spacing:.15em;transition:background .25s}.h2-craft__cta:hover{background:#a27c35}.h2-craft__cta i{color:#f0d28a}.h2-craft__detail{align-self:end;margin-bottom:52px;position:relative}.h2-craft__detail img{height:230px;box-shadow:0 18px 38px rgba(37,49,28,.13)}.h2-craft__detail span{display:block;margin-top:13px;color:#8e713c;font-size:.52rem;font-weight:700;letter-spacing:.15em;line-height:1.6}.h2-craft__bottom{position:relative;display:flex;justify-content:space-between;gap:20px;margin-top:75px;padding-top:17px;border-top:1px solid #d9ceb8;color:#8a8878;font-size:.56rem;letter-spacing:.17em}.h2-craft__bottom b{color:#a27c35;margin:0 8px}
@media(max-width:1000px){.h2-table__inner{gap:38px}.h2-table__composition{min-height:510px;padding-right:35px}.h2-table__mainphoto{height:440px}.h2-table__smallphoto{height:190px}.h2-craft__story{grid-template-columns:1fr 1fr}.h2-craft__feature{height:500px}.h2-craft__detail{grid-column:2;display:flex;align-items:center;gap:15px;margin:0}.h2-craft__detail img{width:130px;height:100px}.h2-craft__detail span{max-width:130px}}
@media(max-width:700px){.h2-table{padding-top:82px}.h2-table__rail{top:80px;left:var(--pad);font-size:.5rem}.h2-table__rail i{height:36px}.h2-table__inner{grid-template-columns:1fr;gap:38px;padding-bottom:65px}.h2-table__heading{padding-inline-start:27px}.h2-table h2,.h2-craft h2{font-size:clamp(3.15rem,13vw,4.7rem)}.h2-table__intro{font-size:.92rem;margin:20px 0 23px}.h2-table__composition{min-height:420px;padding:0 35px 45px 0;margin-inline-start:10px}.h2-table__mainphoto{height:365px;width:83%}.h2-table__smallphoto{height:155px;width:46%;border-width:6px}.h2-table__roundel{width:96px;height:96px;top:23px;right:0;outline-width:4px}.h2-table__roundel span{font-size:.39rem}.h2-table__roundel b{font-size:1.6rem}.h2-table__photo-note{right:35px;bottom:14px}.h2-table__vertical-note{right:0;bottom:70px;font-size:.43rem}.h2-table__ticker{gap:11px 16px;padding:17px 12px;font-size:.49rem}.h2-craft{padding-top:78px}.h2-craft__top{display:block;margin-bottom:35px}.h2-craft__lead{margin-top:23px;font-size:.88rem}.h2-craft__story{grid-template-columns:1fr;gap:30px}.h2-craft__feature{height:min(112vw,470px)}.h2-craft__feature-caption{left:22px;bottom:24px}.h2-craft__steps{padding:0}.h2-craft__step{grid-template-columns:34px 1fr 18px;padding:21px 0;gap:10px}.h2-craft__step h3{font-size:1.4rem}.h2-craft__step p{font-size:.8rem}.h2-craft__detail{grid-column:auto;display:block;margin:0 0 5px 22%}.h2-craft__detail img{width:100%;height:180px}.h2-craft__detail span{max-width:none}.h2-craft__bottom{margin-top:45px;flex-direction:column;gap:8px;font-size:.5rem}}
@media(prefers-reduced-motion:reduce){.h2-table__mainphoto img,.h2-craft__feature img,.h2-craft__detail img,.h2-table__link i{transition:none}}

/* HOME 2 — complete redesign of sections 02 and 03; hero intentionally untouched */
.h2-breakfast{position:relative;isolation:isolate;min-height:850px;min-height:min(920px,calc(100svh - 70px));overflow:hidden;background:#0a2111;color:#fff5df;padding:clamp(34px,5vw,72px) max(var(--pad),calc((100vw - 1320px)/2)) 0;display:flex;flex-direction:column;justify-content:space-between}
.h2-breakfast__backdrop,.h2-breakfast__shade{position:absolute;inset:0;z-index:-2}.h2-breakfast__backdrop img{width:100%;height:100%;object-fit:cover;object-position:center 48%;opacity:.72;transform:scale(1.04);animation:h2BreakfastDrift 18s ease-in-out infinite alternate}.h2-breakfast__shade{z-index:-1;background:linear-gradient(90deg,rgba(4,20,10,.97) 0%,rgba(4,20,10,.88) 32%,rgba(4,20,10,.28) 73%,rgba(4,20,10,.16) 100%),linear-gradient(0deg,rgba(4,20,10,.88),transparent 43%)}
.h2-breakfast__mast{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,245,223,.32);padding-bottom:17px}.h2-breakfast__eyebrow,.h2-breakfast__chapter{font-size:.64rem;letter-spacing:.2em;color:#f1d18b}.h2-breakfast__eyebrow{display:flex;align-items:center;gap:12px}.h2-breakfast__eyebrow i{display:block;width:28px;height:1px;background:#d6ad58}.h2-breakfast__chapter b{padding:0 8px;color:#fff5df;opacity:.5}
.h2-breakfast__main{width:min(610px,60%);padding:clamp(70px,9vh,115px) 0 90px}.h2-breakfast__overline{font-size:.65rem;letter-spacing:.24em;color:#e6c47d;margin:0 0 23px}.h2-breakfast h2{font:600 clamp(4.3rem,8.4vw,8.6rem)/.78 var(--font-head);letter-spacing:-.055em;color:#fff5df;margin:0}.h2-breakfast h2 em{color:#e9c779;font-weight:500}.h2-breakfast h2 span{color:#e9c779}.h2-breakfast__description{max-width:430px;margin:30px 0 29px;color:rgba(255,245,223,.78);font-size:1rem;line-height:1.9}.h2-breakfast__button{display:inline-flex;align-items:center;gap:26px;padding:15px 19px;border:1px solid rgba(233,199,121,.75);color:#f3d58f;font-size:.66rem;letter-spacing:.15em;font-weight:700;transition:background .25s,color .25s,gap .25s}.h2-breakfast__button:hover{background:#e9c779;color:#102516;gap:34px}.h2-breakfast__button i{font-size:.75rem}
.h2-breakfast__dish-note{position:absolute;right:max(var(--pad),calc((100vw - 1320px)/2));top:42%;display:flex;align-items:center;gap:14px;color:#fff5df}.h2-breakfast__dish-note-line{width:52px;height:1px;background:#e9c779}.h2-breakfast__dish-note b,.h2-breakfast__dish-note small{display:block}.h2-breakfast__dish-note b{font-size:.59rem;letter-spacing:.17em;color:#f1d18b}.h2-breakfast__dish-note small{font-size:.76rem;color:rgba(255,245,223,.75);margin-top:6px}.h2-breakfast__vertical{position:absolute;right:24px;top:50%;writing-mode:vertical-rl;transform:translateY(-50%);font-size:.53rem;letter-spacing:.2em;color:rgba(255,245,223,.6)}
.h2-breakfast__bottom{display:grid;grid-template-columns:1.35fr repeat(3,1fr);align-items:stretch;border-top:1px solid rgba(255,245,223,.35);margin-inline:0}.h2-breakfast__bottom-label{align-self:center;padding:20px 18px 20px 0;display:flex;flex-direction:column;gap:8px}.h2-breakfast__bottom-label span{font-size:.57rem;letter-spacing:.17em;color:rgba(255,245,223,.65)}.h2-breakfast__bottom-label b{font:500 1.1rem var(--font-head);color:#e9c779}.h2-breakfast__bottom>a{display:flex;align-items:center;gap:13px;padding:23px 17px;border-left:1px solid rgba(255,245,223,.25);color:#fff5df;transition:background .25s}.h2-breakfast__bottom>a:hover{background:rgba(233,199,121,.12)}.h2-breakfast__bottom>a span{font-size:.58rem;color:#e9c779}.h2-breakfast__bottom>a b{font:600 1.25rem var(--font-head);flex:1}.h2-breakfast__bottom>a i{font-size:.7rem;color:#e9c779}
@keyframes h2BreakfastDrift{from{transform:scale(1.04) translateX(0)}to{transform:scale(1.12) translateX(-1.5%)}}
.h2-fresh{position:relative;overflow:hidden;background:#f6f0e3;color:#193b23;padding:clamp(76px,8vw,116px) max(var(--pad),calc((100vw - 1240px)/2)) 30px}.h2-fresh::before{content:"";position:absolute;right:-120px;top:90px;width:420px;height:420px;border:1px solid rgba(154,119,55,.2);border-radius:50%;box-shadow:0 0 0 35px rgba(154,119,55,.035),0 0 0 70px rgba(154,119,55,.025);pointer-events:none}.h2-fresh__topline,.h2-fresh__footer{position:relative;display:flex;justify-content:space-between;gap:20px;color:#8c713d;font-size:.59rem;letter-spacing:.18em}.h2-fresh__topline i{font-style:normal;padding:0 8px;color:#c2a66c}.h2-fresh__heading{position:relative;max-width:850px;margin:54px auto 44px;text-align:center}.h2-fresh__eyebrow{display:flex;justify-content:center;align-items:center;gap:10px;color:#96773d;font-size:.62rem;letter-spacing:.2em}.h2-fresh__eyebrow span{width:23px;height:1px;background:#b99550}.h2-fresh h2{font:600 clamp(3.8rem,7.2vw,7rem)/.86 var(--font-head);letter-spacing:-.045em;color:#173b23;margin:18px 0}.h2-fresh h2 em{color:#a37b36;font-weight:500}.h2-fresh__heading>p:last-child{max-width:510px;margin:23px auto 0;color:#687363;font-size:.94rem;line-height:1.85}
.h2-fresh__gallery{position:relative;min-height:480px;display:grid;grid-template-columns:1fr 1.25fr 1fr;align-items:center;gap:clamp(14px,2vw,26px);padding:0 4%}.h2-fresh__photo{position:relative;margin:0;overflow:hidden;background:#dfd3b8;box-shadow:0 18px 40px rgba(36,48,27,.12)}.h2-fresh__photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.h2-fresh__photo:hover img{transform:scale(1.07)}.h2-fresh__photo--one{height:330px;transform:translateY(35px) rotate(-3deg)}.h2-fresh__photo--two{height:440px;z-index:1}.h2-fresh__photo--three{height:310px;transform:translateY(48px) rotate(3deg)}.h2-fresh__photo figcaption{position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:12px;padding:16px;background:linear-gradient(0deg,rgba(5,23,10,.83),transparent);color:#fff4df}.h2-fresh__photo figcaption b{font:600 1.4rem var(--font-head);color:#e9c779}.h2-fresh__photo figcaption span{font-size:.55rem;letter-spacing:.15em}.h2-fresh__seal{position:absolute;z-index:2;left:50%;top:50%;transform:translate(-50%,-50%);width:112px;height:112px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#f1d18b;color:#173b23;outline:5px solid rgba(246,240,227,.92);box-shadow:0 10px 30px #142b1b35}.h2-fresh__seal span{font-size:.42rem;letter-spacing:.13em}.h2-fresh__seal b{font-size:1.65rem;line-height:1.3}
.h2-fresh__process{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin:82px 0 48px;padding-top:25px;border-top:1px solid rgba(25,59,35,.25)}.h2-fresh__process article{display:flex;gap:17px;align-items:flex-start}.h2-fresh__process article>span{font:600 1.7rem var(--font-head);color:#a37b36}.h2-fresh__process b{font:600 1.45rem var(--font-head);color:#173b23}.h2-fresh__process p{margin:7px 0 0;color:#6c7667;font-size:.8rem;line-height:1.7;max-width:270px}.h2-fresh__footer{padding-top:17px;border-top:1px solid rgba(25,59,35,.22);font-size:.55rem}.h2-fresh__footer a{color:#8d6e34;font-weight:700}.h2-fresh__footer i{margin-inline-start:9px}
@media(max-width:900px){.h2-breakfast{min-height:800px}.h2-breakfast__main{width:72%}.h2-breakfast__dish-note{right:8%;top:49%}.h2-breakfast__bottom{grid-template-columns:1fr 1fr}.h2-breakfast__bottom-label{grid-column:1/-1;border-bottom:1px solid rgba(255,245,223,.2)}.h2-breakfast__bottom>a:nth-of-type(2){border-left:0}.h2-fresh__gallery{min-height:390px;padding:0}.h2-fresh__photo--one{height:270px}.h2-fresh__photo--two{height:370px}.h2-fresh__photo--three{height:250px}}
@media(max-width:640px){.h2-breakfast{min-height:850px;padding-top:27px}.h2-breakfast__backdrop img{object-position:59% center}.h2-breakfast__shade{background:linear-gradient(90deg,rgba(4,20,10,.93),rgba(4,20,10,.58)),linear-gradient(0deg,rgba(4,20,10,.94),transparent 60%)}.h2-breakfast__eyebrow{font-size:.49rem;letter-spacing:.13em;gap:7px}.h2-breakfast__eyebrow i{width:15px}.h2-breakfast__chapter{font-size:.55rem}.h2-breakfast__main{width:100%;padding:90px 0 220px}.h2-breakfast__overline{font-size:.53rem;letter-spacing:.16em}.h2-breakfast h2{font-size:clamp(4rem,16vw,6rem)}.h2-breakfast__description{max-width:330px;font-size:.87rem;line-height:1.75;margin:24px 0}.h2-breakfast__button{font-size:.57rem;padding:14px 15px}.h2-breakfast__dish-note{display:none}.h2-breakfast__vertical{right:9px;font-size:.42rem}.h2-breakfast__bottom{position:absolute;left:var(--pad);right:var(--pad);bottom:0;grid-template-columns:1fr}.h2-breakfast__bottom-label{padding:13px 0;gap:4px}.h2-breakfast__bottom-label b{font-size:.95rem}.h2-breakfast__bottom>a{padding:13px 2px;border-left:0;border-top:1px solid rgba(255,245,223,.2)}.h2-breakfast__bottom>a b{font-size:1.08rem}.h2-fresh{padding-top:72px}.h2-fresh__topline{font-size:.48rem;letter-spacing:.11em}.h2-fresh__heading{margin:40px auto 33px}.h2-fresh__eyebrow{font-size:.5rem;letter-spacing:.13em}.h2-fresh h2{font-size:clamp(3.5rem,14vw,5rem)}.h2-fresh__heading>p:last-child{font-size:.85rem;padding:0 8px}.h2-fresh__gallery{display:flex;flex-direction:column;gap:17px;min-height:0;padding:0 7%}.h2-fresh__photo--one,.h2-fresh__photo--two,.h2-fresh__photo--three{height:270px;width:100%;transform:none}.h2-fresh__photo--two{height:320px;width:88%;align-self:flex-end}.h2-fresh__photo--three{height:235px;width:83%;align-self:flex-start}.h2-fresh__seal{width:88px;height:88px;top:48%;left:49%}.h2-fresh__seal span{font-size:.34rem}.h2-fresh__seal b{font-size:1.35rem}.h2-fresh__photo figcaption{padding:12px}.h2-fresh__photo figcaption span{font-size:.48rem}.h2-fresh__process{grid-template-columns:1fr;gap:19px;margin:48px 0 35px;padding-top:20px}.h2-fresh__process article{gap:14px}.h2-fresh__process article>span{font-size:1.45rem}.h2-fresh__process b{font-size:1.25rem}.h2-fresh__process p{font-size:.78rem}.h2-fresh__footer{font-size:.46rem;letter-spacing:.1em;flex-direction:column;gap:10px}.h2-fresh::before{width:250px;height:250px;right:-100px;top:160px}}
@media(prefers-reduced-motion:reduce){.h2-breakfast__backdrop img{animation:none}.h2-breakfast__button,.h2-fresh__photo img{transition:none}}

/* =========================================================
   HOME 2 — Sections 02 & 03: fresh art-directed redesign
   ========================================================= */
.h2-breakfast-v2{position:relative;isolation:isolate;overflow:hidden;background:#f3ecdc;color:#183a25;padding:clamp(36px,5vw,68px) max(var(--pad),calc((100vw - 1320px)/2)) 0;min-height:790px;scroll-margin-top:calc(var(--h) + 12px)}
.h2-breakfast-v2:before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(ellipse at 78% 43%,rgba(203,168,98,.18),transparent 34%),linear-gradient(135deg,#f6f0e4 0%,#eee4d0 100%)}
.h2b2-topline{display:flex;justify-content:space-between;gap:18px;color:#92723d;font-size:.59rem;letter-spacing:.2em;font-weight:700}.h2b2-topline i{font-style:normal;padding:0 8px;color:#c29a50}
.h2b2-stage{position:relative;min-height:570px;display:grid;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr);align-items:center;gap:2vw;padding:32px 0 48px}
.h2b2-copy{position:relative;z-index:2;padding:20px 0 30px;max-width:540px}.h2b2-kicker{display:flex;align-items:center;gap:12px;color:#a27a35;font-size:.63rem;letter-spacing:.19em;font-weight:700}.h2b2-kicker span{width:28px;height:1px;background:#b78d43}.h2b2-copy h2{margin:25px 0 24px;font:600 clamp(4rem,7.1vw,7.2rem)/.79 var(--font-head);letter-spacing:-.055em;color:#183a25}.h2b2-copy h2 em{font-weight:500;color:#aa7d35}.h2b2-period{color:#d0a74f}.h2b2-intro{max-width:410px;color:#697363;font-size:.96rem;line-height:1.9;margin:0 0 30px}.h2b2-cta{display:inline-flex;align-items:center;gap:22px;padding:16px 0;border-bottom:1px solid #a77d37;color:#183a25;font-size:.62rem;font-weight:800;letter-spacing:.13em}.h2b2-cta i{color:#a77d37;transition:transform .25s}.h2b2-cta:hover i{transform:translate(4px,-3px)}
.h2b2-platter{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.h2b2-platter__halo{position:absolute;width:min(39vw,500px);aspect-ratio:1;border:1px solid rgba(159,121,53,.35);border-radius:50%;box-shadow:0 0 0 22px rgba(159,121,53,.045),0 0 0 54px rgba(159,121,53,.035),0 0 0 88px rgba(159,121,53,.025);animation:h2b2Orbit 28s linear infinite}.h2b2-platter__image{position:relative;width:min(40vw,510px);height:min(40vw,510px);min-width:340px;min-height:340px;border-radius:50%;overflow:hidden;border:12px solid #f8f2e6;outline:1px solid rgba(157,119,53,.55);box-shadow:0 32px 70px rgba(42,47,26,.2);transform:rotate(-7deg)}.h2b2-platter__image img{width:100%;height:100%;object-fit:cover;transform:scale(1.13);transition:transform 1s cubic-bezier(.2,.7,.2,1)}.h2b2-platter:hover .h2b2-platter__image img{transform:scale(1.2)}.h2b2-platter__inset{position:absolute;z-index:2;left:3%;bottom:4%;width:clamp(120px,14vw,180px);height:clamp(120px,14vw,180px);border:7px solid #f3ecdc;border-radius:50%;overflow:hidden;box-shadow:0 15px 35px #1d321e35;transform:rotate(8deg)}.h2b2-platter__inset img{width:100%;height:100%;object-fit:cover}.h2b2-platter__inset span{position:absolute;inset:auto 0 0;padding:19px 4px 10px;text-align:center;background:linear-gradient(transparent,#09200fdb);font-size:.46rem;letter-spacing:.13em;color:#fff4df}.h2b2-platter__caption{position:absolute;right:0;bottom:8%;display:flex;flex-direction:column;gap:6px;padding:16px 20px;background:#173b25;color:#fff2d7;box-shadow:0 12px 30px #173b2528}.h2b2-platter__caption span{font-size:.48rem;letter-spacing:.19em;color:#e8c777}.h2b2-platter__caption b{font:600 1.25rem var(--font-head)}.h2b2-platter__caption i{color:#e6bd65;font-style:normal}.h2b2-stamp{position:absolute;right:8%;top:5%;width:104px;height:104px;border-radius:50%;background:#dcb45f;color:#183a25;outline:5px solid #f3ecdc;display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(11deg);box-shadow:0 10px 30px #3c321c2b}.h2b2-stamp span{font-size:.43rem;letter-spacing:.13em}.h2b2-stamp b{font:600 1.7rem var(--font-head);line-height:1.2}.h2b2-side-note{position:absolute;right:-2px;top:32%;display:flex;align-items:center;gap:10px;color:#98783e;font-size:.48rem;line-height:1.8;letter-spacing:.16em;writing-mode:vertical-rl}.h2b2-side-line{width:1px;height:55px;background:#b99450}
.h2b2-menu-rail{position:relative;display:grid;grid-template-columns:1.15fr repeat(3,1fr);border-top:1px solid rgba(32,61,38,.27);min-height:90px;align-items:stretch}.h2b2-rail-intro{display:flex;flex-direction:column;justify-content:center;gap:7px;color:#8f713d;font-size:.52rem;letter-spacing:.15em}.h2b2-rail-intro b{font:600 1rem var(--font-head);color:#1b3b26}.h2b2-menu-rail>a{display:flex;align-items:center;gap:13px;padding:15px 20px;border-left:1px solid rgba(32,61,38,.2);color:#1b3b26;transition:background .25s}.h2b2-menu-rail>a:hover{background:#e8dec8}.h2b2-menu-rail>a small{font-size:.58rem;color:#aa813b}.h2b2-menu-rail>a span{font:600 1.35rem var(--font-head);flex:1}.h2b2-menu-rail>a i{font-size:.67rem;color:#a77d37}
@keyframes h2b2Orbit{to{transform:rotate(360deg)}}

.h2-fresh-v2{position:relative;isolation:isolate;overflow:hidden;background:#102719;color:#f6edd9;padding:clamp(78px,8vw,118px) max(var(--pad),calc((100vw - 1320px)/2)) 30px;scroll-margin-top:calc(var(--h) + 12px)}
.h2-fresh-v2:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 8% 20%,rgba(207,168,87,.12),transparent 34%),linear-gradient(115deg,transparent 0 68%,rgba(255,255,255,.025) 68% 68.2%,transparent 68.2%)}
.h2f2-head{position:relative;display:grid;grid-template-columns:.7fr 1.5fr .7fr;align-items:start;gap:20px;margin-bottom:58px}.h2f2-index{display:flex;align-items:center;gap:12px;color:#d8b66b;font-size:.58rem;letter-spacing:.18em}.h2f2-index span:first-child{font:600 2.5rem var(--font-head);color:#e6c476}.h2f2-index i{width:28px;height:1px;background:#b78d43}.h2f2-heading{max-width:680px}.h2f2-kicker{margin:0 0 18px;color:#d8b66b;font-size:.59rem;letter-spacing:.22em}.h2f2-heading h2{margin:0;font:600 clamp(4.1rem,7vw,7rem)/.82 var(--font-head);letter-spacing:-.045em;color:#fff2dc}.h2f2-heading h2 em{color:#d9b66b;font-weight:500}.h2f2-heading>p:last-child{max-width:440px;margin:23px 0 0;color:#c4c7b3;font-size:.92rem;line-height:1.85}.h2f2-sideword{justify-self:end;margin-top:15px;color:rgba(231,197,126,.65);font-size:.52rem;letter-spacing:.2em;writing-mode:vertical-rl;min-height:150px}
.h2f2-film{position:relative;display:grid;grid-template-columns:.72fr 1.7fr .72fr;gap:7px;height:clamp(340px,43vw,560px);overflow:hidden;background:#091b10}.h2f2-film__image{position:relative;overflow:hidden}.h2f2-film__image:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,19,10,.42),transparent 55%)}.h2f2-film__image img{width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform 1.1s cubic-bezier(.2,.7,.2,1),filter .6s}.h2f2-film:hover .h2f2-film__image img{transform:scale(1.045);filter:saturate(1)}.h2f2-film__image--main img{object-position:center 54%}.h2f2-film__overlay{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(72%,520px);text-align:center;padding:30px 20px;background:rgba(9,31,17,.73);border:1px solid rgba(231,197,126,.6);backdrop-filter:blur(5px)}.h2f2-film__overlay span,.h2f2-film__overlay i{display:block;color:#e6c476;font-size:.53rem;letter-spacing:.22em;font-style:normal}.h2f2-film__overlay b{display:block;margin:9px 0 12px;color:#fff1d8;font:600 clamp(2.5rem,5vw,5rem)/.95 var(--font-head)}.h2f2-film__counter{position:absolute;right:22px;top:20px;color:#fff0d2;font-size:.52rem;letter-spacing:.2em;writing-mode:vertical-rl}
.h2f2-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin:0;padding:43px 0 48px;border-bottom:1px solid rgba(225,192,119,.28)}.h2f2-steps article{position:relative;padding:0 clamp(20px,3vw,45px);border-left:1px solid rgba(225,192,119,.24)}.h2f2-steps article:first-child{padding-left:0;border-left:0}.h2f2-step-no{position:absolute;right:25px;top:0;color:#d9b66b;font:600 1.15rem var(--font-head)}.h2f2-step-mark{color:#d9b66b;font-size:1.6rem;margin-bottom:12px}.h2f2-steps h3{margin:0 0 9px;color:#fff0d4;font:600 1.65rem var(--font-head)}.h2f2-steps p{max-width:300px;margin:0;color:#bdc2ae;font-size:.8rem;line-height:1.8}.h2f2-bottomline{display:flex;justify-content:space-between;gap:20px;padding-top:19px;color:#d6b66f;font-size:.52rem;letter-spacing:.16em}.h2f2-bottomline a{color:#f0d18a;font-weight:700}.h2f2-bottomline i{margin-inline-start:9px;transition:transform .25s}.h2f2-bottomline a:hover i{transform:translateX(4px)}
@media(max-width:900px){.h2-breakfast-v2{min-height:0}.h2b2-stage{grid-template-columns:.9fr 1.1fr;min-height:500px}.h2b2-copy h2{font-size:clamp(3.7rem,8vw,5.7rem)}.h2b2-platter{min-height:440px}.h2b2-platter__image{width:42vw;height:42vw;min-width:290px;min-height:290px}.h2b2-platter__halo{width:43vw}.h2b2-side-note{display:none}.h2f2-head{grid-template-columns:.5fr 1.7fr}.h2f2-sideword{display:none}}
@media(max-width:640px){.h2-breakfast-v2{padding-top:32px}.h2b2-topline{font-size:.46rem;letter-spacing:.11em}.h2b2-topline span:last-child{max-width:130px;text-align:right}.h2b2-stage{display:flex;flex-direction:column;align-items:stretch;gap:4px;padding:42px 0 34px}.h2b2-copy{padding:0}.h2b2-kicker{font-size:.52rem;letter-spacing:.13em}.h2b2-copy h2{font-size:clamp(4rem,15vw,5.8rem);margin:19px 0}.h2b2-intro{font-size:.88rem;max-width:360px;margin-bottom:20px}.h2b2-cta{font-size:.53rem;gap:12px;padding:13px 0}.h2b2-platter{min-height:350px;margin:10px 0 0}.h2b2-platter__image{width:min(76vw,360px);height:min(76vw,360px);min-width:0;min-height:0;border-width:8px}.h2b2-platter__halo{width:77vw}.h2b2-platter__inset{width:112px;height:112px;border-width:5px;left:0;bottom:1%}.h2b2-platter__caption{right:0;bottom:4%;padding:11px 13px}.h2b2-platter__caption span{font-size:.4rem}.h2b2-platter__caption b{font-size:1rem}.h2b2-stamp{width:78px;height:78px;right:2%;top:0}.h2b2-stamp span{font-size:.34rem}.h2b2-stamp b{font-size:1.35rem}.h2b2-menu-rail{grid-template-columns:1fr 1fr;padding:8px 0 0}.h2b2-rail-intro{grid-column:1/-1;padding:12px 0}.h2b2-menu-rail>a{padding:14px 8px;border-left:0;border-top:1px solid rgba(32,61,38,.2);gap:8px}.h2b2-menu-rail>a:nth-of-type(2){border-left:1px solid rgba(32,61,38,.2)}.h2b2-menu-rail>a:last-child{grid-column:1/-1}.h2b2-menu-rail>a span{font-size:1.12rem}.h2b2-menu-rail>a i{font-size:.55rem}
.h2-fresh-v2{padding-top:65px}.h2f2-head{display:block;margin-bottom:32px}.h2f2-index{margin-bottom:28px}.h2f2-index span:first-child{font-size:2rem}.h2f2-kicker{font-size:.51rem}.h2f2-heading h2{font-size:clamp(3.8rem,14vw,5.3rem)}.h2f2-heading>p:last-child{font-size:.85rem;margin-top:17px}.h2f2-film{height:470px;grid-template-columns:.42fr 1.55fr .42fr;gap:4px}.h2f2-film__overlay{width:84%;padding:20px 12px}.h2f2-film__overlay span,.h2f2-film__overlay i{font-size:.42rem}.h2f2-film__overlay b{font-size:2.8rem}.h2f2-film__counter{right:10px;top:10px;font-size:.43rem}.h2f2-steps{grid-template-columns:1fr;gap:0;padding:26px 0 30px}.h2f2-steps article,.h2f2-steps article:first-child{display:grid;grid-template-columns:42px 34px 1fr;align-items:center;gap:10px;padding:18px 0;border-left:0;border-bottom:1px solid rgba(225,192,119,.2)}.h2f2-steps article:last-child{border-bottom:0}.h2f2-step-no{position:static;font-size:1rem}.h2f2-step-mark{margin:0;font-size:1.3rem}.h2f2-steps h3{font-size:1.35rem;margin:0}.h2f2-steps p{grid-column:3;font-size:.75rem}.h2f2-bottomline{flex-direction:column;gap:12px;font-size:.46rem;letter-spacing:.1em}}
@media(prefers-reduced-motion:reduce){.h2b2-platter__halo{animation:none}.h2b2-platter__image img,.h2f2-film__image img,.h2b2-cta i,.h2f2-bottomline i{transition:none}}
/* Home 2 redesigned sections — theme and direction support */
[data-theme="dark"] .h2-breakfast-v2{background:#111f14;color:#fff0d2}
[data-theme="dark"] .h2-breakfast-v2:before{background:radial-gradient(ellipse at 78% 43%,rgba(203,168,98,.10),transparent 34%),linear-gradient(135deg,#111f14 0%,#17291b 100%)}
[data-theme="dark"] .h2b2-copy h2,[data-theme="dark"] .h2b2-rail-intro b,[data-theme="dark"] .h2b2-menu-rail>a{color:#fff0d2}
[data-theme="dark"] .h2b2-intro{color:#d0c4a9}
[data-theme="dark"] .h2b2-menu-rail,[data-theme="dark"] .h2b2-menu-rail>a{border-color:rgba(242,184,63,.25)}
[data-theme="dark"] .h2b2-menu-rail>a:hover{background:#203624}
[data-theme="dark"] .h2b2-platter__image{border-color:#1b2b1d}
[data-theme="dark"] .h2b2-platter__inset{border-color:#111f14}
[data-theme="dark"] .h2b2-stamp{outline-color:#111f14}
[dir="rtl"] .h2b2-menu-rail>a{border-left:0;border-right:1px solid rgba(32,61,38,.2)}
[dir="rtl"] .h2b2-side-note{right:auto;left:-2px}
[dir="rtl"] .h2b2-platter__caption{right:auto;left:0}
[dir="rtl"] .h2b2-platter__inset{left:auto;right:3%}
[dir="rtl"] .h2b2-stamp{right:auto;left:8%}
[dir="rtl"] .h2f2-step-no{right:auto;left:25px}
[dir="rtl"] .h2f2-steps article{border-left:0;border-right:1px solid rgba(225,192,119,.24)}
[dir="rtl"] .h2f2-steps article:first-child{padding-left:clamp(20px,3vw,45px);padding-right:0;border-right:0}
[dir="rtl"] .h2f2-sideword{justify-self:start}
[dir="rtl"] .h2f2-film__counter{right:auto;left:22px}
[dir="rtl"] .h2f2-bottomline i{transform:scaleX(-1)}
@media(max-width:640px){[dir="rtl"] .h2b2-platter__inset{right:0}[dir="rtl"] .h2b2-stamp{left:2%}[dir="rtl"] .h2b2-menu-rail>a{border-right:0}[dir="rtl"] .h2b2-menu-rail>a:nth-of-type(2){border-right:1px solid rgba(32,61,38,.2)}[dir="rtl"] .h2f2-steps article,[dir="rtl"] .h2f2-steps article:first-child{border-right:0;padding:18px 0}}

/* =====================================================================
   MENU PAGE v2: five unique section layouts (all dishes visible)
   ===================================================================== */
.mx .mm-tag{font-size:.6rem}
.mx h3,.mx h4{margin:0}
.mx p{margin:0}
.mx figure{margin:0}
.mx img{display:block;width:100%;height:100%;object-fit:cover}
.mx-kicker{display:inline-flex;align-items:center;gap:9px;font-size:.74rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--m-accent)}
.mx-chip{display:inline-flex;align-items:center;gap:8px;padding:6px 16px;border:1.5px solid var(--brass);border-radius:999px;font-size:.82rem;color:var(--m-ink)}
.mx-sub{display:flex;align-items:center;gap:16px;margin:clamp(34px,4.5vw,56px) 0 22px!important;font:700 1.15rem var(--font-head);letter-spacing:.18em;text-transform:uppercase;color:var(--m-price)}
.mx-sub::before,.mx-sub::after{content:"";flex:1;border-top:1.5px solid var(--brass);opacity:.6}

/* ---------- 1. BREAKFAST: feature panel + numbered tile grid ---------- */
.mx-feature{position:relative;display:grid;grid-template-columns:1.1fr 1fr;margin-bottom:clamp(26px,3.4vw,44px);border:1.5px solid var(--brass);border-radius:30px;overflow:hidden;background:linear-gradient(135deg,#17331d,#0d2412);box-shadow:0 26px 50px rgba(0,0,0,.35)}
.mx-feature__img{position:relative;min-height:340px;overflow:hidden}
.mx-feature__img img{position:absolute;inset:0;transition:transform 1.6s ease}
.mx-feature:hover .mx-feature__img img{transform:scale(1.07)}
.mx-feature__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 60%,rgba(13,36,18,.85))}
.mx-feature__txt{position:relative;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:clamp(26px,4vw,56px)}
.mx-feature__txt h3{font:700 clamp(2rem,4vw,3.2rem)/1.05 var(--font-head);color:#FFF4DD}
.mx-feature__txt>p:not(.mx-kicker){max-width:42ch;color:rgba(255,244,221,.8);line-height:1.75}
.mx-feature .mx-kicker{color:var(--gold)}
.mx-feature__foot{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:6px}
.mx-feature__foot b{font:700 2.3rem var(--font-head);color:var(--gold-soft)}
.mx-feature .mx-chip{color:#FFF4DD}
.mx-feature__dot{position:absolute;inset-inline-end:clamp(18px,3vw,40px);top:clamp(18px,3vw,36px);width:96px;height:96px;overflow:hidden;border:3px solid var(--brass);border-radius:50%;box-shadow:0 10px 26px rgba(0,0,0,.45);animation:mx-bob 5s ease-in-out infinite}
.mx-feature__steam{position:absolute;z-index:2;inset-inline-start:46%;top:18%;display:flex;gap:14px;pointer-events:none}
.mx-feature__steam i,.mx-steam i{display:block;width:10px;height:70px;border-radius:50%;background:linear-gradient(to top,rgba(255,255,255,.5),transparent);filter:blur(5px);opacity:0;animation:mx-steam 3.6s ease-in-out infinite}
.mx-feature__steam i:nth-child(2),.mx-steam i:nth-child(2){animation-delay:1.2s;height:90px}
.mx-feature__steam i:nth-child(3),.mx-steam i:nth-child(3){animation-delay:2.2s}
.mx-steam i:nth-child(4){animation-delay:.6s;height:80px}
@keyframes mx-steam{0%{transform:translateY(30px) scaleX(.8);opacity:0}30%{opacity:.75}100%{transform:translateY(-60px) scaleX(1.5);opacity:0}}
@keyframes mx-bob{50%{transform:translateY(-8px)}}
.mx-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(14px,1.8vw,22px);margin:0;padding:0;list-style:none}
.mx-tile{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:8px;padding:22px 20px 18px;border:1.5px solid rgba(247,215,124,.28);border-radius:20px;background:linear-gradient(160deg,#17331d,#0f2715);transition:transform .35s ease,border-color .35s ease,box-shadow .35s ease}
.mx-tile::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,var(--gold),transparent);transform:scaleX(0);transform-origin:left;transition:transform .5s ease}
.mx-tile:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 20px 38px rgba(0,0,0,.45)}
.mx-tile:hover::before{transform:scaleX(1)}
.mx-tile__no{position:absolute;inset-inline-end:14px;top:2px;font:700 4.2rem/1 var(--font-head);color:rgba(247,215,124,.1);transition:color .35s,transform .5s}
.mx-tile:hover .mx-tile__no{color:rgba(247,215,124,.22);transform:scale(1.12)}
.mx-tile__top{display:flex;align-items:center;gap:8px;min-height:22px}
.mx-tile h3{font:700 1.3rem/1.2 var(--font-head);color:#FFF4DD}
.mx-tile p{flex:1;font-size:.88rem;line-height:1.55;color:var(--m-muted)}
.mx-tile__foot{display:flex;align-items:center;gap:12px;margin-top:6px}
.mx-tile__line{flex:1;border-top:1.5px dashed rgba(247,215,124,.4)}
.mx-tile__foot b{padding:3px 12px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 1.05rem var(--font-head)}

/* ---------- 2. LUNCH: centre thali plate, dishes either side ---------- */
.mx-thali{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,380px) minmax(0,1fr);align-items:center;gap:clamp(20px,3vw,44px)}
.mx-side{display:grid;gap:14px;margin:0;padding:0;list-style:none}
.mx-dish{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:16px 18px;border:1.5px solid var(--m-line);border-radius:18px;background:var(--m-card);box-shadow:0 8px 22px var(--shade);transition:transform .35s,border-color .35s,box-shadow .35s}
.mx-dish:hover{transform:translateY(-4px);border-color:var(--brass);box-shadow:0 16px 30px var(--shade-strong)}
.mx-dish__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.mx-dish h3{font:700 1.2rem/1.2 var(--font-head);color:var(--m-ink)}
.mx-dish p{margin-top:3px;font-size:.84rem;line-height:1.45;color:var(--m-muted)}
.mx-dish b{font:700 1.2rem var(--font-head);color:var(--m-price)}
.mx-dish::after{content:"";position:absolute;top:50%;width:clamp(20px,3vw,44px);border-top:2px dashed var(--brass);transform:scaleX(0);transition:transform .8s ease calc(.5s + var(--i)*90ms)}
.mx-side--l .mx-dish::after{inset-inline-start:100%;transform-origin:left}
.mx-side--r .mx-dish::after{inset-inline-end:100%;transform-origin:right}
.mm.is-in .mx-dish::after{transform:scaleX(1)}
.mx-plate{position:relative;display:grid;place-items:center;aspect-ratio:1}
.mx-plate__ring{position:absolute;inset:-4%;border:2px dashed var(--brass);border-radius:50%;animation:mx-spin 40s linear infinite}
.mx-plate__ring::after{content:"";position:absolute;inset:5%;border:1px solid var(--m-line);border-radius:50%}
.mx-plate__img{position:relative;width:86%;aspect-ratio:1;overflow:hidden;border:6px solid var(--brass);border-radius:50%;box-shadow:0 26px 50px rgba(7,27,11,.35);animation:mx-bob 6s ease-in-out infinite}
.mx-plate__img img{transition:transform 1.4s ease}
.mx-plate:hover .mx-plate__img img{transform:scale(1.1) rotate(4deg)}
.mx-plate__pick{position:absolute;bottom:-4%;display:grid;gap:1px;padding:10px 22px;border:1.5px solid var(--brass);border-radius:16px;background:var(--m-card);text-align:center;box-shadow:0 12px 26px var(--shade-strong)}
.mx-plate__pick span{font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--m-accent)}
.mx-plate__pick b{font:700 1.2rem var(--font-head);color:var(--m-ink)}
.mx-plate__pick em{font:600 1rem var(--font-head);font-style:normal;color:var(--m-price)}
@keyframes mx-spin{to{transform:rotate(360deg)}}

/* ---------- 3. EVENING: marquee ribbon + ticket stubs ---------- */
.mx-ribbon{overflow:hidden;margin:0 calc(var(--pad)*-1) clamp(26px,3.4vw,40px);padding:12px 0;border-block:1.5px solid rgba(247,215,124,.35);background:rgba(247,215,124,.07)}
.mx-ribbon__track{display:flex;gap:26px;width:max-content;animation:mx-marq 38s linear infinite;font:600 italic 1.35rem var(--font-head);color:var(--gold-soft);white-space:nowrap}
.mx-ribbon__track i{font-style:normal;color:var(--gold);font-size:.9rem;align-self:center}
@keyframes mx-marq{to{transform:translateX(-50%)}}
[dir=rtl] .mx-ribbon__track{animation-direction:reverse}
.mx-chai{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.6fr);gap:clamp(22px,3.4vw,48px);align-items:stretch}
.mx-chai__img{position:relative;min-height:420px;overflow:hidden;border:3px solid var(--brass);border-radius:200px 200px 26px 26px}
.mx-chai__img img{position:absolute;inset:0;transition:transform 1.4s ease}
.mx-chai__img:hover img{transform:scale(1.07)}
.mx-steam{position:absolute;z-index:2;inset-inline-start:30%;top:6%;display:flex;gap:16px;pointer-events:none}
.mx-chai__img figcaption{position:absolute;inset-inline:14px;bottom:14px;z-index:3;display:grid;gap:1px;padding:12px 18px;border:1.5px solid var(--brass);border-radius:16px;background:rgba(7,27,11,.88);text-align:center;backdrop-filter:blur(4px)}
.mx-chai__img figcaption span{font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mx-chai__img figcaption b{font:700 1.3rem var(--font-head);color:#FFF4DD}
.mx-chai__img figcaption em{font:600 1.05rem var(--font-head);font-style:normal;color:var(--gold-soft)}
.mx-tickets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;align-content:start}
.mx-ticket{position:relative;display:grid;grid-template-columns:1fr auto;border-radius:18px;background:linear-gradient(160deg,#17331d,#0f2715);border:1.5px solid rgba(247,215,124,.3);transition:transform .35s,border-color .35s,box-shadow .35s}
.mx-ticket:hover{transform:translateY(-5px) rotate(-.6deg);border-color:var(--gold);box-shadow:0 16px 32px rgba(0,0,0,.45)}
.mx-ticket__body{display:grid;gap:6px;align-content:start;padding:16px 16px 16px 18px}
.mx-ticket__top{display:flex;align-items:center;gap:8px}
.mx-ticket h3{font:700 1.2rem/1.2 var(--font-head);color:#FFF4DD}
.mx-ticket p{font-size:.84rem;line-height:1.5;color:var(--m-muted)}
.mx-ticket .mm-tag{justify-self:start}
.mx-ticket__stub{position:relative;display:grid;place-content:center;gap:2px;min-width:84px;padding:12px;border-inline-start:2px dashed rgba(247,215,124,.5);background:rgba(247,215,124,.1);border-radius:0 16px 16px 0;text-align:center}
[dir=rtl] .mx-ticket__stub{border-radius:16px 0 0 16px}
.mx-ticket__stub b{font:700 1.45rem var(--font-head);color:var(--gold)}
.mx-ticket__stub small{font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--m-muted)}
.mx-ticket__stub::before,.mx-ticket__stub::after{content:"";position:absolute;inset-inline-start:-11px;width:20px;height:20px;border-radius:50%;background:var(--m-bg)}
.mx-ticket__stub::before{top:-11px}.mx-ticket__stub::after{bottom:-11px}

/* ---------- 4. DINNER: photo duo + three menu-card panels ---------- */
.mx-duo{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(14px,2vw,26px);margin-bottom:clamp(24px,3vw,40px)}
.mx-duo figure{position:relative;height:clamp(200px,26vw,320px);overflow:hidden;border:2px solid var(--brass);border-radius:26px;box-shadow:0 20px 40px var(--shade-strong)}
.mx-duo img{transition:transform 1.4s ease}
.mx-duo figure:hover img{transform:scale(1.08)}
.mx-duo figure::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(7,27,11,.78),transparent 55%)}
.mx-duo figcaption{position:absolute;z-index:2;inset-inline-start:22px;bottom:18px;display:grid}
.mx-duo figcaption span{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mx-duo figcaption b{font:700 clamp(1.4rem,2.6vw,2rem) var(--font-head);color:#FFF4DD}
.mx-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,26px);align-items:stretch}
.mx-panel{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1.5px solid var(--brass);border-radius:24px;background:var(--m-card);box-shadow:0 14px 34px var(--shade-strong)}
.mx-panel>header{display:flex;align-items:center;gap:14px;padding:18px 20px;background:var(--btn-bg);color:var(--btn-fg)}
.mx-panel__ico{display:grid;place-items:center;flex:none;width:44px;height:44px;border:1.5px solid currentColor;border-radius:50%;font-size:1.1rem;color:var(--gold-soft)}
.mx-panel>header h3{font:700 1.35rem var(--font-head);color:inherit}
.mx-panel>header small{font-size:.74rem;letter-spacing:.08em;opacity:.8}
.mx-panel>header>div{flex:1}
.mx-panel>header em{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--gold);color:var(--deep);font:700 .95rem var(--font-body);font-style:normal}
.mx-panel ul{display:grid;flex:1;align-content:space-evenly;margin:0;padding:6px 20px 10px;list-style:none}
.mx-row{display:grid;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:14px 0;border-bottom:1px dotted var(--m-line);transition:padding .3s}
.mx-row:last-child{border-bottom:0}
.mx-row:hover{padding-inline-start:8px}
.mx-row__no{font:700 1.5rem/1 var(--font-head);color:var(--brass);opacity:.75}
.mx-row__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.mx-row h4{font:700 1.12rem/1.2 var(--font-head);color:var(--m-ink)}
.mx-row p{margin-top:2px;font-size:.84rem;line-height:1.45;color:var(--m-muted)}
.mx-row b{font:700 1.15rem var(--font-head);color:var(--m-price)}

/* ---------- 5. SWEETS & DRINKS: hero banner, cup cards, sweet bars ---------- */
.mx-hero{position:relative;margin-bottom:clamp(10px,2vw,20px)}
.mx-hero__img{position:relative;height:clamp(220px,30vw,360px);overflow:hidden;border:2px solid var(--brass);border-radius:28px}
.mx-hero__img img{transition:transform 1.6s ease}
.mx-hero:hover .mx-hero__img img{transform:scale(1.06)}
.mx-hero__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,27,11,.1),rgba(7,27,11,.55))}
.mx-steam--c{inset-inline-start:42%;top:22%}
.mx-hero__card{position:absolute;z-index:3;inset-inline-end:clamp(14px,3vw,40px);bottom:clamp(14px,3vw,34px);display:grid;gap:2px;max-width:260px;padding:16px 22px;border:1.5px solid var(--brass);border-radius:18px;background:rgba(7,27,11,.9);backdrop-filter:blur(5px)}
.mx-hero__card span{font-size:.66rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.mx-hero__card b{font:700 1.7rem var(--font-head);color:#FFF4DD}
.mx-hero__card em{font:600 1.15rem var(--font-head);font-style:normal;color:var(--gold-soft)}
.mx-hero__card p{font-size:.84rem;color:var(--m-muted)}
.mx-cups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin:0;padding:0;list-style:none}
.mx-cup{position:relative;display:grid;gap:6px;justify-items:center;padding:34px 20px 20px;border:1.5px solid rgba(247,215,124,.3);border-radius:22px;background:linear-gradient(160deg,#17331d,#0f2715);text-align:center;transition:transform .35s,border-color .35s,box-shadow .35s}
.mx-cup:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 20px 38px rgba(0,0,0,.45)}
.mx-cup__ico,.mx-sweet__ico{display:grid;place-items:center;width:62px;height:62px;border:1.5px solid var(--brass);border-radius:50%;background:rgba(247,215,124,.1);font-size:1.5rem;color:var(--gold);transition:transform .5s,background .3s,color .3s}
.mx-cup:hover .mx-cup__ico,.mx-sweet:hover .mx-sweet__ico{transform:rotate(-12deg) scale(1.12);background:var(--gold);color:var(--deep)}
.mx-cup__top{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:6px}
.mx-cup h3{font:700 1.3rem var(--font-head);color:#FFF4DD}
.mx-cup p{font-size:.86rem;color:var(--m-muted)}
.mx-cup b{margin-top:6px;padding:3px 16px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 1.1rem var(--font-head)}
.mx-sweets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);margin:0;padding:0;list-style:none}
.mx-sweet{display:flex;align-items:center;gap:18px;padding:18px 22px;border:1.5px dashed var(--brass);border-radius:22px;background:rgba(247,215,124,.07);transition:transform .35s,background .35s}
.mx-sweet:hover{transform:translateY(-5px);background:rgba(247,215,124,.13)}
.mx-sweet>div{flex:1}
.mx-sweet h3{font:700 1.35rem var(--font-head);color:#FFF4DD}
.mx-sweet p{font-size:.86rem;color:var(--m-muted)}
.mx-sweet b{font:700 1.45rem var(--font-head);color:var(--gold-soft)}

/* ---------- scroll reveal (all five) ---------- */
.js .mx-tile,.js .mx-dish,.js .mx-ticket,.js .mx-panel,.js .mx-cup,.js .mx-sweet{opacity:0;transform:translateY(26px)}
.js .mx-feature,.js .mx-plate,.js .mx-chai__img,.js .mx-duo figure,.js .mx-hero{opacity:0;transform:scale(.96)}
.js .mx-duo figure{clip-path:inset(0 100% 0 0 round 26px)}
.js .mm.is-in .mx-feature,.js .mm.is-in .mx-plate,.js .mm.is-in .mx-chai__img,.js .mm.is-in .mx-hero{opacity:1;transform:none;transition:opacity .9s ease .1s,transform 1s cubic-bezier(.2,.7,.2,1) .1s}
.js .mm.is-in .mx-duo figure{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 26px);transition:opacity .6s ease,clip-path 1.1s cubic-bezier(.2,.7,.2,1),transform 1s ease}
.js .mm.is-in .mx-duo figure+figure{transition-delay:.25s}
.js .mm.is-in .mx-tile,.js .mm.is-in .mx-dish,.js .mm.is-in .mx-ticket,.js .mm.is-in .mx-panel,.js .mm.is-in .mx-cup,.js .mm.is-in .mx-sweet{opacity:1;transform:none;transition:opacity .6s ease calc(.25s + var(--i)*80ms),transform .7s cubic-bezier(.2,.7,.2,1) calc(.25s + var(--i)*80ms),border-color .35s,box-shadow .35s}
.js .mm.is-in .mx-tile:hover,.js .mm.is-in .mx-cup:hover{transform:translateY(-8px);transition-delay:0s}
.js .mm.is-in .mx-dish:hover{transform:translateY(-4px);transition-delay:0s}
.js .mm.is-in .mx-ticket:hover{transform:translateY(-5px) rotate(-.6deg);transition-delay:0s}
.js .mm.is-in .mx-sweet:hover{transform:translateY(-5px);transition-delay:0s}

/* ---------- responsive ---------- */
@media(max-width:1100px){.mx-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.mx-panels{grid-template-columns:1fr}}
@media(max-width:960px){
  .mx-feature{grid-template-columns:1fr}.mx-feature__img{min-height:260px}.mx-feature__img::after{background:linear-gradient(transparent 60%,rgba(13,36,18,.85))}
  .mx-thali{grid-template-columns:1fr 1fr}.mx-plate{grid-column:1/-1;order:-1;width:min(78%,340px);margin:0 auto 22px}.mx-dish::after{display:none}
  .mx-chai{grid-template-columns:1fr}.mx-chai__img{min-height:360px;max-width:420px;margin-inline:auto;width:100%}
  .mx-cups{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
  .mx-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.mx-tile{padding:18px 15px 14px}.mx-tile h3{font-size:1.12rem}.mx-tile p{font-size:.8rem}
  .mx-thali{grid-template-columns:1fr}
  .mx-tickets{grid-template-columns:1fr}
  .mx-duo{grid-template-columns:1fr}.mx-panels{grid-template-columns:1fr}
  .mx-sweets{grid-template-columns:1fr}
  .mx-hero__card{position:relative;inset:auto;max-width:none;margin:-34px 14px 0}
}
@media(max-width:460px){.mx-tiles{grid-template-columns:1fr}.mx-cups{grid-template-columns:1fr}.mx-feature__dot{width:72px;height:72px}}
@media(prefers-reduced-motion:reduce){
  .mx *,.mx *::before,.mx *::after{animation:none!important}
  .js .mx-tile,.js .mx-dish,.js .mx-ticket,.js .mx-panel,.js .mx-cup,.js .mx-sweet,.js .mx-feature,.js .mx-plate,.js .mx-chai__img,.js .mx-duo figure,.js .mx-hero{opacity:1!important;transform:none!important;clip-path:none!important;transition:none!important}
  .mx-dish::after{transform:scaleX(1)!important;transition:none!important}
}

/* =====================================================================
   MENU v3: breakfast polaroid wall + ledger, photo galleries (4+ per section)
   ===================================================================== */
/* ---- galleries (every section has 4+ photos) ---- */
.mx-gal{display:grid;gap:clamp(14px,2vw,26px);margin-top:clamp(30px,4vw,52px)}
.mx-gal__f{position:relative;overflow:hidden;border:2px solid var(--brass);box-shadow:0 18px 36px var(--shade-strong)}
.mx-gal__f img{transition:transform 1.4s ease}
.mx-gal__f:hover img{transform:scale(1.1)}
.mx-gal figcaption{position:absolute;z-index:2;inset-inline:0;bottom:0;padding:34px 16px 14px;background:linear-gradient(to top,rgba(7,27,11,.85),transparent);font:700 1.25rem var(--font-head);color:#FFF4DD;text-align:center}
/* lunch: arches */
.mx-gal--arch{grid-template-columns:repeat(3,minmax(0,1fr));max-width:900px;margin-inline:auto}
.mx-gal--arch .mx-gal__f{aspect-ratio:4/5;border-radius:999px 999px 22px 22px}
/* evening: wide strips */
.mx-gal--wide{grid-template-columns:repeat(3,minmax(0,1fr))}
.mx-gal--wide .mx-gal__f{aspect-ratio:3/2;border-radius:18px}
/* dinner: quad with big first */
.mx-gal--quad{grid-template-columns:1.5fr 1fr 1fr 1fr;margin:0 0 clamp(24px,3vw,40px)}
.mx-gal--quad .mx-gal__f{height:clamp(220px,26vw,340px);border-radius:24px}
/* sweets: circles */
.mx-gal--circle{grid-template-columns:repeat(3,minmax(0,1fr));max-width:760px;margin:clamp(24px,3vw,40px) auto 0}
.mx-gal--circle .mx-gal__f{aspect-ratio:1;border-radius:50%}
.mx-gal--circle figcaption{padding:40px 12px 20px;font-size:1.05rem}
/* reveal */
.js .mx-gal__f{opacity:0;transform:translateY(30px) scale(.95)}
.js .mm.is-in .mx-gal__f{opacity:1;transform:none;transition:opacity .7s ease calc(.3s + var(--i)*140ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(.3s + var(--i)*140ms)}
@media(max-width:1100px){.mx-gal--quad{grid-template-columns:1fr 1fr}.mx-gal--quad .mx-gal__f{height:clamp(200px,34vw,300px)}}
@media(max-width:720px){.mx-gal--wide{grid-template-columns:1fr}.mx-gal--arch{gap:10px}.mx-gal--arch figcaption{font-size:.9rem;padding:24px 6px 10px}}
@media(max-width:460px){.mx-gal--circle{gap:8px}.mx-gal--circle figcaption{font-size:.72rem;padding:20px 4px 12px}}
@media(prefers-reduced-motion:reduce){.js .mx-gal__f{opacity:1!important;transform:none!important;transition:none!important}}

/* =====================================================================
   BREAKFAST v5: uniform 3x2 grid of identical premium cards
   ===================================================================== */
.bc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2.4vw,32px)}
.bc-card{position:relative;display:flex;flex-direction:column;overflow:hidden;border:1.5px solid rgba(247,215,124,.5);border-radius:26px;background:linear-gradient(165deg,#17331d,#0c2211);box-shadow:0 22px 44px rgba(0,0,0,.42);transition:transform .45s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.bc-card::before{content:"";position:absolute;inset:7px;z-index:3;pointer-events:none;border:1px solid rgba(247,215,124,.22);border-radius:20px}
.bc-card::after{content:"";position:absolute;inset:0;z-index:4;pointer-events:none;background:linear-gradient(105deg,transparent 38%,rgba(255,236,176,.2) 50%,transparent 62%);transform:translateX(-120%);transition:transform .9s ease}
.bc-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 30px 56px rgba(0,0,0,.58)}
.bc-card:hover::after{transform:translateX(120%)}
.bc-card__img{position:relative;margin:0;aspect-ratio:8/5;overflow:hidden;background:#12301a}
.bc-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.bc-card:hover .bc-card__img img{transform:scale(1.1)}
.bc-card__img::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(12,34,17,.9),transparent 55%)}
.bc-card__no{position:absolute;z-index:2;inset-block-start:16px;inset-inline-start:18px;display:grid;place-items:center;width:42px;height:42px;border:1.5px solid var(--gold);border-radius:50%;background:rgba(7,27,11,.7);backdrop-filter:blur(4px);font:600 italic 1.1rem var(--font-head);color:var(--gold-soft)}
.bc-card__title{position:relative;z-index:5;margin:-21px 0 0;text-align:center}
.bc-card__title span{display:inline-block;padding:8px 26px;border-radius:999px;background:linear-gradient(180deg,var(--gold-soft),var(--gold));color:var(--deep);font:700 1.2rem/1.2 var(--font-head);letter-spacing:.04em;box-shadow:0 8px 18px rgba(0,0,0,.4)}
.bc-card__list{flex:1;display:grid;grid-template-rows:1fr 1fr;margin:0;padding:10px clamp(18px,2vw,28px) clamp(14px,1.6vw,22px);list-style:none}
.bc-dish{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:14px 0;transition:padding .3s}
.bc-dish+.bc-dish{border-top:1.5px dashed rgba(247,215,124,.32)}
.bc-dish:hover{padding-inline-start:8px}
.bc-dish__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.bc-dish h4{margin:0;font:700 1.3rem/1.2 var(--font-head);color:#FFF4DD}
.bc-dish p{margin:3px 0 0;font-size:.86rem;line-height:1.45;color:var(--m-muted)}
.bc-dish b{flex:none;padding:4px 14px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 1.1rem var(--font-head)}
.bc-strip{display:flex;flex-wrap:wrap;justify-content:center;gap:12px clamp(18px,3vw,44px);margin:clamp(26px,3.4vw,44px) 0 0;padding:16px 22px;list-style:none;border:1.5px solid rgba(247,215,124,.35);border-radius:999px;background:rgba(247,215,124,.06)}
.bc-strip li{display:inline-flex;align-items:center;gap:10px;font-size:.92rem;color:#FFF4DD}
.bc-strip i{color:var(--gold)}
.js .bc-card{opacity:0;transform:translateY(34px)}
.js .mm.is-in .bc-card{opacity:1;transform:none;transition:opacity .8s ease calc(.15s + var(--i)*110ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(.15s + var(--i)*110ms),border-color .35s,box-shadow .35s}
.js .mm.is-in .bc-card:hover{transform:translateY(-8px);transition-delay:0s}
.js .bc-strip{opacity:0}
.js .mm.is-in .bc-strip{opacity:1;transition:opacity .8s ease .9s}
@media(max-width:1000px){.bc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.bc-grid{grid-template-columns:1fr}.bc-strip{border-radius:22px;flex-direction:column;align-items:flex-start}}
@media(prefers-reduced-motion:reduce){.js .bc-card,.js .bc-strip{opacity:1!important;transform:none!important;transition:none!important}.bc-card::after{display:none}}

/* =====================================================================
   EVENING TIFFIN v5: 2x2 photo grid + framed menu board
   ===================================================================== */
.me-wrap{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(20px,3vw,44px);align-items:stretch}
.me-photos{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;gap:clamp(12px,1.6vw,20px);min-height:520px}
.me-photo{position:relative;margin:0;overflow:hidden;border:2px solid var(--brass);border-radius:24px;background:#12301a;box-shadow:0 18px 36px rgba(0,0,0,.4)}
.me-photo img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s ease}
.me-photo:hover img{transform:scale(1.1)}
.me-photo figcaption{position:absolute;z-index:2;inset-inline:0;bottom:0;padding:34px 12px 14px;background:linear-gradient(to top,rgba(5,22,9,.9),transparent);font:700 1.15rem var(--font-head);color:#FFF4DD;text-align:center}
.me-steam{position:absolute;z-index:2;inset-inline-start:36%;top:8%;display:flex;gap:12px;pointer-events:none}
.me-steam i{display:block;width:9px;height:60px;border-radius:50%;background:linear-gradient(to top,rgba(255,255,255,.55),transparent);filter:blur(5px);opacity:0;animation:mx-steam 3.6s ease-in-out infinite}
.me-steam i:nth-child(2){animation-delay:1.2s;height:78px}
.me-steam i:nth-child(3){animation-delay:2.2s}
.me-seal{position:absolute;z-index:4;top:50%;left:50%;translate:-50% -50%;display:grid;place-content:center;gap:1px;width:108px;height:108px;border-radius:50%;background:radial-gradient(circle at 30% 25%,var(--gold-soft),var(--gold) 62%,#c98f1c);color:var(--deep);text-align:center;box-shadow:0 10px 26px rgba(0,0,0,.55),inset 0 0 0 4px rgba(7,27,11,.12)}
.me-seal::before{content:"";position:absolute;inset:-7px;border:2px dashed var(--gold);border-radius:50%;animation:mx-spin 24s linear infinite}
.me-seal span{font:700 1.2rem/1 var(--font-head)}
.me-seal small{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.me-board{display:flex;flex-direction:column;overflow:hidden;border:1.5px solid var(--brass);border-radius:28px;background:linear-gradient(165deg,#17331d,#0c2211);box-shadow:0 24px 48px rgba(0,0,0,.45)}
.me-board__head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px clamp(18px,2.4vw,30px);background:linear-gradient(90deg,rgba(247,215,124,.18),rgba(247,215,124,.05));border-bottom:1.5px solid rgba(247,215,124,.4)}
.me-board__head span{display:inline-flex;align-items:center;gap:10px;font:700 1.25rem var(--font-head);letter-spacing:.06em;text-transform:uppercase;color:var(--gold-soft)}
.me-board__head i{color:var(--gold);animation:me-flame 1.6s ease-in-out infinite}
.me-board__head em{padding:3px 14px;border:1.5px solid var(--brass);border-radius:999px;font-size:.78rem;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:#FFF4DD}
@keyframes me-flame{50%{transform:scale(1.25) rotate(-6deg);filter:brightness(1.3)}}
.me-board__list{flex:1;display:grid;grid-auto-rows:1fr;margin:0;padding:6px clamp(10px,1.6vw,20px);list-style:none}
.me-row{position:relative;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(12px,1.6vw,20px);padding:10px clamp(8px,1vw,14px);border-bottom:1px solid rgba(247,215,124,.2);border-radius:12px;transition:background .3s,padding .3s}
.me-row:last-child{border-bottom:0}
.me-row:hover{background:rgba(247,215,124,.1);padding-inline-start:clamp(14px,1.6vw,22px)}
.me-row__no{display:grid;place-items:center;width:38px;height:38px;border:1.5px solid var(--brass);border-radius:50%;font:600 italic 1.05rem var(--font-head);color:var(--gold-soft);transition:background .3s,color .3s}
.me-row:hover .me-row__no{background:var(--gold);color:var(--deep)}
.me-row__top{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.me-row h4{margin:0;font:700 1.28rem/1.2 var(--font-head);color:#FFF4DD}
.me-row p{margin:2px 0 0;font-size:.86rem;line-height:1.4;color:var(--m-muted)}
.me-row b{padding:4px 14px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 1.1rem var(--font-head)}
.me-board__foot{display:flex;align-items:center;justify-content:center;gap:12px;padding:15px 20px;border-top:1.5px dashed rgba(247,215,124,.4);background:rgba(247,215,124,.07);font:600 italic 1.1rem var(--font-head);color:var(--gold-soft);text-align:center}
/* reveal */
.js .me-photo{opacity:0;transform:scale(.92);clip-path:inset(0 0 100% 0 round 24px)}
.js .mm.is-in .me-photo{opacity:1;transform:none;clip-path:inset(0 0 0 0 round 24px);transition:opacity .6s ease calc(.15s + var(--i)*150ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(.15s + var(--i)*150ms),clip-path 1s cubic-bezier(.2,.7,.2,1) calc(.15s + var(--i)*150ms)}
.js .me-seal{opacity:0;scale:.4}
.js .mm.is-in .me-seal{opacity:1;scale:1;transition:opacity .6s ease .8s,scale .8s cubic-bezier(.3,1.5,.5,1) .8s}
.js .me-board{opacity:0;transform:translateX(40px)}
.js .mm.is-in .me-board{opacity:1;transform:none;transition:opacity .8s ease .2s,transform .9s cubic-bezier(.2,.7,.2,1) .2s}
.js .me-row{opacity:0;transform:translateX(24px)}
.js .mm.is-in .me-row{opacity:1;transform:none;transition:opacity .6s ease calc(.5s + var(--i)*80ms),transform .6s ease calc(.5s + var(--i)*80ms),background .3s,padding .3s}
[dir=rtl] .js .me-board,[dir=rtl] .js .me-row{transform:translateX(-30px)}
@media(max-width:960px){.me-wrap{grid-template-columns:1fr}.me-photos{min-height:0;grid-auto-rows:auto}.me-photo{aspect-ratio:1}}
@media(max-width:520px){.me-seal{width:84px;height:84px}.me-seal span{font-size:.98rem}.me-seal small{font-size:.5rem}.me-photo figcaption{font-size:.95rem;padding:26px 8px 10px}.me-row{grid-template-columns:1fr auto}.me-row__no{display:none}.me-board__head span{font-size:1.05rem}}
@media(prefers-reduced-motion:reduce){.me-steam i,.me-seal::before,.me-board__head i{animation:none!important}.js .me-photo,.js .me-seal,.js .me-board,.js .me-row{opacity:1!important;transform:none!important;scale:1!important;clip-path:none!important;transition:none!important}}
@media(min-width:961px){.me-photo figcaption{padding-inline:18px;text-align:start}.me-photo:nth-of-type(even) figcaption{text-align:end}}

/* =====================================================================
   SWEETS & DRINKS v5: round photo strip + 8 identical medallion cards
   ===================================================================== */
.ms-moments{--c:clamp(104px,14vw,172px);position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:0 0 clamp(46px,6vw,72px);padding:0;list-style:none}
.ms-moments::before{content:"";position:absolute;inset-inline:12%;top:calc(var(--c)/2);border-top:2px dashed rgba(247,215,124,.45)}
.ms-moment{position:relative;display:grid;justify-items:center;gap:14px;text-align:center}
.ms-moment figure{position:relative;margin:0;width:var(--c);aspect-ratio:1;overflow:hidden;border:3px solid var(--brass);border-radius:50%;background:#12301a;box-shadow:0 0 0 7px var(--m-bg),0 0 0 9px rgba(247,215,124,.4),0 18px 34px rgba(0,0,0,.5);transition:transform .5s,box-shadow .4s}
.ms-moment img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.3s ease}
.ms-moment:hover figure{transform:translateY(-6px) rotate(-3deg)}
.ms-moment:hover img{transform:scale(1.14)}
.ms-moment span{font:600 italic 1.15rem var(--font-head);color:var(--gold-soft)}
.ms-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:52px clamp(16px,2vw,26px);margin:0;padding:30px 0 0;list-style:none}
.ms-card{position:relative;display:flex;flex-direction:column;gap:7px;padding:50px 22px 20px;border:1.5px solid rgba(247,215,124,.45);border-radius:24px;background:linear-gradient(165deg,#17331d,#0c2211);box-shadow:0 20px 40px rgba(0,0,0,.4);text-align:center;align-items:center;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .35s,box-shadow .35s}
.ms-card::before{content:"";position:absolute;inset:6px;pointer-events:none;border:1px solid rgba(247,215,124,.2);border-radius:19px}
.ms-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 28px 52px rgba(0,0,0,.55)}
.ms-card__ico{position:absolute;top:-31px;left:50%;translate:-50% 0;display:grid;place-items:center;width:62px;height:62px;border:2px solid var(--gold);border-radius:50%;background:var(--m-bg);font-size:1.5rem;color:var(--gold);box-shadow:0 0 0 5px var(--m-bg),0 8px 18px rgba(0,0,0,.5);transition:transform .5s,background .3s,color .3s}
.ms-card:hover .ms-card__ico{transform:rotate(-14deg) scale(1.12);background:var(--gold);color:var(--deep)}
.ms-card__kind{position:absolute;top:14px;inset-inline-end:16px;font-size:.6rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(247,215,124,.7)}
.ms-card__top{display:flex;align-items:center;justify-content:center;gap:9px}
.ms-card h3{margin:0;font:700 1.35rem/1.2 var(--font-head);color:#FFF4DD}
.ms-card p{flex:1;margin:0;font-size:.88rem;line-height:1.5;color:var(--m-muted)}
.ms-card__foot{display:flex;align-items:center;gap:12px;width:100%;margin-top:6px}
.ms-card__line{flex:1;border-top:1.5px dashed rgba(247,215,124,.4)}
.ms-card__foot b{padding:4px 16px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 1.15rem var(--font-head)}
.js .ms-moment{opacity:0;transform:translateY(24px) scale(.9)}
.js .mm.is-in .ms-moment{opacity:1;transform:none;transition:opacity .7s ease calc(.15s + var(--i)*130ms),transform .9s cubic-bezier(.2,.7,.2,1) calc(.15s + var(--i)*130ms)}
.js .ms-card{opacity:0;transform:translateY(30px)}
.js .mm.is-in .ms-card{opacity:1;transform:none;transition:opacity .7s ease calc(.5s + var(--i)*90ms),transform .8s cubic-bezier(.2,.7,.2,1) calc(.5s + var(--i)*90ms),border-color .35s,box-shadow .35s}
.js .mm.is-in .ms-card:hover{transform:translateY(-8px);transition-delay:0s}
@media(max-width:1000px){.ms-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.ms-moments{--c:clamp(84px,34vw,130px);grid-template-columns:repeat(2,minmax(0,1fr));row-gap:26px}.ms-moments::before{display:none}.ms-grid{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.js .ms-moment,.js .ms-card{opacity:1!important;transform:none!important;transition:none!important}}

/* ===== Menu page: "Pick your time" interactive wooden table ===== */
.mt-table { margin: 0; }
.mt-table__stage { position: relative; overflow: hidden; border-radius: clamp(16px, 2vw, 28px); box-shadow: 0 22px 50px rgba(60, 30, 10, .28); background: #4a2c1a; }
.mt-table__stage img { display: block; width: 100%; height: auto; }
.mt-spot { position: absolute; z-index: 1; aspect-ratio: 1; transform: translate(-50%, -50%); border-radius: 50%; color: inherit; text-decoration: none; outline: none; -webkit-tap-highlight-color: transparent; transition: background .35s ease, box-shadow .35s ease, transform .45s cubic-bezier(.2, .7, .2, 1); }
.mt-spot:hover, .mt-spot:focus-visible, .mt-spot.is-pair { background: rgba(242, 184, 63, .14); box-shadow: 0 0 0 3px var(--gold), 0 0 34px 8px rgba(242, 184, 63, .55); transform: translate(-50%, -50%) scale(1.035); z-index: 3; }
.mt-spot__tag { position: absolute; left: 50%; top: 100%; display: inline-flex; align-items: center; gap: 7px; padding: 5px 13px; border: 1.5px solid var(--brass); border-radius: 999px; background: rgba(21, 12, 6, .86); color: #FFF4DD; font-size: clamp(.58rem, 1.15vw, .8rem); font-weight: 600; letter-spacing: .05em; white-space: nowrap; transform: translate(-50%, -50%); box-shadow: 0 6px 16px rgba(0, 0, 0, .4); transition: background .3s ease, color .3s ease, transform .35s ease, opacity .3s ease; pointer-events: none; }
.mt-spot__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--gold); flex: none; }
.mt-spot--main .mt-spot__dot { animation: mtBlink 1.6s ease infinite; }
.mt-spot:not(.mt-spot--main) .mt-spot__tag { opacity: 0; transform: translate(-50%, -30%); }
.mt-spot:not(.mt-spot--main):hover .mt-spot__tag, .mt-spot:not(.mt-spot--main):focus-visible .mt-spot__tag { opacity: 1; transform: translate(-50%, -50%); }
.mt-spot:hover .mt-spot__tag, .mt-spot:focus-visible .mt-spot__tag, .mt-spot.is-pair .mt-spot__tag { background: var(--gold); color: #1d1208; border-color: var(--gold); transform: translate(-50%, -50%) scale(1.08); }
.mt-spot:hover .mt-spot__dot, .mt-spot:focus-visible .mt-spot__dot { background: #1d1208; }
.mt-table__hint { display: flex; align-items: center; justify-content: center; gap: 9px; margin-top: 16px; color: var(--muted); font-size: .92rem; text-align: center; }
.mt-table__hint i { color: var(--gold-text); }
.js .mt-table { opacity: 0; transform: translateY(24px); transition: opacity .9s ease, transform .9s cubic-bezier(.2, .7, .2, 1); }
.js .mt-table.is-in { opacity: 1; transform: none; }
@media (max-width: 639px) {
  .mt-table__stage { margin-inline: -8px; border-radius: 14px; }
  .mt-spot__tag { padding: 2px 6px; gap: 4px; letter-spacing: 0; font-size: .5rem; border-width: 1px; }
  .mt-spot__dot { width: 5px; height: 5px; }
  .mt-spot:hover, .mt-spot:focus-visible { transform: translate(-50%, -50%); }
}
@media (prefers-reduced-motion: reduce) { .js .mt-table { opacity: 1 !important; transform: none !important; transition: none !important; } .mt-spot, .mt-spot__tag { transition: none; } .mt-spot--main .mt-spot__dot { animation: none; } }

/* ===== Menu page: Evening Tiffin, the interactive tiffin carrier ===== */
.et-wrap { display: grid; grid-template-columns: minmax(280px, .72fr) minmax(0, 1.28fr); gap: clamp(28px, 4.4vw, 68px); align-items: center; }
.et-carrier { --steel: linear-gradient(180deg, #f4f6f8 0%, #b9bfc6 16%, #e9ecee 44%, #a2a9b1 76%, #6c737b 100%); position: relative; display: grid; justify-items: center; width: min(100%, 340px); margin-inline: auto; padding-top: 52px; }
.et-handle { position: absolute; top: 4px; left: 50%; translate: -50% 0; width: 58%; height: 66px; border: 8px solid #aab1b8; border-bottom: 0; border-radius: 120px 120px 0 0; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .5), 0 6px 14px rgba(0, 0, 0, .35); }
.et-steam { position: absolute; z-index: 2; top: -34px; left: 50%; translate: -50% 0; display: flex; gap: 16px; pointer-events: none; }
.et-steam i { display: block; width: 10px; height: 70px; border-radius: 50%; background: linear-gradient(to top, rgba(255, 255, 255, .55), transparent); filter: blur(5px); opacity: 0; animation: mx-steam 3.6s ease-in-out infinite; }
.et-steam i:nth-child(2) { animation-delay: 1.2s; height: 90px; } .et-steam i:nth-child(3) { animation-delay: 2.2s; }
.et-lid, .et-tier { appearance: none; border: 0; font: inherit; color: #12200f; cursor: pointer; background: var(--steel); -webkit-tap-highlight-color: transparent; transition: transform .45s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, filter .35s ease, opacity .35s ease; }
.et-lid { position: relative; z-index: 2; display: grid; place-content: center; gap: 2px; width: 86%; min-height: 84px; margin-bottom: 8px; border-radius: 130px 130px 12px 12px; text-align: center; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .75), inset 0 -4px 0 rgba(0, 0, 0, .22), 0 12px 24px rgba(0, 0, 0, .45); }
.et-lid b { font: 700 1.35rem/1.1 var(--font-head); }
.et-lid small { font-size: .7rem; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: #3a4640; }
.et-lid__knob { position: absolute; top: -7px; left: 50%; translate: -50% 0; width: 26px; height: 11px; border-radius: 8px; background: linear-gradient(180deg, #f7d77c, #a8771d); box-shadow: 0 2px 4px rgba(0, 0, 0, .4); }
.et-stack { position: relative; display: grid; gap: 7px; width: 100%; }
.et-stack::before, .et-stack::after { content: ""; position: absolute; z-index: 0; top: -14px; bottom: -14px; width: 9px; border-radius: 6px; background: linear-gradient(90deg, #8a6416, #f2b83f 50%, #8a6416); box-shadow: 0 4px 10px rgba(0, 0, 0, .4); }
.et-stack::before { inset-inline-start: -4px; } .et-stack::after { inset-inline-end: -4px; }
.et-tier { position: relative; z-index: 1; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; width: 100%; min-height: 80px; padding: 10px 18px; border-radius: 16px; text-align: start; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .75), inset 0 -4px 0 rgba(0, 0, 0, .22), 0 10px 20px rgba(0, 0, 0, .4); }
.et-tier__no { display: grid; place-items: center; width: 38px; height: 38px; border-radius: 50%; background: #0d2412; color: var(--gold); font: 700 1.25rem var(--font-head); box-shadow: 0 0 0 2px var(--brass); }
.et-tier__txt { display: grid; gap: 1px; min-width: 0; }
.et-tier__txt b { font: 700 1.2rem/1.15 var(--font-head); }
.et-tier__txt small { font-size: .72rem; font-weight: 600; letter-spacing: .06em; color: #3a4640; }
.et-tier__ico { font-size: 1.2rem; color: #4a5650; transition: transform .5s ease, color .3s ease; }
.et-lid:hover, .et-lid:focus-visible { transform: translateY(-4px); }
.et-tier:hover, .et-tier:focus-visible { transform: translateY(-3px); }
.et-lid:focus-visible, .et-tier:focus-visible { outline: 3px solid var(--gold); outline-offset: 3px; }
.et-carrier.is-filtered .et-lid:not(.is-on), .et-carrier.is-filtered .et-tier:not(.is-on) { filter: saturate(.4) brightness(.78); }
.et-lid.is-on, .et-tier.is-on { filter: none; box-shadow: inset 0 3px 0 rgba(255, 255, 255, .75), inset 0 -4px 0 rgba(0, 0, 0, .22), 0 0 0 3px var(--gold), 0 0 32px rgba(242, 184, 63, .45), 0 14px 28px rgba(0, 0, 0, .5); }
.et-tier.is-on { translate: 22px 0; }
[dir="rtl"] .et-tier.is-on { translate: -22px 0; }
.et-tier.is-on .et-tier__ico { color: #9C4A2F; transform: rotate(-14deg) scale(1.25); }
.et-tier.is-on .et-tier__no { background: var(--gold); color: #0d2412; }
.et-base { width: 104%; height: 16px; margin-top: 8px; border-radius: 8px 8px 14px 14px; background: linear-gradient(180deg, #f7d77c, #a8771d 60%, #6c4a0f); box-shadow: 0 12px 22px rgba(0, 0, 0, .5); }
.et-carrier__hint { margin: 18px 0 0; display: flex; align-items: center; gap: 8px; font-size: .86rem; color: var(--m-muted); text-align: center; }
.et-carrier__hint i { color: var(--gold); }

.et-panel { display: flex; flex-direction: column; overflow: hidden; border: 1.5px solid var(--brass); border-radius: 28px; background: linear-gradient(165deg, #17331d, #0c2211); box-shadow: 0 24px 48px rgba(0, 0, 0, .45); }
.et-panel__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px clamp(18px, 2.4vw, 30px); background: linear-gradient(90deg, rgba(247, 215, 124, .18), rgba(247, 215, 124, .04)); border-bottom: 1.5px solid rgba(247, 215, 124, .35); }
.et-panel__head > span { display: inline-flex; align-items: center; gap: 10px; font: 700 1.25rem var(--font-head); letter-spacing: .06em; text-transform: uppercase; color: var(--gold-soft); }
.et-panel__head i { color: var(--gold); animation: me-flame 1.6s ease-in-out infinite; }
.et-panel__head em { flex: none; padding: 3px 14px; border: 1.5px solid var(--brass); border-radius: 999px; font-size: .78rem; font-style: normal; letter-spacing: .1em; text-transform: uppercase; color: #FFF4DD; }
.et-groups { padding: 6px clamp(12px, 1.8vw, 22px) 10px; }
.et-group[hidden] { display: none !important; }
.et-group + .et-group:not([hidden]) { border-top: 1.5px dashed rgba(247, 215, 124, .32); }
.et-group__title { display: grid; grid-template-columns: auto 1fr; align-items: center; column-gap: 12px; margin: 0; padding: 18px clamp(6px, 1vw, 12px) 4px; }
.et-group__title i { grid-row: span 2; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--gold); color: #0d2412; font-size: 1.05rem; }
.et-group__title span { font: 700 1.55rem/1.1 var(--font-head); color: var(--gold-soft); }
.et-group__title small { font: 400 .84rem/1.4 var(--font-body); color: var(--m-muted); }
.et-list { margin: 0; padding: 0; list-style: none; }
.et-row { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(12px, 1.6vw, 20px); padding: 11px clamp(6px, 1vw, 12px); border-bottom: 1px solid rgba(247, 215, 124, .16); border-radius: 12px; transition: background .3s ease, padding .3s ease; }
.et-list .et-row:last-child { border-bottom: 0; }
.et-row:hover { background: rgba(247, 215, 124, .1); padding-inline-start: clamp(14px, 1.6vw, 22px); }
.et-row__no { display: grid; place-items: center; width: 38px; height: 38px; border: 1.5px solid var(--brass); border-radius: 50%; font: 600 italic 1.05rem var(--font-head); color: var(--gold-soft); transition: background .3s ease, color .3s ease; }
.et-row:hover .et-row__no { background: var(--gold); color: var(--deep); }
.et-row__top { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.et-row h4 { margin: 0; font: 700 1.28rem/1.2 var(--font-head); color: #FFF4DD; }
.et-row p { margin: 2px 0 0; font-size: .86rem; line-height: 1.4; color: var(--m-muted); }
.et-row b { padding: 4px 14px; border-radius: 999px; background: var(--gold); color: var(--deep); font: 700 1.1rem var(--font-head); }
.et-panel__foot { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 12px; padding: 15px 20px; border-top: 1.5px dashed rgba(247, 215, 124, .4); background: rgba(247, 215, 124, .07); font: 600 italic 1.1rem var(--font-head); color: var(--gold-soft); text-align: center; }
.et-panel__foot a { font: 600 .86rem var(--font-body); font-style: normal; letter-spacing: .02em; color: var(--gold); text-decoration: none; } .et-panel__foot a:hover { text-decoration: underline; }
.et-panel.is-swap .et-row { animation: et-rise .55s cubic-bezier(.2, .7, .2, 1) both; animation-delay: calc(var(--i) * 70ms); }
@keyframes et-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

.js .et-carrier { opacity: 0; transform: translateX(-34px); }
.js .et-panel { opacity: 0; transform: translateX(40px); }
.js .mm.is-in .et-carrier, .js .mm.is-in .et-panel { opacity: 1; transform: none; transition: opacity .9s ease .15s, transform 1s cubic-bezier(.2, .7, .2, 1) .15s; }
[dir="rtl"] .js .et-carrier { transform: translateX(34px); } [dir="rtl"] .js .et-panel { transform: translateX(-40px); }

@media (max-width: 960px) {
  .et-wrap { grid-template-columns: 1fr; gap: 26px; }
  .et-carrier { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: 100%; padding-top: 0; }
  .et-handle, .et-steam, .et-base, .et-lid__knob, .et-stack::before, .et-stack::after { display: none; }
  .et-stack { display: contents; }
  .et-lid, .et-tier { width: auto; min-height: 0; margin: 0; padding: 9px 16px; border-radius: 999px; gap: 10px; }
  .et-lid { display: flex; align-items: center; gap: 10px; } .et-lid small { display: none; }
  .et-lid b { font-size: 1.05rem; } .et-tier__txt b { font-size: 1.02rem; } .et-tier__txt small, .et-tier__ico { display: none; }
  .et-tier__no { width: 28px; height: 28px; font-size: 1rem; }
  .et-tier.is-on, [dir="rtl"] .et-tier.is-on { translate: 0 0; }
  .et-carrier__hint { width: 100%; justify-content: center; margin-top: 4px; }
}
@media (max-width: 520px) {
  .et-panel { border-radius: 22px; } .et-panel__head > span { font-size: 1.02rem; letter-spacing: .03em; }
  .et-row { grid-template-columns: auto minmax(0, 1fr); } .et-row b { grid-column: 2; justify-self: start; }
  .et-row__no { width: 32px; height: 32px; font-size: .95rem; } .et-group__title span { font-size: 1.3rem; } .et-group__title small { grid-column: 1 / -1; margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .et-steam i, .et-panel__head i { animation: none !important; }
  .js .et-carrier, .js .et-panel { opacity: 1 !important; transform: none !important; transition: none !important; }
  .et-panel.is-swap .et-row { animation: none; } .et-lid, .et-tier { transition: none; }
}

/* ----- Evening Tiffin v2: compact box with real photos, steady alignment ----- */
.et-wrap { align-items: center; }
.et-lid { cursor: default; } .et-lid:hover { transform: none; }
.et-lid, .et-tier { transition: transform .35s cubic-bezier(.2, .7, .2, 1), box-shadow .35s ease, filter .35s ease; }
.et-lid { background: var(--steel); color: #12200f; display: grid; place-content: center; gap: 2px; width: 86%; min-height: 84px; margin-bottom: 8px; border-radius: 130px 130px 12px 12px; text-align: center; }
.et-tier:not(.is-on) { filter: saturate(.45) brightness(.8); }
.et-tier:not(.is-on):hover, .et-tier:not(.is-on):focus-visible { filter: saturate(.8) brightness(.95); }
.et-tier.is-on, [dir="rtl"] .et-tier.is-on { translate: 0 0; transform: none; }
.et-tier.is-on::after { content: ""; position: absolute; inset-inline-end: -16px; top: 50%; width: 0; height: 0; translate: 0 -50%; border: 9px solid transparent; border-inline-start-color: var(--gold); border-inline-end: 0; filter: drop-shadow(0 0 6px rgba(242, 184, 63, .8)); }
[dir="rtl"] .et-tier.is-on::after { transform: scaleX(-1); }
.et-groups { min-height: 330px; display: grid; align-items: center; }
.et-group { display: grid; grid-template-columns: minmax(150px, 230px) minmax(0, 1fr); align-items: center; gap: clamp(14px, 2.4vw, 32px); padding: 14px clamp(6px, 1vw, 14px); }
.et-group + .et-group:not([hidden]) { border-top: 0; }
html:not(.js) .et-group[hidden] { display: grid !important; }
.et-fig { position: relative; margin: 0; width: 100%; aspect-ratio: 1; display: grid; place-items: center; }
.et-fig__ring { position: absolute; inset: -5%; border: 2px dashed var(--brass); border-radius: 50%; animation: mx-spin 40s linear infinite; }
.et-fig img { position: relative; display: block; width: 88%; height: 88%; object-fit: cover; border: 5px solid var(--brass); border-radius: 50%; box-shadow: 0 18px 36px rgba(0, 0, 0, .5); transition: transform 1.2s ease; }
.et-group:hover .et-fig img { transform: scale(1.05) rotate(3deg); }
.et-fig__steam { position: absolute; z-index: 2; top: -4%; left: 50%; translate: -50% 0; display: flex; gap: 12px; pointer-events: none; }
.et-fig__steam i { display: block; width: 8px; height: 56px; border-radius: 50%; background: linear-gradient(to top, rgba(255, 255, 255, .5), transparent); filter: blur(5px); opacity: 0; animation: mx-steam 3.6s ease-in-out infinite; }
.et-fig__steam i:nth-child(2) { animation-delay: 1.2s; height: 72px; } .et-fig__steam i:nth-child(3) { animation-delay: 2.2s; }
.et-group__title { padding: 4px 6px 6px; }
.et-panel.is-swap .et-fig { animation: et-pop .65s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes et-pop { from { opacity: 0; transform: scale(.85) rotate(-8deg); } to { opacity: 1; transform: none; } }
@media (max-width: 960px) { .et-groups { min-height: 0; } }
@media (max-width: 720px) {
  .et-group { grid-template-columns: 1fr; justify-items: center; }
  .et-fig { width: min(62%, 220px); } .et-info { width: 100%; }
}
@media (max-width: 960px) { .et-tier.is-on::after { display: none; } }
@media (prefers-reduced-motion: reduce) { .et-fig__ring, .et-fig__steam i { animation: none !important; } .et-panel.is-swap .et-fig { animation: none; } }
/* keep the carrier perfectly still while panels swap */
.et-wrap { align-items: start; }
.et-carrier { margin-top: 12px; }
.et-groups { min-height: 352px; }
@media (max-width: 960px) { .et-carrier { margin-top: 0; } .et-groups { min-height: 0; } }

/* ===== Menu page: Sweets & Drinks, "see it served" counter ===== */
.sd-wrap { display: grid; grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr); gap: clamp(26px, 4vw, 60px); align-items: start; }
.sd-stage { --a: #9a5a2a; --b: #4a230d; --froth: #e0c08f; position: sticky; top: calc(var(--h) + 90px); overflow: hidden; padding: 30px clamp(18px, 3vw, 34px) 26px; border: 1.5px solid var(--brass); border-radius: 32px; text-align: center; background: radial-gradient(circle at 50% 36%, rgba(247, 215, 124, .2), transparent 62%), linear-gradient(165deg, #17331d, #0b2010); box-shadow: 0 26px 52px rgba(0, 0, 0, .5); }
.sd-photo { position: absolute; z-index: 3; top: 16px; inset-inline-start: 16px; width: 78px; height: 78px; margin: 0; overflow: hidden; border: 3px solid var(--brass); border-radius: 50%; box-shadow: 0 8px 18px rgba(0, 0, 0, .5); transition: transform .5s ease; }
.sd-photo:hover { transform: rotate(-8deg) scale(1.12); }
.sd-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sd-art { position: relative; width: min(100%, 320px); margin: 0 auto; }
.sd-art__ring { position: absolute; inset: 4% 2% 8%; border: 2px dashed rgba(247, 215, 124, .45); border-radius: 50%; animation: mx-spin 50s linear infinite; }
.sd-svg { position: relative; display: block; width: 100%; height: auto; overflow: visible; }
.sd-stop-a { stop-color: var(--a); transition: stop-color .6s ease; } .sd-stop-b { stop-color: var(--b); transition: stop-color .6s ease; }
.sd-froth { fill: var(--froth); transition: fill .6s ease; }
.sd-v { opacity: 0; transform: translateY(18px) scale(.94); transform-box: view-box; transform-origin: 50% 85%; transition: opacity .5s ease, transform .6s cubic-bezier(.2, .7, .2, 1); pointer-events: none; }
.sd-stage[data-vessel="drink"] .v-drink, .sd-stage[data-vessel="payasam"] .v-payasam, .sd-stage[data-vessel="pak"] .v-pak { opacity: 1; transform: none; }
.sd-x { opacity: 0; transition: opacity .4s ease; }
.sd-stage[data-extra="specks"] .x-specks, .sd-stage[data-extra="saffron"] .x-saffron, .sd-stage[data-extra="scoop"] .x-scoop { opacity: 1; }
.sd-liq { transform-box: fill-box; transform-origin: 50% 100%; }
.sd-stage.is-fill .sd-liq { animation: sd-fill .9s cubic-bezier(.3, .8, .3, 1) both; }
@keyframes sd-fill { from { transform: scaleY(0); } to { transform: scaleY(1); } }
.sd-steam { position: absolute; z-index: 2; top: 2%; left: 50%; translate: -50% 0; display: flex; gap: 16px; pointer-events: none; opacity: 0; transition: opacity .5s ease; }
.sd-stage[data-hot="1"][data-vessel="drink"] .sd-steam { opacity: 1; }
.sd-steam i { display: block; width: 10px; height: 74px; border-radius: 50%; background: linear-gradient(to top, rgba(255, 255, 255, .55), transparent); filter: blur(5px); opacity: 0; animation: mx-steam 3.6s ease-in-out infinite; }
.sd-steam i:nth-child(2) { animation-delay: 1.2s; height: 94px; } .sd-steam i:nth-child(3) { animation-delay: 2.2s; }
.sd-now { display: grid; gap: 6px; justify-items: center; margin-top: 8px; padding-top: 18px; border-top: 1.5px dashed rgba(247, 215, 124, .4); }
.sd-now__kind { font-size: .7rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; color: var(--gold); }
.sd-now__name { margin: 0; font: 700 clamp(1.8rem, 3vw, 2.4rem)/1.1 var(--font-head); color: #FFF4DD; }
.sd-now__desc { margin: 0; max-width: 30ch; color: var(--m-muted); font-size: .95rem; line-height: 1.5; }
.sd-now__foot { display: flex; align-items: center; justify-content: center; gap: 12px; margin-top: 6px; }
.sd-now__foot b { padding: 4px 20px; border-radius: 999px; background: var(--gold); color: var(--deep); font: 700 1.5rem var(--font-head); }
.sd-now__tag { padding: 2px 11px; border-radius: 999px; background: var(--gold); color: var(--deep); font: 600 .64rem/1.6 var(--font-body); letter-spacing: .05em; text-transform: uppercase; } .sd-now__tag:empty { display: none; }
.sd-now.is-swap > * { animation: et-rise .5s cubic-bezier(.2, .7, .2, 1) both; } .sd-now.is-swap > *:nth-child(2) { animation-delay: 60ms; } .sd-now.is-swap > *:nth-child(3) { animation-delay: 120ms; } .sd-now.is-swap > *:nth-child(4) { animation-delay: 180ms; }

.sd-menu { min-width: 0; }
.sd-sub { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; font: 700 1.15rem var(--font-head); letter-spacing: .18em; text-transform: uppercase; color: var(--gold-soft); }
.sd-sub::after { content: ""; flex: 1; border-top: 1.5px solid var(--brass); opacity: .6; order: 1; }
.sd-sub small { order: 2; font: 600 .74rem var(--font-body); letter-spacing: .1em; color: var(--m-muted); }
.sd-sub + .sd-list { margin-bottom: 30px; }
.sd-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.sd-list > li { min-width: 0; display: flex; }
.sd-item { appearance: none; position: relative; width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 14px 16px; border: 1.5px solid rgba(247, 215, 124, .3); border-radius: 20px; background: linear-gradient(160deg, #17331d, #0f2715); color: inherit; font: inherit; text-align: start; cursor: pointer; transition: transform .35s cubic-bezier(.2, .7, .2, 1), border-color .3s ease, background .3s ease, box-shadow .3s ease; -webkit-tap-highlight-color: transparent; }
.sd-item:hover, .sd-item:focus-visible { transform: translateY(-4px); border-color: var(--gold); box-shadow: 0 14px 28px rgba(0, 0, 0, .45); }
.sd-item:focus-visible { outline: 3px solid var(--gold); outline-offset: 2px; }
.sd-item.is-on { border-color: var(--gold); background: linear-gradient(160deg, rgba(247, 215, 124, .24), rgba(247, 215, 124, .08)); box-shadow: 0 0 0 2px var(--gold), 0 16px 32px rgba(0, 0, 0, .5); }
.sd-item__ico { display: grid; place-items: center; width: 44px; height: 44px; border: 1.5px solid var(--brass); border-radius: 50%; background: rgba(247, 215, 124, .1); color: var(--gold); font-size: 1.1rem; transition: transform .45s ease, background .3s ease, color .3s ease; }
.sd-item:hover .sd-item__ico { transform: rotate(-12deg) scale(1.1); }
.sd-item.is-on .sd-item__ico { background: var(--gold); color: var(--deep); }
.sd-item__txt { display: grid; gap: 2px; min-width: 0; }
.sd-item__top { display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.sd-item h4 { margin: 0; font: 700 1.2rem/1.2 var(--font-head); color: #FFF4DD; }
.sd-item p { margin: 0; font-size: .8rem; line-height: 1.4; color: var(--m-muted); }
.sd-item b { font: 700 1.2rem var(--font-head); color: var(--gold-soft); }
.sd-item.is-on b { padding: 2px 12px; border-radius: 999px; background: var(--gold); color: var(--deep); }
.sd-menu__hint { display: flex; align-items: center; gap: 8px; margin: 22px 0 0; font-size: .86rem; color: var(--m-muted); } .sd-menu__hint i { color: var(--gold); }

.js .sd-stage { opacity: 0; transform: translateX(-34px); } .js .sd-menu { opacity: 0; transform: translateX(34px); }
.js .mm.is-in .sd-stage, .js .mm.is-in .sd-menu { opacity: 1; transform: none; transition: opacity .9s ease .15s, transform 1s cubic-bezier(.2, .7, .2, 1) .15s; }
@media (max-width: 960px) {
  .sd-wrap { grid-template-columns: 1fr; }
  .sd-stage { position: relative; top: auto; max-width: 440px; margin-inline: auto; width: 100%; }
}
@media (max-width: 520px) {
  .sd-list { grid-template-columns: 1fr; }
  .sd-photo { width: 62px; height: 62px; top: 12px; inset-inline-start: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .sd-art__ring, .sd-steam i { animation: none !important; } .sd-stage.is-fill .sd-liq, .sd-now.is-swap > * { animation: none; }
  .js .sd-stage, .js .sd-menu { opacity: 1 !important; transform: none !important; transition: none !important; } .sd-v, .sd-item { transition: none; }
}

/* ============================================================
   CONSOLIDATED PAGE STYLES
   These styles were merged from separate page-specific files so
   the project uses one shared stylesheet, matching the reference.
   ============================================================ */


/* ===== HOME 1 REDESIGN (home1-redesign.css) ===== */
/* Virundhu Spot — Home 1 fresh redesign: first three sections */
:root{--vh-cream:#FFF0D2;--vh-paper:#FFF7E8;--vh-ink:#211F17;--vh-green:#142817;--vh-green2:#28552B;--vh-rust:#9C4A2F;--vh-gold:#C49435;--vh-muted:#625744;--vh-line:rgba(196,148,53,.38)}
.vhome-hero{font-family:'Hind Madurai',sans-serif;color:var(--vh-ink)}
.vhome-hero{position:relative;isolation:isolate;overflow:hidden;background:var(--vh-cream);min-height:650px;padding:76px max(5.5vw,24px) 24px}
.vhome-hero__texture{position:absolute;inset:0;z-index:-1;opacity:.22;background-image:radial-gradient(rgba(85,69,42,.25) .65px,transparent .65px);background-size:7px 7px;mask-image:linear-gradient(90deg,#000,transparent 75%)}
.vhome-hero__inner{max-width:1320px;margin:auto;display:grid;grid-template-columns:.92fr 1.08fr;align-items:center;gap:5.5%;min-height:530px}
.vhome-kicker{display:flex;align-items:center;gap:11px;color:var(--vh-rust);font-size:11px;font-weight:700;letter-spacing:2.1px;margin:0 0 22px}.vhome-kicker>span{width:27px;height:1px;background:currentColor;display:inline-block}
.vhome-hero h1{font-family:'Cormorant Garamond',serif;font-weight:700;letter-spacing:-1.8px;line-height:.91;margin:0;color:var(--vh-green);font-size:clamp(62px,7vw,104px)}
.vhome-hero h1 em{color:var(--vh-rust);font-weight:600}
.vhome-hero__lead{max-width:470px;font-size:17px;line-height:1.85;color:#625744;margin:26px 0 27px}
.vhome-actions{display:flex;align-items:center;gap:27px;flex-wrap:wrap}.vhome-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;text-decoration:none!important;padding:15px 21px;font-size:13px;font-weight:700;letter-spacing:.3px;transition:transform .25s,background .25s,color .25s}.vhome-btn:hover{transform:translateY(-3px)}.vhome-btn--solid{background:var(--vh-green);color:#fff!important}.vhome-btn--solid:hover{background:var(--vh-rust)}.vhome-textlink{font-size:13px;font-weight:700;color:var(--vh-green);text-decoration:none;border-bottom:1px solid var(--vh-gold);padding:8px 0}.vhome-textlink i{margin-inline-start:7px;font-size:11px}
.vhome-hero__note{display:flex;align-items:center;gap:12px;margin-top:47px}.vhome-note-icon{width:42px;height:42px;border:1px solid var(--vh-gold);border-radius:50%;display:grid;place-items:center;color:var(--vh-rust)}.vhome-hero__note b,.vhome-hero__note small{display:block}.vhome-hero__note b{font-size:13px}.vhome-hero__note small{font-size:11px;color:var(--vh-muted);margin-top:2px}
.vhome-hero__visual{position:relative;min-height:495px;display:flex;align-items:center;justify-content:center}.vhome-hero__photo{width:78%;height:455px;position:relative;overflow:hidden;border-radius:48% 48% 4px 4px;box-shadow:0 24px 55px rgba(48,43,28,.16);transform:rotate(2deg);border:8px solid rgba(255,250,240,.85)}.vhome-hero__photo img,.vhome-hero__smallphoto img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s cubic-bezier(.2,.7,.2,1)}.vhome-hero__photo:hover img{transform:scale(1.055)}.vhome-photo-label{position:absolute;bottom:17px;left:17px;background:var(--vh-paper);padding:10px 13px;color:var(--vh-green);font-size:9px;letter-spacing:1.5px;font-weight:700}.vhome-hero__smallphoto{position:absolute;width:32%;height:178px;left:0;bottom:12px;border:7px solid var(--vh-cream);box-shadow:0 15px 35px #2a35252b;transform:rotate(-7deg);overflow:hidden}.vhome-seal{position:absolute;right:1%;top:7%;width:122px;height:122px;border-radius:50%;background:var(--vh-rust);color:#FFF7E8;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;box-shadow:0 10px 25px #65351f30;transform:rotate(9deg);border:1px dashed #f6dfb3;outline:5px solid var(--vh-rust)}.vhome-seal span{font-size:18px;font-weight:700}.vhome-seal b{font-size:9px;line-height:1.35;letter-spacing:1px;margin:3px 0}.vhome-seal i{font-size:12px;color:#f4d69b}.vhome-hero__scribble{position:absolute;right:4%;bottom:2%;font-family:'Cormorant Garamond',serif;font-size:25px;font-style:italic;color:var(--vh-rust);transform:rotate(-8deg)}.vhome-hero__bottom{max-width:1320px;margin:12px auto 0;padding-top:15px;border-top:1px solid var(--vh-line);display:flex;justify-content:space-between;color:var(--vh-muted);font-size:9px;font-weight:700;letter-spacing:1.8px}.vhome-hero__bottom i{margin-inline-start:9px;color:var(--vh-rust)}

.vhome-btn--dark{background:#F2B83F;color:#142817!important;margin-top:23px}.vhome-btn--dark:hover{background:#FFF7E8}
/* reveal */
.vhome-hero__copy,.vhome-hero__visual{animation:vhome-rise .8s both}.vhome-hero__visual{animation-delay:.15s}@keyframes vhome-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
/* Dark theme — aligned with the shared Virundhu Spot site palette */
html[data-theme="dark"] .vhome-hero{background:#101B12;--vh-cream:#101B12;--vh-paper:#1B2B1D;--vh-ink:#FFF0D2;--vh-green:#F7D77C;--vh-green2:#28552B;--vh-rust:#F2B83F;--vh-gold:#C49435;--vh-muted:#D0C4A9;--vh-line:rgba(242,184,63,.30)}
html[data-theme="dark"] .vhome-hero h1{color:#FFF0D2}
html[data-theme="dark"] .vhome-hero h1 em{color:#F2B83F}
html[data-theme="dark"] .vhome-hero__lead{color:#D0C4A9}
html[data-theme="dark"] .vhome-textlink,html[data-theme="dark"] .vhome-hero__note b{color:#FFF0D2}

html[data-theme="dark"] .vhome-hero__photo{border-color:#1B2B1D}
html[data-theme="dark"] .vhome-hero__smallphoto{border-color:#101B12}
html[data-theme="dark"] .vhome-hero__bottom{color:#D0C4A9}
html[data-theme="dark"] .vhome-btn--dark{background:#F2B83F;color:#071B0B!important}
html[data-theme="dark"] .vhome-btn--dark:hover{background:#F7D77C}
/* RTL */
html[dir="rtl"] .vhome-hero__inner{direction:rtl}html[dir="rtl"] .vhome-hero__smallphoto{left:auto;right:0}html[dir="rtl"] .vhome-seal{right:auto;left:1%}html[dir="rtl"] .vhome-hero__scribble{right:auto;left:4%}
@media(max-width:900px){.vhome-hero{padding-top:55px}.vhome-hero__inner{grid-template-columns:1fr 1fr;gap:3%}.vhome-hero__visual{min-height:420px}.vhome-hero__photo{height:380px;width:82%}.vhome-hero__smallphoto{height:140px}.vhome-seal{width:100px;height:100px}}
@media(max-width:620px){.vhome-hero{padding:43px 20px 20px}.vhome-hero__inner{display:flex;flex-direction:column;align-items:stretch;gap:26px}.vhome-hero__copy{order:1}.vhome-hero h1{font-size:68px}.vhome-hero__lead{font-size:15px;line-height:1.75;margin:19px 0}.vhome-hero__note{margin-top:25px}.vhome-hero__visual{order:2;min-height:340px;margin:0 2px}.vhome-hero__photo{height:315px;width:78%;margin-inline-start:auto}.vhome-hero__smallphoto{height:120px;width:34%;bottom:4px}.vhome-seal{width:86px;height:86px;right:0;top:0}.vhome-seal b{font-size:8px}.vhome-hero__scribble{font-size:18px;bottom:0}.vhome-hero__bottom{font-size:8px;letter-spacing:1px}}
@media(max-width:380px){.vhome-hero h1{font-size:58px}}
@media(prefers-reduced-motion:reduce){.vhome-hero__copy,.vhome-hero__visual{animation:none!important}.vhome-btn{transition:none!important}}

/* ===== Hero inspired by the user's full-width food-collage reference ===== */
.vhome-hero--collage{min-height:570px;height:min(670px,calc(100vh - 105px));padding:0 24px 42px;background:#FFF0D2;display:flex;align-items:center;isolation:isolate}
.vhero-paper{position:absolute;inset:0;z-index:-2;background:radial-gradient(ellipse at 50% 48%,#fffdf6 0%,#fff8e9 47%,#f7e7c2 100%)}
.vhero-paper:after{content:"";position:absolute;inset:0;opacity:.15;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}
.vhome-hero--collage .vhome-hero__inner--center{width:100%;max-width:1050px;min-height:0;display:flex;justify-content:center;align-items:center;position:relative;z-index:2;text-align:center}
.vhome-hero__copy--center{max-width:850px;margin:0 auto;padding:34px 20px 25px}
.vhome-hero--collage .vhome-kicker{justify-content:center;color:#28552B;margin-bottom:20px;font-size:10px;letter-spacing:2.5px}
.vhome-hero--collage .vhome-kicker>span{width:34px;height:2px;background:#C49435}
.vhome-hero--collage h1{font-size:clamp(64px,8.2vw,112px);line-height:.83;letter-spacing:-2.5px;color:#142817;text-shadow:0 2px 0 #fff9ed}
.vhome-hero--collage h1 em{color:#A84C2C;font-style:normal}
.vhome-hero--collage .vhome-hero__lead{max-width:540px;margin:24px auto 21px;color:#5f5039;font-size:16px;line-height:1.65}
.vhome-hero--collage .vhome-actions{justify-content:center;gap:22px}
.vhome-hero--collage .vhome-btn--solid{background:#142817;color:#FFF0D2!important;box-shadow:0 8px 18px #14281724}
.vhome-hero--collage .vhome-btn--solid:hover{background:#28552B}
.vhero-food{position:absolute;z-index:1;overflow:hidden;box-shadow:0 12px 30px #3b2b1725;border:5px solid rgba(255,248,231,.88)}
.vhero-food img{width:100%;height:100%;object-fit:cover;display:block}
.vhero-food--left-top{left:-42px;top:-45px;width:210px;height:245px;border-radius:0 0 48% 0;transform:rotate(-8deg)}
.vhero-food--left-mid{left:5.5%;top:36%;width:145px;height:145px;border-radius:50%;transform:rotate(8deg)}
.vhero-food--left-bottom{left:-24px;bottom:-85px;width:255px;height:220px;border-radius:0 55% 0 0;transform:rotate(7deg)}
.vhero-food--right-top{right:-35px;top:-60px;width:240px;height:255px;border-radius:0 0 0 55%;transform:rotate(7deg)}
.vhero-food--right-mid{right:4.8%;top:38%;width:150px;height:150px;border-radius:50%;transform:rotate(-8deg)}
.vhero-food--right-bottom{right:-35px;bottom:-82px;width:270px;height:235px;border-radius:55% 0 0 0;transform:rotate(-6deg)}
.vhero-slide-dots{position:absolute;z-index:3;bottom:46px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:9px}
.vhero-slide-dots span{width:9px;height:9px;border-radius:50%;background:#c9bda4;display:block}.vhero-slide-dots span.is-active{width:30px;border-radius:20px;background:#28552B}
.vhome-hero--collage .vhome-hero__bottom{position:absolute;bottom:0;left:0;right:0;max-width:none;margin:0;padding:12px max(5.5vw,24px);border-color:#c4943555;color:#6a5a41;background:#fff8e8b8}
html[data-theme="dark"] .vhome-hero--collage{background:#101B12}
html[data-theme="dark"] .vhero-paper{background:radial-gradient(ellipse at 50% 48%,#1d3020 0%,#142519 50%,#0c190f 100%)}
html[data-theme="dark"] .vhome-hero--collage h1{color:#FFF0D2;text-shadow:none}
html[data-theme="dark"] .vhome-hero--collage h1 em{color:#F2B83F}
html[data-theme="dark"] .vhome-hero--collage .vhome-kicker{color:#F2B83F}
html[data-theme="dark"] .vhome-hero--collage .vhome-hero__lead{color:#E3D5B8}
html[data-theme="dark"] .vhome-hero--collage .vhome-textlink{color:#FFF0D2}
html[data-theme="dark"] .vhome-hero--collage .vhome-hero__bottom{background:#101b12e8;color:#D0C4A9;border-color:#c4943555}
html[data-theme="dark"] .vhero-food{border-color:#203624}
html[data-theme="dark"] .vhero-slide-dots span{background:#69765f}
html[data-theme="dark"] .vhero-slide-dots span.is-active{background:#F2B83F}
html[dir="rtl"] .vhome-hero--collage .vhome-hero__inner--center{direction:rtl}
@media(max-width:900px){.vhome-hero--collage{height:570px;min-height:540px}.vhero-food--left-mid{left:2%;width:115px;height:115px}.vhero-food--right-mid{right:2%;width:120px;height:120px}.vhero-food--left-top,.vhero-food--right-top{width:175px;height:205px}.vhero-food--left-bottom,.vhero-food--right-bottom{width:200px;height:180px}}
@media(max-width:620px){.vhome-hero--collage{height:auto;min-height:650px;padding:85px 15px 76px;align-items:center}.vhome-hero__copy--center{padding:30px 5px}.vhome-hero--collage h1{font-size:clamp(53px,13vw,76px);line-height:.88;letter-spacing:-1.5px}.vhome-hero--collage .vhome-kicker{font-size:8px;letter-spacing:1.2px;gap:7px}.vhome-hero--collage .vhome-kicker>span{width:17px}.vhome-hero--collage .vhome-hero__lead{font-size:14px;max-width:290px;margin:19px auto}.vhome-hero--collage .vhome-actions{gap:13px}.vhome-hero--collage .vhome-btn{padding:13px 15px;font-size:11px}.vhome-hero--collage .vhome-textlink{font-size:11px}.vhero-food--left-top{left:-55px;top:-55px;width:135px;height:155px}.vhero-food--right-top{right:-55px;top:-55px;width:145px;height:160px}.vhero-food--left-mid{left:-35px;top:42%;width:85px;height:85px}.vhero-food--right-mid{right:-34px;top:44%;width:90px;height:90px}.vhero-food--left-bottom{left:-60px;bottom:-55px;width:155px;height:140px}.vhero-food--right-bottom{right:-60px;bottom:-55px;width:160px;height:145px}.vhero-slide-dots{bottom:49px}.vhome-hero--collage .vhome-hero__bottom{padding:10px 14px;font-size:7px;letter-spacing:.7px}.vhome-hero--collage .vhome-hero__bottom span:last-child{display:none}}
@media(max-width:380px){.vhome-hero--collage{min-height:610px}.vhome-hero--collage h1{font-size:51px}.vhome-hero--collage .vhome-actions{flex-direction:column;gap:8px}}


/* ===== HOME 1 SECTION STYLES (home1-sections.css) ===== */
/* ===== Virundhu Spot · Home 1 sections (02 to 08) =====
   Hero lives in home1-redesign.css and is not touched here. */
.vs{position:relative;padding-block:clamp(64px,9vw,120px);overflow:hidden}
.vs-w{width:min(100% - 2*var(--pad),var(--wrap));margin-inline:auto}
.vs-eyebrow{display:inline-flex;align-items:center;gap:12px;margin:0 0 18px;font:600 13px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.vs-eyebrow::before,.vs-eyebrow::after{content:"";width:34px;height:1px;background:currentColor;opacity:.7}
.vs-eyebrow--left::after{display:none}
.vs-title{margin:0 0 20px;font:700 clamp(34px,4.6vw,60px)/1.06 var(--font-head);color:var(--ink);letter-spacing:-.01em}
.vs-title em{font-style:italic;font-weight:600;color:var(--chilli)}
[data-theme="dark"] .vs-title em{color:var(--gold)}
.vs-lead{margin:0;font-size:clamp(16px,1.25vw,18px);line-height:1.8;color:var(--muted)}
.vs-btn{display:inline-flex;align-items:center;gap:12px;padding:15px 28px;border-radius:999px;background:var(--btn-bg);color:var(--btn-fg);font:600 15px/1 var(--font-body);text-decoration:none;border:1px solid transparent;transition:transform .25s ease,box-shadow .25s ease}
.vs-btn:hover{transform:translateY(-3px);box-shadow:var(--shadow)}
.vs-btn i{transition:transform .25s ease}
.vs-btn:hover i{transform:translateX(4px)}
[dir="rtl"] .vs-btn i{transform:scaleX(-1)}
[dir="rtl"] .vs-btn:hover i{transform:scaleX(-1) translateX(4px)}

/* reveal */
.vs-js .vs-rv{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.vs-js .vs-rv.is-in{opacity:1;transform:none}

/* ---------- 02 WELCOME (thali orbit) ---------- */
.vs-wel{background:var(--bg)}
.vs-wel::before{content:"";position:absolute;inset-block:0;inset-inline-end:-10%;width:60%;background:radial-gradient(closest-side,var(--shade-strong),transparent 72%);pointer-events:none}
.vs-wel__grid{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}
.vs-chk{display:grid;grid-template-columns:1fr 1fr;gap:14px 28px;margin:30px 0 36px;padding:0;list-style:none}
.vs-chk li{display:flex;align-items:center;gap:12px;font:600 17px/1.3 var(--font-body);color:var(--ink)}
.vs-chk i{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--btn-bg);color:var(--gold);font-size:12px}
.vs-wel__act{display:flex;align-items:center;flex-wrap:wrap;gap:20px 30px}
.vs-sign{font:italic 600 26px/1 var(--font-head);color:var(--gold-text)}
.vs-sign small{display:block;margin-top:6px;font:500 12px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}

.vs-orb{--size:min(560px,100vw - 2*var(--pad));--r:calc(var(--size)*.42);--s:calc(var(--size)*.23);position:relative;width:var(--size);aspect-ratio:1;margin-inline:auto}
.vs-orb__ring{position:absolute;border-radius:50%;pointer-events:none}
.vs-orb__ring--1{inset:4%;border:2px dashed var(--brass);opacity:.7;animation:vsSpin 70s linear infinite reverse}
.vs-orb__ring--2{inset:20%;border:1px solid var(--line);box-shadow:0 0 0 14px var(--shade),0 0 0 15px var(--line)}
.vs-orb__plate{position:absolute;inset:27%;border-radius:50%;overflow:hidden;border:10px solid var(--surface);box-shadow:0 0 0 2px var(--brass),var(--shadow);background:var(--shade-strong)}
.vs-orb__plate img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}
.vs-orb:hover .vs-orb__plate img{transform:scale(1.1) rotate(4deg)}
.vs-orb__spin{position:absolute;inset:0;animation:vsSpin 48s linear infinite}
.vs-orb__it{position:absolute;inset-block-start:50%;inset-inline-start:50%;width:var(--s);height:var(--s);margin:calc(var(--s)/-2);transform:rotate(var(--a)) translateY(calc(var(--r)*-1)) rotate(calc(var(--a)*-1))}
.vs-orb__pic{position:relative;width:100%;height:100%;margin:0;animation:vsSpin 48s linear infinite reverse}
.vs-orb__pic img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;border:6px solid var(--surface);box-shadow:0 0 0 2px var(--brass),0 12px 26px rgba(7,27,11,.3)}
.vs-orb__pic figcaption{position:absolute;inset-inline:50%;inset-block-end:-12px;translate:-50% 0;width:max-content;padding:6px 14px;border-radius:999px;background:var(--deep);color:var(--gold-soft);border:1px solid rgba(242,184,63,.55);font:600 12px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase}
[dir="rtl"] .vs-orb__pic figcaption{translate:50% 0}
.vs-orb:hover .vs-orb__spin,.vs-orb:hover .vs-orb__pic,.vs-orb:hover .vs-orb__ring--1{animation-play-state:paused}
.vs-orb__badge{position:absolute;inset-block-start:70%;inset-inline-start:50%;translate:-50% 0;display:flex;align-items:center;gap:10px;padding:12px 20px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 14px/1 var(--font-body);white-space:nowrap;box-shadow:0 10px 24px rgba(7,27,11,.35);border:3px solid var(--surface)}
[dir="rtl"] .vs-orb__badge{translate:50% 0}
@keyframes vsSpin{to{transform:rotate(360deg)}}
@keyframes vsSpin2{to{transform:rotate(360deg)}}

/* ---------- 03 BREAKFAST SPECIALS ---------- */
.vs-bf{background:#0B2410;color:#FFF4DD;--bf-card:#12301A}
.vs-bf::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 50% 0,rgba(242,184,63,.14),transparent 70%);pointer-events:none}
.vs-bf .vs-eyebrow{color:var(--gold-soft)}
.vs-bf .vs-title{color:#FFF4DD}
.vs-bf .vs-title em{color:var(--gold)}
.vs-bf .vs-lead{color:rgba(255,244,221,.8)}
.vs-bf__head{max-width:720px;margin:0 auto clamp(36px,5vw,64px);text-align:center;position:relative}
.vs-bf__grid{position:relative;display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.2vw,30px);margin:0;padding:0;list-style:none}
.vs-card{display:flex;flex-direction:column;border-radius:22px;background:var(--bf-card);border:1px solid rgba(242,184,63,.28);overflow:hidden;transition:transform .4s cubic-bezier(.2,.7,.2,1),border-color .3s,box-shadow .4s}
.vs-card:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 22px 44px rgba(0,0,0,.45)}
.vs-card__img{position:relative;aspect-ratio:4/3;overflow:hidden}
.vs-card__img img{display:block;width:100%;height:100%;object-fit:cover;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.vs-card:hover .vs-card__img img{transform:scale(1.09)}
.vs-card__img::after{content:"";position:absolute;inset:auto 0 0;height:45%;background:linear-gradient(transparent,rgba(11,36,16,.75))}
.vs-card__no{position:absolute;z-index:1;inset-block-start:14px;inset-inline-start:14px;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:rgba(11,36,16,.78);border:1px solid var(--gold);font:700 16px var(--font-head);color:var(--gold-soft)}
.vs-card__tag{position:absolute;z-index:1;inset-block-start:14px;inset-inline-end:14px;padding:6px 12px;border-radius:999px;background:var(--gold);color:var(--deep);font:700 11px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase}
.vs-card__body{display:flex;flex-direction:column;flex:1;padding:22px 24px 24px}
.vs-card__top{display:flex;align-items:baseline;justify-content:space-between;gap:14px}
.vs-card h3{margin:0;font:700 clamp(23px,2vw,28px)/1.15 var(--font-head);color:#FFF4DD}
.vs-card__price{flex:none;font:700 20px var(--font-head);color:var(--gold)}
.vs-card p{margin:10px 0 0;font-size:15px;line-height:1.65;color:rgba(255,244,221,.78)}
.vs-card__meta{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:16px;font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold-soft)}
.vs-veg{width:16px;height:16px;border:2px solid #6fcf75;border-radius:3px;display:grid;place-items:center}
.vs-veg::after{content:"";width:7px;height:7px;border-radius:50%;background:#6fcf75}
.vs-bf__foot{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px 36px;margin-top:clamp(36px,5vw,60px);padding:22px 28px;border:1px solid rgba(242,184,63,.35);border-radius:999px}
.vs-bf__foot ul{display:flex;flex-wrap:wrap;gap:12px 32px;margin:0;padding:0;list-style:none;font-size:14px;letter-spacing:.06em;color:rgba(255,244,221,.88)}
.vs-bf__foot li i{margin-inline-end:9px;color:var(--gold)}
.vs-bf .vs-btn{background:var(--gold);color:var(--deep)}

@media (max-width:980px){
  .vs-wel__grid{grid-template-columns:1fr}
  .vs-wel__copy{text-align:center}
  .vs-wel .vs-eyebrow{justify-content:center}
  .vs-chk{max-width:460px;margin-inline:auto}
  .vs-wel__act{justify-content:center}
  .vs-orb{--size:min(480px,100vw - 2*var(--pad))}
  .vs-bf__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .vs-bf__grid{grid-template-columns:1fr}
  .vs-bf__foot{border-radius:28px;justify-content:center;text-align:center}
  .vs-bf__foot ul{justify-content:center}
  .vs-wel .vs-eyebrow{font-size:12px;letter-spacing:.1em}
  .vs-wel .vs-eyebrow::before,.vs-wel .vs-eyebrow::after{display:none}
  .vs-chk{grid-template-columns:1fr;text-align:start}
  .vs-orb{--s:calc(var(--size)*.25)}
  .vs-orb__pic figcaption{font-size:10px;padding:5px 10px}
  .vs-orb__badge{font-size:12px;padding:10px 14px}
}
@media (prefers-reduced-motion:reduce){
  .vs-orb__spin,.vs-orb__pic,.vs-orb__ring--1{animation:none}
  .vs *{transition-duration:.01ms!important}
}
.vs-wel .vs-title em{white-space:nowrap}
@media (max-width:980px){.vs-wel::before{inset-inline:0;width:auto;background:radial-gradient(closest-side at 50% 80%,var(--shade-strong),transparent 70%)}}

@keyframes vsFlip{0%{transform:rotateX(90deg);opacity:0}60%{transform:rotateX(-12deg);opacity:1}100%{transform:none}}
@keyframes vsBlink{50%{opacity:.35}}
@keyframes vsFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- 04 MEAL TIMES (kitchen-clock dial: arcs for each meal, a live pin, the photo in the middle) ---------- */
.vs-hr{font-variant-numeric:lining-nums;font-feature-settings:"lnum" 1;--card:#FFFBF0;--slab:#0E2412;--price:#9C4A2F;padding-block:clamp(48px,6vw,92px);background:var(--bg)}
[data-theme="dark"] .vs-hr{--card:#17271A;--slab:#071B0B;--price:var(--gold-soft)}
.vs-hr__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"head head" "dial tabs" "dial card";grid-template-rows:auto auto 1fr;column-gap:clamp(28px,5vw,80px);row-gap:18px;align-items:start}
.vs-hr__head{grid-area:head;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px clamp(24px,5vw,72px);margin-block-end:clamp(6px,1.6vw,20px)}
.vs-hr__head .vs-title{margin:0}
.vs-hr__side{max-width:520px}
.vs-hr__side .vs-lead{margin:0 0 12px}
.vs-hr__all{display:inline-flex;align-items:center;gap:9px;margin:0;padding:8px 16px;border:1px dashed var(--brass);border-radius:999px;font-size:14.5px;color:var(--muted)}
.vs-hr__all i{color:var(--gold-text)}

/* the dial */
.vs-hr__dial{grid-area:dial;align-self:center;position:relative;width:min(100%,600px);aspect-ratio:1;justify-self:center}
.vs-hr__svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.vs-hr__track{fill:none;stroke:rgba(196,148,53,.14);stroke-width:32;stroke-linecap:round}
.vs-hr__arc{cursor:pointer}
.vs-hr__arc path{fill:none;stroke-linecap:round}
.vs-hr__arc .base{stroke:rgba(196,148,53,.5);stroke-width:22;transition:stroke .35s ease,stroke-width .35s ease}
.vs-hr__arc .fill{stroke:#2FA84F;stroke-width:22;stroke-dasharray:0 100;opacity:0;transition:stroke-dasharray .8s ease}
.vs-hr__arc .sel{stroke:var(--gold);stroke-width:3;stroke-dasharray:1 7;opacity:0;transition:opacity .35s ease}
.vs-hr__arc:hover .base{stroke:var(--brass)}
.vs-hr__arc[data-state="gone"] .base{stroke:rgba(196,148,53,.28)}
.vs-hr__arc[data-state="gone"] .fill{stroke:rgba(196,148,53,.45);opacity:1}
.vs-hr__arc[data-state="next"] .base{stroke:var(--gold)}
.vs-hr__arc[data-state="now"] .base{stroke:rgba(47,168,79,.3)}
.vs-hr__arc[data-state="now"] .fill{opacity:1}
.vs-hr__arc.is-sel .base,.vs-hr__arc.is-sel:hover .base,.vs-hr__arc.is-sel[data-state] .base{stroke:var(--slab);stroke-width:28}
.vs-hr__arc.is-sel .fill{stroke:#4FCB6B;stroke-width:28}
.vs-hr__arc.is-sel[data-state="gone"] .fill{stroke:rgba(247,215,124,.35)}
.vs-hr__arc.is-sel .sel{opacity:1}
.tk{stroke:var(--brass);stroke-width:2;stroke-linecap:round}
.tl{font:600 14px var(--font-body);fill:var(--muted);letter-spacing:.04em}
.vs-hr__mk{transform-box:view-box;transform-origin:280px 280px;transform:rotate(var(--r));transition:transform 1.2s cubic-bezier(.3,.8,.2,1);pointer-events:none}
.vs-hr__mk .mk1{fill:var(--card);stroke:var(--price);stroke-width:5;filter:drop-shadow(0 4px 6px rgba(0,0,0,.3))}
.vs-hr__mk .mk2{fill:var(--price)}
.vs-hr__disc{position:absolute;inset:15.5%;border-radius:50%}
.vs-hr__spin{position:absolute;inset:-4.5%;border:2px dashed var(--brass);border-radius:50%;opacity:.8;animation:vsHrSpin 60s linear infinite}
.vs-hr__slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .6s ease,visibility 0s linear .6s}
.vs-hr__slide.is-on{opacity:1;visibility:visible;transition-delay:0s}
.vs-hr__photo{position:absolute;inset:0;overflow:hidden;border-radius:50%;border:6px solid #FFF7E4;background:#0B2410;box-shadow:0 0 0 2px var(--brass),0 28px 50px rgba(7,27,11,.35)}
.vs-hr__photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.15) rotate(-4deg);transition:transform 1.6s cubic-bezier(.2,.7,.2,1)}
.vs-hr__slide.is-on .vs-hr__photo img{transform:none}
.vs-hr__stamp{position:absolute;inset-block-end:8%;inset-inline-end:8%;display:grid;place-content:center;width:clamp(78px,22%,100px);aspect-ratio:1;border-radius:50%;background:var(--gold);color:#071B0B;text-align:center;transform:rotate(-10deg) scale(.5);opacity:0;transition:transform .6s cubic-bezier(.3,1.5,.5,1),opacity .4s ease;box-shadow:0 0 0 4px var(--card),0 0 0 6px var(--gold),0 14px 26px rgba(0,0,0,.35)}
.vs-hr__slide.is-on .vs-hr__stamp{transform:rotate(-10deg);opacity:1;transition-delay:.25s}
.vs-hr__stamp small{font:600 11px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.vs-hr__stamp b{font:700 clamp(24px,2.3vw,30px)/1.05 var(--font-head)}
.vs-hr__now{position:absolute;inset-block-start:100%;margin-block-start:3.5%;inset-inline-start:50%;transform:translateX(-50%);display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--slab);border:1.5px solid var(--gold);color:#FFF4DD;font:600 13.5px/1 var(--font-body);white-space:nowrap;box-shadow:0 10px 22px rgba(0,0,0,.35)}
.vs-hr__now i{color:var(--gold)}
[dir="rtl"] .vs-hr__now{transform:translateX(50%)}

/* hour tabs */
.vs-hr__tabs{grid-area:tabs;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.vs-hr__tab{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-areas:"no tx" "no st";align-items:center;gap:2px 14px;padding:12px 18px 12px 14px;border:1.5px solid var(--line);border-radius:22px;background:var(--card);color:var(--text);text-align:start;font:inherit;cursor:pointer;transition:background .35s ease,border-color .35s ease,transform .35s cubic-bezier(.2,.7,.2,1),box-shadow .35s ease}
.vs-hr__tab:hover{transform:translateY(-2px);border-color:var(--brass)}
.vs-hr__tab:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.vs-hr__no{grid-area:no;display:grid;place-items:center;width:46px;height:46px;border:1.5px solid var(--brass);border-radius:50%;font:700 19px/1 var(--font-head);color:var(--gold-text);transition:background .35s ease,color .35s ease}
.vs-hr__tx{grid-area:tx;display:flex;flex-direction:column;min-width:0}
.vs-hr__name{font:700 clamp(23px,2vw,28px)/1.05 var(--font-head);color:var(--ink)}
.vs-hr__time{font:500 13.5px/1.3 var(--font-body);color:var(--muted)}
.vs-hr__status{grid-area:st;display:inline-flex;align-items:center;gap:8px;margin-block-start:3px;font:600 12.5px/1.2 var(--font-body);color:var(--muted)}
.vs-hr__led{flex:none;width:9px;height:9px;border-radius:50%;background:#8a8872}
.vs-hr__tab[data-state="now"] .vs-hr__led{background:#1E8A3C;box-shadow:0 0 0 3px rgba(30,138,60,.28);animation:vsHrPulse 1.6s ease-in-out infinite}
.vs-hr__tab[data-state="next"] .vs-hr__led{background:var(--gold);box-shadow:0 0 0 3px rgba(242,184,63,.3)}
@keyframes vsHrPulse{50%{opacity:.4}}
.vs-hr__tab[aria-selected="true"]{background:var(--slab);border-color:var(--gold);color:#FFF4DD;box-shadow:var(--shadow)}
.vs-hr__tab[aria-selected="true"] .vs-hr__no{background:var(--gold);border-color:var(--gold);color:#071B0B}
.vs-hr__tab[aria-selected="true"] .vs-hr__name{color:#FFF4DD}
.vs-hr__tab[aria-selected="true"] .vs-hr__time,.vs-hr__tab[aria-selected="true"] .vs-hr__status{color:rgba(255,244,221,.82)}

/* ticket card */
.vs-hr__card{grid-area:card;position:relative}
.vs-hr__panel{position:relative;padding:clamp(22px,2.6vw,34px) clamp(22px,2.8vw,38px);border:2px solid var(--brass);border-radius:30px;background:var(--card);box-shadow:var(--shadow)}
.vs-hr__panel[hidden]{display:none}
.vs-hr__panel>*{animation:vsHrUp .55s cubic-bezier(.2,.7,.2,1) both}
.vs-hr__panel>:nth-child(2){animation-delay:.05s}.vs-hr__panel>:nth-child(3){animation-delay:.1s}.vs-hr__panel>:nth-child(4){animation-delay:.15s}
.vs-hr__top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin-block-end:6px}
.vs-hr__title{margin:0;font:700 clamp(38px,4vw,56px)/1 var(--font-head);letter-spacing:-.01em;color:var(--ink)}
.vs-hr__kick{display:inline-flex;align-items:center;gap:9px;margin:0;padding:7px 14px;border-radius:999px;background:rgba(242,184,63,.28);font:600 13.5px/1 var(--font-body);color:var(--gold-text)}
[data-theme="dark"] .vs-hr__kick{color:var(--gold-soft)}
.vs-hr__desc{margin:0 0 14px;font-size:clamp(16px,1.25vw,18px);line-height:1.6;color:var(--muted)}
.vs-hr__menu{margin:0 0 20px;padding:0;list-style:none}
.vs-hr__menu li{display:flex;align-items:baseline;gap:10px;padding:10px 0;border-block-start:1px solid var(--line);font:500 clamp(16px,1.3vw,18px)/1.3 var(--font-body);color:var(--text)}
.vs-hr__menu li i{flex:1;min-width:12px;border-bottom:2px dotted var(--brass);translate:0 -4px}
.vs-hr__menu li b{font:700 clamp(22px,1.9vw,27px) var(--font-head);color:var(--price)}
.vs-hr__foot{position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 22px;padding-block-start:20px;border-block-start:2px dashed var(--brass)}
.vs-hr__foot::before,.vs-hr__foot::after{content:"";position:absolute;inset-block-start:-13px;width:24px;height:24px;border-radius:50%;background:var(--bg);border:2px solid var(--brass)}
.vs-hr__foot::before{inset-inline-start:calc(-1 * clamp(22px,2.8vw,38px) - 14px);clip-path:inset(0 0 0 50%)}
.vs-hr__foot::after{inset-inline-end:calc(-1 * clamp(22px,2.8vw,38px) - 14px);clip-path:inset(0 50% 0 0)}
.vs-hr__live{flex:1 1 190px;min-width:0}
.vs-hr__cap{display:block;font:500 14.5px/1.3 var(--font-body);color:var(--muted)}
.vs-hr__bar{display:none;height:7px;margin-block-start:9px;border-radius:99px;background:rgba(196,148,53,.25);overflow:hidden}
.vs-hr__bar i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,var(--gold),#2FB04F);transition:width .8s ease}
.vs-hr__panel[data-state="now"] .vs-hr__bar{display:block}
.vs-hr__panel[data-state="now"] .vs-hr__cap{color:#1E7A38;font-weight:600}
[data-theme="dark"] .vs-hr__panel[data-state="now"] .vs-hr__cap{color:#7DF08F}
.vs-hr .vs-btn{padding:15px 26px}
.vs-hr .vs-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.vs-hr .vs-btn:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
[dir="rtl"] .vs-hr .vs-btn i{transform:scaleX(-1)}
@keyframes vsHrUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes vsHrSpin{to{transform:rotate(360deg)}}

@media (max-width:1020px){
  .vs-hr__grid{grid-template-columns:1fr;grid-template-areas:"head" "dial" "tabs" "card";grid-template-rows:none}
  .vs-hr__dial{width:min(100%,480px);margin-block:6px 4px}
}
@media (max-width:560px){
  .vs-hr__tabs{grid-template-columns:1fr}
  .tl{font-size:21px}
  .vs-hr__now{font-size:12.5px;padding:8px 13px;margin-block-start:15.5%}
  .vs-hr__dial{margin-block-end:34px}
  .vs-hr__foot .vs-btn{width:100%;justify-content:center}
  .vs-hr__foot::before,.vs-hr__foot::after{display:none}
}
@media (prefers-reduced-motion:reduce){
  .vs-hr__tab,.vs-hr__arc path,.vs-hr__mk,.vs-hr__slide,.vs-hr__photo img,.vs-hr__stamp,.vs-hr__bar i{transition:none}
  .vs-hr__spin,.vs-hr__led,.vs-hr__panel>*{animation:none!important}
}

/* ---------- 05 COMBO MEALS (round plate cards on deep green) ---------- */
.vs-cp{padding-block:clamp(44px,5vw,72px);background:#0B2410 radial-gradient(rgba(242,184,63,.11) 1.5px,transparent 2px) 0 0/24px 24px;color:#FFF4DD}
[data-theme="dark"] .vs-cp{background-color:#071B0B}
.vs-cp .vs-eyebrow{color:var(--gold-soft)}
.vs-cp .vs-title{margin:0;color:#FFF4DD}
.vs-cp .vs-title em{color:var(--gold)}
.vs-cp__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:18px 48px;margin-block-end:clamp(24px,3vw,38px)}
.vs-cp__side{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.vs-cp__side .vs-lead{margin:0;color:rgba(255,244,221,.85)}
.vs-cp .vs-btn{background:var(--gold);color:#071B0B}
.vs-cp .vs-btn:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px}
.vs-cp__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,26px);margin:0;padding:0;list-style:none}
.vs-cp__grid>li{display:flex}
.vs-cp__card{display:grid;grid-template-columns:clamp(130px,13vw,176px) minmax(0,1fr);gap:clamp(16px,2vw,26px);width:100%;padding:clamp(16px,1.8vw,24px);border:2px solid var(--brass);border-radius:28px;background:#FFF7E4;color:#142817;box-shadow:0 18px 36px rgba(0,0,0,.35);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.vs-cp__card:hover{transform:translateY(-5px)}
.vs-cp__ph{align-self:center;position:relative;width:100%;aspect-ratio:1;margin:0;overflow:hidden;border-radius:50%;border:5px solid #FFF7E4;box-shadow:0 0 0 2px var(--brass),0 14px 26px rgba(7,27,11,.3);background:#0B2410}
.vs-cp__ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.7,.2,1)}
.vs-cp__card:hover .vs-cp__ph img{transform:scale(1.08)}
.vs-cp__body{display:flex;flex-direction:column;min-width:0}
.vs-cp__pick{align-self:flex-start;display:inline-flex;align-items:center;gap:7px;margin-block-end:8px;padding:5px 12px;border-radius:999px;background:var(--gold);color:#071B0B;font:600 12.5px/1 var(--font-body)}
.vs-cp__body h3{margin:0 0 4px;font:700 clamp(28px,2.5vw,36px)/1.05 var(--font-head);color:#142817}
.vs-cp__desc{margin:0 0 12px;font-size:15px;line-height:1.55;color:#625744}
.vs-cp__items{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 14px;padding:0;list-style:none}
.vs-cp__items li{display:inline-flex;align-items:center;padding:6px 12px;border:1px solid rgba(23,66,31,.22);border-radius:999px;background:rgba(23,66,31,.08);font:500 14px/1.2 var(--font-body);color:#142817}
.vs-cp__items li::before{content:"\2713";margin-inline-end:7px;font-weight:700;color:#1E7A38}
.vs-cp__items .vs-cp__inc{border-style:dashed;border-color:var(--brass);background:rgba(242,184,63,.2)}
.vs-cp__items .vs-cp__inc::before{content:"+";color:#765018}
.vs-cp__inc b{margin-inline-start:7px;font-weight:600;color:#9C4A2F}
.vs-cp__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-block-start:auto;padding-block-start:12px;border-block-start:1px dashed rgba(196,148,53,.7)}
.vs-cp__price{font:700 clamp(32px,2.8vw,40px)/1 var(--font-head);color:#9C4A2F}
.vs-cp__card .vs-btn{padding:12px 22px;font-size:14.5px;background:#17421F;color:#FFF0D2}
.vs-cp__card .vs-btn:focus-visible{outline-color:#17421F}
[dir="rtl"] .vs-cp .vs-btn i,[dir="rtl"] .vs-hr .vs-btn i{transform:scaleX(-1)}
@media (max-width:980px){
  .vs-cp__grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  .vs-cp__card{grid-template-columns:1fr;text-align:start}
  .vs-cp__ph{width:112px;justify-self:center}
  .vs-cp__foot .vs-btn{flex:1;justify-content:center}
  .vs-cp__side .vs-btn{width:100%;justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .vs-cp__card,.vs-cp__ph img{transition:none}
  .vs-cp__card:hover,.vs-cp__card:hover .vs-cp__ph img{transform:none}
}


/* ---------- 06 HOW WE MAKE IT (4 steps + sticky photo) ---------- */

/* ---------- 07 GUEST WORDS (testimonials + rating strip) ---------- */
.vs-gw{background:var(--surface)}
.vs-gw__head{text-align:center;max-width:720px;margin-inline:auto}
.vs-gw__head .vs-eyebrow{justify-content:center}
.vs-gw__strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:12px clamp(18px,3vw,36px);width:fit-content;max-width:100%;margin:6px auto clamp(34px,5vw,56px);padding:16px clamp(20px,3vw,36px);border:1px solid var(--line);border-radius:999px;background:var(--bg)}
.vs-gw__score{display:flex;align-items:baseline;gap:8px}
.vs-gw__score b{font:700 clamp(40px,5vw,54px)/1 var(--font-head);color:var(--ink)}
.vs-gw__score span{font:600 13px/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.vs-gw__stars{display:flex;gap:4px;margin:0;color:var(--gold);font-size:15px}
.vs-gw__stars--lg{font-size:22px}
.vs-gw__count{margin:0;font-size:15px;color:var(--muted)}
.vs-gw__count b{color:var(--ink)}
.vs-gw__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2.4vw,30px);margin:0;padding:0;list-style:none}
.vs-gw__card{display:flex}
.vs-gw__card figure{position:relative;display:flex;flex-direction:column;width:100%;margin:0;padding:clamp(26px,3vw,38px) clamp(22px,2.6vw,34px) clamp(22px,2.6vw,30px);background:var(--bg);border:1px solid var(--line);border-radius:10px;transition:transform .3s ease,box-shadow .3s ease}
.vs-gw__card figure:hover{transform:translateY(-6px);box-shadow:var(--shadow)}
.vs-gw__q{position:absolute;inset-block-start:-20px;inset-inline-start:26px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--gold);color:var(--deep);font-size:16px;box-shadow:0 8px 18px rgba(7,27,11,.25)}
.vs-gw__card .vs-gw__stars{margin-block-end:14px}
.vs-gw__card blockquote{margin:0 0 24px;flex:1}
.vs-gw__card blockquote p{margin:0;font:italic 500 clamp(20px,1.7vw,23px)/1.45 var(--font-head);color:var(--ink)}
.vs-gw__card figcaption{display:flex;align-items:center;gap:14px;padding-block-start:18px;border-block-start:1px solid var(--line)}
.vs-gw__av{flex:none;display:block;width:46px;height:46px;border-radius:50%;object-fit:cover;object-position:center;background:var(--btn-bg);border:2px solid var(--gold);box-shadow:0 0 0 3px rgba(242,184,63,.16)}
.vs-gw__card figcaption b{display:block;font:700 16px/1.2 var(--font-body);color:var(--ink)}
.vs-gw__card figcaption small{display:block;margin-top:3px;font-size:13px;color:var(--muted)}

/* ---------- 08 VISIT US CTA ---------- */
.vs-vc{background:var(--bg);padding-block:clamp(48px,7vw,96px)}
.vs-vc__card{position:relative;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,5vw,72px);align-items:center;padding:clamp(30px,6vw,84px) clamp(22px,5vw,72px);border-radius:14px;overflow:hidden;color:#FFF4DD;background:linear-gradient(100deg,rgba(7,27,11,.96) 30%,rgba(7,27,11,.72)),#0B2410 url("../images/uthappam.jpg") center/cover;outline:2px solid var(--brass);outline-offset:-12px;box-shadow:var(--shadow)}
.vs-vc .vs-eyebrow{color:var(--gold-soft)}
.vs-vc .vs-title{color:#FFF4DD}
.vs-vc .vs-title em{color:var(--gold)}
.vs-vc .vs-lead{color:rgba(255,244,221,.82);max-width:520px}
.vs-vc__btns{display:flex;flex-wrap:wrap;gap:14px;margin-block-start:30px}
.vs-btn--gold{background:var(--gold);color:var(--deep)}
.vs-btn--ghost{background:transparent;color:#FFF4DD;border-color:rgba(247,215,124,.65)}
.vs-btn--ghost:hover{background:rgba(247,215,124,.14)}
.vs-vc .vs-btn:focus-visible{outline:3px solid var(--gold-soft);outline-offset:3px}
.vs-vc__info{margin:0;padding:0;list-style:none;display:grid;gap:14px}
.vs-vc__info li{display:flex;align-items:center;gap:16px;padding:16px 20px;border:1px solid rgba(247,215,124,.35);border-radius:10px;background:rgba(255,244,221,.07);backdrop-filter:blur(4px)}
.vs-vc__ico{flex:none;display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:var(--gold);color:var(--deep);font-size:18px}
.vs-vc__info div{min-width:0}
.vs-vc__info small{display:block;font:600 11.5px/1 var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-soft)}
.vs-vc__info b{display:block;margin-top:6px;font:700 clamp(19px,1.8vw,23px)/1.2 var(--font-head);color:#FFF4DD;overflow-wrap:anywhere}
.vs-vc__info a{color:inherit;text-decoration:none}
.vs-vc__info a:hover{text-decoration:underline}

/* ===== HOME 1 / 06: How we make it (expanding photo slats) ===== */
.vs-hs{background:#071B0B;color:#FFF4DD}
.vs-hs::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:radial-gradient(circle,var(--gold) 1.6px,transparent 2.2px) 0 50%/14px 9px repeat-x;opacity:.85}
.vs-hs::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 45% at 90% 0%,rgba(242,184,63,.15),transparent 70%),radial-gradient(45% 40% at 0% 100%,rgba(156,74,47,.25),transparent 70%)}
.vs-hs .vs-w{position:relative;z-index:1}
.vs-hs__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(18px,5vw,72px);align-items:end;margin-block-end:clamp(30px,5vw,54px)}
.vs-hs .vs-eyebrow{color:var(--gold-soft)}
.vs-hs .vs-title{margin:0;color:#FFF4DD}
.vs-hs .vs-title em{color:var(--gold)}
.vs-hs .vs-lead{color:#D9CDB0;max-width:46ch}
.vs-hs__row{display:flex;gap:12px;height:clamp(500px,68vh,660px)}
.vs-hs__slat{position:relative;flex:1 1 0;min-width:0;overflow:hidden;border-radius:20px;background:#0E2A17;isolation:isolate;transition:flex-grow .85s cubic-bezier(.65,0,.25,1)}
.vs-hs.is-ready .vs-hs__slat.is-open{flex-grow:4.6}
.vs-hs__slat>img{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;filter:brightness(.5) saturate(.8);transform:scale(1.1);transition:filter .85s ease,transform 1.4s cubic-bezier(.2,.7,.2,1)}
.vs-hs__slat.is-open>img{filter:none;transform:scale(1)}
.vs-hs__slat::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(7,27,11,.96) 0%,rgba(7,27,11,.82) 32%,rgba(7,27,11,.4) 56%,rgba(7,27,11,.06) 75%,rgba(7,27,11,.4) 100%)}
.vs-hs__btn{position:absolute;inset:0;z-index:2;display:block;width:100%;padding:0;background:none;border:0;color:inherit;font:inherit;text-align:start;cursor:pointer}
.vs-hs__btn:focus-visible{outline:3px solid var(--gold);outline-offset:-6px;border-radius:20px}
.vs-hs__num{position:absolute;inset-block-start:16px;inset-inline-start:22px;font:700 clamp(48px,4.6vw,66px)/1 var(--font-head);color:transparent;-webkit-text-stroke:1.4px var(--gold-soft);transition:font-size .7s cubic-bezier(.65,0,.25,1)}
.vs-hs__slat.is-open .vs-hs__num{font-size:clamp(88px,9.5vw,140px)}
.vs-hs__vt{position:absolute;left:50%;inset-block-end:26px;writing-mode:vertical-rl;transform:translateX(-50%) rotate(180deg);font:700 clamp(28px,2.7vw,38px)/1 var(--font-head);color:#FFF4DD;letter-spacing:.02em;white-space:nowrap;transition:opacity .3s ease}
.vs-hs__slat.is-open .vs-hs__vt{opacity:0}
.vs-hs__plus{position:absolute;inset-block-start:22px;inset-inline-end:16px;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;border:1.5px solid var(--gold-soft);color:var(--gold-soft);font-size:13px;transition:opacity .3s ease,background .3s ease,color .3s ease}
.vs-hs__btn:hover .vs-hs__plus{background:var(--gold);color:#071B0B}
.vs-hs__slat.is-open .vs-hs__plus{opacity:0}
.vs-hs__body{position:absolute;inset-block-end:0;inset-inline-start:0;z-index:3;width:clamp(300px,46vw,640px);padding:clamp(24px,3vw,42px);pointer-events:none;display:flex;flex-direction:column;align-items:flex-start}
.vs-hs__when{display:inline-flex;align-items:center;gap:9px;margin-block-end:14px;padding:8px 14px;border-radius:999px;background:rgba(7,27,11,.6);border:1px solid rgba(247,215,124,.55);font:600 14px/1 var(--font-body);color:var(--gold-soft)}
.vs-hs__body h3{margin:0 0 12px;font:700 clamp(46px,5.4vw,80px)/.95 var(--font-head);color:#FFF4DD;letter-spacing:-.015em}
.vs-hs__body p{margin:0 0 20px;max-width:44ch;font-size:clamp(16px,1.3vw,18px);line-height:1.7;color:#EADFC5}
.vs-hs__chip{display:inline-flex;align-items:center;gap:10px;padding:11px 17px;border-radius:999px;background:var(--gold);color:#071B0B;font:700 14px/1 var(--font-body);font-style:normal}
.vs-hs__row2{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.vs-hs__go{pointer-events:auto;display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 20px;border-radius:999px;border:1.5px solid var(--gold-soft);color:#FFF4DD;font:600 15px/1 var(--font-body);text-decoration:none;transition:background .25s ease,color .25s ease}
.vs-hs__go:hover{background:#FFF4DD;color:#071B0B}
.vs-hs__go:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.vs-hs__go i{transition:transform .25s ease}.vs-hs__go:hover i{transform:translateX(4px)}
.vs-hs.is-ready .vs-hs__body{opacity:0;visibility:hidden;transform:translateY(18px);transition:opacity .25s ease,transform .25s ease,visibility 0s .25s}
.vs-hs.is-ready .vs-hs__slat.is-open .vs-hs__body{opacity:1;visibility:visible;transform:none;transition:opacity .6s ease .4s,transform .7s cubic-bezier(.2,.7,.2,1) .4s,visibility 0s .4s}
.vs-hs__foot{display:flex;align-items:center;gap:clamp(16px,3vw,32px);margin-block-start:clamp(22px,3vw,34px)}
.vs-hs__rail{flex:1;height:3px;border-radius:3px;background:rgba(247,215,124,.22);overflow:hidden}
.vs-hs__rail i{display:block;height:100%;background:var(--gold);transform:scaleX(var(--p,.25));transform-origin:left;transition:transform .85s cubic-bezier(.65,0,.25,1)}
[dir="rtl"] .vs-hs__rail i{transform-origin:right}
.vs-hs__foot p{margin:0;font:500 15px/1.4 var(--font-body);color:var(--gold-soft)}
/* without JS: four photo cards with the text always visible */
.vs-hs:not(.is-ready) .vs-hs__row{flex-wrap:wrap;height:auto}
.vs-hs:not(.is-ready) .vs-hs__slat{flex:1 1 260px;min-height:440px}
.vs-hs:not(.is-ready) .vs-hs__btn{display:none}
.vs-hs:not(.is-ready) .vs-hs__slat>img{filter:brightness(.8);transform:none}
.vs-hs:not(.is-ready) .vs-hs__body{width:100%}
.vs-hs:not(.is-ready) .vs-hs__body h3{font-size:44px}
.vs-hs:not(.is-ready) .vs-hs__foot{display:none}
@media (max-width:900px){
  .vs-hs__head{grid-template-columns:1fr}
}
@media (max-width:820px){
  .vs-hs__row{flex-direction:column;height:auto;gap:10px}
  .vs-hs.is-ready .vs-hs__slat{flex:none;height:92px;transition:height .75s cubic-bezier(.65,0,.25,1)}
  .vs-hs.is-ready .vs-hs__slat.is-open{height:min(520px,calc(100vw + 150px))}
  .vs-hs__num{inset-block-start:50%;translate:0 -50%;font-size:46px}
  .vs-hs__slat.is-open .vs-hs__num{inset-block-start:14px;translate:0 0;font-size:84px}
  .vs-hs__vt{left:auto;inset-inline-start:84px;inset-block-end:auto;inset-block-start:50%;writing-mode:horizontal-tb;transform:translateY(-50%)}
  .vs-hs__plus{inset-block-start:50%;translate:0 -50%}
  .vs-hs__body{width:100%;padding:22px 20px}
  .vs-hs__body h3{font-size:clamp(44px,12vw,60px)}
  .vs-hs__chip,.vs-hs__go{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  .vs-hs__slat,.vs-hs__slat>img,.vs-hs__num,.vs-hs__rail i,.vs-hs.is-ready .vs-hs__body,.vs-hs.is-ready .vs-hs__slat.is-open .vs-hs__body{transition-duration:.01s;transition-delay:0s}
}

/* ---------- 06 to 08 responsive ---------- */
@media (max-width:980px){
  .vs-gw__grid{grid-template-columns:repeat(2,1fr);row-gap:34px}
  .vs-gw__card:last-child{grid-column:1/-1;max-width:560px;margin-inline:auto;width:100%}
  .vs-vc__card{grid-template-columns:1fr}
  .vs-vc__info{grid-template-columns:repeat(3,1fr)}
  .vs-vc__info li{flex-direction:column;align-items:flex-start;text-align:start}
}
@media (max-width:760px){
  .vs-vc__info{grid-template-columns:1fr}
  .vs-vc__info li{flex-direction:row;align-items:center}
}
@media (max-width:640px){
  .vs-gw__grid{grid-template-columns:1fr}
  .vs-gw__card:last-child{max-width:none}
  .vs-gw__strip{border-radius:22px;flex-direction:column;gap:8px;padding:18px 22px;text-align:center}
  .vs-vc__card{outline-offset:-8px;padding-inline:20px}
  .vs-vc__btns{flex-direction:column}
  .vs-vc__btns .vs-btn{width:100%;justify-content:center}
}
@media (max-width:360px){
  .vs-vc__info li{padding:14px;gap:12px}
  .vs-vc__ico{width:40px;height:40px}
}
@media (prefers-reduced-motion:reduce){
}


/* ===== HOME 2 PREMIUM STYLES (home2-premium.css) ===== */
/* Home 2 premium sections 02-08 (hero untouched) */
.hx{--hxd:#071B0B;--hxg:#F2B83F;position:relative;overflow:hidden;padding:clamp(64px,9vw,120px) 0}
.hx-w{width:min(var(--wrap),100% - var(--pad)*2);margin-inline:auto}
.hx-k{display:inline-flex;align-items:center;gap:12px;font:600 .78rem/1 var(--font-body);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-text)}
.hx-k::before{content:"";width:38px;height:2px;background:var(--brass)}
.hx h2{margin:14px 0 0;font:700 clamp(2.3rem,5.2vw,4.4rem)/1 var(--font-head);color:var(--ink)}
.hx h2 em{font-style:italic;font-weight:500;color:var(--chilli)}
.hx-dark{background:var(--hxd);color:#FFF4DD}.hx-dark h2{color:#FFF4DD}.hx-dark h2 em{color:var(--hxg)}.hx-dark .hx-k{color:var(--gold-soft)}
.hx-lead{max-width:56ch;color:var(--muted);margin:18px 0 0}.hx-dark .hx-lead{color:#E9DDBE}
/* reveal */
.h2-js .hx [data-hx]{opacity:0;transform:translateY(40px);transition:opacity .9s cubic-bezier(.2,.7,.2,1),transform .9s cubic-bezier(.2,.7,.2,1);transition-delay:var(--d,0s)}
.h2-js .hx [data-hx].h2-in{opacity:1;transform:none}
/* 02 marquee + stats */
.hx-mq{padding:0;background:var(--hxd);border-block:3px solid var(--hxg)}
.hx-mq__t{display:flex;width:max-content;animation:hxm 38s linear infinite}
.hx-mq:hover .hx-mq__t{animation-play-state:paused}
.hx-mq span{padding:22px 34px;font:italic 600 clamp(1.4rem,3vw,2.2rem)/1 var(--font-head);color:var(--gold-soft);white-space:nowrap}
.hx-mq span::after{content:"✳";margin-left:68px;color:var(--chilli);font-style:normal}
@keyframes hxm{to{transform:translateX(-50%)}}
/* 03 accordion */
.hx-acc{display:flex;gap:14px;height:min(68vh,560px);margin-top:48px}
.hx-p{position:relative;flex:1;border-radius:26px;overflow:hidden;background:#000 center/cover;cursor:pointer;transition:flex .8s cubic-bezier(.2,.7,.2,1);outline-offset:4px}
.hx-p::before{content:"";position:absolute;inset:0;background:var(--i) center/cover;transition:transform 1.2s}
.hx-p::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,27,11,.92),rgba(7,27,11,.05) 62%)}
.hx-p.on{flex:4.2}.hx-p.on::before{transform:scale(1.08)}
.hx-p__c{position:absolute;z-index:2;inset:auto 26px 26px;color:#FFF4DD}
.hx-p__c small{color:var(--gold-soft);letter-spacing:.2em;font-size:.72rem}
.hx-p__c h3{margin:6px 0 0;font:700 clamp(1.4rem,2.4vw,2.2rem)/1.05 var(--font-head)}
.hx-p__c p{margin:10px 0 0;max-width:34ch;max-height:0;opacity:0;overflow:hidden;transition:.6s}
.hx-p.on .hx-p__c p{max-height:120px;opacity:1}
.hx-p:not(.on) h3{writing-mode:vertical-rl;transform:rotate(180deg)}
/* 04 process (dark) */
.hx-proc{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,6vw,90px);align-items:start}
.hx-sticky{position:sticky;top:110px;aspect-ratio:4/5;border-radius:240px 240px 26px 26px;overflow:hidden;border:2px solid var(--hxg);box-shadow:0 30px 70px rgba(0,0,0,.5)}
.hx-sticky img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.15);transition:opacity .9s,transform 1.6s}
.hx-sticky img.on{opacity:1;transform:none}
.hx-steps{display:grid;gap:22px;margin-top:34px}
.hx-step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:26px;border:1px solid rgba(242,184,63,.28);border-radius:22px;background:rgba(255,255,255,.04);transition:.5s;opacity:.55}
.hx-step.on{opacity:1;background:rgba(242,184,63,.1);border-color:var(--hxg);transform:translateX(10px)}
.hx-step b{font:italic 700 2.6rem/1 var(--font-head);color:var(--hxg)}
.hx-step h3{margin:0 0 6px;font:700 1.6rem/1.1 var(--font-head)}.hx-step p{margin:0;color:#E9DDBE}
/* 06 why cards */
.hx-why{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:48px}
.hx-c{position:relative;padding:34px 26px 30px;border-radius:24px;background:var(--surface);border:1px solid var(--line);overflow:hidden;transition:transform .5s,box-shadow .5s}
.hx-c::before{content:"";position:absolute;inset:auto -30% -60% -30%;height:80%;background:radial-gradient(closest-side,rgba(242,184,63,.4),transparent);opacity:0;transition:.6s}
.hx-c:hover{transform:translateY(-12px);box-shadow:var(--shadow)}.hx-c:hover::before{opacity:1}
.hx-c i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:var(--btn-bg);color:var(--gold);font-size:1.3rem;margin-bottom:20px;transition:transform .7s}
.hx-c:hover i{transform:rotateY(360deg)}
.hx-c h3{margin:0 0 8px;font:700 1.5rem/1.1 var(--font-head);color:var(--ink)}.hx-c p{margin:0;color:var(--muted);font-size:.95rem}
/* 07 quotes */
.hx-q{position:relative;margin-top:44px;min-height:260px}
.hx-qi{position:absolute;inset:0;display:grid;grid-template-columns:90px 1fr;gap:28px;align-items:center;opacity:0;transform:translateY(30px);transition:.9s;pointer-events:none}
.hx-qi.on{opacity:1;transform:none;pointer-events:auto}
.hx-qi img{width:90px;height:90px;border-radius:50%;object-fit:cover;border:3px solid var(--hxg)}
.hx-qi blockquote{margin:0;font:italic 500 clamp(1.4rem,3vw,2.4rem)/1.25 var(--font-head)}
.hx-qi cite{display:block;margin-top:14px;font:600 .85rem var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-soft)}
.hx-dots{display:flex;gap:10px;margin-top:20px}.hx-dots button{width:34px;height:4px;border:0;border-radius:4px;background:rgba(255,244,221,.3);cursor:pointer;padding:0;transition:.4s}.hx-dots button.on{background:var(--hxg);width:60px}
/* 08 visit */
.hx-visit{display:grid;grid-template-columns:1.1fr 1fr;border-radius:34px;overflow:hidden;background:var(--hxd);color:#FFF4DD;border:2px solid var(--hxg)}
.hx-visit__img{min-height:420px;background:var(--i) center/cover;transform-origin:center}
.hx-visit__b{padding:clamp(28px,5vw,64px)}
.hx-visit h2{color:#FFF4DD}.hx-visit h2 em{color:var(--hxg)}
.hx-hours{display:grid;gap:10px;margin:24px 0 30px;padding:0;list-style:none}
.hx-hours li{display:flex;justify-content:space-between;gap:14px;padding-bottom:10px;border-bottom:1px dashed rgba(242,184,63,.4)}
.hx-hours b{color:var(--gold-soft);font-weight:600}
.hx-btns{display:flex;flex-wrap:wrap;gap:14px}.hx-btns .btn--ghost{color:#FFF4DD}
@media(max-width:991px){.hx-intro,.hx-proc,.hx-visit{grid-template-columns:1fr}.hx-why{grid-template-columns:1fr 1fr}.hx-sticky{position:relative;top:0;max-width:440px;margin-inline:auto}.hx-visit__img{min-height:260px}}
@media(max-width:640px){.hx-acc{flex-direction:column;height:auto}.hx-p{flex:none;height:92px}.hx-p.on{height:340px}.hx-p:not(.on) h3{writing-mode:initial;transform:none}.hx-why{grid-template-columns:1fr}.hx-qi{grid-template-columns:1fr;gap:14px}.hx-q{min-height:380px}.hx-stats{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){.hx *{animation:none!important;transition:none!important}.hx [data-hx]{opacity:1!important;transform:none!important}}

/* 05 Today's tiffin timeline: stacking day cards */
.hx-tt{padding-block:clamp(80px,10vw,140px)}
.tt-head{display:flex;justify-content:space-between;align-items:flex-end;gap:30px;flex-wrap:wrap;margin-bottom:clamp(40px,6vw,72px)}
.tt-live{display:inline-flex;align-items:center;gap:16px;padding:16px 28px 16px 22px;border-radius:99px;border:1px solid var(--line);background:var(--surface)}
.tt-live i{position:relative;width:14px;height:14px;border-radius:50%;background:#2fb344;flex:none}
.tt-live i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid #2fb344;animation:ttP 2s ease-out infinite}
@keyframes ttP{from{transform:scale(.6);opacity:1}to{transform:scale(1.6);opacity:0}}
.tt-live span{display:block;font:600 .74rem var(--font-body);letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text)}
.tt-live small{display:block;font:700 1.6rem/1.1 var(--font-head);color:var(--ink)}
.tt-list{position:relative}
.tt-c{--bg:#0B2A12;--fg:#FFF4DD;--ac:#F2B83F;--mut:#E9DDBE;--ln:rgba(255,244,221,.22);position:sticky;top:calc(var(--h) + 28px + var(--i)*30px);margin-bottom:clamp(28px,5vw,56px)}
.tt-c:nth-child(2){--bg:#8B3F26;--ac:#FFD27A}
.tt-c:nth-child(3){--bg:#F2B83F;--fg:#0B2A12;--ac:#8B3F26;--mut:#3b3012;--ln:rgba(11,42,18,.28)}
.tt-c:nth-child(4){--bg:#17421F}
.tt-c__in{display:grid;grid-template-columns:1fr 1.05fr;min-height:540px;border-radius:36px;overflow:hidden;background:var(--bg);color:var(--fg);box-shadow:0 30px 70px rgba(7,27,11,.3);transform-origin:50% 0;transform:scale(var(--s,1));filter:brightness(var(--b,1));will-change:transform}
.tt-c:nth-child(even) .tt-media{order:2}
.tt-media{position:relative;overflow:hidden;min-height:340px}
.tt-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.6s var(--ease)}
.tt-c:hover .tt-media img{transform:scale(1.07)}
.tt-media::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(7,27,11,.8),transparent 58%)}
.tt-no{position:absolute;z-index:2;top:24px;left:24px;padding:8px 16px;border-radius:99px;background:rgba(7,27,11,.6);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:#FFF4DD;font:600 .76rem var(--font-body);letter-spacing:.18em}
.tt-time{position:absolute;z-index:2;left:28px;bottom:16px;display:flex;align-items:baseline;gap:10px;font:italic 700 clamp(5rem,10vw,9rem)/.85 var(--font-head);color:#FFF4DD;text-shadow:0 6px 40px rgba(0,0,0,.5)}
.tt-time small{font:600 1.1rem var(--font-body);font-style:normal;letter-spacing:.2em}
.tt-info{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(28px,4vw,56px)}
.tt-tag{display:inline-flex;align-items:center;gap:10px;padding:9px 18px;border-radius:99px;border:1px solid var(--ac);color:var(--ac);font:600 .76rem var(--font-body);letter-spacing:.16em;text-transform:uppercase}
.tt-now{display:none;position:absolute;top:clamp(28px,4vw,56px);right:clamp(28px,4vw,56px);align-items:center;gap:8px;padding:8px 14px;border-radius:99px;background:#7CE08A;color:#05260f;font:700 .72rem var(--font-body);letter-spacing:.12em;text-transform:uppercase}
.tt-now i{width:8px;height:8px;border-radius:50%;background:#05260f;animation:ttB 1.4s ease-in-out infinite}
@keyframes ttB{50%{opacity:.25}}
.tt-c.live .tt-now{display:inline-flex}
.tt-info h3{margin:20px 0 10px;font:700 clamp(2.1rem,3.8vw,3.4rem)/1 var(--font-head);color:var(--fg)}
.tt-info>p{margin:0;max-width:46ch;color:var(--mut)}
.tt-dishes{list-style:none;margin:26px 0 30px;padding:0;width:100%;display:grid;grid-template-columns:1fr 1fr;column-gap:30px}
.tt-dishes li{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:1px solid var(--ln);transition:transform .4s var(--ease)}
.tt-dishes li:hover{transform:translateX(8px)}
.tt-dishes b{font:italic 700 1.5rem/1 var(--font-head);color:var(--ac)}
.tt-dishes strong{display:block;font:600 1rem/1.25 var(--font-body)}
.tt-dishes em{display:block;font-style:normal;font-size:.82rem;color:var(--mut)}
.tt-btn{display:inline-flex;align-items:center;gap:10px;padding:15px 30px;border-radius:99px;background:var(--ac);color:var(--bg);font:600 1rem var(--font-body);text-decoration:none;transition:transform .3s var(--ease),box-shadow .3s}
.tt-btn:hover{transform:translateY(-3px);box-shadow:0 14px 30px rgba(0,0,0,.3)}.tt-btn i{transition:transform .3s}.tt-btn:hover i{transform:translateX(5px)}
@media(max-width:991px){.tt-c{position:relative;top:auto}.tt-c__in{grid-template-columns:1fr;min-height:0;transform:none!important;filter:none!important}.tt-c:nth-child(even) .tt-media{order:0}.tt-media{min-height:300px}.tt-now{top:auto;right:auto;position:static;margin-top:14px}}
@media(max-width:640px){.tt-dishes{grid-template-columns:1fr}.tt-time{font-size:4.6rem}.tt-live{padding:12px 20px 12px 16px}}

/* 02 The Virundhu Spot way: a dark walnut table with floating plated dishes */
.hx.wt{background:var(--bg);padding-block:clamp(48px,7vw,96px);overflow:visible}
.wt-table{--mx:62%;--my:40%;position:relative;display:grid;grid-template-columns:minmax(300px,4fr) 8fr;gap:clamp(18px,3vw,46px);align-items:center;padding:clamp(24px,3.4vw,50px) clamp(24px,3.4vw,50px) clamp(34px,4vw,56px);border-radius:30px;isolation:isolate;overflow:hidden;background:#24130a;
  box-shadow:0 44px 80px -30px rgba(30,12,2,.8),0 0 0 1px rgba(196,148,53,.5)}
.wt-wood{position:absolute;inset:0;z-index:-2;display:flex;flex-direction:column}
.wt-wood i{position:relative;flex:1;overflow:hidden;box-shadow:inset 0 2px 0 rgba(255,200,140,.1),inset 0 -3px 0 rgba(4,1,0,.8)}
.wt-wood i::before{content:"";position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='260'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0032 .38' numOctaves='4' stitchTiles='stitch' seed='7'/%3E%3CfeColorMatrix values='0 0 0 0 .02  0 0 0 0 .01  0 0 0 0 0  0 0 0 2.6 -.85'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='260'%3E%3Cfilter id='n' x='0' y='0' width='100%25' height='100%25'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.0032 .38' numOctaves='4' stitchTiles='stitch' seed='19'/%3E%3CfeColorMatrix values='0 0 0 0 .9  0 0 0 0 .55  0 0 0 0 .3  0 0 0 1.1 -.78'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(90deg,rgba(0,0,0,.28),transparent 30%,rgba(255,170,100,.07) 62%,rgba(0,0,0,.26))}
.wt-wood i::after{content:"";position:absolute;top:0;bottom:0;left:var(--j);width:3px;background:linear-gradient(90deg,rgba(4,1,0,.85),rgba(255,200,140,.08))}
.wt-wood i:nth-child(1){background:#3a2011}.wt-wood i:nth-child(2){background:#2e190d}.wt-wood i:nth-child(3){background:#41251a}.wt-wood i:nth-child(4){background:#321b0e}.wt-wood i:nth-child(5){background:#391f10}.wt-wood i:nth-child(6){background:#2b170b}
.wt-wood i:nth-child(even)::before{background-position:260px 40px,120px 90px,0 0}.wt-wood i:nth-child(3n)::before{background-position:520px 10px,60px 140px,0 0}
.wt-table::after{content:"";position:absolute;inset:0;z-index:8;border-radius:inherit;pointer-events:none;box-shadow:inset 0 0 0 7px #170b04,inset 0 0 0 8px rgba(247,215,124,.5),inset 0 0 120px rgba(0,0,0,.7)}
.wt-light{position:absolute;inset:0;z-index:7;pointer-events:none;background:radial-gradient(640px circle at var(--mx) var(--my),rgba(255,190,110,.34),transparent 64%);mix-blend-mode:soft-light}

/* heading straight on the wood */
.wt-text{position:relative;z-index:3;display:flex;flex-direction:column;color:#FFF4DD}
.wt-k{margin:0;display:inline-flex;align-items:center;gap:14px;font:italic 600 1.2rem/1 var(--font-head);color:var(--gold)}
.wt-k::before{content:"";width:40px;height:2px;background:var(--gold)}
.wt .wt-h{margin:16px 0 0;font:700 clamp(2.4rem,3.8vw,3.9rem)/.98 var(--font-head);letter-spacing:-.018em;color:#FFF4DD;text-shadow:0 3px 14px rgba(0,0,0,.6)}
.wt .wt-h em{display:block;font-style:italic;font-weight:500;color:var(--gold)}
.wt-lead{margin:18px 0 0;max-width:38ch;color:#E9DDBE;line-height:1.75;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.wt-cta{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:24px}
.wt-link{color:#FFF4DD;font-weight:600;text-decoration:none;border-bottom:2px solid var(--gold);padding-bottom:3px}.wt-link i{margin-inline-start:6px;font-size:.8em}
.wt-n{display:flex;gap:0;margin-top:34px;max-width:420px;border-top:1px solid rgba(242,184,63,.5)}
.wt-n>div{flex:1;padding:16px 14px 0 0}.wt-n>div+div{padding-left:16px;border-inline-start:1px solid rgba(242,184,63,.3)}
.wt-n b{display:block;font:700 clamp(1.9rem,2.7vw,2.6rem)/1 var(--font-head);color:var(--gold)}
.wt-n b::after{content:attr(data-s);font-size:.55em;margin-inline-start:3px}
.wt-n small{display:block;margin-top:5px;font:600 .78rem var(--font-body);letter-spacing:.04em;color:#E9DDBE}

/* field */
.wt-field{position:relative;z-index:2;aspect-ratio:100/84}
.wt-field::before{content:"";position:absolute;inset:-10% -8%;background:radial-gradient(closest-side,rgba(255,160,70,.2),transparent 75%);pointer-events:none}
.wt-napkin{position:absolute;z-index:1;left:82%;top:80%;width:17%;aspect-ratio:1.05;border-radius:3px;transform:rotate(7deg) translate(calc(var(--dx,0)*10px),0);background:linear-gradient(135deg,rgba(255,255,255,.35),transparent 40%),repeating-linear-gradient(90deg,rgba(0,0,0,.035) 0 2px,transparent 2px 5px),linear-gradient(135deg,#e9dfca,#c9b996);box-shadow:0 18px 22px rgba(0,0,0,.6),0 3px 4px rgba(0,0,0,.4)}
.wt-napkin::before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 48%,rgba(0,0,0,.14) 50%,rgba(255,255,255,.3) 52%,transparent 56%)}
.wt-cutlery{position:absolute;z-index:2;left:80%;top:88%;width:24%;transform:translate(calc(var(--dx,0)*12px),-50%) rotate(83deg);filter:drop-shadow(0 6px 5px rgba(0,0,0,.6))}
.wt-sprig{position:absolute;z-index:3;right:-3%;top:60%;width:7%;opacity:.9;filter:drop-shadow(0 5px 4px rgba(0,0,0,.55));transform:translate(calc(var(--dx,0)*16px),calc(var(--dy,0)*16px)) rotate(24deg)}

.wt-plate{position:absolute;z-index:3;left:var(--l);top:var(--t);width:var(--w);aspect-ratio:1;margin:0;outline:0;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.wt-plate:hover,.wt-plate:focus-visible{transform:translateY(-5px) scale(1.04);z-index:6}
.wt-pl{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle at 30% 24%,#34343a,#141417 58%,#060607);box-shadow:inset 0 2px 1px rgba(255,255,255,.14),0 0 0 2px #b88c35,0 0 0 3px rgba(255,226,150,.35),0 16px 20px rgba(0,0,0,.65),14px 28px 42px rgba(0,0,0,.5)}
.wt-pl::before{content:"";position:absolute;inset:5.5%;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(247,215,124,.45),inset 0 8px 12px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.1)}
.wt-plate--bowl .wt-pl{background:conic-gradient(from 210deg,#FBE29A,#C49435,#6f4f14,#F4D275,#B8892c,#6f4f14,#FBE29A);box-shadow:inset 0 2px 2px rgba(255,255,255,.5),0 0 0 1.5px #6f4f14,0 14px 18px rgba(0,0,0,.65),12px 24px 36px rgba(0,0,0,.5)}
.wt-plate--bowl .wt-pl::before{inset:9%;box-shadow:inset 0 0 0 1px rgba(60,40,8,.7),inset 0 6px 10px rgba(0,0,0,.6)}
.wt-food{position:absolute;inset:11%;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px rgba(0,0,0,.7)}
.wt-plate--bowl .wt-food{inset:15%}
.wt-food::after{content:"";position:absolute;inset:0;border-radius:50%;pointer-events:none;background:radial-gradient(circle at 26% 20%,rgba(255,255,255,.22),transparent 40%);box-shadow:inset 0 0 22px rgba(0,0,0,.55),inset 0 0 0 1px rgba(0,0,0,.5)}
.wt-food img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(var(--z,1));transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.wt-plate:hover .wt-food img,.wt-plate:focus-visible .wt-food img{transform:scale(calc(var(--z,1)*1.08))}

.wt-plate figcaption{position:absolute;left:50%;top:calc(100% + 10px);transform:translateX(-50%);z-index:4;display:flex;flex-direction:column;align-items:center;text-align:center;pointer-events:none}
.wt-cap{display:inline-flex;align-items:baseline;gap:7px;white-space:nowrap;font:600 .72rem/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;color:#FFF4DD;text-shadow:0 2px 6px #000,0 0 10px rgba(0,0,0,.8);transition:color .3s}
.wt-cap b{font:italic 700 .95rem/1 var(--font-head);letter-spacing:0;color:var(--gold)}
.wt-plate figcaption small{display:block;width:max-content;max-width:180px;max-height:0;opacity:0;overflow:hidden;margin-top:0;padding:0 12px;border-radius:10px;background:rgba(7,27,11,.92);box-shadow:0 0 0 1px rgba(242,184,63,.5);color:#F3E7C8;font:500 .78rem/1.4 var(--font-body);transition:max-height .4s,opacity .3s,margin .3s,padding .3s}
.wt-plate:hover figcaption small,.wt-plate:focus-visible figcaption small{max-height:70px;opacity:1;margin-top:8px;padding:8px 12px}
.wt-plate:hover .wt-cap,.wt-plate:focus-visible .wt-cap{color:var(--gold-soft)}
.wt-plate--lg .wt-cap{font-size:.86rem}.wt-plate--lg .wt-cap b{font-size:1.15rem}
.wt-plate--bowl .wt-cap{font-size:.62rem;letter-spacing:.1em}

.wt-steam{position:absolute;z-index:2;left:50%;top:14%;width:0;height:0;pointer-events:none}
.wt-steam::before,.wt-steam::after{content:"";position:absolute;left:-16px;bottom:0;width:30px;height:56px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,250,240,.55),transparent 70%);filter:blur(8px);opacity:0;animation:wtRise 3.6s ease-in infinite}
.wt-steam::after{left:4px;animation-delay:1.6s}
@keyframes wtRise{0%{transform:translateY(10px) scaleX(.8);opacity:0}25%{opacity:.8}100%{transform:translateY(-60px) scaleX(1.5);opacity:0}}

/* laid and served entrance */
.h2-js .wt-field .wt-plate{opacity:0;transform:translateY(-30px) scale(.86);transition:opacity .7s ease calc(var(--d) + .5s),transform .9s cubic-bezier(.2,.8,.2,1) calc(var(--d) + .5s)}
.h2-js .wt-field.h2-in .wt-plate{opacity:1;transform:none}
.h2-js .wt-field.h2-in .wt-plate:hover,.h2-js .wt-field.h2-in .wt-plate:focus-visible{transform:translateY(-5px) scale(1.04);transition-delay:0s}

@media(max-width:991px){
  .wt-table{grid-template-columns:1fr;gap:40px}
  .wt-lead{max-width:56ch}
}
@media(max-width:720px){
  .wt-table{border-radius:22px;padding:26px 16px 28px;box-shadow:0 30px 50px -26px rgba(30,12,2,.8),0 0 0 1px rgba(196,148,53,.5)}
  .wt-table::after{box-shadow:inset 0 0 0 5px #170b04,inset 0 0 0 6px rgba(247,215,124,.5),inset 0 0 80px rgba(0,0,0,.65)}
  .wt-field{aspect-ratio:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 14px;padding:40px 14px 50px}
  .wt-plate,.wt-plate--bowl{position:relative;left:auto;top:auto;width:100%;max-width:168px;justify-self:center;margin-bottom:26px}
  .wt-plate--lg{grid-column:1/3;max-width:250px}
  .wt-cutlery,.wt-sprig,.wt-napkin{display:none}
  .wt-plate figcaption small{display:none}
  .wt-n b{font-size:1.8rem}
}


/* ===== OUR STORY / HISTORY STYLES (our-history.css) ===== */
/* ===== Our Story page: Our History (magazine feature) ===== */
.hf{padding-block:clamp(48px,7vw,96px);background:var(--bg);scroll-margin-top:calc(var(--h) + 12px);overflow-x:clip}

/* 1. spread: photo cluster + story */
.hf__spread{display:grid;grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(32px,6vw,88px);align-items:center}
.hf__photos{position:relative;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);grid-template-rows:repeat(2,minmax(0,1fr));gap:clamp(12px,1.8vw,20px);padding:0 clamp(10px,1.6vw,18px) clamp(10px,1.6vw,18px) 0}
[dir=rtl] .hf__photos{padding:0 0 clamp(10px,1.6vw,18px) clamp(10px,1.6vw,18px)}
.hf__main{position:relative;grid-row:1/3;margin:0;min-height:clamp(360px,44vw,540px)}
.hf__main::before{content:"";position:absolute;inset:0;z-index:0;border:2px solid var(--brass);border-radius:999px 999px 20px 20px;transform:translate(clamp(10px,1.6vw,18px),clamp(10px,1.6vw,18px))}
[dir=rtl] .hf__main::before{transform:translate(calc(-1*clamp(10px,1.6vw,18px)),clamp(10px,1.6vw,18px))}
.hf__main img{position:absolute;inset:0;z-index:1;display:block;width:100%;height:100%;object-fit:cover;border-radius:999px 999px 20px 20px;background:linear-gradient(135deg,var(--gold-soft),var(--brass));box-shadow:var(--shadow)}
.hf__tag{position:absolute;z-index:2;bottom:18px;inset-inline-start:50%;transform:translateX(-50%);white-space:nowrap;padding:8px 18px;border-radius:999px;background:var(--deep);color:var(--gold);font-size:.85rem;font-weight:600}
[dir=rtl] .hf__tag{transform:translateX(50%)}
.hf__pol{position:relative;z-index:1;margin:0;overflow:hidden;border-radius:20px;box-shadow:var(--shadow);background:linear-gradient(135deg,var(--gold-soft),var(--brass))}
.hf__pol img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s}
.hf__pol::after{content:"";position:absolute;inset:auto 0 0 0;height:55%;background:linear-gradient(to top,rgba(7,27,11,.78),transparent);pointer-events:none}
.hf__pol figcaption{position:absolute;z-index:2;inset-inline:14px;bottom:12px;color:#FFF4DD;font:italic 600 1.1rem/1.2 var(--font-head)}
.hf__pol:hover img{transform:scale(1.07)}

.hf__txt .os-eyebrow{margin-bottom:12px}
.hf__txt h2{font-size:clamp(2.2rem,4.4vw,3.5rem);line-height:1.06}
.hf__txt p{margin:18px 0 0;max-width:54ch;color:var(--muted);font-size:1.05rem;line-height:1.8}
.hf__txt h2+p::first-letter{float:inline-start;margin:6px 12px 0 0;color:var(--gold-text);font:700 4.4rem/.78 var(--font-head)}
[dir=rtl] .hf__txt h2+p::first-letter{margin:6px 0 0 12px}
.hf__quote{margin:26px 0 0;padding-inline-start:20px;border-inline-start:3px solid var(--gold)}
.hf__quote blockquote{margin:0;color:var(--ink);font:600 clamp(1.4rem,2.4vw,1.85rem)/1.25 var(--font-head);font-style:italic}
.hf__quote p{margin:8px 0 0;font-size:.92rem}

/* 2. milestones */
.hf__ms{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.4vw,28px);margin:clamp(52px,7vw,92px) 0 0;padding:0;list-style:none}
.hf__ms::before{content:"";position:absolute;top:9px;inset-inline:0;height:2px;background:repeating-linear-gradient(90deg,var(--brass) 0 8px,transparent 8px 14px)}
.hf__ms li{position:relative;padding-top:38px}
.hf__ms li::before{content:"";position:absolute;top:0;inset-inline-start:0;width:20px;height:20px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 5px var(--bg),0 0 0 7px var(--brass)}
.hf__ph{position:relative;margin:0;overflow:hidden;border-radius:14px;aspect-ratio:4/3;background:linear-gradient(135deg,var(--gold-soft),var(--brass));box-shadow:var(--shadow)}
.hf__ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .9s}
.hf__ms li:hover .hf__ph img{transform:scale(1.07)}
.hf__ph b{position:absolute;inset-inline-start:10px;bottom:10px;padding:3px 14px;border-radius:10px;background:var(--deep);color:var(--gold);font:700 1.6rem/1.3 var(--font-head)}
.hf__ms h3{margin:16px 0 6px;color:var(--ink);font:700 1.55rem/1.15 var(--font-head)}
.hf__ms p{margin:0;color:var(--muted);font-size:.95rem;line-height:1.65}

/* 3. numbers */
.hf__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;align-items:center;gap:clamp(16px,2.4vw,32px);margin-top:clamp(40px,6vw,72px);padding:clamp(22px,3vw,34px) clamp(22px,3.4vw,44px);border:1px solid var(--brass);border-radius:24px;background:var(--deep);color:#FFF4DD;box-shadow:var(--shadow)}
.hf__stats div{padding-inline-start:clamp(14px,2vw,26px);border-inline-start:1px solid rgba(242,184,63,.4)}
.hf__stats div:first-child{padding-inline-start:0;border-inline-start:0}
.hf__stats strong{display:block;color:var(--gold);font:700 clamp(2.2rem,4vw,3.2rem)/1 var(--font-head)}
.hf__stats div>span{display:block;margin-top:4px;color:rgba(255,244,221,.82);font-size:.9rem}
.hf__stats .btn{white-space:nowrap}

@media(max-width:991px){
  .hf__spread{grid-template-columns:minmax(0,1fr)}
  .hf__photos{max-width:620px}
  .hf__ms{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:36px}
  .hf__ms::before{display:none}
  .hf__stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hf__stats div:nth-child(3){padding-inline-start:0;border-inline-start:0}
  .hf__stats .btn{grid-column:1/-1;justify-content:center}
}
@media(max-width:575px){
  .hf__ms{grid-template-columns:minmax(0,1fr)}
  .hf__txt h2+p::first-letter{font-size:3.6rem}
  .hf__pol figcaption{font-size:.95rem;inset-inline:10px;bottom:9px}
  .hf__main{min-height:320px}
  .hf__stats{padding:22px 20px}
}
@media(prefers-reduced-motion:reduce){.hf__pol img,.hf__ph img{transition:none}}


/* ===== CONTACT HERO STYLES (contact-hero.css) ===== */
/* ===== Contact page: hero (full-bleed photo + contact card) ===== */
.cth{position:relative;isolation:isolate;display:flex;align-items:center;min-height:clamp(520px,76vh,640px);padding:clamp(36px,5vw,64px) 0;background:var(--deep);color:#FFF4DD;overflow:hidden}
.cth__bg{position:absolute;inset:0;z-index:-2;width:100%;height:100%;object-fit:cover;object-position:60% 50%}
.cth::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#071B0B 0%,rgba(7,27,11,.93) 30%,rgba(7,27,11,.5) 62%,rgba(7,27,11,.12) 100%),linear-gradient(0deg,rgba(7,27,11,.75),transparent 35%)}
[dir=rtl] .cth::before{background:linear-gradient(270deg,#071B0B 0%,rgba(7,27,11,.93) 30%,rgba(7,27,11,.5) 62%,rgba(7,27,11,.12) 100%),linear-gradient(0deg,rgba(7,27,11,.75),transparent 35%)}
.cth__grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(28px,5vw,72px);align-items:center}

.cth__crumb{display:flex;align-items:center;gap:10px;margin:0 0 clamp(22px,3vw,34px);font-size:.86rem;color:rgba(255,244,221,.75)}
.cth__crumb a{color:var(--gold);text-decoration:none}
.cth__crumb i{font-size:.6rem}
.cth__eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--gold);font-size:.8rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}
.cth__eyebrow::before{content:"";width:34px;height:2px;background:var(--gold)}
.cth h1{margin:0;max-width:14ch;color:#FFF4DD;font:700 clamp(2.8rem,5.2vw,4.8rem)/1 var(--font-head);letter-spacing:-.01em}
.cth h1 em{display:block;margin-top:10px;color:var(--gold);font-style:italic}
.cth__lead{max-width:46ch;margin:22px 0 28px;color:rgba(255,244,221,.86);font-size:1.06rem;line-height:1.75}
.cth__cta{display:flex;flex-wrap:wrap;gap:12px}
.cth__cta .btn i{margin-inline-start:10px;font-size:.8em}
.cth__cta .btn--ghost{color:#FFF4DD;border-color:rgba(255,244,221,.7)}
.cth__cta .btn--ghost:hover{color:var(--deep);border-color:var(--gold)}
.cth__chips{display:flex;flex-wrap:wrap;gap:10px;margin:26px 0 0;padding:0;list-style:none}
.cth__chips li{display:inline-flex;align-items:center;gap:8px;padding:7px 14px;border:1px solid rgba(255,244,221,.3);border-radius:999px;background:rgba(255,244,221,.1);font-size:.86rem;font-weight:500;backdrop-filter:blur(4px)}
.cth__chips i{color:var(--gold);font-size:.75rem}

/* contact card on the photo */
.cth__card{justify-self:end;width:min(100%,440px);padding:clamp(20px,2.6vw,28px);border:1px solid rgba(242,184,63,.55);border-radius:22px;background:rgba(7,27,11,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.cth__card h2{margin:0 0 6px;color:#FFF4DD;font:700 1.7rem/1.15 var(--font-head)}
.cth__sub{margin:0 0 14px;color:rgba(255,244,221,.78);font-size:.92rem}
.cth__list{margin:0;padding:0;list-style:none}
.cth__list li+li{border-top:1px dashed rgba(242,184,63,.35)}
.cth__list a{display:flex;align-items:center;gap:14px;padding:13px 0;color:#FFF4DD;text-decoration:none}
.cth__ic{display:grid;place-items:center;flex:none;width:46px;height:46px;border-radius:14px;background:var(--gold);color:var(--deep);font-size:1.05rem;transition:transform .3s}
.cth__list a:hover .cth__ic{transform:rotate(-8deg) scale(1.06)}
.cth__list small{display:block;color:var(--gold-soft);font-size:.78rem}
.cth__list b{display:block;font-size:1rem;font-weight:600;overflow-wrap:anywhere}
.cth__go{margin-inline-start:auto;color:var(--gold);font-size:.85rem;transition:transform .25s}
.cth__list a:hover .cth__go{transform:translateX(4px)}
[dir=rtl] .cth__go{transform:scaleX(-1)}
.cth__open{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:11px 14px;border-radius:14px;background:rgba(242,184,63,.16);font-size:.9rem}
.cth__open i{color:var(--gold)}

/* one load sequence */
.cth__copy,.cth__card{animation:cthRise .8s cubic-bezier(.2,.7,.2,1) both}
.cth__card{animation-delay:.18s}
@keyframes cthRise{from{opacity:0;transform:translateY(24px)}}

@media(max-width:991px){
  .cth{min-height:0}
  .cth__grid{grid-template-columns:minmax(0,1fr)}
  .cth__card{justify-self:stretch;width:100%}
  .cth h1{max-width:16ch}
}
@media(max-width:575px){
  .cth__cta .btn{flex:1 1 100%}
  .cth::before{background:linear-gradient(180deg,rgba(7,27,11,.82),rgba(7,27,11,.94))}
}
@media(prefers-reduced-motion:reduce){.cth__copy,.cth__card{animation:none}.cth__ic,.cth__go{transition:none}}


/* ===== MENU: SWEETS & DRINKS — balanced feature panel ===== */
@media (min-width: 961px) {
  .sd-wrap {
    grid-template-columns: minmax(0, .86fr) minmax(0, 1.14fr);
    align-items: stretch;
  }
  .sd-stage {
    position: relative;
    top: auto;
    height: 100%;
    min-height: 0;
    padding: 20px 26px 18px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }
  .sd-art {
    width: min(100%, 220px);
    flex: 0 0 auto;
  }
  .sd-now {
    margin-top: 4px;
    padding-top: 12px;
    gap: 4px;
  }
  .sd-now__name {
    font-size: clamp(1.65rem, 2.3vw, 2rem);
  }
  .sd-now__foot {
    margin-top: 3px;
  }
}

/* HOME 2 IMAGE RESTORE: use real local image elements for reliable rendering */
.hx-p{background:#102315!important}
.hx-p::before{background:linear-gradient(135deg,rgba(7,27,11,.08),rgba(7,27,11,.18))!important;z-index:1}
.hx-p__img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;object-position:center;z-index:0;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s}
.hx-p.on .hx-p__img{transform:scale(1.07)}
.hx-p:not(.on) .hx-p__img{filter:brightness(.78) saturate(.9)}
.hx-p__c{z-index:3}
.hx-visit__img{position:relative;min-height:420px;overflow:hidden;background:#132b17}
.hx-visit__img img{display:block;width:100%;height:100%;min-height:420px;position:absolute;inset:0;object-fit:cover}
@media(max-width:991px){.hx-visit__img,.hx-visit__img img{min-height:260px}}
@media(max-width:640px){.hx-p__img{object-position:center}}

/* MENU polish: centered dish tags and comfortable Sweets & Drinks spacing */
.mm .mm-tag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 22px;
  padding: 2px 10px;
  line-height: 1;
  text-align: center;
  vertical-align: middle;
}
.sd-sub { margin-bottom: 20px; }
.sd-sub + .sd-list { margin-bottom: 38px; }
.sd-list > li { padding-bottom: 3px; }
.sd-item:hover,
.sd-item:focus-visible { z-index: 2; }
@media (max-width: 520px) {
  .mm .mm-tag { min-height: 21px; padding-inline: 8px; }
  .sd-sub { margin-bottom: 17px; }
  .sd-sub + .sd-list { margin-bottom: 30px; }
}

/* Contact page: keep the clock and heart icon badges clear in dark mode */
[data-theme="dark"] .ct-enquiry-note>span{
  background:#263d29;
  border:1px solid rgba(247,215,124,.58);
  color:#ffd36f;
  box-shadow:0 0 0 3px rgba(247,215,124,.08);
}
[data-theme="dark"] .ct-enquiry-note>span i{
  color:#ffd36f;
  opacity:1;
  -webkit-text-fill-color:#ffd36f;
}
[data-theme="dark"] .ct-enquiry-note>span svg{
  color:#ffd36f;
  fill:currentColor;
  opacity:1;
}

/* ===== HOME1 HERO v2: wooden table scene, dishes served one by one ===== */
.vhome-hero.vhero-table{--ease:cubic-bezier(.16,.84,.3,1);container-type:size;display:flex;align-items:center;height:min(700px,calc(100vh - 105px));min-height:560px;padding:0;background:#3b2012 url(../images/hero-table/table-empty.jpg) center/cover no-repeat;color:#FFF0D2}
.vhero-table .vh-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(90deg,rgba(16,8,3,.86) 0,rgba(16,8,3,.62) 32%,rgba(16,8,3,0) 56%),radial-gradient(ellipse at 70% 50%,transparent 55%,rgba(10,5,2,.45) 100%)}
.vhero-table .vh-stage{position:absolute;z-index:1;right:0;top:calc(50% - 20px);translate:0 -50%;width:min(64cqw,calc(86cqh*1.7926));aspect-ratio:1400/781}
.vhero-table .vh-stage:before{content:"";position:absolute;inset:0;z-index:0;background:url(../images/hero-table/table-empty.jpg) center/100% 100%;-webkit-mask-image:linear-gradient(90deg,transparent,#000 14%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);-webkit-mask-composite:source-in;mask-image:linear-gradient(90deg,transparent,#000 14%,#000 92%,transparent),linear-gradient(180deg,transparent,#000 12%,#000 88%,transparent);mask-composite:intersect}
.vhero-table .vh-it{position:absolute;display:block;height:auto;max-width:none;pointer-events:none;animation:vh-serve 1.15s var(--ease) var(--d) both}
@keyframes vh-serve{0%{opacity:0;transform:translate(var(--dx),var(--dy)) rotate(var(--r)) scale(.86)}55%{opacity:1}100%{opacity:1;transform:none}}
.vhero-table .vh-steam{position:absolute;z-index:4;width:26px;height:64px;margin:-64px 0 0 -13px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,244,225,.55),rgba(255,244,225,0) 70%);filter:blur(5px);opacity:0;pointer-events:none;animation:vh-steam 4.2s ease-out var(--d) infinite}
@keyframes vh-steam{0%{opacity:0;transform:translateY(14px) scaleX(.8)}25%{opacity:.7}100%{opacity:0;transform:translateY(-46px) scaleX(1.5)}}
.hero-js .vhero-table:not(.is-go) .vh-it,.hero-js .vhero-table:not(.is-go) .vh-steam{animation-play-state:paused}
.vhero-table .vhome-hero__inner{position:relative;z-index:3;display:block;width:100%;max-width:none;min-height:0;margin:0;padding:0 max(5.5vw,24px)}
.vhero-table .vhome-hero__copy{max-width:min(520px,40cqw);animation:vhome-rise .9s both}
.vhero-table .vhome-kicker{color:#F2B83F;font-size:11px;letter-spacing:2.4px;margin-bottom:20px}
.vhero-table .vhome-kicker>span{width:34px;height:2px;background:#C49435}
.vhero-table h1{font-size:clamp(52px,5.7vw,94px);line-height:.88;letter-spacing:-2px;color:#FFF0D2;text-shadow:0 3px 24px rgba(0,0,0,.45)}
.vhero-table h1 em{color:#F2B83F;font-style:normal}
.vhero-table .vhome-hero__lead{max-width:430px;margin:24px 0 28px;color:#EADBBE;font-size:16.5px;line-height:1.7}
.vhero-table .vhome-btn--solid{background:#E3AE3F;color:#2a1608!important;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.vhero-table .vhome-btn--solid:hover{background:#FFF0D2}
.vhero-table .vhome-textlink{color:#FFF0D2;border-color:#E3AE3F}
.vhero-table .vhome-hero__bottom{position:absolute;z-index:4;left:0;right:0;bottom:0;max-width:none;margin:0;padding:12px max(5.5vw,24px);color:#D8C7A4;background:rgba(14,7,3,.7);border-top:1px solid #c4943555;backdrop-filter:blur(3px)}
html[data-theme="dark"] .vhome-hero.vhero-table{background:#2a170c url(../images/hero-table/table-empty.jpg) center/cover no-repeat}
html[data-theme="dark"] .vhero-table .vh-it{filter:brightness(.9)}
html[data-theme="dark"] .vhero-table h1{color:#FFF0D2}
html[data-theme="dark"] .vhero-table .vhome-hero__bottom{background:rgba(10,5,2,.78);color:#D0C4A9}
html[dir="rtl"] .vhero-table .vh-stage{right:auto;left:0;scale:-1 1}
html[dir="rtl"] .vhero-table .vh-scrim{transform:scaleX(-1)}
@media(max-width:900px){.vhome-hero.vhero-table{container-type:normal;display:block;height:auto;min-height:0;padding:46px 0 0}
.vhero-table .vh-scrim{background:linear-gradient(0deg,rgba(16,8,3,.88) 0,rgba(16,8,3,.7) 45%,rgba(16,8,3,0) 70%)}
.vhero-table .vhome-hero__inner{position:relative;padding:0 22px 30px}
.vhero-table .vhome-hero__copy{max-width:560px}.vhero-table h1{font-size:clamp(48px,12vw,78px)}.vhero-table .vhome-hero__lead{font-size:15px}
.vhero-table .vh-stage{position:relative;right:auto;top:auto;translate:none;width:100%;margin-top:28px}
.vhero-table .vhome-hero__bottom{position:relative;padding:11px 22px;font-size:10px}}
@media(prefers-reduced-motion:reduce){.vhero-table .vh-it,.vhero-table .vhome-hero__copy{animation:none!important}.vhero-table .vh-steam{display:none}}

/* ===== HOME2 TABLE: neat plate placement (one big plate + 8 equal plates on a clean grid) ===== */
@media(min-width:721px){
  .wt-field{
    aspect-ratio:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));
    grid-template-rows:repeat(3,auto);gap:clamp(8px,1.4vw,20px) clamp(10px,1.6vw,24px);
    align-items:start;justify-items:center;padding:4px 0 2px;
  }
  .wt-napkin,.wt-cutlery,.wt-sprig{display:none}
  .wt-plate,.wt-plate--bowl{
    position:relative;left:auto;top:auto;width:84%;margin-bottom:clamp(34px,3.6vw,48px);
  }
  /* 01 Masala dosa: the feature plate, 2 x 2 cells on the left */
  .wt-plate--lg{grid-column:1/3;grid-row:1/3;width:86%;align-self:center;margin-bottom:clamp(34px,3.6vw,48px)}
  /* 02-05 fill the right 2 x 2 block, 06-09 run along the bottom row */
  .wt-plate:nth-of-type(2){grid-column:3;grid-row:1}
  .wt-plate:nth-of-type(3){grid-column:4;grid-row:1}
  .wt-plate:nth-of-type(4){grid-column:3;grid-row:2}
  .wt-plate:nth-of-type(5){grid-column:4;grid-row:2}
  .wt-plate:nth-of-type(6){grid-column:1;grid-row:3}
  .wt-plate:nth-of-type(7){grid-column:2;grid-row:3}
  .wt-plate:nth-of-type(8){grid-column:3;grid-row:3}
  .wt-plate:nth-of-type(9){grid-column:4;grid-row:3}
  /* same dark plate + gold ring on every plate */
  .wt-plate--bowl .wt-pl{
    background:radial-gradient(circle at 30% 24%,#34343a,#141417 58%,#060607);
    box-shadow:inset 0 2px 1px rgba(255,255,255,.14),0 0 0 2px #b88c35,0 0 0 3px rgba(255,226,150,.35),0 16px 20px rgba(0,0,0,.65),14px 26px 38px rgba(0,0,0,.5);
  }
  .wt-plate--bowl .wt-pl::before{inset:5.5%;box-shadow:inset 0 0 0 1px rgba(247,215,124,.45),inset 0 8px 12px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.1)}
  .wt-plate--bowl .wt-food{inset:11%}
  .wt-plate--bowl .wt-cap{font-size:.72rem;letter-spacing:.14em}
  .wt-plate .wt-cap{font-size:.72rem}
  .wt-plate--lg .wt-cap{font-size:.9rem}
}
@media(min-width:721px) and (max-width:1180px){
  .wt-plate .wt-cap{font-size:.62rem;letter-spacing:.1em;gap:5px}
  .wt-plate--bowl .wt-cap{font-size:.62rem;letter-spacing:.1em}
  .wt-plate--lg .wt-cap{font-size:.78rem}
}
/* same dark plate + gold ring on every plate, all screen sizes */
.wt-plate--bowl .wt-pl{background:radial-gradient(circle at 30% 24%,#34343a,#141417 58%,#060607);box-shadow:inset 0 2px 1px rgba(255,255,255,.14),0 0 0 2px #b88c35,0 0 0 3px rgba(255,226,150,.35),0 16px 20px rgba(0,0,0,.65),14px 26px 38px rgba(0,0,0,.5)}
.wt-plate--bowl .wt-pl::before{inset:5.5%;box-shadow:inset 0 0 0 1px rgba(247,215,124,.45),inset 0 8px 12px rgba(0,0,0,.65),0 1px 0 rgba(255,255,255,.1)}
.wt-plate--bowl .wt-food{inset:11%}
@media(max-width:720px){.wt-plate--bowl .wt-cap{font-size:.68rem;letter-spacing:.1em}}

/* ===== HOME1 hero uses the wood-table scene ===== */
.hx.wt.wt-hero{padding-block:clamp(22px,3.2vw,44px) clamp(36px,4.5vw,64px)}
/* Home 1 hero: original copy, no dish names under the plates */
.wt-hero .wt-k{font:600 .78rem/1.4 var(--font-body);letter-spacing:.2em;text-transform:uppercase}
.wt-hero .wt-h{font-size:clamp(2.8rem,4.6vw,4.7rem);line-height:.95}
.wt-hero .wt-h em{display:inline;white-space:nowrap}
.wt-hero .wt-lead{font-size:1.08rem;max-width:34ch}
@media(min-width:721px){
  .wt-hero .wt-plate,.wt-hero .wt-plate--bowl{width:88%;margin-bottom:0}
  .wt-hero .wt-plate--lg{width:90%;margin-bottom:0}
  .wt-hero .wt-field{gap:clamp(10px,1.6vw,22px) clamp(10px,1.6vw,24px)}
}
@media(max-width:720px){.wt-hero .wt-plate,.wt-hero .wt-plate--bowl{margin-bottom:0}.wt-hero .wt-field{gap:18px 14px;padding:24px 14px 28px}}
.wt-hero .wt-k{font-size:.7rem;letter-spacing:.13em;gap:10px;white-space:nowrap}.wt-hero .wt-k::before{width:28px;flex:none}
@media(max-width:380px){.wt-hero .wt-k{font-size:.62rem;letter-spacing:.08em}}

/* ===== HOME1 / 02: 3-page menu card ===== */
.vs-mc{position:relative;width:min(540px,100%);margin-inline:auto;padding:0 12px 0 0}
.vs-mc__ribbon{position:absolute;z-index:30;top:-6px;inset-inline-start:34px;width:22px;height:70px;background:linear-gradient(180deg,#9c2f1d,#7d2314);clip-path:polygon(0 0,100% 0,100% 100%,50% 82%,0 100%);box-shadow:0 4px 8px rgba(0,0,0,.25);pointer-events:none}
.vs-mc__stack{position:relative;display:grid;perspective:1800px;transform-style:preserve-3d}
.vs-mc__page{grid-area:1/1;position:relative;z-index:calc(10 - var(--i,0));--o:0;cursor:pointer;
  background:radial-gradient(120% 90% at 20% 0%,#FFFBF1,var(--surface) 60%,#F6E7C3);color:var(--ink);border-radius:6px 16px 16px 6px;
  box-shadow:0 0 0 1px var(--line),0 18px 34px -14px rgba(7,27,11,.45),inset 12px 0 18px -12px rgba(7,27,11,.28);
  transform-origin:left center;transform:translate(calc(var(--o)*8px),calc(var(--o)*8px));
  transition:transform .85s cubic-bezier(.65,.05,.25,1),opacity .35s ease .5s,box-shadow .4s;-webkit-tap-highlight-color:transparent}
.vs-mc__page.is-past{transform:rotateY(-112deg);opacity:0;pointer-events:none;transition:transform .85s cubic-bezier(.65,.05,.25,1),opacity .3s ease .5s}
.vs-mc__page:not(.is-on):not(.is-past){pointer-events:none}
.vs-mc__page:not(.is-on) .vs-mc__in{visibility:hidden;transition:visibility 0s .6s}
.vs-mc__page.is-on .vs-mc__in{visibility:visible}
.vs-mc__page.is-on:hover{box-shadow:0 0 0 1px var(--brass),0 24px 40px -14px rgba(7,27,11,.5),inset 12px 0 18px -12px rgba(7,27,11,.28)}
.vs-mc__in{position:relative;margin:12px;padding:22px 24px 22px 30px;border:1px solid var(--brass);border-radius:3px 10px 10px 3px;outline:1px solid var(--line);outline-offset:-6px;min-height:100%;display:flex;flex-direction:column;gap:14px}
.vs-mc__head{text-align:center;display:grid;gap:4px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.vs-mc__k{font:600 11px/1 var(--font-body);letter-spacing:.24em;text-transform:uppercase;color:var(--gold-text)}
.vs-mc__t{margin:0;font:700 clamp(1.7rem,3vw,2.2rem)/1 var(--font-head);color:var(--ink)}
.vs-mc__t em{font-style:italic;font-weight:500;color:var(--rust,#9C4A2F)}
.vs-mc__pg{font:italic 600 .95rem/1 var(--font-head);color:var(--gold-text)}
.vs-mc__grp{display:grid;gap:8px}
.vs-mc__gh{display:flex;align-items:center;gap:14px}
.vs-mc__pic{flex:none;width:58px;height:58px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 2px var(--surface),0 0 0 3px var(--brass),0 6px 10px rgba(7,27,11,.25)}
.vs-mc__pic img{display:block;width:100%;height:100%;object-fit:cover}
.vs-mc__gh h3{margin:0;font:700 1.35rem/1.05 var(--font-head);color:var(--ink)}
.vs-mc__gh p{margin:3px 0 0;font:600 .78rem/1 var(--font-body);letter-spacing:.06em;color:var(--gold-text)}
.vs-mc__gh p i{margin-inline-end:4px}
.vs-mc__list{list-style:none;margin:0;padding:0;display:grid;gap:7px}
.vs-mc__list li{display:flex;align-items:baseline;gap:8px;font:500 .98rem/1.3 var(--font-body)}
.vs-mc__list li i{flex:1;border-bottom:2px dotted var(--brass);opacity:.7;transform:translateY(-3px);min-width:16px}
.vs-mc__list b{font:700 1rem/1 var(--font-head);color:var(--gold-text);font-variant-numeric:lining-nums}
.vs-mc__page:nth-child(3) .vs-mc__pic{width:96px;height:96px}
.vs-mc__page:nth-child(3) .vs-mc__gh h3{font-size:1.6rem}
.vs-mc__page:nth-child(3) .vs-mc__list{gap:12px;margin-top:6px}
.vs-mc__page:nth-child(3) .vs-mc__list li{font-size:1.08rem}
.vs-mc__cta{margin-top:auto;align-self:center;display:inline-flex;gap:10px;align-items:center;padding:12px 24px;border-radius:999px;background:var(--deep);color:var(--gold-soft);font:600 .95rem/1 var(--font-body);text-decoration:none;box-shadow:0 8px 16px -8px rgba(7,27,11,.6)}
.vs-mc__cta:hover{background:#0c2d12}
.vs-mc__nav{position:relative;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px}
.vs-mc__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;height:44px;min-width:44px;padding:0 14px;border-radius:999px;border:1px solid var(--brass);background:var(--surface);color:var(--ink);font:600 .92rem/1 var(--font-body);cursor:pointer;transition:background .25s,color .25s,transform .25s}
.vs-mc__btn:hover:not(:disabled){background:var(--gold);color:var(--deep)}
.vs-mc__btn:disabled{opacity:.4;cursor:default}
.vs-mc__btn--next{background:var(--gold);color:var(--deep);padding:0 20px}
.vs-mc__btn--next:hover{transform:translateX(3px)}
.vs-mc__dots{display:flex;gap:10px}
.vs-mc__dots button{width:11px;height:11px;border-radius:50%;border:1.5px solid var(--brass);background:transparent;padding:0;cursor:pointer;transition:all .3s}
.vs-mc__dots button.is-on{background:var(--brass);width:30px;border-radius:99px}
.vs-mc button:focus-visible,.vs-mc a:focus-visible,.vs-mc__page:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
[dir="rtl"] .vs-mc__page{transform-origin:right center;border-radius:16px 6px 6px 16px}
[dir="rtl"] .vs-mc__page.is-past{transform:rotateY(112deg)}
[dir="rtl"] .vs-mc__page{transform:translate(calc(var(--o)*-8px),calc(var(--o)*8px))}
@media(max-width:980px){.vs-mc{width:min(520px,100%)}}
@media(max-width:480px){.vs-mc{padding-right:8px}.vs-mc__in{padding:18px 16px 18px 20px}.vs-mc__list li{font-size:.92rem}.vs-mc__btn--next span{display:none}.vs-mc__btn--next{padding:0}.vs-mc__pic{width:50px;height:50px}}
@media(prefers-reduced-motion:reduce){.vs-mc__page,.vs-mc__page.is-past{transition:opacity .3s}.vs-mc__page.is-past{transform:none}}

/* ===== HOME1 / 06: How we make it, LIVE KITCHEN REEL ===== */
.vs-lk{background:#071B0B;color:#FFF4DD}
.vs-lk::before{content:"";position:absolute;inset:0 0 auto;height:9px;background:radial-gradient(circle,var(--gold) 1.6px,transparent 2.2px) 0 50%/14px 9px repeat-x;opacity:.85}
.vs-lk::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(55% 45% at 90% 0%,rgba(242,184,63,.15),transparent 70%),radial-gradient(45% 40% at 0% 100%,rgba(156,74,47,.25),transparent 70%)}
.vs-lk .vs-w{position:relative;z-index:1}
.vs-lk .vs-eyebrow{color:var(--gold-soft)}.vs-lk .vs-title{margin:0;color:#FFF4DD}.vs-lk .vs-title em{color:var(--gold)}
.vs-lk .vs-lead{color:#D9CDB0;max-width:46ch}
.vs-lk__head{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(18px,5vw,72px);align-items:end;margin-block-end:clamp(28px,4.5vw,50px)}
.vs-lk__grid{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(280px,.85fr);gap:clamp(16px,2.4vw,30px);align-items:stretch}
.vs-lk__stage{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;aspect-ratio:16/10;min-height:420px;background:#0E2A17;box-shadow:0 0 0 1px rgba(247,215,124,.4),0 30px 50px -24px rgba(0,0,0,.8)}
.lk-scene{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.1s ease,visibility 0s 1.1s}
.lk-scene.is-on{opacity:1;visibility:visible;transition:opacity 1.1s ease,visibility 0s}
.lk-scene>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.02)}
.lk-scene.is-on>img{animation:lkKen var(--lkdur,6.5s) ease-out forwards}
@keyframes lkKen{from{transform:scale(1.02) translate(0,0)}to{transform:scale(1.16) translate(-1.6%,-1.2%)}}
.lk-scene::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,rgba(7,27,11,.55) 0,transparent 24%,transparent 38%,rgba(7,27,11,.92) 100%),var(--tint,none)}
.lk-scene:nth-child(1){--tint:radial-gradient(100% 100% at 50% 40%,rgba(20,40,90,.0),rgba(10,22,60,.55))}
.lk-scene:nth-child(2){--tint:linear-gradient(rgba(14,24,64,.5),rgba(14,24,64,.5))}
.lk-scene:nth-child(3){--tint:linear-gradient(120deg,rgba(255,150,60,.28),rgba(120,60,20,.25))}
.lk-scene:nth-child(4){--tint:linear-gradient(rgba(255,214,120,.1),rgba(255,214,120,.1))}
.lk-cap{position:absolute;z-index:3;inset-inline-start:clamp(18px,3vw,38px);inset-block-end:clamp(18px,3vw,34px);width:min(560px,62%)}
.lk-cap>*{opacity:0;transform:translateY(16px)}
.lk-scene.is-on .lk-cap>*{animation:lkIn .8s cubic-bezier(.2,.7,.2,1) forwards}
.lk-scene.is-on .lk-cap>:nth-child(1){animation-delay:.25s}.lk-scene.is-on .lk-cap>:nth-child(2){animation-delay:.4s}.lk-scene.is-on .lk-cap>:nth-child(3){animation-delay:.6s}.lk-scene.is-on .lk-cap>:nth-child(4){animation-delay:.8s}
@keyframes lkIn{to{opacity:1;transform:none}}
.lk-cap__n{display:block;font:700 clamp(56px,6vw,92px)/.9 var(--font-head);color:var(--gold);text-shadow:0 4px 18px rgba(0,0,0,.6)}
.lk-cap h3{margin:4px 0 10px;font:700 clamp(40px,4.6vw,68px)/.95 var(--font-head);color:#FFF4DD;text-shadow:0 4px 18px rgba(0,0,0,.7)}
.lk-cap p{margin:0 0 16px;max-width:44ch;font-size:clamp(15px,1.2vw,17px);line-height:1.65;color:#F1E6CC;text-shadow:0 2px 8px rgba(0,0,0,.8)}
.lk-cap__row{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px}
.lk-chip{display:inline-flex;align-items:center;gap:9px;padding:10px 16px;border-radius:999px;background:rgba(7,27,11,.78);border:1px solid rgba(247,215,124,.6);color:var(--gold-soft);font:600 13px/1 var(--font-body);font-style:normal;letter-spacing:.03em}
.lk-go{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:11px 20px;border-radius:999px;background:var(--gold);color:#071B0B;font:700 14px/1 var(--font-body);text-decoration:none;transition:background .25s}
.lk-go:hover{background:#FFF4DD}.lk-go:focus-visible{outline:3px solid #fff;outline-offset:3px}
/* top bar: LIVE badge, clock, play/pause */
.lk-top{position:absolute;z-index:5;inset:16px 18px auto;display:flex;align-items:center;justify-content:space-between;gap:12px;pointer-events:none}
.lk-live{display:inline-flex;align-items:center;gap:10px;padding:9px 14px;border-radius:999px;background:rgba(7,27,11,.72);backdrop-filter:blur(6px);color:#FFF4DD;font:700 11.5px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase}
.lk-live i{width:10px;height:10px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.7);animation:lkPulse 1.6s ease-out infinite}
@keyframes lkPulse{70%{box-shadow:0 0 0 10px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.lk-top__r{display:flex;align-items:center;gap:10px;pointer-events:auto}
.lk-clock{padding:9px 14px;border-radius:999px;background:rgba(7,27,11,.72);backdrop-filter:blur(6px);color:var(--gold-soft);font:700 15px/1 var(--font-head);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.lk-clock.is-tick{animation:lkTick .6s ease}
@keyframes lkTick{0%{transform:translateY(-8px);opacity:0}100%{transform:none;opacity:1}}
.lk-play{width:40px;height:40px;border-radius:50%;border:1px solid rgba(247,215,124,.7);background:rgba(7,27,11,.72);backdrop-filter:blur(6px);color:var(--gold-soft);cursor:pointer;transition:background .25s,color .25s}
.lk-play:hover{background:var(--gold);color:#071B0B}.lk-play:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
/* close-up cam (picture in picture) */
.lk-cam{position:absolute;z-index:5;inset-inline-end:clamp(16px,2.4vw,28px);inset-block-end:clamp(18px,3vw,34px);width:clamp(96px,11vw,138px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 30% 25%,#1c4a28,#0a2412);box-shadow:0 0 0 3px #FFF4DD,0 0 0 5px var(--brass),0 16px 24px rgba(0,0,0,.6);display:grid;place-items:center}
.lk-cam__ic{width:72%;height:72%}.lk-cam__ic svg,.lk-item__ic svg{display:block;width:100%;height:100%}
.lk-cam__tag{position:absolute;inset-block-start:-12px;inset-inline-start:50%;translate:-50% 0;padding:5px 10px;border-radius:99px;background:#FFF4DD;color:#071B0B;font:700 9.5px/1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;white-space:nowrap}
[dir="rtl"] .lk-cam__tag{translate:50% 0}
/* ambient effects, per scene */
.lk-fx{position:absolute;inset:0;z-index:2;pointer-events:none;overflow:hidden}
.lk-p{position:absolute;inset-inline-start:var(--x);inset-block-end:-8px;width:var(--s);height:var(--s);border-radius:50%;background:#F7D77C;box-shadow:0 0 10px 2px rgba(247,215,124,.7);opacity:0;animation:lkDust var(--du) linear var(--dl) infinite}
@keyframes lkDust{0%{transform:translate(0,0);opacity:0}12%{opacity:.85}100%{transform:translate(24px,-460px);opacity:0}}
.lk-st,.lk-bb{opacity:0;transition:opacity .8s}
.lk-st{position:absolute;inset-inline-start:var(--x);inset-block-end:18%;width:90px;height:170px;border-radius:50%;background:radial-gradient(ellipse,rgba(255,252,244,.55),transparent 70%);filter:blur(14px);animation:lkSteam 4.2s ease-in var(--dl) infinite}
@keyframes lkSteam{0%{transform:translateY(30px) scaleX(.7);opacity:0}25%{opacity:.8}100%{transform:translateY(-190px) scaleX(1.7);opacity:0}}
.lk-bb{position:absolute;inset-inline-start:var(--x);inset-block-end:-30px;width:var(--s);height:var(--s);border-radius:50%;border:2px solid rgba(255,244,221,.75);background:rgba(255,244,221,.12);animation:lkBub 5s ease-in var(--dl) infinite;animation-play-state:paused}
@keyframes lkBub{0%{transform:translateY(0) scale(.6);opacity:0}15%{opacity:.9}100%{transform:translateY(-420px) scale(1.25);opacity:0}}
.vs-lk__stage[data-s="1"] .lk-bb{opacity:1;animation-play-state:running}
.vs-lk__stage[data-s="2"] .lk-st,.vs-lk__stage[data-s="3"] .lk-st{opacity:1}
.vs-lk__stage[data-s="3"] .lk-st{opacity:.6}
/* step list = live feed */
.vs-lk__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-rows:repeat(4,1fr)}
.lk-item{position:relative;overflow:hidden;width:100%;height:100%;min-height:96px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:16px;padding:16px 20px 20px;text-align:start;border-radius:16px;border:1px solid rgba(247,215,124,.25);background:rgba(255,244,221,.05);color:#EADFC5;cursor:pointer;font:inherit;transition:background .35s,border-color .35s,transform .35s}
.lk-item:hover{background:rgba(255,244,221,.1);border-color:rgba(247,215,124,.55)}
.lk-item:focus-visible{outline:3px solid var(--gold);outline-offset:3px}
.lk-item.is-on{background:linear-gradient(120deg,rgba(242,184,63,.2),rgba(255,244,221,.07));border-color:var(--gold);transform:translateX(6px)}
[dir="rtl"] .lk-item.is-on{transform:translateX(-6px)}
.lk-item__n{font:700 34px/1 var(--font-head);color:rgba(247,215,124,.5);transition:color .35s}.lk-item.is-on .lk-item__n{color:var(--gold)}
.lk-item__t b{display:block;font:700 24px/1.1 var(--font-head);color:#FFF4DD}
.lk-item__t small{display:block;margin-top:5px;font:600 12.5px/1.3 var(--font-body);letter-spacing:.04em;color:var(--gold-soft)}
.lk-item__ic{width:46px;height:46px;opacity:.55;transition:opacity .35s}.lk-item.is-on .lk-item__ic{opacity:1}
.lk-item__bar{position:absolute;inset:auto 0 0 0;height:4px;background:rgba(247,215,124,.15)}
.lk-item__bar i{display:block;height:100%;width:0;background:var(--gold)}
.lk-item.is-done .lk-item__bar i{width:100%}
.lk-item.is-on .lk-item__bar i{animation:lkFill var(--lkdur,6.5s) linear forwards}
@keyframes lkFill{to{width:100%}}
/* icon animations (only while their step is active) */
.lk-ic-spin{transform-origin:40px 44px}.lk-ic-rise{transform-origin:40px 67px}
.is-on .lk-ic-spin{animation:lkSpin 2.4s linear infinite}
.is-on .lk-ic-drip{animation:lkDrip 1.6s ease-in infinite}
.is-on .lk-ic-rise{animation:lkRise 6.5s ease-out forwards}
.is-on .lk-ic-b{animation:lkB 2.2s ease-in infinite}.is-on .lk-ic-b.b2{animation-delay:.7s}.is-on .lk-ic-b.b3{animation-delay:1.4s}
.is-on .lk-ic-st{animation:lkIcSt 2.4s ease-in-out infinite}.is-on .lk-ic-st.s2{animation-delay:.6s}.is-on .lk-ic-st.s3{animation-delay:1.2s}
.is-on .lk-ic-sp{animation:lkSp 1.6s ease-in-out infinite}.is-on .lk-ic-sp.sp2{animation-delay:.8s}
@keyframes lkSpin{to{transform:rotate(360deg)}}
@keyframes lkDrip{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(24px);opacity:0}}
@keyframes lkRise{from{transform:scaleY(.55)}to{transform:scaleY(1.12)}}
@keyframes lkB{0%{transform:translateY(0);opacity:0}20%{opacity:1}100%{transform:translateY(-26px);opacity:0}}
@keyframes lkIcSt{0%{transform:translateY(6px);opacity:0}40%{opacity:1}100%{transform:translateY(-8px);opacity:0}}
@keyframes lkSp{0%,100%{transform:scale(.4);opacity:.2}50%{transform:scale(1.4);opacity:1}}
/* paused (by the viewer, or while off screen) */
.vs-lk__grid.is-paused .lk-scene>img,.vs-lk__grid.is-paused .lk-item__bar i,.vs-lk__grid.is-paused .lk-p,.vs-lk__grid.is-paused .lk-st,.vs-lk__grid.is-paused .lk-bb,.vs-lk__grid.is-paused .lk-ic-rise{animation-play-state:paused}
@media(max-width:980px){
  .vs-lk__head{grid-template-columns:1fr}
  .vs-lk__grid{grid-template-columns:1fr}
  .vs-lk__list{grid-template-columns:repeat(2,1fr);grid-template-rows:none}
  .lk-item{min-height:86px}.lk-item.is-on,[dir="rtl"] .lk-item.is-on{transform:none}
}
@media(max-width:640px){
  .vs-lk__stage{aspect-ratio:auto;height:min(560px,calc(100vw + 120px));min-height:0;border-radius:18px}
  .lk-cap{width:calc(100% - 36px);inset-block-end:112px}
  .lk-cap__n{font-size:48px}.lk-cap h3{font-size:42px;margin-bottom:6px}.lk-cap p{font-size:14.5px;margin-bottom:12px}
  .lk-cam{inset-block-end:16px;width:84px}
  .lk-live{font-size:10px;padding:8px 11px;letter-spacing:.1em}
  .lk-clock{font-size:13px;padding:8px 11px}
  .vs-lk__list{gap:8px}.lk-item{grid-template-columns:auto 1fr;padding:12px 12px 16px;gap:10px}.lk-item__ic{display:none}.lk-item__n{font-size:26px}.lk-item__t b{font-size:20px}.lk-item__t small{font-size:11px}
}
@media(prefers-reduced-motion:reduce){
  .lk-scene.is-on>img,.lk-p,.lk-st,.lk-bb,.lk-live i,.is-on [class^="lk-ic"],.is-on [class*=" lk-ic"]{animation:none!important}
  .lk-cap>*{opacity:1;transform:none;animation:none!important}.lk-item.is-on .lk-item__bar i{animation:none;width:100%}
}
.lk-clock{white-space:nowrap}.lk-live{white-space:nowrap}
@media(max-width:640px){.lk-live__x{display:none}}

/* ===== Home 2 / 02: wooden table with a 3D dish carousel (4 photos, no plates) ===== */
.wt-flow{position:relative;z-index:2;min-width:0}
.wt-flow__stage{position:relative;height:clamp(330px,35vw,460px);perspective:1300px;outline:0;touch-action:pan-y;user-select:none}
.wt-fi{--o:0;--a:0;position:absolute;left:50%;top:50%;width:46%;aspect-ratio:4/5;margin:0;border-radius:16px;overflow:hidden;cursor:pointer;
  transform:translate(-50%,-50%) translateX(calc(var(--o)*66%)) rotateY(calc(var(--o)*-34deg)) scale(calc(1 - var(--a)*.17));
  opacity:clamp(0,calc(2 - var(--a)),1);z-index:calc(10 - var(--a));filter:brightness(calc(1 - var(--a)*.45));
  box-shadow:0 0 0 1px rgba(247,215,124,.6),0 0 0 6px rgba(23,11,4,.5),0 30px 50px rgba(0,0,0,.7);
  transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .6s ease,filter .6s ease}
.wt-fi img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.wt-fi::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,rgba(255,255,255,.16),transparent 38%,transparent 70%,rgba(0,0,0,.3))}
.wt-fi:not(.on){pointer-events:auto}.wt-fi[style*="--a:2"]{pointer-events:none}
.wt-flow__stage:focus-visible .wt-fi.on{box-shadow:0 0 0 2px var(--gold),0 0 0 7px rgba(23,11,4,.5),0 30px 50px rgba(0,0,0,.7)}
.wt-flow__bar{display:flex;align-items:center;justify-content:center;gap:clamp(14px,2.4vw,30px);margin-top:20px}
.wt-flow__btn{flex:none;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;border:1px solid rgba(247,215,124,.6);background:rgba(23,11,4,.55);color:var(--gold);cursor:pointer;transition:background .25s,color .25s,transform .25s}
.wt-flow__btn:hover,.wt-flow__btn:focus-visible{background:var(--gold);color:#1b1006;transform:scale(1.08)}
.wt-flow__cap{flex:0 1 320px;min-width:0;text-align:center;text-shadow:0 2px 8px #000;transition:opacity .3s ease,transform .3s ease}
.wt-flow__cap.swap{opacity:0;transform:translateY(6px)}
.wt-flow__cap span{display:flex;align-items:baseline;justify-content:center;gap:9px;font:700 1.5rem/1.2 var(--font-head);color:#FFF4DD}
.wt-flow__cap b{font:italic 700 1.05rem/1 var(--font-head);color:var(--gold)}
.wt-flow__cap small{display:block;margin-top:4px;font:500 .88rem/1.5 var(--font-body);color:#E9DDBE}
.wt-flow__dots{display:flex;justify-content:center;gap:8px;margin-top:14px}
.wt-flow__dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:rgba(247,215,124,.38);cursor:pointer;transition:width .35s,background .35s}
.wt-flow__dots button.on{width:26px;background:var(--gold)}
@media(max-width:560px){
  .wt-flow__stage{height:340px}
  .wt-fi{width:62%;transform:translate(-50%,-50%) translateX(calc(var(--o)*58%)) rotateY(calc(var(--o)*-30deg)) scale(calc(1 - var(--a)*.17))}
  .wt-flow__btn{width:40px;height:40px}.wt-flow__cap span{font-size:1.25rem}.wt-flow__cap small{font-size:.82rem}
}
@media(prefers-reduced-motion:reduce){.wt-fi,.wt-flow__cap{transition:none!important}}

/* ===== Home 2 / 03: signature dish showcase (featured photo + thumbnail picker, auto-advancing) ===== */
.hx.sg{padding-block:clamp(44px,6vw,80px)}
.sg-wrap{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);grid-template-areas:"head stage" "panel stage";column-gap:clamp(32px,5vw,72px);row-gap:clamp(20px,2.6vw,32px);align-content:center;align-items:start}
.sg-head{grid-area:head;align-self:end}.sg-panel{grid-area:panel;align-self:start}.sg-stage{grid-area:stage;align-self:center}
.sg-head h2{margin:14px 0 0;font:700 clamp(2.1rem,3.6vw,3.4rem)/1 var(--font-head);letter-spacing:-.015em;color:var(--ink)}
.sg-head h2 em{display:block;font-style:italic;font-weight:500;color:var(--gold-text)}
.sg-stage{position:relative;padding:0 16px 16px 0}
.sg-stage::before{content:"";position:absolute;inset:16px 0 0 16px;border:2px solid var(--gold);border-radius:24px;opacity:.75}
.sg-frame{position:relative;aspect-ratio:41/25;border-radius:22px;overflow:hidden;background:#1b1006;box-shadow:0 30px 56px -28px rgba(30,15,3,.7)}
.sg-frame::after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(0deg,rgba(7,27,11,.55),transparent 38%),linear-gradient(180deg,rgba(7,27,11,.35),transparent 28%)}
.sg-im{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity .9s ease,transform 6.5s ease-out}
.sg-im.on{opacity:1;transform:scale(1)}
.sg-count{position:absolute;z-index:2;top:16px;left:16px;padding:7px 14px;border-radius:99px;background:rgba(7,27,11,.78);color:#E9DDBE;font:600 .78rem/1 var(--font-body);letter-spacing:.14em}
.sg-count b{color:var(--gold);font-weight:700}
.sg-go{position:absolute;z-index:2;right:16px;bottom:16px;display:inline-flex;align-items:center;gap:8px;padding:11px 20px;border-radius:99px;background:var(--gold);color:#1b1006;font:700 .88rem/1 var(--font-body);text-decoration:none;transition:background .25s,transform .25s}
.sg-go:hover{background:var(--gold-soft);transform:translateY(-2px)}.sg-go i{transition:transform .3s}.sg-go:hover i{transform:translateX(4px)}
.sg-info{min-height:196px;transition:opacity .3s ease,transform .3s ease}
.sg-info.swap{opacity:0;transform:translateY(8px)}
.sg-no{display:block;font:italic 700 1.25rem/1 var(--font-head);color:var(--gold-text)}
.sg-name{margin:6px 0 0;font:700 clamp(1.9rem,2.8vw,2.7rem)/1.05 var(--font-head);color:var(--ink)}
.sg-desc{margin:10px 0 0;max-width:38ch;line-height:1.65;color:var(--text);opacity:.85}
.sg-tag{display:inline-flex;align-items:center;gap:8px;margin-top:14px;padding:7px 14px;border:1px solid rgba(196,148,53,.8);border-radius:99px;font:600 .74rem/1 var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--ink)}
.sg-tag i{color:var(--gold-text)}
.sg-pick{display:flex;gap:12px;margin-top:20px}
.sg-th{position:relative;flex:none;width:clamp(58px,6vw,78px);aspect-ratio:1;padding:0;border:0;border-radius:14px;overflow:hidden;cursor:pointer;opacity:.62;outline:0;background:#1b1006;box-shadow:0 0 0 1px rgba(196,148,53,.5);transition:opacity .3s,transform .3s,box-shadow .3s}
.sg-th img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none}
.sg-th:hover,.sg-th:focus-visible{opacity:1}
.sg-th.on{opacity:1;transform:translateY(-4px);box-shadow:0 0 0 2px var(--gold),0 14px 22px -10px rgba(30,15,3,.65)}
.sg-bar{position:absolute;left:0;bottom:0;height:4px;width:0;background:var(--gold)}
.sg-th.on .sg-bar{animation:sgBar 5.5s linear forwards}
.sg:hover .sg-th.on .sg-bar,.sg:focus-within .sg-th.on .sg-bar{animation-play-state:paused}
@keyframes sgBar{to{width:100%}}
@media(max-width:991px){
  .sg-wrap{grid-template-columns:1fr;grid-template-areas:"head" "stage" "panel";row-gap:26px}
  .sg-head h2 em{display:inline}
  .sg-info{min-height:0}
}
@media(max-width:560px){.sg-stage{padding:0 10px 10px 0}.sg-stage::before{inset:10px 0 0 10px}.sg-go{padding:9px 16px;right:12px;bottom:12px}.sg-count{top:12px;left:12px}.sg-th{width:calc((100% - 36px)/4)}.sg-pick{gap:12px}}
@media(prefers-reduced-motion:reduce){.sg-im{transition:opacity .01s;transform:none!important}.sg-th.on .sg-bar{animation:none;width:100%}}

/* ==========================================================
   RESPONSIVE ALIGNMENT PATCH — process, tiffin selector,
   and guest review cards (all viewport sizes)
   ========================================================== */
.hx-proc,
.hx-proc > div,
.hx-steps,
.hx-step,
.et-wrap,
.et-carrier,
.et-panel,
.et-group,
.vs-gw__grid,
.vs-gw__card,
.vs-gw__card figure { min-width: 0; }

/* Process cards: keep number, heading and copy inside their own card. */
.hx-steps { width: 100%; }
.hx-step { grid-template-columns: 64px minmax(0, 1fr); align-items: start; }
.hx-step > div { min-width: 0; }
.hx-step h3,
.hx-step p { overflow-wrap: anywhere; }
.hx-step p { line-height: 1.7; }

/* The evening tiffin selector should remain a centered, even stack
   instead of producing differently sized pills on narrow screens. */
.et-carrier { max-width: 100%; }
.et-lid,
.et-tier { box-sizing: border-box; }

/* Guest reviews: equal-height cards with no clipped third column. */
.vs-gw__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.vs-gw__card figure { height: 100%; min-height: 100%; }
.vs-gw__card blockquote { min-width: 0; overflow-wrap: anywhere; }
.vs-gw__card figcaption { margin-top: auto; min-width: 0; }
.vs-gw__card figcaption > div { min-width: 0; }
.vs-gw__card figcaption b,
.vs-gw__card figcaption small { overflow-wrap: anywhere; }

@media (max-width: 960px) {
  .hx-proc { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .hx-sticky { width: min(100%, 440px); }
  .hx-steps { gap: 16px; margin-top: 26px; }
  .hx-step { transform: none; opacity: 1; }
  .hx-step.on { transform: none; }
  .et-wrap { grid-template-columns: minmax(0, 1fr); }
  .et-carrier { display: flex; flex-direction: column; flex-wrap: nowrap; align-items: center; justify-content: center; gap: 10px; }
  .et-stack { display: contents; }
  .et-lid,
  .et-tier { width: min(100%, 280px); min-height: 48px; justify-content: start; margin: 0; }
  .et-lid { justify-content: center; }
  .et-carrier__hint { width: 100%; text-align: center; justify-content: center; }
  .et-panel { width: 100%; }
  .vs-gw__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .hx-proc { gap: 24px; }
  .hx-sticky { width: min(100%, 360px); aspect-ratio: 4 / 3; border-radius: 150px 150px 20px 20px; }
  .hx-steps { gap: 14px; margin-top: 22px; }
  .hx-step,
  .hx-step.on { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 20px 17px; border-radius: 18px; transform: none; }
  .hx-step b { font-size: 2rem; line-height: 1.05; }
  .hx-step h3 { font-size: clamp(1.18rem, 5vw, 1.42rem); line-height: 1.2; }
  .hx-step p { font-size: .88rem; line-height: 1.65; }
  .et-carrier { gap: 9px; }
  .et-lid,
  .et-tier { width: min(100%, 270px); padding: 9px 15px; }
  .et-tier__txt { min-width: 0; }
  .et-tier__txt b { white-space: normal; overflow-wrap: anywhere; }
  .et-groups { padding-inline: 12px; }
  .et-group { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 14px; padding: 18px 4px; }
  .et-fig { width: min(58%, 190px); }
  .et-info { width: 100%; min-width: 0; }
  .et-group__title { grid-template-columns: 38px minmax(0, 1fr); }
  .et-group__title span,
  .et-group__title small { min-width: 0; overflow-wrap: anywhere; }
  .et-row { grid-template-columns: 34px minmax(0, 1fr); gap: 10px; }
  .et-row h4,
  .et-row p { overflow-wrap: anywhere; }
  .et-row b { grid-column: 2; justify-self: start; }
  .vs-gw__strip { width: 100%; box-sizing: border-box; border-radius: 18px; justify-content: center; gap: 10px 18px; padding: 14px 12px; }
  .vs-gw__grid { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .vs-gw__card figure { padding: 28px 22px 22px; }
  .vs-gw__card blockquote p { font-size: clamp(19px, 5vw, 22px); line-height: 1.48; }
  .vs-gw__card figcaption { gap: 12px; }
}

@media (max-width: 360px) {
  .hx-step,
  .hx-step.on { grid-template-columns: 34px minmax(0, 1fr); gap: 9px; padding: 17px 13px; }
  .hx-step b { font-size: 1.75rem; }
  .hx-step h3 { font-size: 1.15rem; }
  .hx-step p { font-size: .82rem; }
  .et-lid,
  .et-tier { width: 100%; max-width: 250px; }
  .et-panel__head { flex-wrap: wrap; padding: 15px; }
  .et-panel__head > span { font-size: 1rem; }
  .vs-gw__card figure { padding-inline: 18px; }
}

[dir="rtl"] .hx-step.on { transform: none; }
[dir="rtl"] .hx-step { text-align: right; }
@media (prefers-reduced-motion: reduce) {
  .hx-step,
  .hx-step.on,
  .vs-gw__card figure { transition: none !important; transform: none !important; }
}


/* =====================================================================
   EVENING TIFFIN — desktop serving-tray proportions + responsive layout
   Keep the illustrated carrier compact and centered like the reference;
   let the menu details sit alongside it on wide screens and below on small.
   ===================================================================== */
.et-wrap {
  display: grid;
  grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
  align-items: center;
  justify-items: stretch;
  gap: clamp(28px, 4vw, 58px);
  width: 100%;
}
.et-carrier {
  width: min(100%, 350px);
  min-width: 0;
  margin: 12px auto 0;
  justify-self: center;
}
.et-lid { width: 86%; min-height: 84px; }
.et-stack { width: 100%; gap: 7px; }
.et-tier { min-width: 0; min-height: 80px; grid-template-columns: 38px minmax(0, 1fr) 24px; gap: 12px; padding: 10px 18px; }
.et-tier__txt { min-width: 0; overflow-wrap: anywhere; }
.et-tier.is-on { translate: 12px 0; }
[dir="rtl"] .et-tier.is-on { translate: -12px 0; }
.et-carrier__hint { justify-content: center; width: 100%; text-align: center; }
.et-panel { width: 100%; min-width: 0; }
.et-groups { min-width: 0; }
.et-group { min-width: 0; }
.et-info { min-width: 0; }
.et-row { min-width: 0; }
.et-row__txt { min-width: 0; overflow-wrap: anywhere; }

@media (max-width: 960px) {
  .et-wrap {
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    gap: 30px;
  }
  .et-carrier {
    width: min(100%, 350px);
    margin: 0 auto;
    justify-self: center;
  }
  .et-panel { width: min(100%, 760px); }
}
@media (max-width: 600px) {
  .et-wrap { gap: 24px; }
  .et-carrier { width: min(100%, 350px); padding-top: 48px; }
  .et-handle { width: 58%; height: 62px; border-width: 7px; }
  .et-lid { width: 86%; min-height: 76px; margin-bottom: 7px; }
  .et-lid b { font-size: 1.2rem; }
  .et-lid small { font-size: .64rem; }
  .et-stack { gap: 7px; }
  .et-tier {
    min-height: 72px;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    gap: 10px;
    padding: 9px 13px;
    border-radius: 15px;
  }
  .et-tier__no { width: 34px; height: 34px; font-size: 1.1rem; }
  .et-tier__txt b { font-size: 1.05rem; }
  .et-tier__txt small { font-size: .68rem; }
  .et-tier__ico { font-size: 1.05rem; }
  .et-tier.is-on { translate: 7px 0; }
  [dir="rtl"] .et-tier.is-on { translate: -7px 0; }
  .et-base { width: 104%; height: 14px; }
  .et-carrier__hint { margin-top: 15px; font-size: .8rem; }
  .et-panel { border-radius: 22px; }
  .et-panel__head { flex-wrap: wrap; padding: 15px 16px; }
  .et-panel__head > span { font-size: 1.05rem; }
  .et-panel__head em { font-size: .7rem; }
  .et-groups { padding-inline: 10px; }
  .et-row { grid-template-columns: 32px minmax(0, 1fr) auto; gap: 9px; padding: 10px 4px; }
  .et-row__no { width: 32px; height: 32px; }
  .et-row__txt p { overflow-wrap: anywhere; }
}
@media (max-width: 360px) {
  .et-carrier { width: calc(100% - 12px); }
  .et-tier { grid-template-columns: 30px minmax(0, 1fr) 18px; gap: 8px; padding-inline: 10px; }
  .et-tier__no { width: 30px; height: 30px; }
  .et-tier__txt b { font-size: .98rem; }
  .et-row { grid-template-columns: 28px minmax(0, 1fr); }
  .et-row > b { grid-column: 2; justify-self: start; }
  .et-row__no { width: 28px; height: 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .et-lid, .et-tier, .et-tier__ico { transition: none !important; }
}

/* =====================================================================
   FINAL FIX — keep the Evening Tiffin carrier intact at every breakpoint
   Mobile/tablet must retain the desktop serving-tray silhouette; only scale
   the tray down. Pointer clicks must not leave a browser focus outline.
   ===================================================================== */
.et-tier:focus:not(:focus-visible),
.et-lid:focus:not(:focus-visible) {
  outline: none !important;
}
.et-tier,
.et-lid {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.et-tier:hover,
.et-tier:focus-visible {
  transform: none;
}
.et-tier.is-on,
[dir="rtl"] .et-tier.is-on {
  translate: 0 0;
}

@media (max-width: 960px) {
  .et-carrier {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    justify-items: center;
    align-content: start;
    gap: 0;
    width: min(100%, 350px);
    max-width: 350px;
    margin: 0 auto;
    padding: 52px 0 0;
    overflow: visible;
  }
  .et-handle,
  .et-steam,
  .et-base,
  .et-lid__knob,
  .et-stack::before,
  .et-stack::after {
    display: block !important;
  }
  .et-handle {
    top: 4px;
    width: 58%;
    height: 66px;
    border-width: 8px;
  }
  .et-steam { top: -28px; }
  .et-lid {
    display: grid;
    width: 86%;
    min-height: 78px;
    margin: 0 0 8px;
    padding: 10px 14px;
    border-radius: 130px 130px 12px 12px;
  }
  .et-lid b { font-size: clamp(1.08rem, 4vw, 1.3rem); }
  .et-lid small { display: block; font-size: .64rem; }
  .et-stack {
    display: grid !important;
    width: 100%;
    gap: 7px;
  }
  .et-tier {
    display: grid;
    width: 100%;
    min-height: 72px;
    margin: 0;
    padding: 9px 13px;
    grid-template-columns: 34px minmax(0, 1fr) 20px;
    gap: 10px;
    border-radius: 16px;
  }
  .et-tier__no { width: 34px; height: 34px; }
  .et-tier__txt b { font-size: 1.05rem; }
  .et-tier__txt small { display: block; font-size: .68rem; }
  .et-tier__ico { display: block; font-size: 1.05rem; }
  .et-tier.is-on,
  [dir="rtl"] .et-tier.is-on { translate: 0 0; }
  .et-base {
    width: 104%;
    height: 14px;
    margin-top: 8px;
  }
  .et-carrier__hint {
    width: 100%;
    justify-content: center;
    margin: 15px 0 0;
    text-align: center;
  }
}

@media (max-width: 600px) {
  .et-carrier {
    width: calc(100% - 24px);
    max-width: 350px;
    padding-top: 49px;
  }
  .et-handle { width: 58%; height: 62px; border-width: 7px; }
  .et-lid { min-height: 74px; }
  .et-stack { gap: 7px; }
  .et-tier {
    min-height: 70px;
    grid-template-columns: 32px minmax(0, 1fr) 19px;
    gap: 9px;
    padding: 9px 12px;
  }
  .et-tier__no { width: 32px; height: 32px; font-size: 1.05rem; }
  .et-tier__txt b { font-size: 1rem; }
  .et-tier__txt small { font-size: .66rem; }
  .et-tier__ico { font-size: 1rem; }
  .et-base { width: 104%; height: 13px; }
  .et-carrier__hint { margin-top: 13px; font-size: .78rem; }
  #evening { scroll-margin-top: 170px; }
}

@media (max-width: 360px) {
  .et-carrier { width: calc(100% - 28px); }
  .et-tier {
    grid-template-columns: 30px minmax(0, 1fr) 17px;
    gap: 8px;
    padding-inline: 10px;
  }
  .et-tier__no { width: 30px; height: 30px; }
  .et-tier__txt b { font-size: .96rem; }
}


/* ===== HOME 2 responsive CTA + container refinements ===== */
.hx-w{width:min(var(--wrap),calc(100% - var(--pad)*2));margin-inline:auto}
.h2-hero__actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}
.h2-hero__actions .h2-story-btn,
.wt-cta .wt-link{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:12px 22px;border:1px solid var(--gold);border-radius:999px;color:#fff4dd;text-decoration:none;font-weight:600;line-height:1.2;transition:background .25s ease,color .25s ease,transform .25s ease}
.h2-hero__actions .h2-story-btn:hover,
.wt-cta .wt-link:hover{background:var(--gold);color:#17220f;transform:translateY(-2px)}
.h2-hero__actions .h2-story-btn i,
.wt-cta .wt-link i{font-size:.82em;color:var(--gold)}
.h2-hero__actions .h2-story-btn:hover i,
.wt-cta .wt-link:hover i{color:inherit}
.wt-cta{display:flex;align-items:center;flex-wrap:wrap;gap:12px}
.hx-btns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:stretch}
.hx-btns>.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;width:100%;min-width:0;min-height:52px;padding:14px 18px;text-align:center;white-space:normal}
.hx-visit{width:100%;min-width:0}
.hx-visit__b{min-width:0;box-sizing:border-box}
@media(max-width:991px){.hx-w{width:min(var(--wrap),calc(100% - var(--pad)*2))}.hx-visit__b{padding:clamp(24px,5vw,42px)}}
@media(max-width:640px){
  .hx-btns{grid-template-columns:1fr;gap:10px}
  .hx-btns>.btn{min-height:52px;width:100%;max-width:none}
  .h2-hero__actions{display:grid;grid-template-columns:1fr;gap:11px;width:min(100%,340px)}
  .h2-hero__actions>.btn,.h2-hero__actions>.h2-story-btn{width:100%;min-height:50px;justify-content:center}
  .wt-cta{display:grid;grid-template-columns:1fr;gap:10px;width:min(100%,340px)}
  .wt-cta>.btn,.wt-cta>.wt-link{width:100%;box-sizing:border-box;min-height:50px;justify-content:center}
  .hx-visit{border-radius:24px}
  .hx-visit__img{min-height:220px}
  .hx-visit__b{padding:24px 20px 26px}
  .hx-hours li{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:380px){.hx-visit__b{padding:21px 16px}.hx-btns>.btn{font-size:.9rem}}

/* ===== Final compact-screen alignment: breakfast notes + 320px header ===== */
@media (max-width: 640px) {
  .vs-bf__foot ul,
  .bc-strip {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    justify-items: stretch;
    align-items: start;
    width: fit-content;
    max-width: 100%;
    margin-inline: auto;
  }
  .vs-bf__foot ul {
    gap: 12px;
  }
  .vs-bf__foot ul li,
  .bc-strip li {
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr);
    align-items: start;
    justify-content: start;
    gap: 9px;
    width: 100%;
    text-align: start;
    line-height: 1.55;
  }
  .vs-bf__foot ul li i,
  .bc-strip li i {
    width: 18px;
    margin: 3px 0 0;
    text-align: center;
  }
  .vs-bf__foot ul { justify-content: start; }
  .bc-strip { justify-content: start; }
}

@media (max-width: 360px) {
  :root { --pad: 12px; }   /* one smaller gutter for header AND every section */
  .hdr__inner {
    gap: 4px;
  }
  .brand {
    flex: 0 1 auto;
    min-width: 0;
    gap: 5px;
  }
  .brand__mark {
    height: 28px;
    width: auto;
  }
  .brand__text {
    min-width: 0;
  }
  .brand__name {
    font-size: 1rem;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .hdr__tools {
    flex: none;
    gap: 4px;
    margin-inline-start: auto;
    margin-inline-end: 0;
  }
  .hdr__tools .icon-btn,
  .burger {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 13px;
  }
  .burger { --bsz: 30px; }
}


/* ===== 1024px–1279px: keep the exact desktop section layout =====
   Same columns, order and alignment as the 1440px desktop view; only the
   spacing/type is tightened a little so nothing wraps or collides. */
@media (min-width: 1024px) and (max-width: 1279px) {
  /* story card: text column wide enough for both buttons + stats on one row */
  .wt-table { grid-template-columns: minmax(360px, 4.6fr) 8fr; gap: 26px; padding: 34px 34px 40px; }
  .wt-cta { flex-wrap: nowrap; gap: 12px; }
  .wt-cta .btn, .wt-cta .wt-link { padding-inline: 20px; font-size: .92rem; white-space: nowrap; }
  .wt-n { max-width: 100%; }
  .wt .wt-h { font-size: clamp(2.6rem, 3.6vw, 3.4rem); }

  /* timeline day cards: roomier text side so dish names/descriptions stay on one line like desktop */
  .tt-c__in, .tt-c:nth-child(even) .tt-c__in { grid-template-columns: 1fr 1fr; }
  .tt-info { padding: 40px 34px; }
  .tt-dishes { column-gap: 22px; }
  .tt-dishes li { gap: 10px; }
  .tt-dishes strong { font-size: .95rem; white-space: nowrap; }
  .tt-dishes em { font-size: .78rem; }
  .tt-info h3 { font-size: clamp(2.3rem, 3.6vw, 3rem); }

  /* why-choose-us cards: keep 4 across with desktop padding */
  .hx-why { gap: 14px; }
  .hx-why > * { padding-inline: 18px; }
}

/* ===== Home 1 (index): 1024px–1279px keeps the desktop section headers =====
   Heading on the left, supporting text / button on the right, same as desktop. */
@media (min-width: 1024px) and (max-width: 1279px) {
  .vs-hr__head, .vs-cp__head { flex-wrap: nowrap; align-items: flex-end; justify-content: space-between; gap: 32px; }
  .vs-hr__head .vs-title, .vs-cp__head .vs-title { font-size: clamp(34px, 4.2vw, 52px); white-space: nowrap; flex: 0 0 auto; }
  .vs-hr__side { flex: 1 1 auto; min-width: 0; max-width: 400px; }
  .vs-cp__side { flex: 0 1 auto; flex-wrap: nowrap; gap: 18px; min-width: 0; }
  .vs-cp__side .vs-lead { font-size: .95rem; }
  .vs-cp__side .vs-btn { white-space: nowrap; flex: none; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  .vs-bf__foot { flex-wrap: nowrap; gap: 20px; padding-inline: 24px; }
  .vs-bf__foot ul { flex-wrap: nowrap; gap: 12px 22px; font-size: 13px; }
  .vs-bf__foot li { white-space: nowrap; }
  .vs-bf__foot .vs-btn { flex: none; white-space: nowrap; }
}
@media (min-width: 1024px) and (max-width: 1279px) {
  /* How we make it: photo + step list stay side by side, no overlap */
  .vs-lk__grid { grid-template-columns: minmax(0, 1.75fr) minmax(300px, .9fr); }
  .vs-lk__stage { min-width: 0; aspect-ratio: auto; min-height: 480px; }
  .vs-lk__head { grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 40px; }
}

/* ===== All pages: 1024px–1100px keeps the desktop column counts ===== */
@media (min-width: 1024px) and (max-width: 1279px) {
  .os-tf__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
  .os-tf { aspect-ratio: 3 / 4.1; }
  .mt__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); row-gap: 0; }
  .mx-tiles { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .mx-panels { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mx-gal--quad { grid-template-columns: 1.5fr 1fr 1fr 1fr; }
  .mx-gal--quad .mx-gal__f { height: clamp(220px, 26vw, 340px); }
}

/* ===== Menu page: Breakfast + Evening Tiffin at 1024px–1279px match the desktop look ===== */
@media (min-width: 1024px) and (max-width: 1279px) {
  /* Breakfast cards: tighter inner spacing so dish names + prices stay on one line like desktop */
  .bc-grid { gap: 18px; }
  .bc-card__list { padding: 8px 16px 14px; }
  .bc-dish { gap: 9px; padding: 12px 0; }
  .bc-dish h4 { font-size: 1.08rem; }
  .bc-dish p { font-size: .8rem; }
  .bc-dish b { padding: 3px 11px; font-size: .98rem; }
  .bc-card__title span { padding: 7px 22px; font-size: 1.08rem; }
  .bc-card__no { width: 38px; height: 38px; inset-block-start: 14px; inset-inline-start: 14px; }

  /* Evening Tiffin: lunchbox column slimmer, photo smaller, list gets the room (as on desktop) */
  .et-wrap { grid-template-columns: minmax(280px, 310px) minmax(0, 1fr); gap: 30px; }
  .et-carrier { width: min(100%, 310px); }
  .et-group { grid-template-columns: 150px minmax(0, 1fr); gap: 16px; padding: 12px 4px; }
  .et-groups { padding-inline: 10px; }
  .et-row { gap: 10px; padding: 10px 4px; }
  .et-row__no { width: 32px; height: 32px; font-size: .95rem; }
  .et-row h4, .et-row b { font-size: 1.02rem; }
}

/* ===== Menu page: Lunch, Dinner, Sweets at 1024px–1279px (compact so text stays on desktop-like lines) ===== */
@media (min-width: 1024px) and (max-width: 1279px) {
  /* Lunch: thali in the middle, dishes either side */
  .mx-thali { grid-template-columns: minmax(0, 1fr) 290px minmax(0, 1fr); gap: 22px; }
  .mx-side { gap: 10px; }
  .mx-dish { padding: 11px 13px; gap: 9px; border-radius: 14px; }
  .mx-dish h3 { font-size: 1rem; }
  .mx-dish p { font-size: .76rem; line-height: 1.35; }
  .mx-dish b { font-size: 1rem; }

  /* Dinner: three corner cards */
  .mx-row { gap: 9px; padding: 10px 0; }
  .mx-row__no { font-size: 1.25rem; }
  .mx-row h4 { font-size: 1rem; }
  .mx-row p { font-size: .78rem; line-height: 1.4; }
  .mx-row b { font-size: 1rem; }

  /* Sweets & drinks: narrower preview, roomier list */
  .sd-wrap { grid-template-columns: minmax(0, .72fr) minmax(0, 1.28fr); gap: 28px; }
  .sd-item { padding: 10px 12px; gap: 9px; }
  .sd-item__ico { width: 36px; height: 36px; font-size: .95rem; }
  .sd-list { gap: 10px; }
}

/* ===== HOME1 hero: one featured plate + a column of small selectable plates =====
   Scoped to .wt-hero so Home 2 is untouched. Wood table + copy are unchanged. */
.wt-hero .wt-field{aspect-ratio:auto;display:block;padding:0;min-width:0}
.wtx{position:relative;z-index:3;width:100%;display:grid;grid-template-columns:minmax(0,1fr) clamp(210px,33%,250px);grid-template-areas:"stage list" "nav list";column-gap:clamp(12px,2.4vw,34px);row-gap:clamp(18px,2.2vw,30px);align-items:center}
.wtx-stage{grid-area:stage;display:grid;place-items:center;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.wtx-list{grid-area:list;display:flex;flex-direction:column;align-items:stretch;justify-content:center;gap:clamp(12px,1.5vw,20px)}
.wtx-nav{grid-area:nav;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.4vw,16px)}
.wtx-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* featured plate */
.wtx-main{position:relative;width:max(210px,min(90%,440px,52vh));aspect-ratio:1;translate:calc(var(--dx,0)*12px) calc(var(--dy,0)*9px);transition:translate .35s ease-out}
.wtx-main.is-pop .wtx-plate .wt-pl{animation:wtxPop .75s cubic-bezier(.3,1.35,.5,1)}
.wtx-plate{position:absolute;inset:0;z-index:2;animation:wtxFloat 6.5s ease-in-out infinite}
.wtx-halo{position:absolute;inset:-20%;z-index:0;border-radius:50%;background:radial-gradient(closest-side,rgba(255,170,80,.36),rgba(255,150,60,.1) 62%,transparent 74%);animation:wtxPulse 4.6s ease-in-out infinite;pointer-events:none}
.wtx-orbit{position:absolute;inset:-5%;z-index:1;border-radius:50%;border:1.5px dashed rgba(247,215,124,.5);animation:wtxSpin 40s linear infinite;pointer-events:none}
.wtx-orbit::before{content:"";position:absolute;top:-5px;left:50%;width:9px;height:9px;margin-left:-4.5px;border-radius:50%;background:#FBE29A;box-shadow:0 0 14px 4px rgba(247,215,124,.8)}
.wtx-orbit::after{content:"";position:absolute;bottom:-4px;left:50%;width:6px;height:6px;margin-left:-3px;border-radius:50%;background:#F2B83F;box-shadow:0 0 10px 3px rgba(242,184,63,.7)}
.wtx .wt-food .wtx-f{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;opacity:0;transform:rotate(-26deg) scale(.78);transition:opacity .6s ease,transform .95s cubic-bezier(.2,.8,.2,1);will-change:transform,opacity}
.wtx .wt-food .wtx-f.is-on{opacity:1;transform:scale(var(--z,1))}
.wtx .wt-food .wtx-f.is-out{opacity:0;transform:rotate(26deg) scale(1.14)}
.wtx-main .wtx-steam{top:9%;z-index:5}
.wtx-main .wtx-steam::before,.wtx-main .wtx-steam::after{width:34px;height:64px}

/* small plates (column) */
.wtx-mini{position:relative;display:flex;align-items:center;gap:12px;width:100%;padding:6px 16px 6px 6px;border:0;border-radius:999px;background:linear-gradient(135deg,rgba(46,25,12,.82),rgba(18,9,4,.86));box-shadow:inset 0 0 0 1px rgba(247,215,124,.38),0 10px 18px rgba(0,0,0,.45);color:#FFF4DD;text-align:start;cursor:pointer;outline:0;transition:transform .45s cubic-bezier(.3,1.5,.5,1),box-shadow .3s;-webkit-tap-highlight-color:transparent}
.wtx-pl{position:relative;flex:none;width:clamp(60px,5.6vw,78px);aspect-ratio:1}
.wtx-mini.is-alt{width:auto;flex-direction:row-reverse;padding:6px 6px 6px 18px;margin-inline-start:clamp(14px,1.8vw,26px);text-align:end}
.wtx-mini.is-alt .wtx-txt{align-items:flex-end}
[dir="rtl"] .wtx-mini.is-alt{padding:6px 18px 6px 6px}
.wtx-txt{display:flex;flex-direction:column;gap:4px;min-width:0}
.wtx-txt b{font:600 1rem/1.15 var(--font-body);color:#FFF4DD}
.wtx-txt small{font:700 1rem/1 var(--font-body);color:var(--gold)}
.wtx-mini[hidden]{display:none}
.wtx-mini:hover,.wtx-mini:focus-visible{transform:translateX(-8px);box-shadow:inset 0 0 0 1px #FBE29A,0 0 20px 2px rgba(247,215,124,.35),0 10px 18px rgba(0,0,0,.45)}
.wtx-mini:focus-visible{outline:2px solid rgba(247,215,124,.7);outline-offset:3px}
.wtx-mini .wt-pl{box-shadow:inset 0 1px 1px rgba(255,255,255,.14),0 0 0 1.5px #b88c35,0 8px 12px rgba(0,0,0,.6);transition:box-shadow .35s}
.wtx-mini .wt-pl::before{inset:6%}
.wtx-mini .wt-food{inset:12%}
.wtx-list.is-shift .wtx-mini,.h2-js .wt-hero .wt-field.h2-in .wtx-list.is-shift .wtx-mini{animation:wtxSlot .55s cubic-bezier(.2,.8,.2,1) calc(var(--i)*.07s) backwards}

/* arrows + dots under the plate */
.wtx-arrow{flex:none;width:40px;height:40px;display:grid;place-items:center;padding:0;border-radius:50%;border:1px solid rgba(247,215,124,.6);background:rgba(23,11,4,.55);color:var(--gold);font-size:.85rem;cursor:pointer;transition:background .25s,color .25s,transform .25s}
.wtx-arrow:hover,.wtx-arrow:focus-visible{background:var(--gold);color:#1b1006;transform:scale(1.1);outline:0}
.wtx-arrow:focus-visible,.wtx-dot:focus-visible{box-shadow:0 0 0 3px rgba(247,215,124,.55)}
.wtx-dots{display:flex;align-items:center}
.wtx-dot{width:18px;height:26px;padding:0;border:0;border-radius:99px;background:none;display:grid;place-items:center;cursor:pointer;outline:0;transition:width .35s}
.wtx-dot i{display:block;position:relative;overflow:hidden;width:8px;height:8px;border-radius:99px;background:rgba(247,215,124,.4);transition:width .35s,background .3s}
.wtx-dot:hover i{background:rgba(247,215,124,.75)}
.wtx-dot.is-on{width:40px}
.wtx-dot.is-on i{width:32px;background:rgba(247,215,124,.35)}
.wtx-dot.is-on i::after{content:"";position:absolute;inset:0;border-radius:inherit;background:var(--gold);transform-origin:left center;transform:scaleX(0);animation:wtxFill 5.5s linear forwards}
.wtx.is-paused .wtx-dot.is-on i::after{animation-play-state:paused}
.wtx.is-static .wtx-dot.is-on i::after{animation:none;transform:none}

/* laid-and-served entrance */
.h2-js .wt-hero .wt-field.h2-in .wtx-main{animation:wtxIn .95s cubic-bezier(.2,.8,.2,1) .3s backwards}
.h2-js .wt-hero .wt-field.h2-in .wtx-mini{animation:wtxDrop .75s cubic-bezier(.2,.8,.2,1) calc(.65s + var(--i)*.1s) backwards}

@keyframes wtxFloat{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-9px) rotate(.8deg)}}
@keyframes wtxPulse{0%,100%{opacity:.75;transform:scale(.96)}50%{opacity:1;transform:scale(1.05)}}
@keyframes wtxSpin{to{transform:rotate(360deg)}}
@keyframes wtxPop{0%{transform:scale(.93)}55%{transform:scale(1.035)}100%{transform:scale(1)}}
@keyframes wtxFill{to{transform:scaleX(1)}}
@keyframes wtxIn{from{opacity:0;scale:.7;rotate:-14deg}}
@keyframes wtxDrop{from{opacity:0;translate:28px 0;scale:.7}}
@keyframes wtxSlot{from{opacity:0;translate:26px 0;scale:.8}}

[dir="rtl"] .wtx-arrow i{transform:scaleX(-1)}
[dir="rtl"] .wtx-mini{padding:6px 6px 6px 16px}
[dir="rtl"] .wtx-mini:hover,[dir="rtl"] .wtx-mini:focus-visible{transform:translateX(8px)}

@media(max-width:991px){.wtx{grid-template-columns:minmax(0,1fr) clamp(196px,31%,236px)}}
@media(max-width:720px){
  .wtx{grid-template-columns:minmax(0,1fr);grid-template-areas:"stage" "list" "nav";row-gap:22px;padding-top:6px}
  .wtx-main{width:min(72%,276px)}
  .wtx-list{flex-direction:row;gap:10px;padding-bottom:18px}
  .wtx-mini,[dir="rtl"] .wtx-mini{inset-inline-start:0;inset-block-start:calc(var(--zz,0)*18px);flex:1 1 0;width:auto;min-width:0;flex-direction:column;gap:8px;padding:12px 6px;border-radius:24px;text-align:center}
  .wtx-pl{width:clamp(56px,17vw,76px)}
  .wtx-mini.is-alt,[dir="rtl"] .wtx-mini.is-alt{flex-direction:column;margin-inline-start:0;padding:12px 6px;text-align:center}
  .wtx-txt,.wtx-mini.is-alt .wtx-txt{align-items:center}
  .wtx-txt b{font-size:.8rem}.wtx-txt small{font-size:.86rem}
  .wtx-mini:hover,.wtx-mini:focus-visible,[dir="rtl"] .wtx-mini:hover,[dir="rtl"] .wtx-mini:focus-visible{transform:translateY(-6px)}
  @keyframes wtxSlot{from{opacity:0;translate:0 18px;scale:.8}}
  @keyframes wtxDrop{from{opacity:0;translate:0 18px;scale:.7}}
}
@media(max-width:560px){.wtx-dot{width:14px}.wtx-dot.is-on{width:34px}.wtx-dot.is-on i{width:26px}.wtx-arrow{width:36px;height:36px}}
@media(prefers-reduced-motion:reduce){
  .wtx *,.wtx *::before,.wtx *::after{animation:none!important;transition-duration:.01s!important}
  .wtx .wt-steam{display:none}
}

/* Home 1 hero: same height as the other page heroes (Home 2 / Menu / Story / Contact), copy block stays as is */
@media(min-width:992px){.wt-hero .wt-table{min-height:clamp(560px,44vw,640px)}}
.wt-note{display:flex;align-items:center;gap:13px;margin-top:38px}
.wt-note__mark{flex:none;width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(247,215,124,.55);border-radius:50%;color:#f4c65d;font-size:19px}
.wt-note b,.wt-note small{display:block}
.wt-note b{font:600 1.05rem var(--font-head);color:#fff4dd}
.wt-note small{margin-top:3px;font-size:.8rem;color:#E9DDBE}
@media(max-width:720px){.wt-note{margin-top:26px}}


/* === Virundhu Spot: richer shared footer === */
.ftr { position:relative; overflow:hidden; color:rgba(255,244,221,.82); background:#06190d; font-size:.9375rem; }
.ftr::before { content:""; display:block; height:3px; background:linear-gradient(90deg,transparent 0%,var(--gold) 18%,#f7d98c 50%,var(--gold) 82%,transparent 100%); }
.ftr__invite { position:relative; isolation:isolate; width:min(100% - 2 * var(--pad),var(--wrap)); margin:0 auto; padding:clamp(25px,4vw,42px) clamp(22px,3vw,38px); display:flex; align-items:center; justify-content:space-between; gap:28px; border:1px solid rgba(242,184,63,.28); border-top:0; border-radius:0 0 20px 20px; background:linear-gradient(110deg,rgba(242,184,63,.12),rgba(242,184,63,.035) 54%,rgba(255,255,255,.025)); }
.ftr__invite-copy { position:relative; z-index:1; }
.ftr__eyebrow { display:inline-flex; align-items:center; gap:8px; color:var(--gold-soft); font-size:.76rem; font-weight:800; letter-spacing:.15em; text-transform:uppercase; }
.ftr__invite h2 { margin:10px 0 0; color:#fff6e4; font:700 clamp(1.45rem,2.7vw,2.25rem)/1.16 var(--font-head); letter-spacing:-.025em; }
.ftr__invite h2 em { color:var(--gold-soft); font-style:italic; }
.ftr__invite-btn { position:relative; z-index:1; flex:0 0 auto; display:inline-flex; align-items:center; gap:14px; padding:14px 20px; border-radius:999px; background:var(--gold-soft); color:#14200f!important; font-weight:800; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.18); transition:transform .2s ease,background .2s ease; }
.ftr__invite-btn:hover { transform:translateY(-3px); background:#ffe6a8; }
.ftr__ornament { position:absolute; z-index:-1; right:28%; top:50%; transform:translateY(-50%); color:rgba(242,184,63,.10); font-size:clamp(5rem,12vw,9rem); line-height:1; }
.ftr__wrap { width:min(100% - 2 * var(--pad),var(--wrap)); margin-inline:auto; display:grid; grid-template-columns:1.55fr .8fr 1fr 1.25fr; gap:clamp(26px,4vw,58px); padding-block:clamp(42px,5vw,62px); }
.ftr__brand-col { max-width:360px; }
.ftr__about { margin:16px 0 19px; max-width:34ch; color:rgba(255,244,221,.72); line-height:1.8; }
.ftr h3 { margin:4px 0 19px; color:var(--gold-soft); font:700 1.18rem/1.2 var(--font-head); letter-spacing:.01em; }
.ftr__nav ul,.ftr__visit ul { margin:0; padding:0; list-style:none; }
.ftr li+li { margin-top:12px; }
.ftr a { text-decoration:none; transition:color .2s ease,transform .2s ease; }
.ftr__nav li a { display:inline-flex; align-items:center; color:rgba(255,244,221,.78); line-height:1.5; }
.ftr__nav li a::before { content:""; width:5px; height:5px; margin-right:10px; border-radius:50%; background:rgba(242,184,63,.62); transition:transform .2s ease,background .2s ease; }
.ftr__nav li a:hover { color:var(--gold-soft); transform:translateX(3px); }
.ftr__nav li a:hover::before { transform:scale(1.5); background:var(--gold-soft); }
.ftr__visit li a { display:flex; align-items:flex-start; gap:12px; color:rgba(255,244,221,.8); line-height:1.55; overflow-wrap:anywhere; }
.ftr__visit li a i { flex:0 0 16px; margin-top:4px; color:var(--gold-soft); }
.ftr__visit li a:hover { color:var(--gold-soft); }
.ftr__social { display:flex; gap:10px; }
.ftr__social a { display:grid; place-items:center; width:40px; height:40px; border:1px solid rgba(242,184,63,.42); border-radius:50%; color:var(--gold-soft); background:rgba(255,255,255,.025); transition:transform .22s ease,background .22s ease,color .22s ease; }
.ftr__social a:hover { background:var(--gold-soft); color:#07180c; transform:translateY(-4px); }
.ftr__promise { display:inline-flex; align-items:center; gap:8px; margin-top:17px; color:rgba(255,244,221,.58); font-size:.76rem; letter-spacing:.025em; }
.ftr__promise i { color:var(--gold-soft); }
.ftr__directions { display:inline-flex; align-items:center; gap:9px; margin-top:21px; padding:10px 14px; border:1px solid rgba(242,184,63,.35); border-radius:8px; color:var(--gold-soft)!important; font-size:.84rem; font-weight:700; }
.ftr__directions:hover { background:rgba(242,184,63,.1); }
.ftr__bar { border-top:1px solid rgba(242,184,63,.19); background:rgba(0,0,0,.13); }
.ftr__bar p { width:min(100% - 2 * var(--pad),var(--wrap)); margin:0 auto; padding-block:17px; display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:8px 22px; color:rgba(255,244,221,.56); font-size:.8rem; }
.ftr__bar p i { color:var(--gold-soft); font-size:.72rem; }
.ftr__bar a { color:var(--gold-soft); font-weight:700; }
@media(max-width:960px) { .ftr__wrap { grid-template-columns:1.2fr 1fr; gap:34px 42px; } .ftr__brand-col { max-width:440px; } }
@media(max-width:600px) { .ftr__invite { align-items:flex-start; flex-direction:column; gap:18px; padding:25px 20px; } .ftr__invite-btn { padding:12px 17px; } .ftr__wrap { grid-template-columns:1fr 1fr; gap:30px 22px; padding-block:36px; } .ftr__brand-col { grid-column:1/-1; max-width:none; } .ftr__about { max-width:42ch; } .ftr h3 { margin-bottom:13px; font-size:1.08rem; } .ftr__visit li a { gap:8px; font-size:.88rem; } .ftr__bar p { justify-content:flex-start; } }
@media(max-width:380px) { .ftr__wrap { grid-template-columns:1fr; } .ftr__brand-col { grid-column:auto; } }
@media(prefers-reduced-motion:reduce) { .ftr a,.ftr__social a,.ftr__invite-btn { transition:none; } }

/* ===== Footer alignment: use the exact same page gutter and content width as the header ===== */
.hdr__inner,
.ftr__invite,
.ftr__wrap,
.ftr__bar p {
  width: min(calc(100% - (2 * var(--pad))), var(--wrap));
  margin-inline: auto;
}
.ftr__social {
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.ftr__social a {
  flex: 0 0 40px;
}
@media (max-width: 600px) {
  .ftr__invite, .ftr__wrap, .ftr__bar p {
    width: min(calc(100% - (2 * var(--pad))), var(--wrap));
  }
}

/* ---- Contact: phone field label never overlaps its example number ---- */
.ct-f input[type=tel]{padding-inline:15px}
.ct-f input[type=tel]~label,.ct-enquiry-wrap .ct-form .ct-f input[type=tel]~label{top:7px;font-size:.7rem;color:var(--gold-text);z-index:1}
.ct-enquiry-wrap .ct-form .ct-f input[type=tel]~label{color:#9a6818;font-size:.68rem}
.ct-f input[type=tel]::placeholder{opacity:1;color:#8a7d66}
[data-theme="dark"] .ct-f input[type=tel]~label,[data-theme="dark"] .ct-enquiry-wrap .ct-form .ct-f input[type=tel]~label{color:var(--gold-text)}
[data-theme="dark"] .ct-f input::placeholder,[data-theme="dark"] .ct-f textarea::placeholder{opacity:1;color:#b9ad92}
[data-theme="dark"] .ct-f input[type=tel]::placeholder{color:#c7b99c}

/* =====================================================================
   UNIFIED HERO SYSTEM — every page hero shares one height + one gutter
   Pages: index (#home-hero), home2 (.h2-hero), menu (.mh),
          our-story (.os-hr), contact (.cth)
   ===================================================================== */
:root {
  --hero-h: 560px;                         /* mobile / tablet floor */
  --hero-pad-y: clamp(24px, 2.6vw, 36px);    /* same top/bottom breathing room on all heroes */
}
@media (min-width: 992px) {
  :root { --hero-h: clamp(700px, 52vw, 780px); }   /* identical on every page at desktop */
}
.hx.wt.wt-hero,
.h2-hero,
.mh,
.os-hr,
.cth {
  box-sizing: border-box;
  min-height: var(--hero-h);
  display: flex;
  align-items: center;
  padding-block: var(--hero-pad-y);
}
.h2-hero { padding-block: 0; }   /* its inner block carries its own spacing */
/* inner wrappers fill the hero width and use the exact header gutter */
.hx.wt.wt-hero > .hx-w,
.mh > .container,
.os-hr > .container,
.cth > .container {
  width: min(100% - 2 * var(--pad), var(--wrap));
  margin-inline: auto;
}
.h2-hero .h2-hero__inner {
  width: min(100% - 2 * var(--pad), var(--wrap));
  padding-block: clamp(36px, 5vw, 64px) clamp(84px, 7vw, 96px);   /* room for the scroll cue + index */
}
.h2-hero__stamp, .h2-hero__index { right: max(var(--pad), calc((100vw - var(--wrap)) / 2)); }
.h2-scroll { left: max(var(--pad), calc((100vw - var(--wrap)) / 2)); }
@media (max-width: 991px) {
  .h2-hero, .cth { min-height: var(--hero-h); }
}
