.elementor-632 .elementor-element.elementor-element-mv00036{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00035{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00002{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00007{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00011{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00010{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0000d{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0000a{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0000c{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0000f{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00013{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00015{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0001d{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00018{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0001c{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0001f{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00034{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00031{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00030{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00023{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00026{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv00029{--display:flex;}.elementor-632 .elementor-element.elementor-element-mv0002c{--display:flex;}:root{--page-title-display:none;}/* Start custom CSS *//* ManaVindhu /v2 — "The Bhojanam Round": the leaf laid down, the plate turning on it, katoris set around.
   Every rule is scoped under .v2-v2.v2-v2 so nothing reaches other pages or the shared kit. */

.v2-v2.v2-v2 {
  /* the leaf and the cream */
  --leaf-pale: #eef4e3;
  --leaf: #dce9c8;
  --leaf-mid: #c9dcae;
  --leaf-deep: #b1c993;
  --cream: #fdfbf4;
  --paper: #ffffff;

  /* the greens */
  --green: #246024;            /* the logo's own green */
  --green-lit: #2f7d33;
  --green-deep: #14361a;       /* top bar and footer: the one dark anchor */

  /* ink */
  --ink: #17321a;
  --ink-soft: #4c6a4e;
  --placeholder: #5d7460;
  --on-dark: #eef4e3;
  --on-dark-soft: #b9cfb4;

  /* the one action colour, from the logo */
  --orange: #ef7207;
  --orange-lit: #ff8c2b;
  --orange-ink: #a34a00;       /* orange that holds AA as small text on cream */
  --orange-display: #e26a03;   /* the same orange for large text (>=24px, or 19px bold): 3.2:1 on cream */
  --on-orange: #241002;

  /* steel: rims, katori rings, the plate's edge */
  --steel: #b8c1b5;
  --steel-dark: #8e998c;
  --steel-lit: #e9eee6;

  --error: #b3261e;
  --error-text: #8f1a13;

  --f-display: "Baloo Tammudu 2", "Hind Guntur", Georgia, serif;
  --f-body: "Hind Guntur", "Hind", system-ui, sans-serif;

  --max: 1320px;
  --gutter: clamp(16px, 4.2vw, 56px);
  --pad-inline: max(var(--gutter), calc((100% - var(--max)) / 2));
  --sec: clamp(72px, 9vw, 136px);
  --u: 8px;
  --ease: cubic-bezier(.16, 1, .3, 1);

  /* round is the governing shape */
  --r-pill: 999px;
  --r-card: 28px;
  --r-panel: 20px;
  --r-img: 18px;
  --r-field: 12px;

  /* things are set down on the leaf: every shadow has an offset and a soft blur */
  /* a raised thing has a field, a steel hairline and the one light; only the plate and the
     katoris are genuinely lifted off the leaf, and only they carry a cast shadow. */
  --rim: inset 0 0 0 1px rgba(142,153,140,.5);
  --rim-lit: inset 0 0 0 1px rgba(142,153,140,.5), inset 0 1.5px 0 rgba(255,255,255,.9);
  --rim-strong: inset 0 0 0 1.5px rgba(142,153,140,.72), inset 0 2px 0 rgba(255,255,255,.95);

  --leafrib: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='28'%3E%3Cg fill='none' stroke='%23246024' stroke-width='1.3' stroke-linecap='round'%3E%3Cpath d='M0 14h96'/%3E%3Cpath d='M4 14 22 3M28 14 46 3M52 14 70 3M76 14 94 3M4 14 22 25M28 14 46 25M52 14 70 25M76 14 94 25' opacity='.7'/%3E%3C/g%3E%3C/svg%3E");
  --star: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1.8l3.1 6.6 7.2.9-5.3 5 1.4 7.1L12 18l-6.4 3.4L7 14.3l-5.3-5 7.2-.9z'/%3E%3C/svg%3E");

  background: var(--leaf-pale);
  color: var(--ink);
  font-family: var(--f-body);
  font-size: 1.0625rem;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  font-kerning: normal;
  caret-color: var(--green);
  scroll-behavior: smooth;
}
html:has(.v2-v2) { scroll-behavior: smooth; scroll-padding-top: 104px; background: #eef4e3; }
html:has(.v2-v2) body { background: #eef4e3 !important; padding: 0 !important; margin: 0; overflow-x: clip; }
.v2-v2.v2-v2 .elementor-button { white-space: normal; }

/* ---- the outer (top-level) container only hosts the wrapper ---- */
.elementor-page .e-parent:has(> .v2-v2) { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px; --row-gap: 0px; --column-gap: 0px; --width: 100%; --content-width: 100%; }
.v2-v2.v2-v2 { --width: 100%; --content-width: 100%; --overflow: clip; overflow-x: clip; }
.v2-v2.v2-v2 > .e-con { max-width: 100%; min-width: 0; }

/* ---- neutralise Elementor container defaults inside the page ---- */
.v2-v2.v2-v2 .e-con.e-child { --width: auto; --min-height: 0; }
.v2-v2.v2-v2 .e-con { --content-width: 100%; }
.v2-v2.v2-v2, .v2-v2.v2-v2 .e-con {
  --padding-top: 0px; --padding-right: 0px; --padding-bottom: 0px; --padding-left: 0px;
  --row-gap: 0px; --column-gap: 0px;
  --widgets-spacing: 0px 0px; --widgets-spacing-row: 0px; --widgets-spacing-column: 0px;
  --kit-widget-spacing: 0px;
  --container-max-width: 100%;
}
.v2-v2.v2-v2 .elementor-widget-text-editor p { margin: 0 0 .8em; }
.v2-v2.v2-v2 .elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.v2-v2.v2-v2 ul { margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 img { display: block; max-width: 100%; height: auto; }

/* ---- browser surfaces ---- */
.v2-v2.v2-v2 ::selection { background: var(--orange); color: var(--on-orange); }
.v2-v2.v2-v2 a { color: inherit; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .22em; text-decoration-color: rgba(36,96,36,.42); transition: color .2s, text-decoration-color .2s; }
.v2-v2.v2-v2 a:hover { color: var(--green); text-decoration-color: currentColor; }
.v2-v2.v2-v2 :focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; border-radius: 6px; }
.v2-v2.v2-v2 .v2-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
html:has(.v2-v2) { scrollbar-color: #9ab68c #dfe9d2; }
.v2-v2.v2-v2 [lang="te"] { font-family: "Hind Guntur", var(--f-body); }

/* ---- type ---- */
.v2-v2.v2-v2 .elementor-heading-title {
  font-family: var(--f-display); font-weight: 700; color: inherit; margin: 0;
  line-height: 1.06; letter-spacing: -.015em; text-wrap: balance;
}
/* Baloo carries a deep line box, so the title-to-lede gap is small on paper and reads as ~18px */
.v2-v2.v2-v2 .v2-sechead { display: grid; gap: 2px; max-width: 46rem; margin-bottom: clamp(26px, 3.2vw, 40px); }
.v2-v2.v2-v2 .v2-sechead--mid { max-width: 42rem; margin-inline: auto; text-align: center; justify-items: center; }
.v2-v2.v2-v2 .v2-sechead__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-thali__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-story__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-catering__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-gallery__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-visit__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-faq__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-pledge__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-rewards__title .elementor-heading-title { font-size: clamp(2rem, 4vw, 3.5rem); }
.v2-v2.v2-v2 .v2-sechead__lede { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--ink-soft); max-width: 38rem; }

/* ---- buttons: round, and every state is drawn ---- */
.v2-v2.v2-v2 .v2-btn .elementor-button {
  display: inline-flex; align-items: center; gap: .6em;
  font-family: var(--f-body); font-weight: 600; font-size: 1rem; letter-spacing: .005em; line-height: 1;
  padding: 1.12em 1.9em .98em; border-radius: var(--r-pill); text-decoration: none; min-height: 52px;
  transition: background-color .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease), transform .22s var(--ease);
}
.v2-v2.v2-v2 .v2-btn--primary .elementor-button { background: var(--orange); color: var(--on-orange); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
.v2-v2.v2-v2 .v2-btn--primary .elementor-button:hover { background: var(--orange-lit); color: var(--on-orange); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
.v2-v2.v2-v2 .v2-btn--primary .elementor-button:active { transform: translateY(0); box-shadow: inset 0 2px 5px rgba(0,0,0,.22); }
.v2-v2.v2-v2 .v2-btn--pill .elementor-button { background: transparent; color: var(--orange-ink); box-shadow: inset 0 0 0 1.75px var(--orange); }
.v2-v2.v2-v2 .v2-btn--pill .elementor-button:hover { background: var(--orange); color: var(--on-orange); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
.v2-v2.v2-v2 .v2-btn--pill .elementor-button:active { transform: translateY(0); }
.v2-v2.v2-v2 .v2-btn--line .elementor-button { background: transparent; color: var(--green); box-shadow: inset 0 0 0 1.75px var(--green); }
.v2-v2.v2-v2 .v2-btn--line .elementor-button:hover { background: var(--green); color: var(--cream); box-shadow: inset 0 0 0 1.75px var(--green); }
.v2-v2.v2-v2 .v2-btn--line-dark .elementor-button { background: transparent; color: var(--ink); box-shadow: inset 0 0 0 1.75px rgba(23,50,26,.4); }
.v2-v2.v2-v2 .v2-btn--line-dark .elementor-button:hover { background: var(--ink); color: var(--cream); box-shadow: inset 0 0 0 1.75px var(--ink); }
.v2-v2.v2-v2 .v2-btn--text .elementor-button,
.v2-v2.v2-v2 .v2-btn--text-dark .elementor-button { background: transparent; padding-inline: 0; min-height: 44px; border-radius: 4px; color: var(--ink); box-shadow: inset 0 -1.75px 0 rgba(23,50,26,.3); padding-bottom: .58em; padding-top: .7em; }
.v2-v2.v2-v2 .v2-btn--text .elementor-button:hover,
.v2-v2.v2-v2 .v2-btn--text-dark .elementor-button:hover { color: var(--orange-ink); box-shadow: inset 0 -1.75px 0 var(--orange); }
.v2-v2.v2-v2 .v2-btn--text .elementor-button::after,
.v2-v2.v2-v2 .v2-btn--text-dark .elementor-button::after { content: ""; width: 1.1em; height: .7em; background: currentColor; transition: transform .25s var(--ease);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M0 5.5h16M11.5 1 16 5.5 11.5 10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 11'%3E%3Cpath d='M0 5.5h16M11.5 1 16 5.5 11.5 10' fill='none' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center/contain no-repeat; }
.v2-v2.v2-v2 .v2-btn--ext .elementor-button::after { content: ""; width: .82em; height: .82em; background: currentColor; flex: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5H2.5v11h11v-4'/%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 7.5 8.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5H2.5v11h11v-4'/%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 7.5 8.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.v2-v2.v2-v2 .v2-nav__list a[target="_blank"]::after { content: ""; display: inline-block; width: .62em; height: .62em; margin-left: .42em; vertical-align: .02em; background: currentColor; opacity: .7;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5H2.5v11h11v-4'/%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 7.5 8.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 2.5H2.5v11h11v-4'/%3E%3Cpath d='M9.5 2.5h4v4M13.5 2.5 7.5 8.5'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat; }
.v2-v2.v2-v2 .v2-btn--text .elementor-button:hover::after,
.v2-v2.v2-v2 .v2-btn--text-dark .elementor-button:hover::after { transform: translateX(4px); }

/* ---- the status katori / plate: one lamp, and the state is spelled out ---- */
.v2-v2.v2-v2 .v2-status {
  display: inline-flex; align-items: center; gap: 12px; padding: 11px 20px 10px 14px; border-radius: var(--r-pill);
  background: var(--cream); color: var(--ink); box-shadow: var(--rim-lit);
}
.v2-v2.v2-v2 .v2-status__lamp { width: 15px; height: 15px; border-radius: 50%; flex: none;
  background: var(--steel); box-shadow: inset 0 0 0 1.5px var(--steel-dark); }
.v2-v2.v2-v2 [data-state="open"] .v2-status__lamp { background: var(--green-lit); box-shadow: inset 0 0 0 1.5px var(--green), 0 0 0 4px rgba(47,125,51,.18); }
.v2-v2.v2-v2 [data-state="soon"] .v2-status__lamp,
.v2-v2.v2-v2 [data-state="rest"] .v2-status__lamp { background: var(--orange); box-shadow: inset 0 0 0 1.5px var(--orange-ink), 0 0 0 4px rgba(239,114,7,.16); }
.v2-v2.v2-v2 .v2-status__text { display: grid; line-height: 1.15; }
.v2-v2.v2-v2 .v2-status__label { font-family: var(--f-display); font-weight: 700; font-size: 1.1875rem; color: var(--ink); }
.v2-v2.v2-v2 .v2-status__detail { font-size: .8125rem; font-weight: 500; color: var(--ink-soft); font-variant-numeric: tabular-nums; }
.v2-v2.v2-v2 .v2-status--small { padding: 9px 16px 8px 12px; }
.v2-v2.v2-v2 .v2-status--small .v2-status__label { font-size: 1.0625rem; }

/* ---- top bar ---- */
.v2-v2.v2-v2 .v2-bar { --padding-top: 9px; --padding-right: var(--pad-inline); --padding-bottom: 7px; --padding-left: var(--pad-inline); background: var(--green-deep); font-size: .875rem; color: var(--on-dark-soft); }
.v2-v2.v2-v2 .v2-bar__text p { display: flex; justify-content: center; align-items: center; gap: 14px; flex-wrap: wrap; }
.v2-v2.v2-v2 .v2-bar__text a { text-decoration: none; color: var(--on-dark-soft); }
.v2-v2.v2-v2 .v2-bar__text a:hover { color: var(--cream); }
.v2-v2.v2-v2 .v2-bar__sep { width: 5px; height: 5px; border-radius: 50%; background: var(--orange); }

/* ---- header: a painted cart panel at rest, the vitrine glass once the page moves under it ---- */
.v2-v2.v2-v2 .v2-header {
  position: sticky; top: 0; z-index: 50; --flex-direction: row; --align-items: center; --justify-content: space-between; --column-gap: 24px;
  --padding-top: 12px; --padding-right: var(--pad-inline); --padding-bottom: 12px; --padding-left: var(--pad-inline);
  background: var(--leaf); border-bottom: 1px solid transparent;
  transition: background-color .32s var(--ease), border-color .32s var(--ease), box-shadow .32s var(--ease), backdrop-filter .32s var(--ease);
}
.v2-v2.v2-v2 .v2-header.is-glass {
  background: rgba(238,244,227,.78);
  -webkit-backdrop-filter: blur(16px) saturate(1.4);
          backdrop-filter: blur(16px) saturate(1.4);
  border-bottom-color: rgba(36,96,36,.16);
  box-shadow: 0 1px 0 rgba(255,255,255,.75) inset;
}
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
  .v2-v2.v2-v2 .v2-header.is-glass { background: rgba(238,244,227,.97); }
}
.admin-bar .v2-v2.v2-v2 .v2-header { top: 32px; }
.v2-v2.v2-v2 .v2-fonts { position: absolute; width: 0; height: 0; overflow: hidden; }
.v2-v2.v2-v2 .v2-header__logo { width: auto; flex: none; }
.v2-v2.v2-v2 .v2-header__logo a { display: block; border-radius: 10px; }
.v2-v2.v2-v2 .v2-header__logo img { width: 162px; height: auto; }
.v2-v2.v2-v2 .v2-header__nav { width: auto; flex: 1 1 auto; display: flex; justify-content: center; }
.v2-v2.v2-v2 .v2-nav__list { display: flex; gap: clamp(6px, 1.1vw, 14px); align-items: center; }
/* Hind Guntur's Latin letters ride high in its tall line box: 11/6 puts the ink on the pill's centre line (measured 2026-09-27) */
.v2-v2.v2-v2 .v2-nav__list a { display: block; padding: 11px 14px 6px; border-radius: var(--r-pill); font-weight: 500; font-size: 1rem; text-decoration: none; color: var(--ink);
  transition: background-color .22s var(--ease), color .22s var(--ease); }
.v2-v2.v2-v2 .v2-nav__list a:hover { background: rgba(36,96,36,.1); color: var(--green); }
.v2-v2.v2-v2 .v2-nav__list a[aria-current="page"] { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .v2-nav__toggle { display: none; }

/* ---- the drop-downs (Menu, Services). The parent stays a real link; the panel opens on hover or focus. ---- */
.v2-v2.v2-v2 .v2-nav__has-sub { position: relative; }
.v2-v2.v2-v2 .v2-nav__row { display: flex; align-items: center; }
.v2-v2.v2-v2 .v2-nav__more { all: unset; display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 30px; margin-left: -8px; cursor: pointer; border-radius: 8px; }
.v2-v2.v2-v2 .v2-nav__more:focus-visible { outline: 2.5px solid var(--green); outline-offset: 1px; }
.v2-v2.v2-v2 .v2-nav__chev { width: 7px; height: 7px; border-right: 1.8px solid currentColor; border-bottom: 1.8px solid currentColor; transform: translateY(-2px) rotate(45deg); opacity: .65; transition: transform .18s var(--ease); }
.v2-v2.v2-v2 .v2-nav__here > .v2-nav__row > a { background: rgba(36,96,36,.1); color: var(--green); }
.v2-v2.v2-v2 .v2-nav__sub { position: absolute; top: 100%; left: 0; z-index: 70; min-width: 250px; padding: 8px; margin-top: 2px;
  background: var(--cream); border-radius: var(--r-panel); box-shadow: var(--rim-lit), 0 18px 40px -18px rgba(20,54,26,.5);
  opacity: 0; visibility: hidden; transform: translateY(-6px); transition: opacity .16s var(--ease), transform .16s var(--ease), visibility .16s; }
.v2-v2.v2-v2 .v2-nav__has-sub:hover > .v2-nav__sub,
.v2-v2.v2-v2 .v2-nav__has-sub:focus-within > .v2-nav__sub { opacity: 1; visibility: visible; transform: translateY(0); }
.v2-v2.v2-v2 .v2-nav__has-sub:hover .v2-nav__chev, .v2-v2.v2-v2 .v2-nav__has-sub:focus-within .v2-nav__chev { transform: translateY(2px) rotate(225deg); }
.v2-v2.v2-v2 .v2-nav__sub a { padding: 11px 12px 7px; font-size: .9375rem; font-weight: 500; white-space: nowrap; }
/* the panel must not vanish while the pointer crosses the 2px gap to it */
.v2-v2.v2-v2 .v2-nav__has-sub::after { content: ""; position: absolute; top: 100%; left: 0; right: 0; height: 8px; }
@media (hover: none) { .v2-v2.v2-v2 .v2-nav__has-sub:hover > .v2-nav__sub { opacity: 0; visibility: hidden; } }
/* on desktop the pill wraps the label and its chevron together, so the chevron sits inside the box */
@media (min-width: 1025px) {
  .v2-v2.v2-v2 .v2-nav__row { border-radius: var(--r-pill); transition: background-color .22s var(--ease), color .22s var(--ease); }
  .v2-v2.v2-v2 .v2-nav__has-sub > .v2-nav__row > a { padding-right: 4px; background: none; }
  .v2-v2.v2-v2 .v2-nav__has-sub > .v2-nav__row > .v2-nav__more { width: 18px; margin: 0; padding-right: 10px; }
  .v2-v2.v2-v2 .v2-nav__has-sub:hover > .v2-nav__row,
  .v2-v2.v2-v2 .v2-nav__has-sub:focus-within > .v2-nav__row,
  .v2-v2.v2-v2 .v2-nav__here > .v2-nav__row { background: rgba(36,96,36,.1); color: var(--green); }
  .v2-v2.v2-v2 .v2-nav__has-sub:hover > .v2-nav__row > a,
  .v2-v2.v2-v2 .v2-nav__has-sub:focus-within > .v2-nav__row > a { color: var(--green); }
  .v2-v2.v2-v2 .v2-nav__has-sub[aria-current="page"] > .v2-nav__row,
  .v2-v2.v2-v2 .v2-nav__has-sub > .v2-nav__row:has(> a[aria-current="page"]) { background: var(--green); color: var(--cream); }
  .v2-v2.v2-v2 .v2-nav__has-sub > .v2-nav__row > a[aria-current="page"] { color: var(--cream); }
}

.v2-v2.v2-v2 .v2-header__cta { width: auto; flex: none; }
/* white on orange in the header (owner's call 2026-09-27; 2.9:1, carried by the 600 weight). Padding measured on the rendered
   ink: Hind Guntur sits high in its line box, so the top pad is ~.3em larger than the bottom to centre the letters. */
.v2-v2.v2-v2 .v2-header__cta .elementor-button,
.v2-v2.v2-v2 .v2-header__cta .elementor-button:hover { color: #fff; }
.v2-v2.v2-v2 .v2-header__cta .elementor-button { padding: 1.02em 1.5em .7em; min-height: 46px; }

/* ---- hero: the leaf on the left, the round on the right ---- */
.v2-v2.v2-v2 .v2-hero {
  --display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  --padding-top: clamp(28px, 3.6vw, 60px); --padding-bottom: clamp(44px, 4.6vw, 76px);
  --padding-left: var(--pad-inline); --padding-right: clamp(16px, 2.4vw, 36px);
  column-gap: clamp(20px, 2.6vw, 48px); align-items: center;
}
.v2-v2.v2-v2 .v2-hero__title .elementor-heading-title { font-size: clamp(2.375rem, 5.2vw, 4.75rem); line-height: 1; letter-spacing: -.025em; color: var(--ink); max-width: 14ch; }
.v2-v2.v2-v2 .v2-hero__lede { margin-top: clamp(16px, 1.8vw, 24px); max-width: 33rem; font-size: clamp(1rem, 1.15vw, 1.125rem); color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-hero__cta { margin-top: clamp(24px, 2.6vw, 34px); --display: grid; --row-gap: 18px; --width: fit-content; width: fit-content; max-width: 100%; justify-items: center; }
.v2-v2.v2-v2 .v2-hero__actions { --flex-direction: row; --flex-wrap: wrap; --align-items: center; --row-gap: 10px; --column-gap: 22px; }
.v2-v2.v2-v2 .v2-hero__actions > .elementor-widget { width: auto; }
/* Hind Guntur's tall Telugu metrics lift Latin text ~2px above centre; drop it back to the middle of the pill */
.v2-v2.v2-v2 .v2-hero__actions .v2-btn .elementor-button { padding-top: calc(1.12em + 2px); padding-bottom: calc(.98em - 2px); }
.v2-v2.v2-v2 .v2-hero__actions .v2-btn--primary .elementor-button,
.v2-v2.v2-v2 .v2-hero__actions .v2-btn--primary .elementor-button:hover { color: #fff; }
.v2-v2.v2-v2 .v2-hero__telugu { width: auto; margin: 0; font-size: .9375rem; line-height: 1.3; color: var(--ink-soft); text-align: center; }
.v2-v2.v2-v2 .v2-hero__telugu [lang="te"] { font-size: 1.25rem; font-weight: 600; color: var(--green); margin-right: .35em; }

.v2-v2.v2-v2 .v2-hero__round { --display: grid; justify-items: center; align-content: center; --row-gap: clamp(6px, 1vw, 18px); }
/* the round's reading order at every width: chip (phone), plate, logo plate (desktop/tablet), then the
   phone's Google plate and fact grid. Every piece carries its order so a hidden one never shifts the rest. */
.v2-v2.v2-v2 .v2-hero__chip { order: 0; }
.v2-v2.v2-v2 .v2-hero__plate { order: 1; }
.v2-v2.v2-v2 .v2-hero__mstats { order: 3; }
.v2-v2.v2-v2 .v2-mgrid { order: 4; }
.v2-v2.v2-v2 .v2-hero__logo { order: 2; width: auto; margin-top: clamp(6px, 1vw, 14px); background: var(--cream); border-radius: var(--r-panel);
  padding: 16px clamp(20px, 2vw, 30px); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .v2-hero__logo img { width: clamp(176px, 19vw, 264px); }
.v2-v2.v2-v2 .v2-hero__plate { width: auto; }

/* the round: the plate turns, the light does not */
.v2-v2.v2-v2 .v2-round {
  --plate: clamp(232px, 25vw, 396px);
  --kat: clamp(76px, 8.4vw, 122px);
  --ring: calc((var(--plate) + var(--kat)) / 2 + 16px);
  position: relative; width: calc(var(--plate) + 2 * var(--kat) + 32px); max-width: 100%; height: calc(var(--plate) + 14px);
  display: grid; place-items: center; margin-inline: auto;
}
/* the plate is the owner's own cut-out, so it brings its own steel rim; the page adds only
   the contact shadow it casts on the leaf and the one light, neither of which turns with it. */
.v2-v2.v2-v2 .v2-round__plate { position: relative; width: var(--plate); aspect-ratio: 1; }
.v2-v2.v2-v2 .v2-round__plate::before { content: ""; position: absolute; inset: 4% 4% 1%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(23,50,26,.34), rgba(23,50,26,.16) 70%, rgba(23,50,26,0));
  filter: blur(18px); transform: translateY(3.5%) scale(1.02); }
.v2-v2.v2-v2 .v2-round__disc { position: relative; width: 100%; height: 100%; object-fit: contain; }
.v2-v2.v2-v2 .v2-round__light { position: absolute; inset: 1%; border-radius: 50%; pointer-events: none;
  background: radial-gradient(112% 84% at 28% 10%, rgba(255,255,255,.34), rgba(255,255,255,.08) 38%, rgba(255,255,255,0) 60%); }
@media (prefers-reduced-motion: no-preference) {
  .v2-v2.v2-v2 .v2-round__disc { animation: v2-turn 48s linear infinite; }
}
@keyframes v2-turn { to { transform: rotate(1turn); } }

/* the katoris: four real facts set around the rim */
.v2-v2.v2-v2 .v2-katori {
  position: absolute; top: 50%; left: 50%; width: var(--kat); height: var(--kat); border-radius: 50%;
  margin: calc(var(--kat) / -2) 0 0 calc(var(--kat) / -2);
  display: grid; place-content: center; align-content: center; justify-items: center; gap: 2px; padding: 8px;
  text-align: center; text-decoration: none; color: var(--ink); background: var(--cream);
  box-shadow: 0 2px 4px rgba(23,50,26,.08), 0 14px 28px -14px rgba(23,50,26,.45), inset 0 0 0 1.5px var(--steel);
  transform: rotate(var(--a)) translate(var(--ring)) rotate(calc(-1 * var(--a)));
  transition: box-shadow .25s var(--ease), background-color .25s var(--ease);
}
.v2-v2.v2-v2 a.v2-katori:hover { background: var(--paper); color: var(--ink); box-shadow: 0 2px 4px rgba(23,50,26,.08), 0 14px 28px -14px rgba(23,50,26,.45), inset 0 0 0 1.5px var(--green); }
.v2-v2.v2-v2 .v2-katori--1 { --a: 205deg; }
.v2-v2.v2-v2 .v2-katori--2 { --a: 335deg; }
.v2-v2.v2-v2 .v2-katori--3 { --a: 25deg; }
.v2-v2.v2-v2 .v2-katori--4 { --a: 155deg; }
.v2-v2.v2-v2 .v2-katori__n { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.0625rem, 1.5vw, 1.625rem); line-height: 1; color: var(--ink); display: inline-flex; align-items: baseline; gap: .12em; }
.v2-v2.v2-v2 .v2-katori__u { font-family: var(--f-body); font-weight: 600; font-size: .5em; letter-spacing: .04em; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-katori__star { width: .52em; height: .52em; background: var(--orange); align-self: center; transform: translateY(-.3em);
  -webkit-mask: var(--star) center/contain no-repeat; mask: var(--star) center/contain no-repeat; }
.v2-v2.v2-v2 .v2-katori__l { font-size: clamp(.6875rem, .78vw, .8125rem); font-weight: 600; line-height: 1.22; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-katori__l--only { color: var(--ink); }
.v2-v2.v2-v2 .v2-katori--status { gap: 5px; }
.v2-v2.v2-v2 .v2-katori--status .v2-status__lamp { width: 13px; height: 13px; }
.v2-v2.v2-v2 .v2-katori--status .v2-status__text { display: grid; gap: 1px; }
.v2-v2.v2-v2 .v2-katori--status .v2-status__label { font-size: clamp(.875rem, 1.05vw, 1.0625rem); line-height: 1.1; }
.v2-v2.v2-v2 .v2-katori--status .v2-status__detail { font-size: clamp(.625rem, .72vw, .75rem); line-height: 1.2; }

/* ---- about: her words on the green panel, the telling beside them ---- */
.v2-v2.v2-v2 .v2-about { --display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); column-gap: clamp(18px, 2vw, 28px); row-gap: clamp(18px, 2vw, 28px); align-items: stretch;
  --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); --big: clamp(72px, 9vw, 140px);
  background: var(--leaf); color: var(--ink); }
.v2-v2.v2-v2 .v2-about__body { --display: flex; --flex-direction: column; --justify-content: center; --align-items: flex-start;
  --padding-top: clamp(32px, 4vw, 56px); --padding-right: clamp(24px, 4.5vw, 72px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4.5vw, 72px);
  background: var(--paper); box-shadow: var(--rim-lit); border-radius: var(--r-card) var(--r-card) var(--r-card) var(--big); }
.v2-v2.v2-v2 .v2-about__title .elementor-heading-title { font-size: clamp(2rem, 4vw, 3.5rem); max-width: 15ch; }
.v2-v2.v2-v2 .v2-about__text { margin: 22px 0 30px; max-width: 34rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-about__text p:first-child { color: var(--ink); font-size: 1.1875rem; }
.v2-v2.v2-v2 .v2-about .v2-btn { width: auto; align-self: flex-start; }
/* the panel: the dish cards' field, with her promise set large and the quote mark drawn behind it */
.v2-v2.v2-v2 .v2-about__panel { position: relative; overflow: hidden; display: flex; flex-direction: column; justify-content: center; min-height: 340px;
  padding: clamp(34px, 3.6vw, 56px) clamp(26px, 3.2vw, 48px);
  border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); color: var(--on-dark);
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 74% 68% at 50% 46%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-promise { margin: 0; position: relative; }
.v2-v2.v2-v2 .v2-promise__mark { position: absolute; top: -.46em; left: -.06em; font-family: var(--f-display); font-weight: 700; font-size: clamp(6rem, 11vw, 9.5rem); line-height: 1;
  color: var(--orange); opacity: .26; pointer-events: none; }
.v2-v2.v2-v2 .v2-promise__quote { margin: 0; padding: 0; position: relative; }
.v2-v2.v2-v2 .v2-promise__quote p { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.5rem, 2.4vw, 2.125rem); line-height: 1.18; letter-spacing: -.01em; color: var(--on-dark); text-wrap: balance; }
.v2-v2.v2-v2 .v2-promise__quote p::before { content: "“"; } .v2-v2.v2-v2 .v2-promise__quote p::after { content: "”"; }
.v2-v2.v2-v2 .v2-promise__by { display: grid; gap: 2px; font-style: normal;   /* figcaption inherits the theme's italic */ margin-top: clamp(22px, 2.4vw, 32px); padding-top: 18px; border-top: 1px solid rgba(238,244,227,.28); }
.v2-v2.v2-v2 .v2-promise__name { font-weight: 700; font-size: 1.0625rem; color: var(--on-dark); }
.v2-v2.v2-v2 .v2-promise__role { font-size: .9375rem; color: var(--on-dark-soft); }

/* ---- the order picker: the hero's "Order now" opens one words box over dark-green glass ---- */
/* the host widget has no box of its own; the open dialog renders in the top layer (a display:none host would hide it) */
.v2-v2.v2-v2 .v2-pick__host { position: absolute; width: 0; height: 0; overflow: visible; }   /* absolute: it takes no cell in the hero grid */
.v2-v2.v2-v2 .v2-pick { --big: clamp(56px, 7vw, 96px);
  width: min(560px, calc(100% - 32px)); max-width: none; margin: auto; padding: 0; border: 0; background: transparent; color: var(--ink);
  font-family: var(--f-body); font-size: 1.0625rem; line-height: 1.6; -webkit-font-smoothing: antialiased;
  text-align: left;   /* the /about/ and /rewards/ closing boxes centre their text; the dialog must not inherit it */ }
.v2-v2.v2-v2 .v2-pick::backdrop { background: rgba(20,54,26,.55); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.v2-v2.v2-v2 .v2-pick[open] { animation: v2-settle .35s var(--ease) both; }
.v2-v2.v2-v2 .v2-pick__card { background: var(--paper); border-radius: 28px var(--big) 28px 28px; box-shadow: var(--rim-lit), 0 24px 60px rgba(8,31,11,.28);
  padding: clamp(24px, 3vw, 34px) clamp(22px, 3vw, 34px) clamp(26px, 3vw, 34px); }
.v2-v2.v2-v2 .v2-pick__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; padding-right: 8px; }
.v2-v2.v2-v2 .v2-pick__title { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.5rem, 2.4vw, 1.875rem); line-height: 1.08; letter-spacing: -.015em; color: var(--ink); max-width: 14ch; }
.v2-v2.v2-v2 .v2-pick__close { all: unset; box-sizing: border-box; flex: none; display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; cursor: pointer;
  background: var(--cream); color: var(--green); box-shadow: var(--rim-lit); transition: background-color .2s, color .2s; }
.v2-v2.v2-v2 .v2-pick__close svg { width: 20px; height: 20px; }
.v2-v2.v2-v2 .v2-pick__close:hover { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .v2-pick__close:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-pick__lede { margin: 6px 0 20px; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-pick__tiles { display: grid; gap: 12px; }
/* a tile is one link: the door's photo, the name, one line, and the way in */
.v2-v2.v2-v2 .v2-pick__tile { display: grid; grid-template-columns: 96px minmax(0, 1fr) 24px; align-items: center; gap: 16px; padding: 10px 16px 10px 10px; min-height: 84px;
  border-radius: 20px; background: var(--cream); color: var(--ink); text-decoration: none; box-shadow: var(--rim-lit);
  transition: background-color .2s, box-shadow .2s; }
.v2-v2.v2-v2 .v2-pick__tile:hover, .v2-v2.v2-v2 .v2-pick__tile:focus-visible { background: var(--leaf-pale); box-shadow: var(--rim-strong); color: var(--ink); }
.v2-v2.v2-v2 .v2-pick__tile:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-pick__photo { width: 96px; height: 64px; object-fit: cover; border-radius: 12px; display: block; }
.v2-v2.v2-v2 .v2-pick__text { display: grid; gap: 2px; min-width: 0; }
.v2-v2.v2-v2 .v2-pick__name { font-family: var(--f-display); font-weight: 700; font-size: 1.25rem; line-height: 1.1; color: var(--ink); transform: translateY(.12em); }
.v2-v2.v2-v2 .v2-pick__line { font-size: .9375rem; line-height: 1.4; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-pick__tile svg { width: 22px; height: 22px; color: var(--green); transition: transform .25s var(--ease); }
.v2-v2.v2-v2 .v2-pick__tile:hover svg { transform: translateX(3px); }
@media (prefers-reduced-motion: reduce) { .v2-v2.v2-v2 .v2-pick[open] { animation: none; } .v2-v2.v2-v2 .v2-pick__tile svg { transition: none; } }
/* phone: a bottom sheet */
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-pick { width: 100%; max-width: none; margin: auto 0 0; }
  .v2-v2.v2-v2 .v2-pick__card { border-radius: 28px 28px 0 0; padding: 22px 18px calc(24px + env(safe-area-inset-bottom, 0px)); }
  .v2-v2.v2-v2 .v2-pick__title { font-size: 1.5rem; }
  .v2-v2.v2-v2 .v2-pick__tile { grid-template-columns: 76px minmax(0, 1fr) 22px; gap: 14px; padding: 10px 14px 10px 10px; min-height: 76px; }
  .v2-v2.v2-v2 .v2-pick__photo { width: 76px; height: 54px; }
}

/* ---- the two doors: each door is the thali pair stood upright — the photo set on the green field in its own box,
   the words in a white box under it. Big corners sit on the outside (left door: left, right door: right), so the
   two doors read as one rounded shape around the section. ---- */
.v2-v2.v2-v2 .v2-doors { --padding-top: clamp(40px, 5vw, 80px); /* the today band sits between the hero and the doors now (2026-10-14) */ --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf-pale);
  --big: clamp(56px, 7vw, 96px); --inset: 0px; /* the doors' photos fill their box: no green field behind them, by the user's call */ }

/* ---- the services band: the five bookable things, on the leaf field ---- */
.v2-v2.v2-v2 .v2-serv { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline);
  background: var(--leaf-pale); color: var(--ink); }
.v2-v2.v2-v2 .v2-serv__grid { --display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); column-gap: clamp(12px, 1.4vw, 20px); row-gap: 18px; align-items: stretch; }
.v2-v2.v2-v2 .v2-serv__grid > .v2-serv__card { --display: flex; --flex-direction: column; --justify-content: flex-start;
  --padding-top: clamp(22px, 2.4vw, 30px); --padding-right: clamp(18px, 1.8vw, 24px); --padding-bottom: clamp(20px, 2.2vw, 26px); --padding-left: clamp(18px, 1.8vw, 24px);
  background: var(--paper); border-radius: var(--r-card) var(--r-card) var(--r-card) clamp(28px, 3vw, 44px); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .v2-serv__title .elementor-heading-title { font-size: clamp(1.125rem, 1.5vw, 1.375rem); line-height: 1.2; }
.v2-v2.v2-v2 .v2-serv__text { margin-top: 10px; color: var(--ink-soft); font-size: .9375rem; }
.v2-v2.v2-v2 .v2-serv__text p { margin: 0; }
.v2-v2.v2-v2 .v2-serv__card > .elementor-widget-button { margin-top: auto; padding-top: 16px; }
/* a card button is a secondary action, so it is smaller than the page's primary pills;
   the base rule's min-height: 52px has to be overridden or the padding change does nothing */
.v2-v2.v2-v2 .v2-serv__card .elementor-button { padding: 8px 15px 7px; font-size: .8125rem; min-height: 36px; }
@media (max-width: 1160px) {
  .v2-v2.v2-v2 .v2-serv__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-serv__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 10px; }
  .v2-v2.v2-v2 .v2-serv__grid > .v2-serv__card:last-child { grid-column: 1 / -1; }
  --big: clamp(56px, 7vw, 96px); --inset: 0px; /* the doors' photos fill their box: no green field behind them, by the user's call */ }
.v2-v2.v2-v2 .v2-doors__pair { --display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); --column-gap: clamp(20px, 2.4vw, 32px); --row-gap: clamp(20px, 2.4vw, 32px); column-gap: clamp(20px, 2.4vw, 32px); row-gap: clamp(20px, 2.4vw, 32px); align-items: stretch; }
.v2-v2.v2-v2 .v2-door { --display: flex; --flex-direction: column; --row-gap: 14px; row-gap: 14px; --justify-content: flex-start; }
.v2-v2.v2-v2 .v2-door > .v2-door__media { width: 100%; flex: none; }
.v2-v2.v2-v2 .v2-door__media { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: var(--leaf); }
.v2-v2.v2-v2 .v2-door__media > .v2-door__photo { position: absolute; inset: var(--inset); width: auto; height: auto; max-width: none; margin: 0; }
.v2-v2.v2-v2 .v2-door__photo img { width: 100%; height: 100%; object-fit: cover; }
.v2-v2.v2-v2 .v2-door--house .v2-door__media { border-radius: var(--big) var(--r-card) var(--r-card) var(--r-card); }
.v2-v2.v2-v2 .v2-door--house .v2-door__photo img { border-radius: calc(var(--big) - var(--inset)) calc(var(--r-card) - var(--inset)) calc(var(--r-card) - var(--inset)) calc(var(--r-card) - var(--inset)); }
.v2-v2.v2-v2 .v2-door--house .v2-door__body { border-radius: var(--r-card) var(--r-card) var(--r-card) var(--big); }
.v2-v2.v2-v2 .v2-door--truck .v2-door__media { border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); }
.v2-v2.v2-v2 .v2-door--truck .v2-door__photo img { border-radius: calc(var(--r-card) - var(--inset)) calc(var(--big) - var(--inset)) calc(var(--r-card) - var(--inset)) calc(var(--r-card) - var(--inset)); }
.v2-v2.v2-v2 .v2-door--truck .v2-door__body { border-radius: var(--r-card) var(--r-card) var(--big) var(--r-card); }
/* the words box: the bottom padding clears the big corner's curve under a left-aligned button */
.v2-v2.v2-v2 .v2-door__body { flex: 1 1 auto; --display: flex; --flex-direction: column; --align-items: stretch;
  --padding-top: clamp(24px, 2.4vw, 32px); --padding-right: clamp(24px, 2.6vw, 40px); --padding-bottom: clamp(36px, 3vw, 44px); --padding-left: clamp(24px, 2.6vw, 36px);
  background: var(--paper); box-shadow: var(--rim-lit); transition: box-shadow .35s var(--ease); }
.v2-v2.v2-v2 .v2-door:hover .v2-door__body { box-shadow: var(--rim-strong); }
.v2-v2.v2-v2 .v2-door__title .elementor-heading-title { font-size: clamp(1.625rem, 2.1vw, 2.125rem); color: var(--ink); }
.v2-v2.v2-v2 .v2-door__text { margin: 12px 0 24px; color: var(--ink-soft); max-width: 34rem; }
.v2-v2.v2-v2 .v2-door .v2-btn { width: auto; align-self: flex-start; margin-top: auto; }

/* ---- the board: a cream panel set down on the leaf ---- */
.v2-v2.v2-v2 .v2-board { position: relative; background: var(--cream); border-radius: var(--r-card); box-shadow: var(--rim-lit); }

/* ---- price rows: names and prices joined by a leaf-green leader ---- */
.v2-v2.v2-v2 .elementor-price-list { margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .elementor-price-list li { margin: 0; padding: 0; }
.v2-v2.v2-v2 .elementor-price-list .elementor-price-list-item { display: flex; align-items: center; gap: 18px; color: inherit; text-decoration: none; padding: 12px 0; }
.v2-v2.v2-v2 .elementor-price-list-text { flex: 1 1 auto; min-width: 0; }
.v2-v2.v2-v2 .elementor-price-list-header { display: flex; align-items: baseline; gap: 12px; margin: 0; font-size: inherit; font-weight: inherit; padding: 0; justify-content: flex-start; }
.v2-v2.v2-v2 .elementor-price-list-title { font-weight: 600; font-size: 1.125rem; line-height: 1.3; max-width: 70%; color: var(--ink); }
.v2-v2.v2-v2 .elementor-price-list-separator { flex: 1 1 24px; min-width: 24px; height: 0; margin: 0; border: 0; border-bottom: 2px dotted var(--leaf-deep); transform: translateY(-4px); }
.v2-v2.v2-v2 .elementor-price-list-price { font-weight: 700; font-size: 1.25rem; color: var(--orange-ink); font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.v2-v2.v2-v2 .elementor-price-list-description:empty { display: none; }
.v2-v2.v2-v2 .elementor-price-list-description { margin: 3px 0 0; font-size: .9375rem; line-height: 1.45; color: var(--ink-soft); max-width: 34rem; }
.v2-v2.v2-v2 a.elementor-price-list-item:hover .elementor-price-list-title { color: var(--green); text-decoration: underline; text-decoration-color: var(--green); text-underline-offset: .2em; }
.v2-v2.v2-v2 .v2-board__title .elementor-heading-title { font-family: var(--f-body); font-weight: 600; font-size: .9375rem; letter-spacing: .05em; color: var(--green); margin-bottom: 6px; }

/* ---- the rice board: four dishes, each set down on its own leaf ---- */
.v2-v2.v2-v2 .v2-rice { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--cream); color: var(--ink); }
.v2-v2.v2-v2 .v2-dishes { --display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: clamp(18px, 2vw, 28px); row-gap: clamp(18px, 2vw, 28px); align-items: stretch; }
/* the card is a white plate with the steel rim; its corners and the leaf's are concentric (28 outside, 18 inside, 10 between) */
.v2-v2.v2-v2 .v2-dish { --display: flex; --flex-direction: column; --padding-top: 10px; --padding-right: 10px; --padding-bottom: 10px; --padding-left: 10px;
  min-width: 0; background: var(--paper); border-radius: var(--r-card); box-shadow: var(--rim-lit); transition: box-shadow .25s var(--ease); }
.v2-v2.v2-v2 .v2-dish:hover, .v2-v2.v2-v2 .v2-dish:focus-within { box-shadow: var(--rim-strong); }
/* the leaf, in the theme's dark greens: lit at the centre where the dish sits, deep at the rim, with the faint parallel veins of a banana leaf */
/* an explicit width, so the ratio has something to resolve against inside the phone rail, where a stretched width is not yet definite */
.v2-v2.v2-v2 .v2-dish > .v2-dish__leaf { width: 100%; flex: none; }
.v2-v2.v2-v2 .v2-dish__leaf { --display: grid; place-items: center; position: relative; aspect-ratio: 4 / 3; border-radius: calc(var(--r-card) - 10px); overflow: hidden;
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 74% 66% at 50% 44%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-dish__leaf > .v2-dish__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0; }
.v2-v2.v2-v2 .v2-dish__img a { display: block; width: 100%; height: 100%; border-radius: calc(var(--r-card) - 10px); }
.v2-v2.v2-v2 .v2-dish__img img { width: 100%; height: 100%; object-fit: contain; padding: 7% 9% 5%; box-sizing: border-box;
  filter: drop-shadow(0 16px 14px rgba(0,0,0,.42)); transition: transform .4s var(--ease); }
.v2-v2.v2-v2 .v2-dish:hover .v2-dish__img img { transform: translateY(-3px); }
.v2-v2.v2-v2 .v2-dish__body { flex: 1 1 auto; --display: flex; --flex-direction: column; --align-items: stretch;
  --padding-top: 18px; --padding-right: 14px; --padding-bottom: 12px; --padding-left: 14px; }
.v2-v2.v2-v2 .v2-dish__name .elementor-heading-title { font-size: clamp(1.375rem, 1.7vw, 1.625rem); line-height: 1.1; color: var(--ink); }
/* four across, the names run to two lines; reserving them keeps the price rows level */
@media (min-width: 1161px) { .v2-v2.v2-v2 .v2-dish__name .elementor-heading-title { min-height: 2.2em; } }
.v2-v2.v2-v2 .v2-dish__meta { margin-top: 6px; }
.v2-v2.v2-v2 .v2-dish__row { display: flex; align-items: baseline; gap: 10px; margin: 0; }
.v2-v2.v2-v2 .v2-dish__origin { font-size: .875rem; font-weight: 600; color: var(--ink-soft); white-space: nowrap; }
.v2-v2.v2-v2 .v2-dish__lead { flex: 1 1 16px; min-width: 16px; height: 0; border-bottom: 2px dotted var(--leaf-deep); transform: translateY(-4px); }
.v2-v2.v2-v2 .v2-dish__price { font-weight: 700; font-size: 1.25rem; line-height: 1; color: var(--orange-ink); font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.v2-v2.v2-v2 .v2-dish__text { margin: 12px 0 22px; font-size: .9375rem; line-height: 1.5; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-dish .v2-btn { width: auto; align-self: flex-start; margin-top: auto; }
.v2-v2.v2-v2 .v2-dish .v2-btn .elementor-button { min-height: 46px; padding: 1em 1.5em .86em; font-size: .9375rem; }
.v2-v2.v2-v2 .v2-rice > .v2-btn { width: auto; align-self: flex-start; margin-top: clamp(32px, 4vw, 52px); }

/* ---- menu boards (nested tabs) on a leaf field ---- */
.v2-v2.v2-v2 .v2-menu { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf); }
.v2-v2.v2-v2 .v2-sechead--split { max-width: none; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); align-items: end; column-gap: clamp(24px, 4vw, 64px); }
.v2-v2.v2-v2 .v2-menu > .v2-btn { width: auto; align-self: flex-start; margin-top: clamp(32px, 4vw, 52px); }

.v2-v2.v2-v2 .v2-tabs {
  --n-tabs-title-color: var(--ink-soft); --n-tabs-title-color-hover: var(--ink); --n-tabs-title-color-active: var(--cream);
  --n-tabs-title-background-color: transparent; --n-tabs-title-background-color-hover: rgba(36,96,36,.1); --n-tabs-title-background-color-active: var(--green);
  --n-tabs-border-width: 0px; --n-tabs-title-font-size: 1.25rem; --n-tabs-default-padding-block: 14px; --n-tabs-default-padding-inline: 20px;
  --n-tabs-heading-justify-content: flex-start; --n-tabs-gap: 0px; --n-tabs-title-gap: 6px; --n-tabs-title-white-space: nowrap;
}
.v2-v2.v2-v2 .v2-tabs .e-n-tabs { display: grid; grid-template-columns: minmax(220px, 300px) minmax(0, 1fr); gap: 0 clamp(28px, 4vw, 72px); align-items: start; }
.v2-v2.v2-v2 .v2-tabs .e-n-tabs-heading { display: flex; flex-direction: column; gap: 6px; position: sticky; top: 108px; }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title {
  display: flex; align-items: center; justify-content: space-between; width: 100%; cursor: pointer; border: 0; border-radius: var(--r-pill);
  padding: 13px 20px 11px; font-family: var(--f-display); font-weight: 700; line-height: 1.15; text-align: left;
  transition: color .25s var(--ease), background-color .25s var(--ease), box-shadow .25s var(--ease), transform .35s var(--ease);
}
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title::after { content: ""; width: 7px; height: 7px; border-radius: 50%; margin-left: 12px; background: var(--orange); transform: scale(0); transition: transform .3s var(--ease); }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title[aria-selected="true"] { box-shadow: inset 0 -2px 0 rgba(0,0,0,.14); transform: translateX(6px); }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title[aria-selected="true"]::after { transform: scale(1); }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title:focus-visible { outline: 2.5px solid var(--green); outline-offset: 2px; }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title-text { font: inherit; display: inline-block; transform: translateY(.2em); }  /* Baloo sits high in its line box */
.v2-v2.v2-v2 .v2-tabs .e-n-tabs-content { min-width: 0; display: block; }
.v2-v2.v2-v2 .v2-tabs .e-n-tabs-content > .e-con { --display: none; }
.v2-v2.v2-v2 .v2-tabs .e-n-tabs-content > .e-con.e-active { --display: flex; animation: v2-settle .5s var(--ease) both; }
.v2-v2.v2-v2 .v2-prices--menu .elementor-price-list { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); column-gap: clamp(24px, 3vw, 48px); }
.v2-v2.v2-v2 .v2-prices--menu li { border-bottom: 1px solid rgba(36,96,36,.16); }
.v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-item { padding: 18px 0; min-height: 104px; }
/* each dish sits on a small green plate: the dish cards' field, in the cards' inner radius */
.v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-image { flex: none; width: 96px; max-width: 96px; padding: 8px; margin: 0; aspect-ratio: 1; box-sizing: border-box; border-radius: 18px;
  background:
    repeating-linear-gradient(112deg, transparent 0 14px, rgba(238,244,227,.085) 14px 15px),
    radial-gradient(ellipse 74% 70% at 50% 46%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-image img { width: 100%; height: 100%; object-fit: contain; filter: drop-shadow(0 6px 6px rgba(0,0,0,.35)); }
.v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-separator { border-bottom-color: rgba(36,96,36,.3); }

/* ---- thali: the plate in its own box, the words in theirs ---- */
/* Each box gives up one corner to a big radius (the plate's top-left, the words' bottom-right), so the pair reads as one
   rounded shape around the round plate. The plate's field is the dish cards' field; the words sit on the cards' white. */
.v2-v2.v2-v2 .v2-thali { --display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); column-gap: clamp(18px, 2vw, 28px); row-gap: clamp(18px, 2vw, 28px); align-items: stretch;
  --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); --big: clamp(72px, 9vw, 140px);
  background: var(--cream); color: var(--ink); }
.v2-v2.v2-v2 .v2-thali__media { --display: grid; place-items: center; position: relative; overflow: hidden; min-height: 480px;
  border-radius: var(--big) var(--r-card) var(--r-card) var(--r-card);
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 72% 66% at 50% 50%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-thali__media > .v2-thali__photo { width: min(80%, 540px); margin: 0; }
.v2-v2.v2-v2 .v2-thali__photo img { width: 100%; height: auto; filter: drop-shadow(0 24px 22px rgba(0,0,0,.45)); }
.v2-v2.v2-v2 .v2-thali__body { --display: flex; --flex-direction: column; --justify-content: center; --align-items: flex-start;
  --padding-top: clamp(32px, 4vw, 56px); --padding-right: clamp(24px, 4.5vw, 72px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4.5vw, 72px);
  background: var(--paper); box-shadow: var(--rim-lit); border-radius: var(--r-card) var(--r-card) var(--big) var(--r-card); }
.v2-v2.v2-v2 .v2-thali__title .elementor-heading-title { max-width: 16ch; }
.v2-v2.v2-v2 .v2-thali__text { margin: 22px 0 0; max-width: 34rem; font-size: 1.1875rem; color: var(--ink); }
.v2-v2.v2-v2 .v2-thali__sub .elementor-heading-title { font-family: var(--f-body); font-weight: 700; font-size: 1.0625rem; letter-spacing: 0; line-height: 1.3; margin: 30px 0 12px; color: var(--ink); }
.v2-v2.v2-v2 .v2-thali__list ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 28px; max-width: 30rem; }
.v2-v2.v2-v2 .v2-thali__list li { position: relative; padding-left: 22px; color: var(--ink-soft); font-size: 1.125rem; line-height: 1.45; }
.v2-v2.v2-v2 .v2-thali__list li::before { content: ""; position: absolute; left: 0; top: .42em; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); }
.v2-v2.v2-v2 .v2-thali__note { margin: 26px 0 0; max-width: 34rem; font-size: 1.0625rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-thali__actions { --display: flex; --flex-direction: row; --flex-wrap: wrap; flex-wrap: wrap; --column-gap: 16px; --row-gap: 12px; column-gap: 16px; row-gap: 12px; --align-items: center; margin-top: 30px; }
.v2-v2.v2-v2 .v2-thali .v2-btn { width: auto; }

/* ---- reviews: the rating plate, then ten Google reviews as words boxes on a rail ---- */
.v2-v2.v2-v2 .v2-reviews { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf); --big: clamp(56px, 6vw, 88px); }
.v2-v2.v2-v2 .v2-reviews__top { --display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(300px, 1fr); gap: clamp(32px, 5vw, 96px); align-items: center; }
.v2-v2.v2-v2 .v2-pledge__title .elementor-heading-title { max-width: 14ch; }
.v2-v2.v2-v2 .v2-pledge__lede { margin-top: 20px; max-width: 34rem; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-rating { background: var(--paper); color: var(--ink); padding: 34px 34px 30px; border-radius: var(--r-card); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .v2-rating p { margin: 0; }
.v2-v2.v2-v2 .v2-rating__score { display: flex; align-items: center; gap: 18px; }
.v2-v2.v2-v2 .v2-rating__num { font-family: var(--f-display); font-weight: 700; font-size: 4.25rem; line-height: .9; }
.v2-v2.v2-v2 .v2-stars { display: inline-block; width: 92px; height: 17px; background: var(--orange);
  -webkit-mask: var(--star) 0 50% / 20px 17px repeat-x; mask: var(--star) 0 50% / 20px 17px repeat-x; }
.v2-v2.v2-v2 .v2-rating .v2-stars { width: 120px; height: 22px; -webkit-mask-size: 24px 22px; mask-size: 24px 22px; }
.v2-v2.v2-v2 .v2-rating__count { margin-top: 12px !important; font-weight: 500; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-rating__links { margin-top: 22px !important; padding-top: 18px; border-top: 1px solid rgba(23,50,26,.14); font-weight: 600; }


/* (--rail-gap, not --gap: Elementor sets --gap on every container)
/* the rail runs the full viewport width (50% - 50vw is the section's own inline padding, so the boxes still start on the content edge)
   and the next box always shows at the right; the arrows below page it, and the scrollbar stays hidden because they do the job */
.v2-v2.v2-v2 .v2-slips { margin-top: clamp(40px, 5vw, 64px); --display: flex; --flex-direction: row; --flex-wrap: nowrap; flex-wrap: nowrap; --align-items: stretch; align-items: stretch;
  --rail-gap: clamp(16px, 1.8vw, 24px); --per: 3; --column-gap: var(--rail-gap); column-gap: var(--rail-gap);
  --vw: 100vw; /* the script replaces this with the layout width, which 100vw overstates by the scrollbar on desktops */
  width: var(--vw); max-width: none; margin-inline: calc(50% - var(--vw) / 2); padding: 4px calc(var(--vw) / 2 - 50%) 8px;
  overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad-inline); /* % in scroll-padding is the scrollport, i.e. the viewport here */
  overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
.v2-v2.v2-v2 .v2-slips::-webkit-scrollbar { display: none; }
.v2-v2.v2-v2 .v2-slips > .v2-slip { --width: calc((100% - (var(--per) - 1) * var(--rail-gap)) / var(--per)); width: var(--width); flex: 0 0 var(--width); scroll-snap-align: start; }
/* the review box is the image boxes' green field, so the words sit in the cream the footer uses on dark green */
.v2-v2.v2-v2 .v2-slip { --padding-top: 24px; --padding-right: 26px; --padding-bottom: 24px; --padding-left: 26px; --row-gap: 16px; min-height: 250px;
  color: var(--on-dark); border-radius: var(--r-card) var(--r-card) var(--big) var(--r-card); --display: flex; --flex-direction: column;
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 72% 66% at 50% 50%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-slip__mark { line-height: 0; }
/* the G keeps its white ground, as a small plate */
.v2-v2.v2-v2 .v2-slip__g { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; background: var(--paper); }
.v2-v2.v2-v2 .v2-slip__g svg { width: 22px; height: 22px; display: block; }
.v2-v2.v2-v2 .v2-slip__quote p { font-size: 1.0625rem; line-height: 1.55; color: var(--on-dark); }
/* literal quote marks: the page-settings save path drops CSS backslash escapes */
.v2-v2.v2-v2 .v2-slip__quote p::before { content: "“"; } .v2-v2.v2-v2 .v2-slip__quote p::after { content: "”"; }
.v2-v2.v2-v2 .v2-slip__cite { margin-top: auto; padding-right: var(--big); }
.v2-v2.v2-v2 .v2-slip__cite p { font-weight: 600; font-size: .9375rem; color: var(--on-dark); }
/* arrows: the header toggle's round button, in a pair */
.v2-v2.v2-v2 .v2-rail__nav { display: flex; justify-content: center; gap: 20px; margin-top: 26px; }
.v2-v2.v2-v2 .v2-rail__btn { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 50%; cursor: pointer;
  background: var(--cream); color: var(--green); box-shadow: var(--rim-lit); transition: background-color .2s var(--ease), color .2s var(--ease), opacity .2s var(--ease); }
.v2-v2.v2-v2 .v2-rail__btn svg { width: 22px; height: 22px; }
.v2-v2.v2-v2 .v2-rail__btn:hover { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .v2-rail__btn:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-rail__btn:disabled { opacity: .38; cursor: default; background: var(--cream); color: var(--green); }

/* ---- story: the thali pair, mirrored — the words in their box, the photo set on the leaf beside them ---- */
/* it follows the thali on the same cream, so the two pairs share one band at the usual section spacing */
.v2-v2.v2-v2 .v2-thali + .v2-story { --padding-top: 0px; }
/* the services band introduces the catering form, so the pair closes up into one leaf band */
.v2-v2.v2-v2 .v2-serv + .v2-catering { --padding-top: clamp(24px, 3vw, 44px); }
.v2-v2.v2-v2 .v2-story { --display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); column-gap: clamp(18px, 2vw, 28px); row-gap: clamp(18px, 2vw, 28px); align-items: stretch;
  --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); --big: clamp(72px, 9vw, 140px); --inset: clamp(12px, 1.4vw, 20px);
  background: var(--cream); color: var(--ink); }
.v2-v2.v2-v2 .v2-story__body { order: -1; --display: flex; --flex-direction: column; --justify-content: center; --align-items: flex-start;
  --padding-top: clamp(32px, 4vw, 56px); --padding-right: clamp(24px, 4.5vw, 72px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4.5vw, 72px);
  background: var(--paper); box-shadow: var(--rim-lit); border-radius: var(--r-card) var(--r-card) var(--r-card) var(--big); }
.v2-v2.v2-v2 .v2-story__title .elementor-heading-title { max-width: 13ch; }
.v2-v2.v2-v2 .v2-story__text { margin: 22px 0 0; max-width: 34rem; font-size: 1.125rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-story__text p:first-child { color: var(--ink); font-size: 1.1875rem; }
.v2-v2.v2-v2 .v2-story__text [lang="te"] { color: var(--green); font-weight: 600; font-size: 1.15em; }
.v2-v2.v2-v2 .v2-story .v2-btn { width: auto; align-self: flex-start; }
/* a photograph, not a cut-out, so it is set on the leaf as a print: the green field shows as its frame, widest at the big corner */
.v2-v2.v2-v2 .v2-story__media { position: relative; overflow: hidden; min-height: 440px;
  border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card);
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 72% 66% at 50% 50%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-story__media > .v2-story__photo { position: absolute; inset: var(--inset); width: auto; height: auto; max-width: none; margin: 0; }
.v2-v2.v2-v2 .v2-story__photo img { width: 100%; height: 100%; object-fit: cover;
  border-radius: calc(var(--r-card) - var(--inset)) calc(var(--big) - var(--inset)) calc(var(--r-card) - var(--inset)) calc(var(--r-card) - var(--inset)); }

/* ---- catering ---- */
.v2-v2.v2-v2 .v2-catering { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf-pale); --display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: start; }
.v2-v2.v2-v2 .v2-catering__title .elementor-heading-title { max-width: 15ch; }
.v2-v2.v2-v2 .v2-catering__text { margin: 24px 0 28px; color: var(--ink-soft); max-width: 36rem; font-size: 1.125rem; }
.v2-v2.v2-v2 .v2-occasions ul { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 0 28px; }
.v2-v2.v2-v2 .v2-occasions li { display: flex; align-items: center; gap: 14px; padding: 13px 0 11px; border-top: 1px solid rgba(36,96,36,.22); font-weight: 500; color: var(--ink); }
.v2-v2.v2-v2 .v2-occasions li::before { content: ""; flex: none; width: 9px; height: 9px; border-radius: 50%; background: var(--steel-lit); box-shadow: inset 0 0 0 2px var(--green); }
.v2-v2.v2-v2 .v2-catering__photo { margin-top: 36px; }
.v2-v2.v2-v2 .v2-catering__photo img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-panel); box-shadow: var(--rim); }

.v2-v2.v2-v2 .v2-slipform { background: var(--cream); color: var(--ink); border-radius: var(--r-card); box-shadow: var(--rim-lit);
  --padding-top: clamp(28px, 3.4vw, 48px); --padding-right: clamp(28px, 3.4vw, 48px); --padding-bottom: clamp(28px, 3.4vw, 48px); --padding-left: clamp(28px, 3.4vw, 48px); }
.v2-v2.v2-v2 .v2-slipform__title .elementor-heading-title { font-size: clamp(1.5rem, 2.2vw, 2rem); color: var(--ink); }
.v2-v2.v2-v2 .v2-slipform__lede { margin-top: 8px; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-slipform__alt { margin-top: 18px; font-size: .9375rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-slipform__alt a { color: var(--green); font-weight: 600; }

/* ---- forms ---- */
.v2-v2.v2-v2 .v2-form { margin-top: 22px; }
.v2-v2.v2-v2 .v2-form .elementor-form-fields-wrapper { display: flex; flex-wrap: wrap; margin: 0 -8px; }
.v2-v2.v2-v2 .v2-form .elementor-field-group { padding: 0 8px; margin-bottom: 16px; }
.v2-v2.v2-v2 .v2-form .elementor-field-label { display: block; font-weight: 600; font-size: .875rem; color: var(--ink); padding-bottom: 6px; }
.v2-v2.v2-v2 .v2-form .elementor-field-textual,
.v2-v2.v2-v2 .v2-form input.elementor-field, .v2-v2.v2-v2 .v2-form textarea.elementor-field {
  width: 100%; min-height: 50px; padding: 13px 16px 11px; font: inherit; font-size: 1rem; color: var(--ink);
  background: var(--paper); border: 0; border-radius: var(--r-field); box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.28); transition: box-shadow .2s;
}
.v2-v2.v2-v2 .v2-form textarea.elementor-field { min-height: 116px; resize: vertical; }
.v2-v2.v2-v2 .v2-form .elementor-field::placeholder { color: var(--placeholder); opacity: 1; }
.v2-v2.v2-v2 .v2-form .elementor-field:hover { box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.5); }
.v2-v2.v2-v2 .v2-form .elementor-field:focus { outline: none; box-shadow: inset 0 0 0 2.5px var(--green); }
.v2-v2.v2-v2 .v2-form .elementor-field-group .elementor-field[aria-invalid="true"] { box-shadow: inset 0 0 0 2.5px var(--error); }
.v2-v2.v2-v2 .v2-form .elementor-message { margin-top: 10px; font-size: .9375rem; font-weight: 500; }
.v2-v2.v2-v2 .v2-form .elementor-message-danger { color: var(--error-text); }
.v2-v2.v2-v2 .v2-form .elementor-message-success { color: var(--green); }
.v2-v2.v2-v2 .v2-form .e-form__buttons, .v2-v2.v2-v2 .v2-form .elementor-field-type-submit { margin-bottom: 0; margin-top: 6px; }
.v2-v2.v2-v2 .v2-form button.elementor-button {
  width: 100%; min-height: 54px; justify-content: center; border: 0; border-radius: var(--r-pill); cursor: pointer;
  background: var(--green); color: var(--cream); font-family: var(--f-body); font-weight: 600; font-size: 1rem; padding: 1em 1.6em .85em;
  transition: background-color .25s var(--ease), box-shadow .25s var(--ease), transform .25s var(--ease);
}
.v2-v2.v2-v2 .v2-form button.elementor-button:hover { background: var(--green-lit); color: var(--cream); }
.v2-v2.v2-v2 .v2-form button.elementor-button[disabled], .v2-v2.v2-v2 .v2-form button.elementor-button.elementor-form-waiting { opacity: .55; cursor: progress; transform: none; }
.v2-v2.v2-v2 .v2-form--inline .elementor-form-fields-wrapper { flex-wrap: nowrap; align-items: flex-end; }
.v2-v2.v2-v2 .v2-form--inline .elementor-field-group { margin-bottom: 0; }
.v2-v2.v2-v2 .v2-form--inline .elementor-field-group:not(.elementor-field-type-submit) { flex: 1 1 auto; }
.v2-v2.v2-v2 .v2-form--inline .elementor-field-type-submit { flex: none; width: auto; }
.v2-v2.v2-v2 .v2-form--inline button.elementor-button { width: auto; }

/* ---- gallery ---- */
.v2-v2.v2-v2 .v2-gallery { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--cream); }
.v2-v2.v2-v2 .v2-gallery__title .elementor-heading-title { margin-bottom: clamp(36px, 4vw, 56px); max-width: 16ch; }
.v2-v2.v2-v2 .v2-gallery__grid { --display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); grid-auto-rows: clamp(180px, 20vw, 290px); gap: clamp(10px, 1.2vw, 16px); }
.v2-v2.v2-v2 .v2-gallery__img { height: 100%; overflow: hidden; border-radius: var(--r-panel); box-shadow: var(--rim); }
.v2-v2.v2-v2 .v2-gallery__img--wide { grid-column: span 2; }
.v2-v2.v2-v2 .v2-gallery__img a { display: block; height: 100%; border-radius: var(--r-panel); }
.v2-v2.v2-v2 .v2-gallery__img img { width: 100%; height: 100%; object-fit: cover; transition: filter .6s var(--ease); }
.v2-v2.v2-v2 .v2-gallery__img a:hover img { filter: saturate(1.12) brightness(1.03); }

/* ---- rewards ---- */
.v2-v2.v2-v2 .v2-rewards { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf); color: var(--ink); --display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(40px, 6vw, 96px); align-items: center; }
.v2-v2.v2-v2 .v2-rewards__title .elementor-heading-title { font-size: clamp(2.5rem, 5.2vw, 4.75rem); max-width: 11ch; }
.v2-v2.v2-v2 .v2-rewards__title span { color: var(--orange-display); }
.v2-v2.v2-v2 .v2-rewards__text { margin: 22px 0 30px; font-size: 1.125rem; color: var(--ink-soft); max-width: 30rem; }
.v2-v2.v2-v2 .v2-rewards .v2-btn { width: auto; align-self: flex-start; }

/* ---- visit ---- */
.v2-v2.v2-v2 .v2-visit { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--cream); --display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(20px, 2.4vw, 32px); align-items: stretch; }
.v2-v2.v2-v2 .v2-visit__board { background: var(--leaf); box-shadow: none; --padding-top: clamp(40px, 4.4vw, 64px); --padding-right: clamp(28px, 3.8vw, 56px); --padding-bottom: clamp(40px, 4.4vw, 64px); --padding-left: clamp(28px, 3.8vw, 56px); }
.v2-v2.v2-v2 .v2-visit__title .elementor-heading-title { max-width: 12ch; }
.v2-v2.v2-v2 .v2-facts { margin-top: 28px; }
.v2-v2.v2-v2 .v2-facts .elementor-icon-list-item { display: flex; align-items: flex-start; gap: 14px; padding: 9px 0; margin: 0 !important; }
.v2-v2.v2-v2 .v2-facts .elementor-icon-list-item > a { display: flex; align-items: flex-start; gap: 14px; color: var(--ink); }
.v2-v2.v2-v2 .v2-facts .elementor-icon-list-icon { display: flex; width: 20px; flex: none; padding-top: 3px; }
.v2-v2.v2-v2 .v2-facts .elementor-icon-list-icon svg { width: 17px; height: 17px; fill: var(--green); }
.v2-v2.v2-v2 .v2-facts .elementor-icon-list-text { color: var(--ink); font-size: 1.0625rem; padding: 0; }
.v2-v2.v2-v2 .v2-visit__status { margin-top: 30px; }
.v2-v2.v2-v2 .v2-hours { width: 100%; margin: 20px 0 0; border-collapse: separate; border-spacing: 0; font-size: 1rem; font-variant-numeric: tabular-nums; border: 0; }
.v2-v2.v2-v2 .v2-hours caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.v2-v2.v2-v2 .v2-hours thead th { font-size: .8125rem; font-weight: 600; letter-spacing: .06em; color: var(--green); text-align: left; padding: 0 12px 8px 12px; border: 0; background: none; }
.v2-v2.v2-v2 .v2-hours tbody th, .v2-v2.v2-v2 .v2-hours td { text-align: left; padding: 10px 12px 8px; border: 0; border-top: 1px solid rgba(36,96,36,.18); background: none; color: var(--ink-soft); font-weight: 400; vertical-align: middle; }
.v2-v2.v2-v2 .v2-hours tbody th { color: var(--ink); font-weight: 600; white-space: nowrap; }
.v2-v2.v2-v2 .v2-hours__lamp { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 10px; vertical-align: 2px; background: transparent; box-shadow: inset 0 0 0 1.5px rgba(36,96,36,.4); }
.v2-v2.v2-v2 .v2-hours tr.is-today th, .v2-v2.v2-v2 .v2-hours tr.is-today td { color: var(--ink); background: var(--cream); }
.v2-v2.v2-v2 .v2-hours tr.is-today th:first-child { border-radius: var(--r-field) 0 0 var(--r-field); }
.v2-v2.v2-v2 .v2-hours tr.is-today td:last-child { border-radius: 0 var(--r-field) var(--r-field) 0; }
.v2-v2.v2-v2 .v2-hours tr.is-today .v2-hours__lamp { background: var(--orange); box-shadow: none; }
.v2-v2.v2-v2 .v2-visit__actions { margin-top: 30px; --flex-direction: row; --flex-wrap: wrap; --align-items: center; --row-gap: 12px; --column-gap: 24px; }
.v2-v2.v2-v2 .v2-visit__actions > .elementor-widget { width: auto; }
.v2-v2.v2-v2 .v2-visit__map { position: relative; min-height: 420px; border-radius: var(--r-card); overflow: hidden; box-shadow: var(--rim); }
.v2-v2.v2-v2 .v2-map, .v2-v2.v2-v2 .v2-map .elementor-custom-embed { height: 100%; }
.v2-v2.v2-v2 .v2-map iframe { display: block; width: 100%; height: 100% !important; min-height: 420px; border: 0; filter: saturate(.72) contrast(1.02); }
.v2-v2.v2-v2 .v2-visit__near { position: absolute; left: 0; right: 0; bottom: 0; padding: 14px 22px 12px; background: var(--cream); color: var(--ink-soft); font-size: .9375rem; }

/* ---- faq (nested accordion) ---- */
.v2-v2.v2-v2 .v2-faq { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf-pale); color: var(--ink); --display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.5fr); gap: clamp(32px, 6vw, 96px); align-items: start; }
.v2-v2.v2-v2 .v2-faq__title .elementor-heading-title { max-width: 8ch; position: sticky; top: 118px; }
.v2-v2.v2-v2 .v2-accordion {
  --n-accordion-title-icon-order: 1; --n-accordion-border-width: 0px; --n-accordion-padding: 0px; --n-accordion-icon-size: 16px;
  --n-accordion-title-normal-color: var(--ink); --n-accordion-title-hover-color: var(--green); --n-accordion-title-active-color: var(--ink);
  --n-accordion-icon-normal-color: var(--green); --n-accordion-icon-hover-color: var(--green-lit); --n-accordion-icon-active-color: var(--green);
  --n-accordion-title-justify-content: space-between; --n-accordion-item-title-space-between: 0px; --n-accordion-title-font-size: clamp(1.125rem, 1.6vw, 1.5rem);
}
.v2-v2.v2-v2 .v2-accordion .e-n-accordion { display: flex; flex-direction: column; border-top: 1.5px solid rgba(36,96,36,.34); }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item { border-bottom: 1px solid rgba(36,96,36,.2); }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title { display: flex; align-items: center; justify-content: space-between; gap: 20px; cursor: pointer; list-style: none; padding: 22px 0 18px; background: none; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title::-webkit-details-marker { display: none; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-header { flex: 1 1 auto; min-width: 0; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-text { font-family: var(--f-display); font-weight: 700; line-height: 1.2; text-align: left; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-icon { flex: none; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-icon svg { width: 16px; }
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item > .e-con { --padding-top: 0px; --padding-right: 0px; --padding-bottom: 24px; --padding-left: 0px; border: 0; }
.v2-v2.v2-v2 .v2-faq__answer p { max-width: 42rem; color: var(--ink-soft); font-size: 1.0625rem; }
.v2-v2.v2-v2 .v2-faq__answer a { color: var(--green); font-weight: 600; }

/* ---- footer: the one dark anchor ---- */
.v2-v2.v2-v2 .v2-footer { --padding-top: clamp(72px, 8vw, 110px); --padding-right: var(--pad-inline); --padding-bottom: 28px; --padding-left: var(--pad-inline); background: var(--green-deep); color: var(--on-dark-soft); position: relative; font-size: .9375rem; }
.v2-v2.v2-v2 .v2-footer::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 28px;
  background: var(--leafrib) 0 0 / 96px 28px repeat-x; opacity: .5; filter: brightness(2.4); }
.v2-v2.v2-v2 .v2-footer__grid { --display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(4, minmax(0, 1fr)); gap: 40px clamp(20px, 2.6vw, 44px); }
.v2-v2.v2-v2 .v2-footer__logo img { width: 200px; }
.v2-v2.v2-v2 .v2-footer__about { margin-top: 20px; max-width: 26rem; }
.v2-v2.v2-v2 .v2-footer__h .elementor-heading-title { font-family: var(--f-body); font-weight: 600; font-size: .8125rem; letter-spacing: .08em; color: var(--orange-lit); margin-bottom: 14px; }
.v2-v2.v2-v2 .v2-footer__text a, .v2-v2.v2-v2 .v2-footer__links a { color: var(--on-dark); text-decoration: none; }
.v2-v2.v2-v2 .v2-footer__text a:hover, .v2-v2.v2-v2 .v2-footer__links a:hover { color: var(--orange-lit); text-decoration: underline; text-decoration-color: var(--orange-lit); }
.v2-v2.v2-v2 .v2-footer__links li { padding: 3px 0; }
.v2-v2.v2-v2 .v2-footer__text + .v2-footer__links { margin-top: 14px; }   /* a breath between a column's facts and its links */
.v2-v2.v2-v2 .v2-footer__text p + p { margin-top: 12px; }
.v2-v2.v2-v2 .v2-footer__text strong { color: var(--orange-lit); font-weight: 600; }
.v2-v2.v2-v2 .v2-footer__base { margin-top: 64px; padding-top: 22px; border-top: 1px solid rgba(238,244,227,.18); }
.v2-v2.v2-v2 .v2-footer__base .elementor-widget-container, .v2-v2.v2-v2 .v2-footer__base { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px 24px; font-size: .875rem; }
.v2-v2.v2-v2 .v2-footer__base p { margin: 0 !important; }
.v2-v2.v2-v2 .v2-footer__base p:last-child { display: flex; gap: 22px; }
.v2-v2.v2-v2 .v2-footer__base a { color: var(--on-dark-soft); }
.v2-v2.v2-v2 .v2-footer__base a:hover { color: var(--on-dark); }
/* the restaurant, its hours and the truck sit side by side instead of stacking under the brand (user, 2026-10-30) */
@media (min-width: 768px) {
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__text { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: clamp(20px, 2.6vw, 44px); align-items: start; margin-top: 20px; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__text p { margin: 0; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__text strong { margin-top: 0; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__text p:nth-child(2)::before { content: "Hours"; display: block; color: var(--orange-lit); font-weight: 600; }
}
/* desktop: the brand box dissolves into the footer grid, so the logo and blurb keep the left column and the three
   blocks fill the empty space under the link columns, lined up with them through subgrid */
@media (min-width: 1025px) {
  .v2-v2.v2-v2 .v2-footer__grid { grid-template-rows: auto 1fr auto; row-gap: 20px; }
  .v2-v2.v2-v2 .v2-footer__grid > .v2-footer__brand { --display: contents; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__logo { grid-column: 1; grid-row: 1; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__about { grid-column: 1; grid-row: 2 / span 2; margin-top: 0; }
  .v2-v2.v2-v2 .v2-footer__grid > .v2-footer__col { grid-row: 1 / span 2; }
  .v2-v2.v2-v2 .v2-footer__brand > .v2-footer__text { grid-column: 2 / -1; grid-row: 3;
    grid-template-columns: repeat(4, minmax(0, 1fr)); grid-template-columns: subgrid; }
}
.v2-v2.v2-v2 .v2-script { display: none; }

/* ---- motion: things are set down, they do not slide in ---- */
@keyframes v2-settle { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: none; } }
@keyframes v2-fade { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: no-preference) {
  .v2-v2.v2-v2.v2-js .v2-draw.is-waiting:not(.is-drawn) { opacity: 0; transform: scale(.985); }
  .v2-v2.v2-v2.v2-js .v2-draw { transition: opacity .55s var(--ease), transform .55s var(--ease); }
  .v2-v2.v2-v2 .v2-status.is-flipping { animation: v2-settle .5s var(--ease) both; }
  /* the katori carries its own ring transform, so its settle may only touch opacity */
  .v2-v2.v2-v2 .v2-katori--status.is-flipping { animation: v2-fade .45s var(--ease) both; }
}
@media (prefers-reduced-motion: reduce) {
  .v2-v2.v2-v2 *, .v2-v2.v2-v2 *::before, .v2-v2.v2-v2 *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  html:has(.v2-v2) { scroll-behavior: auto; }
}

/* ---- tablet ---- */
@media (max-width: 1160px) {
  .v2-v2.v2-v2 .v2-dishes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .v2-v2.v2-v2 .v2-dish__leaf { aspect-ratio: 3 / 2; }
  .v2-v2.v2-v2 .v2-nav__list { gap: 2px; }
  .v2-v2.v2-v2 .v2-nav__list a { padding-inline: 10px; font-size: .9375rem; }
  .v2-v2.v2-v2 .v2-nav__list > li:nth-child(n+8) { display: none; }   /* seven top items fit down to 1025px (measured 2026-09-27); an eighth would drop out */
  .v2-v2.v2-v2 .v2-nav__sub li { display: block !important; }
}
@media (max-width: 1024px) {
  .v2-v2.v2-v2 .v2-header { --column-gap: 12px; }
  .v2-v2.v2-v2 .v2-nav__toggle { all: unset; display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border-radius: 50%; cursor: pointer; box-shadow: inset 0 0 0 1.5px rgba(36,96,36,.34); }
  .v2-v2.v2-v2 .v2-nav__toggle:focus-visible { outline: 2.5px solid var(--green); outline-offset: 2px; }
  .v2-v2.v2-v2 .v2-nav__bars, .v2-v2.v2-v2 .v2-nav__bars::before, .v2-v2.v2-v2 .v2-nav__bars::after { display: block; width: 20px; height: 2px; border-radius: 2px; background: var(--ink); position: relative; transition: transform .3s var(--ease), background-color .2s; }
  .v2-v2.v2-v2 .v2-nav__bars::before, .v2-v2.v2-v2 .v2-nav__bars::after { content: ""; position: absolute; left: 0; }
  .v2-v2.v2-v2 .v2-nav__bars::before { top: -6px; } .v2-v2.v2-v2 .v2-nav__bars::after { top: 6px; }
  .v2-v2.v2-v2.v2-nav-open .v2-nav__bars { background: transparent; }
  .v2-v2.v2-v2.v2-nav-open .v2-nav__bars::before { transform: translateY(6px) rotate(45deg); }
  .v2-v2.v2-v2.v2-nav-open .v2-nav__bars::after { transform: translateY(-6px) rotate(-45deg); }
  .v2-v2.v2-v2 .v2-header__nav { order: 3; flex: none; justify-content: flex-end; }
  .v2-v2.v2-v2 .v2-header__cta { margin-left: auto; }
  /* open: a full-screen green vitrine over everything; only the close button and the logo stay on top of it.
     A backdrop-filter on an ancestor turns fixed descendants into absolute ones, so while the drawer is open
     the header drops its own glass and the drawer carries the glass instead. */
  .v2-v2.v2-v2.v2-nav-open .v2-header, .v2-v2.v2-v2.v2-nav-open .v2-header.is-glass { -webkit-backdrop-filter: none; backdrop-filter: none; background: transparent; box-shadow: none; border-bottom-color: transparent; }
  .v2-v2.v2-v2 .v2-nav__list { position: fixed; inset: 0; z-index: 60; display: none; flex-direction: column; gap: 0; padding: 104px var(--gutter) 40px;
    background: rgba(220,233,200,.86); -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4);
    overflow: auto; overscroll-behavior: contain; }
  @supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .v2-v2.v2-v2 .v2-nav__list { background: rgba(220,233,200,.98); } }
  .v2-v2.v2-v2.v2-nav-open .v2-nav__toggle { position: fixed; top: 12px; right: var(--gutter); z-index: 61; background: var(--cream); box-shadow: var(--rim-lit); }
  .v2-v2.v2-v2.v2-nav-open .v2-header__logo { position: fixed; top: 14px; left: var(--gutter); z-index: 61; width: auto; margin: 0; }
  html:has(.v2-v2.v2-nav-open) { overflow: hidden; }
  @media (prefers-reduced-motion: no-preference) {
    .v2-v2.v2-v2.v2-nav-open .v2-nav__list { animation: v2-settle .3s var(--ease) both; }
  }
  .v2-v2.v2-v2 .v2-nav__list > li, .v2-v2.v2-v2 .v2-nav__list > li:nth-child(n+8) { display: block; width: 100%; max-width: 420px; margin-inline: auto; }
  .v2-v2.v2-v2 .v2-nav__row { justify-content: center; position: relative; }
  .v2-v2.v2-v2 .v2-nav__row > a { flex: 1; }
  .v2-v2.v2-v2 .v2-nav__more { position: absolute; right: 0; width: 46px; height: 46px; margin: 0; }
  .v2-v2.v2-v2 .v2-nav__chev { width: 9px; height: 9px; border-width: 2px; }
  /* closed by default in the drawer; the button opens it, no hover involved */
  .v2-v2.v2-v2 .v2-nav__sub { position: static; min-width: 0; padding: 4px 0 6px; margin: 2px 0 10px; background: rgba(253,251,244,.42); border-radius: 14px; box-shadow: none;
    opacity: 1; visibility: visible; transform: none; transition: none; display: none; }
  /* on touch a tap leaves :hover stuck, and the (hover: none) rule above would hide the open list */
  .v2-v2.v2-v2 .v2-nav__has-sub.is-open > .v2-nav__sub { display: block; opacity: 1; visibility: visible; }
  .v2-v2.v2-v2 .v2-nav__has-sub.is-open .v2-nav__chev { transform: rotate(225deg); }
  /* one step down from the top items: body face, smaller, lighter; .v2-nav__list lifts it past the drawer's link rule below */
  .v2-v2.v2-v2 .v2-nav__list .v2-nav__sub a { font-family: var(--f-body); font-size: 1.0625rem; font-weight: 500; line-height: 1.3; padding: 12px 6px 9px; border-radius: 10px;
    border-bottom: 1px dashed rgba(36,96,36,.22); color: var(--ink); }
  .v2-v2.v2-v2 .v2-nav__list .v2-nav__sub li:last-child a { border-bottom: 0; }
  .v2-v2.v2-v2 .v2-nav__list .v2-nav__sub a[aria-current="page"] { background: var(--green); color: var(--cream); border-bottom-color: transparent; }
  .v2-v2.v2-v2 .v2-nav__list > li:last-child > a { border-bottom: 0; }
  .v2-v2.v2-v2.v2-nav-open .v2-nav__list { display: flex; }
  .v2-v2.v2-v2 .v2-nav__list a { font-family: var(--f-display); font-weight: 700; font-size: 1.625rem; padding: 15px 6px 13px; border-radius: 10px; border-bottom: 1px solid rgba(36,96,36,.2); color: var(--ink); text-align: center; }
  .v2-v2.v2-v2 .v2-nav__list a:hover { background: rgba(253,251,244,.55); color: var(--green); }

  .v2-v2.v2-v2 .v2-hero { grid-template-columns: 1fr; --padding-right: var(--pad-inline); --padding-top: clamp(20px, 3vw, 36px); row-gap: clamp(28px, 4vw, 44px); }
  .v2-v2.v2-v2 .v2-hero__round { order: -1; }
  .v2-v2.v2-v2 .v2-hero__title .elementor-heading-title { max-width: 18ch; }
  .v2-v2.v2-v2 .v2-round { --plate: clamp(240px, 42vw, 380px); --kat: clamp(84px, 14vw, 118px); }

  .v2-v2.v2-v2 .v2-sechead--split { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-tabs { --n-tabs-direction: column; --n-tabs-heading-display: flex; --n-tabs-content-display: block; --n-tabs-title-font-size: 1.0625rem; --n-tabs-default-padding-block: 11px; --n-tabs-default-padding-inline: 16px; min-width: 0; max-width: 100%; overflow: hidden; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs { display: flex; flex-direction: column; gap: 0; min-width: 0; max-width: 100%; }
  /* the strip must be as wide as its column (Elementor lets it grow to its content, which leaves nothing to scroll) */
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-heading {
    position: static; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 8px;
    width: 100% !important; max-width: 100%; min-width: 0; margin: 0 0 20px; padding: 2px 2px 14px;
    overflow-x: auto; overflow-y: hidden; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scroll-snap-type: x proximity;
    scrollbar-width: thin; scrollbar-color: var(--green) rgba(36,96,36,.16);
  }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-heading::-webkit-scrollbar { height: 5px; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-heading::-webkit-scrollbar-track { background: rgba(36,96,36,.16); border-radius: 3px; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-heading::-webkit-scrollbar-thumb { background: var(--green); border-radius: 3px; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tab-title { width: auto; flex: none; white-space: nowrap; scroll-snap-align: start; margin: 0 !important; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tab-title::after { display: none; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tab-title[aria-selected="true"] { transform: none; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-content { display: block; }
  .v2-v2.v2-v2 .v2-tabs .e-n-tabs-content > .e-con { order: 0 !important; }

  .v2-v2.v2-v2 .v2-about { grid-template-columns: 1fr; }
  /* stacked, her words lead and the telling follows — the panel is the section's opening image */
  .v2-v2.v2-v2 .v2-about__panel { min-height: 0; order: -1; }
  .v2-v2.v2-v2 .v2-thali, .v2-v2.v2-v2 .v2-story { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-thali__media { min-height: 0; aspect-ratio: 16 / 10; }
  .v2-v2.v2-v2 .v2-thali__media > .v2-thali__photo { width: min(54%, 420px); }
  .v2-v2.v2-v2 .v2-story__body { order: 0; }
  .v2-v2.v2-v2 .v2-story__media { min-height: 0; aspect-ratio: 16 / 10; }
  .v2-v2.v2-v2 .v2-reviews__top { grid-template-columns: 1fr; gap: 32px; }
  .v2-v2.v2-v2 .v2-reviews__top > .v2-reviews__rating { max-width: 440px; }
  .v2-v2.v2-v2 .v2-slips { --per: 2; }
  .v2-v2.v2-v2 .v2-catering, .v2-v2.v2-v2 .v2-rewards, .v2-v2.v2-v2 .v2-visit, .v2-v2.v2-v2 .v2-faq { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-faq__title .elementor-heading-title { position: static; max-width: none; }
  .v2-v2.v2-v2 .v2-footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .v2-v2.v2-v2 .v2-footer__text strong { display: inline-block; margin-top: 10px; color: var(--orange-lit); }
  .v2-v2.v2-v2 .v2-footer__brand { grid-column: 1 / -1; }
}

/* ---- phone ---- */
@media (max-width: 767px) {
  .v2-v2.v2-v2 { font-size: 1rem; }
  .v2-v2.v2-v2 .v2-bar { font-size: .8125rem; }
  .v2-v2.v2-v2 .v2-bar__text p { gap: 4px 12px; }
  .v2-v2.v2-v2 .v2-header { --padding-top: 10px; --padding-bottom: 10px; }
  .v2-v2.v2-v2 .v2-header__logo img { width: 116px; }
  .v2-v2.v2-v2 .v2-header__cta .elementor-button { padding: 1.02em 1.15em .7em; font-size: .9375rem; min-height: 44px; }

  .v2-v2.v2-v2 .v2-hero { --padding-top: 14px; column-gap: 0; row-gap: 30px; }
  .v2-v2.v2-v2 .v2-hero__title .elementor-heading-title { font-size: clamp(2.25rem, 10vw, 3rem); max-width: none; }
  .v2-v2.v2-v2 .v2-hero__logo { display: none; }
  .v2-v2.v2-v2 .v2-hero__cta { --width: 100%; width: 100%; --row-gap: 14px; }
  .v2-v2.v2-v2 .v2-hero__actions { --row-gap: 12px; width: 100%; }
  .v2-v2.v2-v2 .v2-hero__actions > .elementor-widget-button, .v2-v2.v2-v2 .v2-hero__actions .v2-btn .elementor-button { width: 100%; justify-content: center; }
  /* phone: the plate stands alone and the katori ring steps aside for a flat reading of the
     same facts — the state chip above, the Google plate and a two-by-two of facts below. */
  .v2-v2.v2-v2 .v2-round { --plate: min(288px, 78vw); --kat: 0px; width: 100%; height: auto;
    display: grid; place-items: center; }
  .v2-v2.v2-v2 .v2-round__plate { justify-self: center; }
  .v2-v2.v2-v2 .v2-katori { display: none; }
  .v2-v2.v2-v2 .v2-hero__round { --row-gap: 18px; }

  .v2-v2.v2-v2 .v2-hero__chip { width: auto; }
  .v2-v2.v2-v2 .v2-chip { display: inline-flex; align-items: center; gap: 9px; padding: 9px 17px 9px 13px; border-radius: var(--r-pill);
    background: var(--cream); color: var(--ink); box-shadow: var(--rim-lit); font-weight: 600; font-size: .9375rem; line-height: 1; }
  .v2-v2.v2-v2 .v2-chip .v2-status__lamp { width: 13px; height: 13px; transform: translateY(-1px); }
  .v2-v2.v2-v2 .v2-status__short { display: block; line-height: 1; }

  .v2-v2.v2-v2 .v2-hero__mstats { width: 100%; margin-top: 4px; }
  .v2-v2.v2-v2 .v2-mstats { display: grid; justify-items: center; }
  /* the plate hugs its content so the count sits next to the stars instead of across the row */
  .v2-v2.v2-v2 .v2-mstats__g { display: inline-flex; align-items: center; gap: 9px; width: auto; padding: 11px 20px 11px 16px; border-radius: var(--r-pill);
    background: var(--cream); box-shadow: var(--rim-lit); color: var(--ink); text-decoration: none; }
  .v2-v2.v2-v2 .v2-mstats__glogo { flex: none; width: 19px; height: 19px; display: block; }
  .v2-v2.v2-v2 .v2-mstats__glogo svg { width: 100%; height: 100%; display: block; }
  /* Baloo carries a tall ascent, so at line-height 1 its digits sit high in the line box;
     this nudge puts the numeral's ink on the same centre line as the logo, stars and count. */
  .v2-v2.v2-v2 .v2-mstats__score { font-family: var(--f-display); font-weight: 700; font-size: 1.375rem; line-height: 1; transform: translateY(.3em); }
  .v2-v2.v2-v2 .v2-mstats__g .v2-stars { width: 74px; height: 13px; -webkit-mask-size: 15px 13px; mask-size: 15px 13px; flex: none; }
  .v2-v2.v2-v2 .v2-mgrid { width: 100%; }
  .v2-v2.v2-v2 .v2-mgrid .elementor-icon-list-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
  .v2-v2.v2-v2 .v2-mgrid .elementor-icon-list-item { display: flex; align-items: center; gap: 11px; margin: 0 !important;
    padding: 12px 14px; border-radius: var(--r-panel); background: var(--cream); box-shadow: var(--rim-lit); }
  .v2-v2.v2-v2 .v2-mgrid .elementor-icon-list-icon { flex: none; display: flex; width: 20px; }
  .v2-v2.v2-v2 .v2-mgrid .elementor-icon-list-icon svg { width: 18px; height: 18px; fill: var(--green); }
  .v2-v2.v2-v2 .v2-mgrid .elementor-icon-list-text { padding: 0; display: grid; min-width: 0; }
  .v2-v2.v2-v2 .v2-mstats__k { font-weight: 700; font-size: .9375rem; line-height: 1.15; color: var(--ink); }
  .v2-v2.v2-v2 .v2-mstats__v { font-size: .75rem; line-height: 1.2; color: var(--ink-soft); }

  .v2-v2.v2-v2 .v2-doors { --padding-bottom: clamp(56px, 12vw, 88px); }
  .v2-v2.v2-v2 .v2-doors { --big: 56px; }
  .v2-v2.v2-v2 .v2-doors__pair { grid-template-columns: 1fr; row-gap: 28px; }
  .v2-v2.v2-v2 .v2-door__media { aspect-ratio: 4 / 3; }
  .v2-v2.v2-v2 .v2-door__body { --padding-top: 22px; --padding-right: 22px; --padding-bottom: 32px; --padding-left: 22px; }

  .v2-v2.v2-v2 .v2-about { --big: 64px; row-gap: 14px; }
  .v2-v2.v2-v2 .v2-about__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 36px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-about__text { margin-top: 16px; }
  .v2-v2.v2-v2 .v2-about__text p:first-child { font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-about .v2-btn { align-self: stretch; }
  .v2-v2.v2-v2 .v2-about .v2-btn .elementor-button { width: 100%; justify-content: center; }
  .v2-v2.v2-v2 .v2-about__panel { padding: 30px 22px 26px; }
  .v2-v2.v2-v2 .v2-promise__quote p { font-size: 1.375rem; }
  .v2-v2.v2-v2 .v2-promise__mark { display: none; }   /* no room for the flourish above the quote on a phone */
  .v2-v2.v2-v2 .v2-story { --big: 64px; --inset: 10px; row-gap: 14px; }
  .v2-v2.v2-v2 .v2-story__media { aspect-ratio: 4 / 3; }
  .v2-v2.v2-v2 .v2-story__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 36px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-story__text { margin-top: 16px; font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-story__text p:first-child { font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-thali { --big: 64px; row-gap: 14px; }
  .v2-v2.v2-v2 .v2-thali__media { aspect-ratio: 1 / 1; }
  .v2-v2.v2-v2 .v2-thali__media > .v2-thali__photo { width: 78%; }
  .v2-v2.v2-v2 .v2-thali__photo img { filter: drop-shadow(0 16px 14px rgba(0,0,0,.45)); }
  .v2-v2.v2-v2 .v2-thali__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 36px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-thali__text { margin-top: 16px; font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-thali__list ul { grid-template-columns: 1fr; gap: 8px; }
  .v2-v2.v2-v2 .v2-thali__actions { --flex-direction: column; --align-items: stretch; width: 100%; }
  .v2-v2.v2-v2 .v2-thali__actions > .elementor-widget-button { width: 100%; }
  .v2-v2.v2-v2 .v2-thali__actions .v2-btn .elementor-button { width: 100%; justify-content: center; }
  /* the text link stays a link: its own width, centred under the pill */
  .v2-v2.v2-v2 .v2-thali__actions > .v2-btn--text { text-align: center; }
  .v2-v2.v2-v2 .v2-thali__actions .v2-btn--text .elementor-button { width: auto; padding-inline: 2px; }
  .v2-v2.v2-v2 .v2-thali__title .elementor-heading-title, .v2-v2.v2-v2 .v2-story__title .elementor-heading-title, .v2-v2.v2-v2 .v2-pledge__title .elementor-heading-title, .v2-v2.v2-v2 .v2-visit__title .elementor-heading-title, .v2-v2.v2-v2 .v2-catering__title .elementor-heading-title { max-width: none; }
  .v2-v2.v2-v2 .elementor-price-list-title { font-size: 1.0625rem; max-width: 62%; }
  .v2-v2.v2-v2 .elementor-price-list-price { font-size: 1.125rem; }
  /* phone: the cards ride a rail; one in view, the next one's edge showing, the section bleeds to the screen edge */
  .v2-v2.v2-v2 .v2-dishes { --display: flex; --flex-direction: row; --flex-wrap: nowrap; flex-wrap: nowrap; --column-gap: 12px; column-gap: 12px;
    width: calc(100% + 2 * var(--gutter)); max-width: none; margin-inline: calc(-1 * var(--gutter)); padding: 4px var(--gutter) 14px;
    overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-inline: var(--gutter);
    overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: thin; scrollbar-color: var(--green) rgba(36,96,36,.16); }
  .v2-v2.v2-v2 .v2-dishes > .v2-dish { --width: min(78vw, 320px); width: var(--width); flex: 0 0 var(--width); scroll-snap-align: start; }
  .v2-v2.v2-v2 .v2-dish__leaf { aspect-ratio: 4 / 3; }
  .v2-v2.v2-v2 .v2-dish__name .elementor-heading-title { font-size: 1.375rem; }
  .v2-v2.v2-v2 .v2-dish__text { margin-bottom: 18px; }
  .v2-v2.v2-v2 .v2-dish .v2-btn { align-self: stretch; }
  .v2-v2.v2-v2 .v2-dish .v2-btn .elementor-button { width: 100%; justify-content: center; }
  .v2-v2.v2-v2 .v2-rice > .v2-btn { margin-top: 26px; }
  .v2-v2.v2-v2 .v2-prices--menu .elementor-price-list { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-item { min-height: 0; }
  .v2-v2.v2-v2 .v2-prices--menu .elementor-price-list-image { width: 72px; max-width: 72px; padding: 6px; border-radius: 14px; }
  .v2-v2.v2-v2 .v2-rating { padding: 26px 22px; }
  .v2-v2.v2-v2 .v2-rating__num { font-size: 3.5rem; }
  .v2-v2.v2-v2 .v2-reviews { --big: 56px; }
  .v2-v2.v2-v2 .v2-slips { margin-top: 32px; --rail-gap: 12px; }
  .v2-v2.v2-v2 .v2-slips > .v2-slip { --width: min(82vw, 340px); }
  .v2-v2.v2-v2 .v2-slip { --padding-top: 22px; --padding-right: 22px; --padding-bottom: 22px; --padding-left: 22px; min-height: 0; }
  .v2-v2.v2-v2 .v2-rail__nav { margin-top: 18px; }
  .v2-v2.v2-v2 .v2-occasions .elementor-icon-list-items { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-slipform { --padding-top: 26px; --padding-bottom: 26px; --padding-left: 20px; --padding-right: 20px; }
  .v2-v2.v2-v2 .v2-form .elementor-field-group { width: 100% !important; flex-basis: 100%; }
  .v2-v2.v2-v2 .v2-form--inline .elementor-form-fields-wrapper { flex-wrap: wrap; }
  .v2-v2.v2-v2 .v2-form--inline .elementor-field-type-submit, .v2-v2.v2-v2 .v2-form--inline button.elementor-button { width: 100%; }
  .v2-v2.v2-v2 .v2-form--inline .elementor-field-type-submit { margin-top: 12px; }
  .v2-v2.v2-v2 .v2-gallery__grid { grid-template-columns: repeat(2, minmax(0,1fr)); grid-auto-rows: 150px; }
  .v2-v2.v2-v2 .v2-visit__board { --padding-top: 40px; --padding-bottom: 40px; --padding-left: 22px; --padding-right: 22px; }
  .v2-v2.v2-v2 .v2-hours { font-size: .9375rem; }
  .v2-v2.v2-v2 .v2-hours thead { display: none; }
  .v2-v2.v2-v2 .v2-hours tbody tr { display: grid; grid-template-columns: 1fr auto; border-top: 1px solid rgba(36,96,36,.18); padding: 8px 0 6px; }
  .v2-v2.v2-v2 .v2-hours tbody th, .v2-v2.v2-v2 .v2-hours td { border: 0; padding: 2px 8px; }
  .v2-v2.v2-v2 .v2-hours tbody th { grid-row: span 2; align-self: center; }
  .v2-v2.v2-v2 .v2-hours td { text-align: right; }
  /* the phone row is a grid, so the today field is painted by the row, not by each cell */
  .v2-v2.v2-v2 .v2-hours tr.is-today { background: var(--cream); border-radius: var(--r-field); padding-inline: 10px; }
  .v2-v2.v2-v2 .v2-hours tr.is-today th, .v2-v2.v2-v2 .v2-hours tr.is-today td { background: none; }
  .v2-v2.v2-v2 .v2-visit__map, .v2-v2.v2-v2 .v2-map iframe { min-height: 340px; }
  .v2-v2.v2-v2 .v2-visit__near { position: static; }
  .v2-v2.v2-v2 .v2-footer__grid { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-footer__base p { flex-wrap: wrap; }
}

/* ---- chai card: the paper punch card and the cup on the green field, the offer in the white box ---- */
/* Same pair as the thali (one big corner each), mirrored corners so it doesn't read as a repeat of it. */
.v2-v2.v2-v2 .v2-chai { --display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(18px, 2vw, 28px); row-gap: clamp(18px, 2vw, 28px); align-items: stretch;
  --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); --big: clamp(72px, 9vw, 140px);
  background: var(--leaf-pale); color: var(--ink); }
.v2-v2.v2-v2 .v2-chai__media { --display: grid; place-items: center; position: relative; overflow: hidden; min-height: 460px;
  --padding-top: 40px; --padding-right: 40px; --padding-bottom: 40px; --padding-left: 40px;
  border-radius: var(--r-card) var(--r-card) var(--r-card) var(--big);
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 72% 66% at 50% 50%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .v2-chai__media > .v2-chai__card { width: min(80%, 420px); margin: 0 16% 15% 0; transform: rotate(-4deg); }
.v2-v2.v2-v2 .v2-chai__media > .v2-chai__cup { position: absolute; right: 3%; bottom: 3%; width: min(36%, 210px); margin: 0; z-index: 1; }
.v2-v2.v2-v2 .v2-chai__cup img { width: 100%; height: auto; filter: drop-shadow(0 20px 18px rgba(0,0,0,.45)); }

.v2-v2.v2-v2 .v2-punch { background: var(--cream); color: var(--ink); border-radius: var(--r-panel); padding: 22px 22px 18px;
  box-shadow: var(--rim-strong), 0 22px 30px rgba(0,0,0,.32); }
.v2-v2.v2-v2 .v2-punch__top { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding-bottom: 12px; border-bottom: 1.5px dashed var(--steel-dark); }
.v2-v2.v2-v2 .v2-punch__brand { font-family: var(--f-display); font-weight: 700; font-size: 1.375rem; line-height: 1; color: var(--green); }
.v2-v2.v2-v2 .v2-punch__name { font-size: .8125rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange-ink); }
.v2-v2.v2-v2 .v2-punch__grid { list-style: none; margin: 16px 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.v2-v2.v2-v2 .v2-punch__cup { aspect-ratio: 1; border-radius: 50%; box-shadow: inset 0 0 0 1.75px var(--steel-dark); background: var(--paper); margin: 0; }
.v2-v2.v2-v2 .v2-punch__cup.is-punched { background: radial-gradient(circle at 50% 50%, var(--green-deep) 0 42%, var(--orange) 43% 100%); box-shadow: none; }
.v2-v2.v2-v2 .v2-punch__foot { display: flex; justify-content: flex-start; gap: 14px; align-items: baseline; padding-top: 12px; border-top: 1.5px dashed var(--steel-dark);
  font-size: .9375rem; font-weight: 600; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-punch__price { font-family: var(--f-display); font-weight: 700; font-size: 1.5rem; line-height: 1; color: var(--green); }

.v2-v2.v2-v2 .v2-chai__body { --display: flex; --flex-direction: column; --justify-content: center; --align-items: flex-start;
  --padding-top: clamp(32px, 4vw, 56px); --padding-right: clamp(24px, 4.5vw, 72px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4.5vw, 72px);
  background: var(--paper); box-shadow: var(--rim-lit); border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); }
.v2-v2.v2-v2 .v2-chai__eyebrow { margin-bottom: 14px; }
.v2-v2.v2-v2 .v2-chai__eyebrow p { margin: 0; font-size: .875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--orange-ink); }
.v2-v2.v2-v2 .v2-chai__title .elementor-heading-title { font-size: clamp(2rem, 4vw, 3.5rem); max-width: 14ch; }
.v2-v2.v2-v2 .v2-chai__title span { color: var(--orange-display); }
.v2-v2.v2-v2 .v2-chai__text { margin: 20px 0 0; max-width: 34rem; font-size: 1.1875rem; color: var(--ink); }
.v2-v2.v2-v2 .v2-chai__list ul { list-style: none; margin: 24px 0 0; padding: 0; display: grid; gap: 10px; max-width: 34rem; }
.v2-v2.v2-v2 .v2-chai__list li { position: relative; padding-left: 22px; color: var(--ink-soft); font-size: 1.0625rem; line-height: 1.45; }
.v2-v2.v2-v2 .v2-chai__list li::before { content: ""; position: absolute; left: 0; top: .42em; width: 9px; height: 9px; border-radius: 50%; background: var(--orange); }
.v2-v2.v2-v2 .v2-chai__actions { --display: flex; --flex-direction: row; --flex-wrap: wrap; flex-wrap: wrap; --column-gap: 16px; --row-gap: 12px; column-gap: 16px; row-gap: 12px; --align-items: center; margin-top: 30px; }
.v2-v2.v2-v2 .v2-chai .v2-btn { width: auto; }
.v2-v2.v2-v2 .v2-chai + .v2-rhow { --padding-top: 0px; }   /* same leaf-pale band on /rewards/: one gap, not two */

@media (max-width: 1160px) {
  .v2-v2.v2-v2 .v2-chai { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-chai__media { min-height: 0; aspect-ratio: 16 / 10; }
  .v2-v2.v2-v2 .v2-chai__media > .v2-chai__card { width: min(58%, 400px); margin: 0 12% 6% 0; }
}
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-chai { --big: 64px; row-gap: 14px; }
  .v2-v2.v2-v2 .v2-chai__media { aspect-ratio: auto; --padding-top: 28px; --padding-right: 18px; --padding-bottom: 72px; --padding-left: 18px; }
  .v2-v2.v2-v2 .v2-chai__media > .v2-chai__card { width: 100%; max-width: 360px; margin: 0; transform: rotate(-2deg); }
  .v2-v2.v2-v2 .v2-chai__media > .v2-chai__cup { width: 34%; right: 2%; bottom: -2%; }
  .v2-v2.v2-v2 .v2-punch { padding: 16px 16px 14px; }
  .v2-v2.v2-v2 .v2-punch__grid { gap: 7px; margin: 12px 0; }
  .v2-v2.v2-v2 .v2-chai__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 36px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-chai__text { margin-top: 16px; font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-chai__actions { --flex-direction: column; --align-items: stretch; width: 100%; }
  .v2-v2.v2-v2 .v2-chai__actions > .elementor-widget-button { width: 100%; }
  .v2-v2.v2-v2 .v2-chai__actions .v2-btn .elementor-button { width: 100%; justify-content: center; }
}

/* ---- today's special: the passing tray (2026-10-14). The band is the leaf; the only box on it is the cream plate that
   names the day. The servings are small round leaves (the dish card's leaf cut to a circle) that pass behind the plate from
   right to left, the way dishes are passed down the table at a vindhu. The rail runs to the screen edge, so the section
   keeps its left padding only; on narrow screens the plate's own margin takes over and the rail bleeds both ways.
   Markup and the day script are TODAY_HTML in page.py; every day's panel is in the page, hidden, and the script shows today's. ---- */
.v2-v2.v2-v2 .v2-today { --padding-top: clamp(28px, 3.4vw, 48px); --padding-bottom: clamp(28px, 3.4vw, 48px); /* a short band, by the user's call */ --padding-left: var(--pad-inline); --padding-right: 0px;
  background: var(--leaf); color: var(--ink); --big: clamp(56px, 7vw, 96px); --disc: clamp(96px, 9vw, 132px); --tray-gap: clamp(28px, 3vw, 48px); overflow: clip; }
.v2-v2.v2-v2 .v2-today__host { width: 100%; }
/* the plate and the rail share the first row: the rail runs the whole width underneath, so servings emerge from behind the plate's edge and leave under it */
.v2-v2.v2-v2 .v2-today__panel { display: grid; grid-template-columns: minmax(300px, 360px) minmax(0, 1fr); grid-template-rows: auto; align-items: center; }
.v2-v2.v2-v2 .v2-today__panel[hidden] { display: none; }
/* the day plate: cream, the lit rim, one big corner at the bottom-left like the doors */
.v2-v2.v2-v2 .v2-today__plate { grid-column: 1; grid-row: 1; position: relative; z-index: 1; background: var(--cream); color: var(--ink); box-shadow: var(--rim-lit);
  border-radius: var(--r-card) var(--r-card) var(--r-card) var(--big); padding: clamp(24px, 3vw, 40px) clamp(24px, 3vw, 40px) clamp(28px, 3.2vw, 44px);
  display: grid; gap: 2px; justify-items: start; }
.v2-v2.v2-v2 .v2-today__title { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(2rem, 3.4vw, 3rem); line-height: 1.06; letter-spacing: -.005em; color: var(--ink); text-wrap: balance; }
.v2-v2.v2-v2 .v2-today__note { margin: 6px 0 0; font-size: clamp(1rem, 1.15vw, 1.0625rem); line-height: 1.5; color: var(--ink-soft); max-width: 22rem; }
.v2-v2.v2-v2 .v2-today__plate .v2-btn { margin-top: 22px; width: auto; }
/* the rail is clipped and faded at both ends, so servings arrive and leave rather than pop */
.v2-v2.v2-v2 .v2-today__rail { grid-column: 1 / -1; grid-row: 1; min-width: 0; overflow: hidden; padding: 14px 0 18px;
  -webkit-mask-image: linear-gradient(90deg, #000, #000 calc(100% - 96px), transparent);
          mask-image: linear-gradient(90deg, #000, #000 calc(100% - 96px), transparent); }
/* the track holds the list twice and moves one list-width per loop; the duration scales with the count so every day passes at one speed */
.v2-v2.v2-v2 .v2-today__track { display: flex; width: max-content; animation: v2-pass calc(var(--n, 7) * 5s) linear infinite; animation-play-state: paused; will-change: transform; }
.v2-v2.v2-v2 .v2-today.is-on .v2-today__track { animation-play-state: running; }
.v2-v2.v2-v2 .v2-today__rail:hover .v2-today__track, .v2-v2.v2-v2 .v2-today__rail:focus-within .v2-today__track { animation-play-state: paused; }
.v2-v2.v2-v2 .v2-today__list { display: flex; flex: none; gap: var(--tray-gap); padding: 0 var(--tray-gap) 0 0; margin: 0; list-style: none; }
.v2-v2.v2-v2 .v2-today__list > li { flex: none; }
/* a serving: the round leaf with the cutout set on it, the name and the price beside it */
.v2-v2.v2-v2 .v2-today__serving { display: grid; grid-template-columns: var(--disc) auto; grid-template-rows: auto auto; align-content: center; column-gap: 14px; row-gap: 2px;
  align-items: center; text-decoration: none; color: var(--ink); border-radius: var(--r-pill); padding-right: 8px; }
.v2-v2.v2-v2 .v2-today__serving:hover { color: var(--ink); }
.v2-v2.v2-v2 .v2-today__serving:focus-visible { outline-offset: 4px; }
.v2-v2.v2-v2 .v2-today__disc { grid-row: 1 / 3; position: relative; width: var(--disc); height: var(--disc); border-radius: 50%; overflow: hidden; display: block;
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(circle at 50% 44%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%);
  box-shadow: inset 0 0 0 1.5px rgba(184,193,181,.55), inset 0 1.5px 0 rgba(255,255,255,.35), 0 2px 4px rgba(23,50,26,.08), 0 14px 28px -14px rgba(23,50,26,.45);
  transition: box-shadow .25s var(--ease); }
.v2-v2.v2-v2 .v2-today__serving:hover .v2-today__disc { box-shadow: inset 0 0 0 2px var(--leaf-pale), inset 0 1.5px 0 rgba(255,255,255,.35), 0 2px 4px rgba(23,50,26,.08), 0 14px 28px -14px rgba(23,50,26,.45); }
.v2-v2.v2-v2 .v2-today__disc img { width: 100%; height: 100%; object-fit: contain; padding: 9%; box-sizing: border-box; margin: 0; display: block;
  filter: drop-shadow(0 10px 10px rgba(0,0,0,.42)); transition: transform .4s var(--ease); }
.v2-v2.v2-v2 .v2-today__serving:hover .v2-today__disc img { transform: translateY(-3px); }
.v2-v2.v2-v2 .v2-today__name { align-self: end; font-family: var(--f-sub); font-weight: 700; font-size: clamp(1.0625rem, 1.3vw, 1.3125rem); line-height: 1.15; letter-spacing: .01em; white-space: nowrap; }
.v2-v2.v2-v2 .v2-today__price { align-self: start; font-family: var(--f-head); font-weight: 700; font-size: clamp(1.125rem, 1.4vw, 1.375rem); line-height: 1.1; color: var(--orange-ink); font-variant-numeric: tabular-nums lining-nums; }
@keyframes v2-pass { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: no-preference) {
  .v2-v2.v2-v2 .v2-today__panel.is-set .v2-today__plate { animation: v2-settle .5s var(--ease) both; }
}
/* touch screens (the script adds is-touch): the track is a real scroller the script drifts, so a swipe scrolls the tray
   and a tap on a serving still opens it; the second copy of the list makes the wrap seamless */
.v2-v2.v2-v2 .v2-today.is-touch .v2-today__track { animation: none; width: 100%; overflow-x: auto; overflow-y: hidden; -webkit-overflow-scrolling: touch;
  scrollbar-width: none; overscroll-behavior-x: contain; }
.v2-v2.v2-v2 .v2-today.is-touch .v2-today__track::-webkit-scrollbar { display: none; }
.v2-v2.v2-v2 .v2-today.is-touch .v2-today__rail { overflow: visible; }
.v2-v2.v2-v2 .v2-today.is-touch .v2-today__serving { -webkit-tap-highlight-color: transparent; touch-action: pan-x pan-y; }
/* reduced motion: the tray stands still and scrolls by hand; the second copy of the list is not needed */
@media (prefers-reduced-motion: reduce) {
  .v2-v2.v2-v2 .v2-today__rail { overflow: visible; -webkit-mask-image: none; mask-image: none; }
  .v2-v2.v2-v2 .v2-today__track { animation: none; width: auto; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x proximity; padding-bottom: 10px;
    scrollbar-width: thin; scrollbar-color: var(--green) rgba(36,96,36,.16); }
  .v2-v2.v2-v2 .v2-today__list[aria-hidden="true"] { display: none; }
  .v2-v2.v2-v2 .v2-today__list > li { scroll-snap-align: start; }
}
@media (max-width: 1024px) {
  .v2-v2.v2-v2 .v2-today { --padding-left: 0px; }
  .v2-v2.v2-v2 .v2-today__panel { grid-template-columns: minmax(0, 1fr); row-gap: clamp(20px, 3vw, 32px); }
  .v2-v2.v2-v2 .v2-today__plate { margin-inline: var(--pad-inline); --big: 72px; }
  .v2-v2.v2-v2 .v2-today__rail { grid-column: 1; grid-row: 2; }
  .v2-v2.v2-v2 .v2-today__rail { -webkit-mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent);
                                        mask-image: linear-gradient(90deg, transparent, #000 40px, #000 calc(100% - 40px), transparent); }
}
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-today { --disc: 84px; --tray-gap: 22px; }
  .v2-v2.v2-v2 .v2-today__plate { --big: 56px; padding: 22px 20px 24px; margin-inline: var(--gutter); }
  .v2-v2.v2-v2 .v2-today__title { font-size: clamp(1.75rem, 8vw, 2.25rem); }
  .v2-v2.v2-v2 .v2-today__plate .v2-btn { width: 100%; }
  .v2-v2.v2-v2 .v2-today__plate .v2-btn .elementor-button { width: 100%; justify-content: center; }
  .v2-v2.v2-v2 .v2-today__name { font-size: 1rem; }
  .v2-v2.v2-v2 .v2-today__price { font-size: 1.0625rem; }
  .v2-v2.v2-v2 .v2-today__rail { padding: 6px 0 8px; }
  .v2-v2.v2-v2 .v2-today__panel { row-gap: 16px; }
}

/* ---- the hero banner video (2026-10-14): the storefront clip behind the hero copy. The words sit on a leaf-green shade at
   the left, as if read from under the awning; the Round's four facts read flat as cream chips along the bottom; the banner
   gives up its bottom-left corner to the big radius so it belongs to the pair pattern. The Round's own rules stay above for
   HERO = 'round'. Markup: BANNER_VIDEO / FACTS / hero_video() in page.py. ---- */
.v2-v2.v2-v2 .v2-banner { position: relative; --display: grid; grid-template-rows: minmax(0, 1fr); align-items: end; min-height: clamp(600px, 82vh, 860px);
  --padding-top: clamp(200px, 30vh, 300px); --padding-bottom: clamp(28px, 3.4vw, 48px); --padding-left: var(--pad-inline); --padding-right: var(--pad-inline);
  --big: clamp(72px, 9vw, 140px); background: var(--green-deep); color: var(--on-dark); border-radius: 0 0 0 var(--big); overflow: clip; isolation: isolate; }
.v2-v2.v2-v2 .v2-banner > .v2-banner__host { position: absolute; inset: 0; width: 100%; max-width: none; margin: 0; z-index: 0; }
.v2-v2.v2-v2 .v2-banner__host .elementor-widget-container { position: absolute; inset: 0; }
.v2-v2.v2-v2 .v2-banner__media { position: absolute; inset: 0; overflow: hidden; }
.v2-v2.v2-v2 .v2-banner__video { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 40%; display: block; }
/* the shade is the leaf field's deep green, strongest under the words and lifting toward the sign; a second band darkens the floor for the chips */
.v2-v2.v2-v2 .v2-banner__shade { position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(180deg, rgba(20,54,26,0) 30%, rgba(20,54,26,.55) 62%, rgba(20,54,26,.86) 100%),
    linear-gradient(90deg, rgba(20,54,26,.9) 0%, rgba(20,54,26,.84) 36%, rgba(20,54,26,.4) 60%, rgba(20,54,26,0) 78%); }
.v2-v2.v2-v2 .v2-banner__say { position: relative; z-index: 1; max-width: 46rem; --display: flex; --flex-direction: column; --align-items: flex-start; align-self: end; }
.v2-v2.v2-v2 .v2-banner .v2-hero__title .elementor-heading-title { color: var(--on-dark); max-width: 24ch; font-size: clamp(2.125rem, 3.9vw, 3.5rem); }
.v2-v2.v2-v2 .v2-banner .v2-hero__lede { color: var(--on-dark-soft); margin-top: clamp(16px, 1.8vw, 24px); max-width: 33rem; font-size: clamp(1rem, 1.15vw, 1.125rem); }
.v2-v2.v2-v2 .v2-banner .v2-hero__cta { margin-top: clamp(24px, 2.6vw, 34px); --display: grid; --row-gap: 18px; --width: fit-content; width: fit-content; max-width: 100%; justify-items: center; }
.v2-v2.v2-v2 .v2-banner .v2-hero__actions { --flex-direction: row; --flex-wrap: wrap; --align-items: center; --row-gap: 10px; --column-gap: 22px; }
.v2-v2.v2-v2 .v2-banner .v2-hero__actions > .elementor-widget { width: auto; }
.v2-v2.v2-v2 .v2-banner .v2-hero__actions .v2-btn .elementor-button { padding-top: calc(1.12em + 2px); padding-bottom: calc(.98em - 2px); }
.v2-v2.v2-v2 .v2-banner .v2-hero__actions .v2-btn--primary .elementor-button,
.v2-v2.v2-v2 .v2-banner .v2-hero__actions .v2-btn--primary .elementor-button:hover { color: #fff; }
/* the outlined pill on the dark: a cream rim, filling cream */
.v2-v2.v2-v2 .v2-banner .v2-btn--line .elementor-button { color: var(--cream); box-shadow: inset 0 0 0 1.75px rgba(253,251,244,.6); }
.v2-v2.v2-v2 .v2-banner .v2-btn--line .elementor-button:hover { background: var(--cream); color: var(--ink); box-shadow: inset 0 0 0 1.75px var(--cream); }
.v2-v2.v2-v2 .v2-banner .v2-hero__telugu { width: auto; margin: 0; font-size: .9375rem; line-height: 1.3; color: var(--on-dark-soft); text-align: center; }
.v2-v2.v2-v2 .v2-banner .v2-hero__telugu [lang="te"] { font-size: 1.25rem; font-weight: 600; color: var(--leaf); margin-right: .35em; }
.v2-v2.v2-v2 .v2-banner :focus-visible { outline-color: var(--cream); }
/* the facts, read flat: cream chips with the lit rim, like the phone's status chip */
.v2-v2.v2-v2 .v2-banner__facts { width: auto; max-width: 100%; margin-top: clamp(26px, 3.2vw, 40px); }
.v2-v2.v2-v2 .v2-facts { display: flex; flex-wrap: wrap; gap: 10px; margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-facts > li { margin: 0; }
.v2-v2.v2-v2 .v2-facts__chip { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 8px 18px 8px 14px; border-radius: var(--r-pill);
  background: var(--cream); color: var(--ink); box-shadow: var(--rim-lit); text-decoration: none; line-height: 1; transition: box-shadow .25s var(--ease), background-color .25s var(--ease); }
.v2-v2.v2-v2 a.v2-facts__chip:hover { background: var(--paper); color: var(--ink); box-shadow: var(--rim-strong); }
.v2-v2.v2-v2 .v2-facts__status .v2-status__lamp { width: 13px; height: 13px; }
.v2-v2.v2-v2 .v2-facts__status .v2-status__text { display: grid; gap: 1px; }
.v2-v2.v2-v2 .v2-facts__status .v2-status__label { font-size: .9375rem; line-height: 1.1; }
.v2-v2.v2-v2 .v2-facts__status .v2-status__detail { font-size: .75rem; line-height: 1.2; }
.v2-v2.v2-v2 .v2-facts__glogo { flex: none; width: 18px; height: 18px; display: block; }
.v2-v2.v2-v2 .v2-facts__glogo svg { width: 100%; height: 100%; display: block; }
.v2-v2.v2-v2 .v2-facts__score { font-family: var(--f-head); font-weight: 700; font-size: 1.1875rem; line-height: 1; color: var(--ink); transform: translateY(.08em); }
.v2-v2.v2-v2 .v2-facts__g .v2-stars { width: 70px; height: 13px; -webkit-mask-size: 14px 13px; mask-size: 14px 13px; flex: none; }
.v2-v2.v2-v2 .v2-facts__count { font-size: .8125rem; font-weight: 600; line-height: 1; color: var(--ink-soft); }
/* Hind Guntur's tall (Telugu) line box sets Latin text high; the count comes down to the centre line the logo, score and stars share */
@media (min-width: 768px) { .v2-v2.v2-v2 .v2-facts__count { transform: translateY(.33em); } }
.v2-v2.v2-v2 .v2-facts__n { font-family: var(--f-head); font-weight: 700; font-size: 1.1875rem; line-height: 1; color: var(--ink); display: inline-flex; align-items: baseline; gap: .12em; transform: translateY(.08em); }
.v2-v2.v2-v2 .v2-facts__u { font-family: var(--f-body); font-weight: 600; font-size: .6875rem; letter-spacing: .04em; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-facts__l { font-size: .8125rem; font-weight: 600; color: var(--ink-soft); }
/* the one control: a cream round button that stops and starts the clip (it moves for longer than five seconds) */
.v2-v2.v2-v2 .v2-banner__pause { position: absolute; right: var(--pad-inline); bottom: clamp(20px, 3vw, 36px); z-index: 2; width: 48px; height: 48px; padding: 0; margin: 0;
  border: 0; border-radius: 50%; background: var(--cream); color: var(--green); box-shadow: var(--rim-lit); cursor: pointer; display: grid; place-items: center;
  transition: background-color .22s var(--ease), box-shadow .22s var(--ease); }
.v2-v2.v2-v2 .v2-banner__pause:hover { background: var(--paper); box-shadow: inset 0 0 0 1.5px var(--green), inset 0 1.5px 0 rgba(255,255,255,.9); }
.v2-v2.v2-v2 .v2-banner__pause:active { box-shadow: inset 0 2px 5px rgba(0,0,0,.18); }
.v2-v2.v2-v2 .v2-banner__ico { width: 22px; height: 22px; grid-area: 1 / 1; }
.v2-v2.v2-v2 .v2-banner__ico--play { display: none; }
.v2-v2.v2-v2 .v2-banner__pause[aria-pressed="true"] .v2-banner__ico--pause { display: none; }
.v2-v2.v2-v2 .v2-banner__pause[aria-pressed="true"] .v2-banner__ico--play { display: block; }
@media (max-width: 1024px) {
  .v2-v2.v2-v2 .v2-banner { min-height: clamp(560px, 76vh, 760px); --padding-top: clamp(180px, 28vh, 260px); }
  .v2-v2.v2-v2 .v2-banner__say { max-width: 40rem; }
  .v2-v2.v2-v2 .v2-banner__shade { background:
    linear-gradient(180deg, rgba(20,54,26,0) 26%, rgba(20,54,26,.62) 58%, rgba(20,54,26,.9) 100%),
    linear-gradient(90deg, rgba(20,54,26,.6) 0%, rgba(20,54,26,.4) 50%, rgba(20,54,26,.08) 100%); }
}
/* phone: a cover crop would cut the sign off, so the clip shows whole at 16:9 above the copy, which goes back onto the pale leaf.
   The clip is an inset card a gutter clear of the header (user's call 2026-10-23), lined up with the copy, with the pair pattern's one big corner */
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-banner { min-height: 0; grid-template-rows: auto auto; row-gap: 22px; --padding-top: 0px; --padding-bottom: 0px; --padding-left: 0px; --padding-right: 0px;
    background: transparent; color: var(--ink); border-radius: 0; overflow: visible; }
  .v2-v2.v2-v2 .v2-banner > .v2-banner__host { position: relative; inset: auto; width: auto; margin: var(--gutter) var(--gutter) 0; aspect-ratio: 16 / 9;
    border-radius: var(--r-card) var(--r-card) var(--r-card) 56px; overflow: clip; background: var(--green-deep); }
  .v2-v2.v2-v2 .v2-banner__video { object-position: 50% 30%; }
  .v2-v2.v2-v2 .v2-banner__shade { display: none; }
  .v2-v2.v2-v2 .v2-banner__say { max-width: none; --padding-left: var(--gutter); --padding-right: var(--gutter); --padding-bottom: 8px; align-self: start; }
  .v2-v2.v2-v2 .v2-banner .v2-hero__title .elementor-heading-title { color: var(--ink); max-width: none; }
  .v2-v2.v2-v2 .v2-banner .v2-hero__lede { color: var(--ink-soft); }
  .v2-v2.v2-v2 .v2-banner .v2-hero__cta { --width: 100%; width: 100%; --row-gap: 14px; }
  .v2-v2.v2-v2 .v2-banner .v2-hero__actions { --row-gap: 12px; width: 100%; }
  .v2-v2.v2-v2 .v2-banner .v2-hero__actions > .elementor-widget-button, .v2-v2.v2-v2 .v2-banner .v2-hero__actions .v2-btn .elementor-button { width: 100%; justify-content: center; }
  .v2-v2.v2-v2 .v2-banner .v2-btn--line .elementor-button { color: var(--green); box-shadow: inset 0 0 0 1.75px var(--green); }
  .v2-v2.v2-v2 .v2-banner .v2-btn--line .elementor-button:hover { background: var(--green); color: var(--cream); }
  .v2-v2.v2-v2 .v2-banner .v2-hero__telugu { color: var(--ink-soft); }
  .v2-v2.v2-v2 .v2-banner .v2-hero__telugu [lang="te"] { color: var(--green); }
  .v2-v2.v2-v2 .v2-banner :focus-visible { outline-color: var(--green); }
  .v2-v2.v2-v2 .v2-banner__facts { width: 100%; margin-top: 22px; }
  /* phone: the two chips sit side by side in one row (user's call 2026-10-14); the Google chip keeps its count for screen readers only */
  .v2-v2.v2-v2 .v2-facts { display: flex; flex-direction: row; flex-wrap: nowrap; justify-content: center; align-items: stretch; gap: 8px; }
  .v2-v2.v2-v2 .v2-facts > li { width: auto; min-width: 0; }
  .v2-v2.v2-v2 .v2-facts__chip { width: auto; min-height: 46px; padding: 7px 14px 7px 12px; gap: 8px; }
  .v2-v2.v2-v2 .v2-facts__status .v2-status__label { font-size: .875rem; }
  .v2-v2.v2-v2 .v2-facts__status .v2-status__detail { font-size: .6875rem; }
  /* the Google chip reads in two lines like the status chip: the rating and stars, then the count beneath */
  .v2-v2.v2-v2 .v2-facts__g { display: grid; grid-template-columns: auto auto auto; grid-template-rows: auto auto; column-gap: 6px; row-gap: 1px; align-items: center; }
  .v2-v2.v2-v2 .v2-facts__glogo { grid-row: 1 / 3; margin-right: 2px; }
  .v2-v2.v2-v2 .v2-facts__score { grid-column: 2; grid-row: 1; }
  .v2-v2.v2-v2 .v2-facts__g .v2-stars { grid-column: 3; grid-row: 1; width: 60px; height: 12px; -webkit-mask-size: 12px 12px; mask-size: 12px 12px; }
  .v2-v2.v2-v2 .v2-facts__count { grid-column: 2 / 4; grid-row: 2; font-size: .6875rem; line-height: 1.2; white-space: nowrap; }
  .v2-v2.v2-v2 .v2-facts__g .v2-stars { width: 56px; -webkit-mask-size: 11px 13px; mask-size: 11px 13px; }
  .v2-v2.v2-v2 .v2-banner__pause { right: 12px; bottom: auto; top: 12px; width: 40px; height: 40px; }
  .v2-v2.v2-v2 .v2-banner__ico { width: 18px; height: 18px; }
}

/* ---- the grand opening banner (2026-10-30): HERO = 'launch'. An AI plate of our biryani in a copper handi (launch_banner.py) behind
   live text: the gold "Grand Opening", the unchanged H1, the opening weekend ticket and the buffet seal.
   From 768px up the banner is exactly the first screen under the bar and header (--avail), and every size in it comes from one scale
   (--big, from the screen's width and height), so the words and both buttons are in view on any laptop. From 1200px the ticket and the
   seal leave the word column for the band between the words and the handi (--food is how far the food reaches in from the right edge),
   so neither side is crowded or empty (user, 2026-10-30). Phones get one dark inset card (the 2026-10-23 inset rule).
   Markup: LAUNCH_* / hero_launch() in page.py. The video banner's rules above stay for HERO = 'video'. ---- */
.v2-v2.v2-v2 .v2-banner--launch { --night: #0b170c; --gold: #f6c25a; --gold-lit: #ffe2a0; --gold-deep: #e48a1c; --on-night-soft: #c3d3bb;
  /* the first screen under the bar and header, in this page's CSS pixels (desktop is zoomed to .9 by the child theme) */
  --zoom: 1; --chrome: 124px;
  --avail: max(440px, calc(100svh / var(--zoom) - var(--chrome)));
  --big: clamp(2.5rem, min(4.2vw, calc(var(--avail) * .1)), 5.5rem);
  --lgap: clamp(10px, calc(var(--avail) * .026), 26px);   /* not --gap: Elementor sets --gap on every container */
  --lpad: var(--pad-inline);
  --lcol: max(calc(var(--big) * 9), 30rem);              /* the word column: as wide as the gold line */
  /* the extended plate's food starts at 67.2% of its width; drawn to cover, it reaches in .851 of the banner height (or 32.8% of the width) */
  --food: max(32.8%, calc(min(var(--avail), 1000px) * .851));
  min-height: min(var(--avail), 1000px);
  grid-template-rows: none; grid-auto-rows: auto; grid-template-columns: minmax(0, var(--lcol)); align-content: center; align-items: start;
  --padding-top: clamp(16px, calc(var(--avail) * .05), 64px); --padding-bottom: clamp(16px, calc(var(--avail) * .05), 64px); --padding-left: var(--lpad);
  background: var(--night); }
/* wide screens: the words start nearer the edge instead of the page column, so the left side is not left empty */
@media (min-width: 1025px) {
  .v2-v2.v2-v2 .v2-banner--launch { --zoom: .9; --lpad: max(var(--gutter), min(var(--pad-inline), 7vw)); }
}
.v2-v2.v2-v2 .v2-banner--launch > :not(.v2-banner__host) { position: relative; z-index: 1; }
.v2-v2.v2-v2 .v2-launch__media { position: absolute; inset: 0; overflow: hidden; }
.v2-v2.v2-v2 .v2-banner--launch .v2-launch__img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 100% 55%; }
/* the plate already keeps its left side dark; the shade only settles it under the words and grounds the bottom edge */
.v2-v2.v2-v2 .v2-launch__shade { position: absolute; inset: 0; pointer-events: none;
  background:
    linear-gradient(90deg, rgba(8,18,9,.9) 0%, rgba(8,18,9,.78) 30%, rgba(8,18,9,.34) 46%, rgba(8,18,9,0) 58%),
    linear-gradient(180deg, rgba(8,18,9,.3) 0%, rgba(8,18,9,0) 20%, rgba(8,18,9,0) 74%, rgba(8,18,9,.55) 100%); }

/* the column, in reading order for a laptop: headline, lede, the ticket (until 1200px), buttons, chips */
@media (min-width: 768px) {
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__say { order: 1; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__lede { order: 2; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal { order: 3; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta { order: 4; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { order: 5; }
}
.v2-v2.v2-v2 .v2-banner--launch > .v2-banner__say { max-width: none; align-self: start; }

/* kicker and the gold display line */
.v2-v2.v2-v2 .v2-launch__head p { margin: 0; }
.v2-v2.v2-v2 .v2-launch__kick { display: inline-flex; align-items: center; gap: .75em; font-family: var(--f-label); font-weight: 700;
  font-size: clamp(.75rem, calc(var(--big) * .18), .875rem); line-height: 1; letter-spacing: .16em; text-transform: uppercase; color: var(--gold-lit); }
.v2-v2.v2-v2 .v2-launch__lamp { width: 9px; height: 9px; border-radius: 50%; background: var(--gold); flex: none;
  box-shadow: 0 0 0 4px rgba(246,194,90,.16), 0 0 16px 3px rgba(255,190,70,.55); }
.v2-v2.v2-v2 .v2-launch__head .v2-launch__big { margin-top: calc(var(--big) * .14); font-family: var(--f-display); font-weight: 800; font-size: var(--big);
  line-height: 1.04; letter-spacing: -.02em; white-space: nowrap; color: var(--gold); }
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
  .v2-v2.v2-v2 .v2-launch__head .v2-launch__big { background: linear-gradient(180deg, var(--gold-lit) 8%, var(--gold) 48%, var(--gold-deep) 96%);
    -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 2px 0 rgba(0,0,0,.32)); }
}
.v2-v2.v2-v2 .v2-banner--launch .v2-hero__title { margin-top: var(--lgap); }
.v2-v2.v2-v2 .v2-banner--launch .v2-hero__title .elementor-heading-title { color: var(--cream); font-size: calc(var(--big) * .42); line-height: 1.16;
  letter-spacing: -.01em; max-width: none; }
.v2-v2.v2-v2 .v2-banner--launch > .v2-hero__lede { color: var(--on-night-soft); margin-top: var(--lgap); max-width: none;
  font-size: clamp(.9375rem, calc(var(--big) * .26), 1.125rem); line-height: 1.55; }

/* the ticket: a gold stub and a cream body, a perforation between them and a half-moon bite out of each edge there */
.v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal { width: auto; margin-top: calc(var(--lgap) * 1.2); }
.v2-v2.v2-v2 .v2-deal { position: relative; }
.v2-v2.v2-v2 .v2-deal__ticket { filter: drop-shadow(0 14px 22px rgba(0,0,0,.38)); }
.v2-v2.v2-v2 .v2-ticket { --cut: max(7.25rem, calc(var(--big) * 2.2)); --bite: 9px; display: grid; grid-template-columns: var(--cut) minmax(0, 1fr); width: fit-content; max-width: 100%;
  -webkit-mask: radial-gradient(circle var(--bite) at var(--cut) 0, #0000 96%, #000) top / 100% 51% no-repeat,
                radial-gradient(circle var(--bite) at var(--cut) 100%, #0000 96%, #000) bottom / 100% 51% no-repeat;
          mask: radial-gradient(circle var(--bite) at var(--cut) 0, #0000 96%, #000) top / 100% 51% no-repeat,
                radial-gradient(circle var(--bite) at var(--cut) 100%, #0000 96%, #000) bottom / 100% 51% no-repeat; }
.v2-v2.v2-v2 .v2-ticket p { margin: 0; }
.v2-v2.v2-v2 .v2-ticket__stub { display: grid; place-content: center; gap: 2px; padding: calc(var(--lgap) * .7) 10px; border-radius: 16px 0 0 16px; text-align: center;
  background: linear-gradient(160deg, var(--gold-lit) 0%, var(--gold) 46%, var(--gold-deep) 100%); color: var(--green-deep);
  font-family: var(--f-display); font-weight: 800; font-size: clamp(1rem, calc(var(--big) * .28), 1.375rem); line-height: 1.05; text-transform: uppercase; }
.v2-v2.v2-v2 .v2-ticket__stub span { display: block; white-space: nowrap; }
.v2-v2.v2-v2 .v2-ticket__body { padding: calc(var(--lgap) * .7) 24px calc(var(--lgap) * .7) 20px; border-radius: 0 16px 16px 0; background: var(--cream); color: var(--ink);
  border-left: 2px dashed rgba(23,50,26,.3); }
.v2-v2.v2-v2 .v2-ticket__kick { font-family: var(--f-label); font-size: .6875rem; font-weight: 700; line-height: 1.2; letter-spacing: .14em; text-transform: uppercase; color: var(--orange-ink); }
.v2-v2.v2-v2 .v2-ticket .v2-ticket__what { margin-top: 3px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.0625rem, calc(var(--big) * .3), 1.375rem); line-height: 1.1; color: var(--ink); }
.v2-v2.v2-v2 .v2-ticket .v2-ticket__when { max-width: 19rem; margin-top: 4px; font-size: .875rem; line-height: 1.4; color: var(--ink-soft); }

/* actions: directions lead, Call now beside it */
.v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta { margin-top: calc(var(--lgap) * 1.3); justify-items: start; }
.v2-v2.v2-v2 .v2-banner--launch .v2-hero__actions { --column-gap: 14px; --row-gap: 12px; }
.v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { margin-top: var(--lgap); }

/* the buffet seal: a gold coin with a turning perforated ring. In the column layouts it hangs from the garland at the top right */
.v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal, .v2-v2.v2-v2 .v2-launch__deal > .elementor-widget-container, .v2-v2.v2-v2 .v2-banner--launch .v2-deal { position: static; }
.v2-v2.v2-v2 .v2-deal > .v2-seal { position: absolute; z-index: 2; right: var(--lpad); top: calc(var(--lgap) * 1.5); }
.v2-v2.v2-v2 .v2-seal { display: grid; place-content: center; justify-items: center; width: clamp(104px, calc(var(--big) * 2.3), 172px); aspect-ratio: 1;
  margin: 0; border-radius: 50%; text-align: center; color: var(--green-deep); transform: rotate(-8deg); container-type: inline-size;
  background: radial-gradient(circle at 34% 28%, var(--gold-lit) 0%, var(--gold) 46%, var(--gold-deep) 100%);
  box-shadow: inset 0 0 0 5px rgba(255,236,190,.55), inset 0 0 0 6.5px rgba(20,54,26,.35), 0 18px 30px -10px rgba(0,0,0,.6); }
.v2-v2.v2-v2 .v2-seal__ring { position: absolute; inset: 9px; width: calc(100% - 18px); height: calc(100% - 18px); fill: none; stroke: var(--green-deep);
  stroke-width: 1.4; stroke-dasharray: 1.6 3.4; stroke-linecap: round; opacity: .55; }
/* the words are sized in the seal's own width (cqi), so the stack stays inside the dotted ring at every size */
.v2-v2.v2-v2 .v2-seal__n { font-family: var(--f-display); font-weight: 800; font-size: 24cqi; line-height: .9; letter-spacing: -.03em; }
.v2-v2.v2-v2 .v2-seal__u { font-weight: 700; font-size: 6.5cqi; line-height: 1; letter-spacing: .22em; text-indent: .22em; text-transform: uppercase; margin-top: 2cqi; }
.v2-v2.v2-v2 .v2-seal__l { margin-top: 3.5cqi; font-family: var(--f-display); font-weight: 700; font-size: 9cqi; line-height: 1.08; }

/* from 1200px: the ticket stands upright in the band between the words and the handi, tilted as if set down on the table, the seal on
   its corner. The band runs from the column's edge to where the food starts, so it never covers either; the ticket scales to the band */
@media (min-width: 1200px) {
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta { margin-top: calc(var(--lgap) * 1.6); }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { margin-top: calc(var(--lgap) * 1.2); }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal { position: absolute; z-index: 2; top: 0; bottom: 0; margin: 0; max-width: none;
    left: calc(var(--lpad) + var(--lcol) + var(--lgap) * 1.5); right: calc(var(--food) - var(--lgap) * .5);
    display: grid; place-items: center; container-type: inline-size; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-deal { --seal: clamp(92px, 42cqi, 144px); position: relative; width: clamp(230px, 84cqi, 300px);
    margin-top: calc(var(--seal) * .34); transform: rotate(-2.5deg); }
  /* the seal sits on the stub's free right side (the ticket reads from the left), half off the corner */
  .v2-v2.v2-v2 .v2-deal > .v2-seal { right: calc(var(--seal) * -.42); top: calc(var(--seal) * -.52); width: var(--seal); }
  .v2-v2.v2-v2 .v2-deal .v2-ticket { --cuty: clamp(4.5rem, 30cqi, 5.75rem); width: 100%; grid-template-columns: minmax(0, 1fr); grid-template-rows: var(--cuty) auto;
    -webkit-mask: radial-gradient(circle var(--bite) at 0 var(--cuty), #0000 96%, #000) left / 51% 100% no-repeat,
                  radial-gradient(circle var(--bite) at 100% var(--cuty), #0000 96%, #000) right / 51% 100% no-repeat;
            mask: radial-gradient(circle var(--bite) at 0 var(--cuty), #0000 96%, #000) left / 51% 100% no-repeat,
                  radial-gradient(circle var(--bite) at 100% var(--cuty), #0000 96%, #000) right / 51% 100% no-repeat; }
  .v2-v2.v2-v2 .v2-deal .v2-ticket__stub { border-radius: 18px 18px 0 0; padding: 10px 18px; font-size: clamp(1.25rem, 10cqi, 1.75rem); line-height: 1.02;
    place-content: center start; text-align: left; }
  .v2-v2.v2-v2 .v2-deal .v2-ticket__body { border-left: 0; border-top: 2px dashed rgba(23,50,26,.3); border-radius: 0 0 18px 18px; padding: 16px 18px 18px; text-align: left; }
  .v2-v2.v2-v2 .v2-deal .v2-ticket__kick { font-size: .65rem; letter-spacing: .1em; }
  /* big screens: the buttons grow with the headline so they don't read small beside it */
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__actions .v2-btn .elementor-button { font-size: clamp(1rem, calc(var(--big) * .22), 1.1875rem); }
  .v2-v2.v2-v2 .v2-deal .v2-ticket .v2-ticket__what { font-size: clamp(1.125rem, 7.6cqi, 1.5rem); margin-top: 6px; }
  .v2-v2.v2-v2 .v2-deal .v2-ticket .v2-ticket__when { max-width: none; margin-top: 8px; }
}

/* arrival: the words rise in turn, the plate settles, the ticket and the seal land; all still under reduced motion */
@media (prefers-reduced-motion: no-preference) {
  .v2-v2.v2-v2 .v2-banner--launch .v2-launch__img { animation: v2-launch-settle 2.4s var(--ease) both; }
  .v2-v2.v2-v2 .v2-banner--launch > :not(.v2-banner__host):not(.v2-launch__deal) { animation: v2-launch-rise .8s var(--ease) both; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__lede { animation-delay: .1s; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta { animation-delay: .2s; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { animation-delay: .28s; }
  .v2-v2.v2-v2 .v2-deal__ticket { animation: v2-launch-rise .9s .3s var(--ease) both; }
  .v2-v2.v2-v2 .v2-deal > .v2-seal { animation: v2-launch-land .9s .55s var(--ease) both; }
  .v2-v2.v2-v2 .v2-seal__ring { animation: v2-launch-turn 48s linear infinite; }
  .v2-v2.v2-v2 .v2-launch__lamp { animation: v2-launch-glow 2.8s ease-in-out infinite; }
}
@keyframes v2-launch-settle { from { transform: scale(1.045); } to { transform: none; } }
@keyframes v2-launch-rise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes v2-launch-land { from { opacity: 0; transform: scale(.82) rotate(-18deg); } to { opacity: 1; transform: rotate(-8deg); } }
@keyframes v2-launch-turn { to { transform: rotate(360deg); } }
@keyframes v2-launch-glow { 50% { box-shadow: 0 0 0 6px rgba(246,194,90,.1), 0 0 22px 5px rgba(255,190,70,.75); } }

/* portrait tablets: the same first-screen fit with the phone plate (food up top), the words low over a heavier floor shade */
@media (max-width: 1024px) and (max-aspect-ratio: 1/1) {
  .v2-v2.v2-v2 .v2-banner--launch { --big: clamp(2.5rem, min(7vw, calc(var(--avail) * .095)), 4.25rem); align-content: end;
    grid-template-columns: minmax(0, min(100%, max(calc(var(--big) * 9), 32rem))); --padding-top: calc(var(--lgap) * 2); }
  .v2-v2.v2-v2 .v2-launch__shade { background:
    linear-gradient(180deg, rgba(8,18,9,0) 22%, rgba(8,18,9,.7) 48%, rgba(8,18,9,.92) 70%, rgba(8,18,9,.96) 100%),
    linear-gradient(90deg, rgba(8,18,9,.55) 0%, rgba(8,18,9,.2) 60%, rgba(8,18,9,0) 100%); }
  .v2-v2.v2-v2 .v2-banner--launch .v2-launch__img { object-position: 50% 0; }
}

/* phones: one dark inset card. A short crop of the plate on top, the gold line (one line, as on laptops) pulled up into its floor, then
   the offer and both buttons side by side so they reach the first screen; the lede and the chips follow (the markup's own order) */
@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-banner--launch { --big: clamp(1.75rem, 9.2vw, 2.5rem); --lgap: 16px; --lpad: 12px;
    min-height: 0; margin: var(--gutter) var(--gutter) 0; grid-template-columns: minmax(0, 1fr); align-content: start; row-gap: 0;
    --padding-top: 0px; --padding-bottom: 22px; --padding-left: 0px; --padding-right: 0px;
    background: var(--night); color: var(--on-dark); border-radius: var(--r-card) var(--r-card) var(--r-card) 56px; overflow: clip; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__host { margin: 0; aspect-ratio: 16 / 10; border-radius: 0; background: var(--night); }
  .v2-v2.v2-v2 .v2-banner--launch .v2-launch__img { object-position: 50% 22%; }
  .v2-v2.v2-v2 .v2-launch__shade { background: linear-gradient(180deg, rgba(8,18,9,0) 60%, rgba(8,18,9,.7) 84%, var(--night) 100%); }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__say { margin-top: -8%; --padding-left: 20px; --padding-right: 20px; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal, .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta,
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__lede, .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { margin-left: 20px; margin-right: 20px; --width: auto; width: auto; }
  .v2-v2.v2-v2 .v2-launch__kick { font-size: .75rem; letter-spacing: .16em; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__title { margin-top: 12px; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__title .elementor-heading-title { font-size: clamp(1.25rem, 5.8vw, 1.625rem); }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-launch__deal { margin-top: 16px; }
  .v2-v2.v2-v2 .v2-ticket { --cut: 6.25rem; width: 100%; }
  .v2-v2.v2-v2 .v2-ticket__stub { font-size: .875rem; padding: 12px 6px; }
  .v2-v2.v2-v2 .v2-ticket__body { padding: 12px 12px 12px 14px; }
  .v2-v2.v2-v2 .v2-ticket .v2-ticket__what { font-size: 1.125rem; }
  .v2-v2.v2-v2 .v2-ticket .v2-ticket__when { font-size: .8125rem; max-width: none; }
  .v2-v2.v2-v2 .v2-ticket__kick { font-size: .625rem; letter-spacing: .08em; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__cta { margin-top: 16px; justify-items: stretch; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__actions { --flex-wrap: nowrap; --column-gap: 10px; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__actions > .elementor-widget-button { flex: 1 1 0; min-width: 0; width: auto; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-hero__actions .v2-btn .elementor-button { width: 100%; padding-inline: 10px; font-size: .9375rem; }
  .v2-v2.v2-v2 .v2-banner--launch .v2-btn--line .elementor-button { color: var(--cream); box-shadow: inset 0 0 0 1.75px rgba(253,251,244,.6); }
  .v2-v2.v2-v2 .v2-banner--launch .v2-btn--line .elementor-button:hover { background: var(--cream); color: var(--ink); }
  .v2-v2.v2-v2 .v2-banner--launch :focus-visible { outline-color: var(--cream); }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-hero__lede { margin-top: 20px; font-size: .9375rem; }
  .v2-v2.v2-v2 .v2-banner--launch > .v2-banner__facts { margin-top: 20px; }
  .v2-v2.v2-v2 .v2-deal > .v2-seal { right: 12px; top: 12px; width: 100px; }
}


/* ManaVindhu /menu/ in the "Bhojanam Round" world. Appended after v2/styles.css as the page's Custom CSS.
   Page sections are scoped under .v2-v2.v2-v2; the ordering plugin's markup (.mvo-*) is restyled inside that
   scope, and its footer-mounted cart bar, drawer and toast (outside the wrapper) under html:has(.v2-v2).

   Nothing here redefines a token from v2/styles.css. Two local aliases carry the page's own measurements. */

.v2-v2.v2-v2 .v2-menupage,
.v2-v2.v2-v2 {
  --rule: rgba(36, 96, 36, .16);     /* the leaf-green hairline between rows */
  --ink-rise: .26em;                 /* how far Hind Guntur's ink sits above its line box centre */
  --toolsh: 96px;                    /* the sticky tools bar's own height, desktop */
  --veg: #246024;                    /* the two food marks: the brand green and the world's error red, */
  --nonveg: #8f1a13;                 /* used as information, not as a second accent */
}
/* several classes here set display, so a hidden thing needs the weight to stay hidden */
.v2-v2.v2-v2 [hidden] { display: none !important; }

/* Every control on this page is a thing to press, not a thing to read. Without this a tap that
   moves a hair starts a text selection instead of dispatching a click, which on a phone reads as
   the control simply not working — the label highlights and nothing happens. */
.v2-v2.v2-v2 .mvo-rail a,
.v2-v2.v2-v2 .mvo-rail-fam,
.v2-v2.v2-v2 .mvo-rail-all a,
.v2-v2.v2-v2 .mvo-rail-close,
.v2-v2.v2-v2 .mvo-rail-now,
.v2-v2.v2-v2 .mvo-jumpbtn,
.v2-v2.v2-v2 .mvo-pill,
.v2-v2.v2-v2 .mvo-add,
.v2-v2.v2-v2 .mvo-step,
.v2-v2.v2-v2 .mvo-search-clear,
.v2-v2.v2-v2 .mvo-none .mvo-btn,
.v2-v2.v2-v2 .v2-cartplate {
  -webkit-user-select: none; user-select: none;
  touch-action: manipulation;
  -webkit-tap-highlight-color: rgba(36, 96, 36, .16);
}
/* the radio is the label's business; the finger should always land on the label itself */
.v2-v2.v2-v2 .mvo-pill input { pointer-events: none; }
/* a pressed control says so at once, before any class or navigation lands */
.v2-v2.v2-v2 .mvo-rail a:active { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-jumpbtn:active { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-jumpbtn:active .mvo-ico, .v2-v2.v2-v2 .mvo-jumpbtn:active .mvo-jumpbtn-chev { color: var(--cream); border-color: var(--cream); }
html:has(.v2-menupage) { scroll-padding-top: 210px; }

/* ---- header action: the order plate, the page's one primary action ---- */
.v2-v2.v2-v2 .v2-header__cta { width: auto; flex: none; }
.v2-v2.v2-v2 .v2-cartplate {
  position: relative; display: inline-flex; align-items: center; gap: .6em; width: auto; height: auto; min-height: 46px;
  padding: 1em 1.5em .78em; border: 0; border-radius: var(--r-pill); cursor: pointer;
  font-family: var(--f-body); font-weight: 600; font-size: 1rem; line-height: 1; letter-spacing: .005em;
  background: var(--orange); color: #fff; box-shadow: inset 0 -2px 0 rgba(0,0,0,.16);
  transition: background-color .22s var(--ease), box-shadow .22s var(--ease);
}
.v2-v2.v2-v2 .v2-cartplate:hover { background: var(--orange-lit); color: #fff; border: 0; }
.v2-v2.v2-v2 .v2-cartplate:active { box-shadow: inset 0 2px 5px rgba(0,0,0,.22); }
.v2-v2.v2-v2 .v2-cartplate:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-cartplate .v2-cartplate__count {
  position: static; display: inline-grid; place-items: center; min-width: 1.5em; height: 1.5em; padding: 0 .35em;
  border-radius: var(--r-pill); background: var(--on-orange); color: var(--cream);
  font: 700 .8125rem/1 var(--f-body); font-variant-numeric: tabular-nums;
}
.v2-v2.v2-v2 a.v2-cartplate, .v2-v2.v2-v2 a.v2-cartplate:hover { text-decoration: none; }
/* the arrow sat 2.5px under the label's ink centre, which the eye reads as a dropped arrow */
.v2-v2.v2-v2 .v2-cartplate--out .mvo-ico { width: .8em; height: .8em; flex: none;
  transform: translateY(-2.5px); transition: transform .25s var(--ease); }
.v2-v2.v2-v2 .v2-cartplate--out:hover .mvo-ico { transform: translate(2px, -4.5px); }

/* ---- nav: mark the page you are on ---- */
@media (max-width: 1024px) { .v2-v2.v2-v2 .v2-nav__list a[aria-current="page"] { background: var(--green); color: var(--cream); } }

/* =========================================================================================
   1 · the head: one cream board set down on the leaf
   ========================================================================================= */
.v2-v2.v2-v2 .v2-mhead { --padding-top: clamp(24px, 3.4vw, 48px); --padding-right: var(--pad-inline); --padding-bottom: clamp(16px, 2vw, 24px); --padding-left: var(--pad-inline); background: var(--leaf-pale); }
.v2-v2.v2-v2 .v2-mhead__board {
  --padding-top: clamp(24px, 2.8vw, 38px); --padding-right: clamp(24px, 3.6vw, 56px);
  --padding-bottom: clamp(22px, 2.6vw, 34px); --padding-left: clamp(24px, 3.6vw, 56px);
  background: var(--cream); border-radius: var(--r-card); border-bottom-left-radius: clamp(56px, 7vw, 96px);
  box-shadow: var(--rim-lit);
}
.v2-v2.v2-v2 .v2-mhead__status { width: auto; align-self: flex-start; margin-bottom: clamp(16px, 1.8vw, 24px); }
/* the two columns stretch to one height, so the leaf stands the full depth of the title beside it */
.v2-v2.v2-v2 .v2-mhead__grid { --display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); column-gap: clamp(28px, 4.4vw, 72px); row-gap: 24px; align-items: stretch; }
.v2-v2.v2-v2 .v2-mhead__main { --display: flex; --flex-direction: column; --justify-content: center; }
.v2-v2.v2-v2 .v2-mhead__title .elementor-heading-title { font-size: clamp(2.375rem, 5.2vw, 4.75rem); line-height: 1; letter-spacing: -.025em; color: var(--ink); max-width: 11ch; }
.v2-v2.v2-v2 .v2-mhead__title .v2-mhead__sub { display: block; margin-top: .55em; font-family: var(--f-body); font-weight: 600; font-size: clamp(.9375rem, 1.1vw, 1.0625rem);
  line-height: 1.3; letter-spacing: .06em; text-transform: uppercase; color: var(--green); max-width: none; }

/* the banana leaf: the world's dark field cut to a leaf, its midrib running the length of it and the
   name of the place laid on top the way food is laid on a leaf */
.v2-v2.v2-v2 .v2-mhead__leaf {
  position: relative; overflow: hidden; min-height: clamp(170px, 16vw, 230px);
  --display: flex; --align-items: center; --justify-content: center;
  --padding-top: clamp(28px, 3vw, 44px); --padding-right: clamp(28px, 3.4vw, 52px);
  --padding-bottom: clamp(28px, 3vw, 44px); --padding-left: clamp(28px, 3.4vw, 52px);
  border-radius: clamp(56px, 7vw, 120px) var(--r-card) clamp(56px, 7vw, 120px) var(--r-card);
  background:
    repeating-linear-gradient(112deg, transparent 0 21px, rgba(238,244,227,.085) 21px 22px),
    radial-gradient(ellipse 74% 66% at 50% 44%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%);
}
/* the midrib: the leaf's own vein strip, in cream so it reads on the dark field and drawn behind the
   words. It is set at roughly twice its natural size — at 96x28 across a rule this wide the nodes
   crowd into a row of arrowheads; at this scale the veins read as veins. */
.v2-v2.v2-v2 .v2-mhead__leaf::before {
  content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 62px; transform: translateY(-50%); opacity: .42; pointer-events: none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='28'%3E%3Cg fill='none' stroke='%23eef4e3' stroke-width='1.1' stroke-linecap='round'%3E%3Cpath d='M0 14h96'/%3E%3Cpath d='M4 14 22 3M28 14 46 3M52 14 70 3M76 14 94 3M4 14 22 25M28 14 46 25M52 14 70 25M76 14 94 25' opacity='.65'/%3E%3C/g%3E%3C/svg%3E") repeat-x left center/213px 62px;
  -webkit-mask: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
          mask: linear-gradient(90deg, transparent, #000 14%, #000 86%, transparent);
}
.v2-v2.v2-v2 .v2-mhead__telugu { position: relative; width: 100%; text-align: center; }
.v2-v2.v2-v2 .v2-mhead__telugu p { margin: 0; display: grid; gap: 10px; justify-items: center; }
.v2-v2.v2-v2 .v2-mhead__telugu [lang="te"] {
  font-family: var(--f-body); font-weight: 600; font-size: clamp(2.25rem, 4.4vw, 3.5rem); line-height: 1.15; color: var(--cream);
  text-shadow: 0 2px 10px rgba(20,54,26,.45);
}
.v2-v2.v2-v2 .v2-mhead__gloss { font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--on-dark); opacity: .88; }
/* a quiet leaf rule closes the board and opens the legend; the midrib itself is left to the footer,
   where it has the height to read as a leaf vein rather than as a row of arrowheads */
.v2-v2.v2-v2 .v2-mhead__legend { margin-top: clamp(18px, 2.1vw, 26px); padding-top: clamp(15px, 1.8vw, 21px); position: relative; }
.v2-v2.v2-v2 .v2-mhead__legend::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 0;
  border-top: 1.5px solid rgba(36,96,36,.28); }
.v2-v2.v2-v2 .v2-mhead__legend ul { display: flex; flex-wrap: wrap; align-items: center; gap: 10px clamp(16px, 2.2vw, 30px); font-size: .9375rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-mhead__legend li { display: flex; align-items: center; gap: 8px; }
.v2-v2.v2-v2 .v2-mhead__legend li .mvo-mark { transform: translateY(calc(-1 * var(--ink-rise))); }
/* the two facts that carry no food mark take the world's own bullet, so all four read as one list */
.v2-v2.v2-v2 .v2-mhead__legend li:not(:has(.mvo-mark))::before {
  content: ""; flex: none; width: 7px; height: 7px; border-radius: 50%; background: var(--orange);
  transform: translateY(calc(-1 * var(--ink-rise)));
}

/* =========================================================================================
   2 · the tools: search and the diet filter, sticky under the header on a desk
   ========================================================================================= */
.v2-v2.v2-v2 .v2-mtools {
  --padding-top: 18px; --padding-right: var(--pad-inline); --padding-bottom: 26px; --padding-left: var(--pad-inline);
  position: sticky; top: var(--mvo-stick, 104px); z-index: 40; background: var(--leaf-pale);
  box-shadow: 0 1px 0 var(--rule);
}
.v2-v2.v2-v2 .mvo-tools { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 18px; font-family: var(--f-body); color: var(--ink); }

.v2-v2.v2-v2 .mvo-search { position: relative; display: flex; align-items: center; flex: 1 1 20rem; max-width: 32rem; min-width: 0; }
.v2-v2.v2-v2 .mvo-search-ico { position: absolute; left: 16px; width: 20px; height: 20px; color: var(--ink-soft); pointer-events: none; }
.v2-v2.v2-v2 input.mvo-search-input {
  flex: 1; width: 100%; min-width: 0; box-sizing: border-box; height: 56px; padding: 14px 52px 12px 48px;
  border: 0; border-radius: var(--r-field); background: var(--paper); color: var(--ink);
  font: 400 1.0625rem/1.2 var(--f-body); box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.28);
  transition: box-shadow .2s var(--ease);
}
.v2-v2.v2-v2 input.mvo-search-input::placeholder { color: var(--placeholder); }
.v2-v2.v2-v2 input.mvo-search-input:hover { box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.5); }
.v2-v2.v2-v2 input.mvo-search-input:focus { outline: 0; box-shadow: inset 0 0 0 2.5px var(--green); }
.v2-v2.v2-v2 .mvo-search-clear { position: absolute; right: 10px; display: grid; place-items: center; width: 36px; height: 36px; padding: 0;
  border: 0; border-radius: 50%; background: transparent; color: var(--ink-soft); cursor: pointer; transition: background-color .2s var(--ease), color .2s var(--ease); }
.v2-v2.v2-v2 .mvo-search-clear:hover { background: rgba(36,96,36,.1); color: var(--green); }
.v2-v2.v2-v2 .mvo-search-clear:focus-visible { outline: 2.5px solid var(--green); outline-offset: 2px; }
.v2-v2.v2-v2 .mvo-search-clear svg { width: 16px; height: 16px; }

.v2-v2.v2-v2 .mvo-diet { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; border: 0; }
.v2-v2.v2-v2 .mvo-pill {
  position: relative; display: inline-flex; align-items: center; border-radius: var(--r-pill); padding: 13px 18px 11px; cursor: pointer;
  background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.28);
  font: 600 .9375rem/1 var(--f-body); white-space: nowrap;
  transition: background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease);
}
.v2-v2.v2-v2 .mvo-pill:hover { box-shadow: inset 0 0 0 1.5px var(--green); color: var(--green); }
.v2-v2.v2-v2 .mvo-pill:has(input:checked) { background: var(--green); color: var(--cream); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
.v2-v2.v2-v2 .mvo-pill:has(input:focus-visible) { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .mvo-result { margin: 0; margin-left: auto; font: 600 .9375rem/1.3 var(--f-body); color: var(--ink-soft); font-variant-numeric: tabular-nums; }


/* =========================================================================================
   3 · the ranked dishes: the leaf field, and the food set down on it
   ========================================================================================= */
.v2-v2.v2-v2 .v2-mpop { --padding-top: clamp(40px, 5vw, 72px); --padding-right: var(--pad-inline); --padding-bottom: clamp(40px, 5vw, 72px); --padding-left: var(--pad-inline); background: var(--leaf); }
.v2-v2.v2-v2 .v2-mpop .v2-sechead--split { grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); margin-bottom: clamp(24px, 2.8vw, 34px); }
.v2-v2.v2-v2 .v2-mpop .v2-sechead__title .elementor-heading-title { font-size: clamp(1.75rem, 3vw, 2.75rem); color: var(--ink); }
body.mvo-filtering .v2-v2.v2-v2 .v2-mpop { display: none; }

/* The ranked dishes are the homepage's dish cards at a smaller scale: the cut-out set down on its
   own leaf, then the name, the rank joined to the price across a dotted leader, a line on it, and
   its own order pill. The grid is held to 1140px so the cards stay well under the homepage's. */
/* one row you page through, never a grid that breaks into a ragged second line: the rail bleeds to
   the screen edge and always leaves the next card's edge showing */
.v2-v2.v2-v2 .mvo-pop { display: grid; grid-auto-flow: column; grid-template-columns: none;
  grid-auto-columns: 16.5rem; gap: clamp(14px, 1.6vw, 20px); align-items: stretch;
  overflow-x: auto; scroll-snap-type: x proximity; scroll-behavior: auto; scrollbar-width: none;
  margin-inline: calc(-1 * var(--pad-inline)); padding-inline: var(--pad-inline);
  scroll-padding-inline: var(--pad-inline); padding-bottom: 4px; }
.v2-v2.v2-v2 .mvo-pop::-webkit-scrollbar { display: none; }
.v2-v2.v2-v2 .mvo-pop-item { scroll-snap-align: start; }
.v2-v2.v2-v2 .v2-mpop__nav { margin-top: clamp(20px, 2.4vw, 30px); }
.v2-v2.v2-v2 .v2-mpop__nav[hidden], .v2-v2.v2-v2 .v2-rail__nav[hidden] { display: none !important; }
.v2-v2.v2-v2 .mvo-pop-item { display: flex; flex-direction: column; gap: 0; text-align: left; align-items: stretch;
  padding: 8px; border-radius: var(--r-panel); background: var(--paper); box-shadow: var(--rim-lit);
  transition: box-shadow .25s var(--ease); }
.v2-v2.v2-v2 .mvo-pop-item:hover, .v2-v2.v2-v2 .mvo-pop-item:focus-within { box-shadow: var(--rim-strong); }

/* the leaf the dish is served on; its corner is the card's less the padding, so the two are concentric */
.v2-v2.v2-v2 .mvo-pop-leaf { position: relative; display: grid; place-items: center; width: 100%; flex: none;
  aspect-ratio: 4 / 3; border-radius: calc(var(--r-panel) - 8px); overflow: hidden; box-shadow: none;
  background:
    repeating-linear-gradient(112deg, transparent 0 15px, rgba(238,244,227,.085) 15px 16px),
    radial-gradient(ellipse 74% 66% at 50% 44%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .mvo-pop-img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none;
  object-fit: cover; border-radius: 0; box-shadow: none; }
.v2-v2.v2-v2 .mvo-pop-item--cut .mvo-pop-img { object-fit: contain; padding: 7% 9% 5%; box-sizing: border-box;
  filter: drop-shadow(0 10px 9px rgba(0,0,0,.42)); transition: transform .4s var(--ease); }
.v2-v2.v2-v2 .mvo-pop-item--cut:hover .mvo-pop-img { transform: translateY(-3px); }
.v2-v2.v2-v2 .mvo-pop-num { position: absolute; top: 8px; left: 8px; z-index: 1; display: grid; place-items: center;
  width: 1.75rem; height: 1.75rem; border-radius: 50%; background: var(--orange); color: #fff;
  font-family: var(--f-display); font-weight: 700; font-size: .875rem; line-height: 1; font-variant-numeric: tabular-nums;
  box-shadow: 0 2px 4px rgba(23,50,26,.2); }
/* Baloo rides high in its line box, so the figure needs the nudge to sit in the middle of the dot */
.v2-v2.v2-v2 .mvo-pop-num { padding-top: .18em; }

.v2-v2.v2-v2 .mvo-pop-body { flex: 1 1 auto; display: flex; flex-direction: column; align-items: stretch;
  padding: 14px 10px 8px; }
.v2-v2.v2-v2 .mvo-pop-name { margin: 0; font-family: var(--f-display); font-weight: 700;
  font-size: clamp(1.0625rem, 1.2vw, 1.25rem); line-height: 1.12; letter-spacing: -.01em; color: var(--ink); }
/* in a grid the names run to one line or two; reserving both keeps the price rows level across a row */
.v2-v2.v2-v2 .mvo-pop-name { min-height: 2.24em; }
.v2-v2.v2-v2 .mvo-pop-row { display: flex; align-items: baseline; gap: 8px; margin: 8px 0 0; }
.v2-v2.v2-v2 .mvo-pop-rank { font-size: .8125rem; font-weight: 600; color: var(--ink-soft); white-space: nowrap; }
.v2-v2.v2-v2 .mvo-pop-lead { flex: 1 1 16px; min-width: 14px; height: 0; border-bottom: 2px dotted var(--leaf-deep); transform: translateY(-4px); }
.v2-v2.v2-v2 .mvo-pop-price { flex: none; font-weight: 700; font-size: 1.0625rem; line-height: 1; color: var(--orange-ink);
  font-variant-numeric: tabular-nums lining-nums; white-space: nowrap; }
.v2-v2.v2-v2 .mvo-pop-text { margin: 8px 0 16px; font-size: .875rem; line-height: 1.45; color: var(--ink-soft);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.v2-v2.v2-v2 .mvo-pop .mvo-act { margin-top: auto; align-self: flex-start; }

/* =========================================================================================
   4 · the list: the index down the side, the dishes on white boards
   ========================================================================================= */
.v2-v2.v2-v2 .v2-mbody { --padding-top: clamp(40px, 5vw, 72px); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf-pale); color: var(--ink); }
.v2-v2.v2-v2 .mvo-menu { grid-template-columns: 16.5rem minmax(0, 1fr); gap: clamp(28px, 4vw, 64px); font-family: var(--f-body); font-size: 1.0625rem; line-height: 1.6; color: var(--ink); }
.v2-v2.v2-v2 .mvo-menu a { text-decoration: none; }

/* the notice above the list */
.v2-v2.v2-v2 .mvo-state { margin: 0 0 clamp(24px, 3vw, 36px); padding: 16px 22px 14px; border-radius: var(--r-panel);
  background: var(--paper); color: var(--ink-soft); box-shadow: var(--rim-lit); font-weight: 400; font-size: .9375rem; line-height: 1.5; }
.v2-v2.v2-v2 .mvo-state b { color: var(--ink); font-weight: 600; }
.v2-v2.v2-v2 .mvo-state--closed { color: var(--orange-ink); }
.v2-v2.v2-v2 .mvo-state--paused { color: var(--error-text); }

/* the index: families in the small green label, sections as pill-shaped hit areas */
.v2-v2.v2-v2 .mvo-navbar, .v2-v2.v2-v2 .mvo-rail-head, .v2-v2.v2-v2 .mvo-rail-scrim { display: none; }
.v2-v2.v2-v2 .mvo-rail { top: calc(var(--mvo-stick, 104px) + var(--toolsh) + 24px); max-height: calc(100vh - var(--mvo-stick, 104px) - var(--toolsh) - 48px); padding-right: 6px; scrollbar-color: var(--leaf-deep) transparent; }
/* "All sections" leads the index at both widths and is the way back from one section */
.v2-v2.v2-v2 .mvo-rail-all a { font-weight: 600; color: var(--ink); }
.v2-v2.v2-v2 .mvo-rail-all a.is-on { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-rail-all a.is-on b { color: var(--on-dark-soft); }
.v2-v2.v2-v2 .mvo-rail-all + .mvo-rail-fam { padding-top: 16px; }
.v2-v2.v2-v2 .mvo-rail-fam { padding: 20px 12px 6px; font: 600 .8125rem/1.4 var(--f-body); letter-spacing: .07em; text-transform: uppercase; color: var(--green); }
.v2-v2.v2-v2 .mvo-rail-fam:first-child { padding-top: 0; }
.v2-v2.v2-v2 .mvo-rail a { padding: 11px 12px 4px; border-radius: var(--r-pill); font-size: .9375rem; font-weight: 500; color: var(--ink-soft);
  transition: background-color .2s var(--ease), color .2s var(--ease); }
.v2-v2.v2-v2 .mvo-rail a b { font-weight: 600; font-size: .8125rem; color: var(--placeholder); font-variant-numeric: tabular-nums; }
.v2-v2.v2-v2 .mvo-rail a:hover { background: rgba(36,96,36,.1); color: var(--green); }
.v2-v2.v2-v2 .mvo-rail a:hover b { color: var(--green); }
.v2-v2.v2-v2 .mvo-rail a.is-on { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-rail a.is-on b { color: var(--on-dark-soft); }
.v2-v2.v2-v2 .mvo-rail a:focus-visible { outline: 2.5px solid var(--green); outline-offset: 2px; }
/* a section being the only one on show marks its row; every other row stays reachable */
.v2-v2.v2-v2 .mvo-rail li.is-picked > a { background: var(--green); color: var(--cream); box-shadow: none; }
.v2-v2.v2-v2 .mvo-rail li.is-picked > a b { color: var(--on-dark-soft); }

/* the family head, on the leaf ground above its boards */
/* the family name is served on its own leaf: the world's dark field returns nine times down the
   scroll, and the big corner it gives up is picked up again by the first card underneath it */
.v2-v2.v2-v2 .mvo-fam-head { display: block; margin: 0 0 clamp(14px, 1.6vw, 20px); }
.v2-v2.v2-v2 .mvo-fam-plate { --fam-nudge: clamp(6px, .67vw, 10px);
  display: inline-flex; align-items: baseline; gap: clamp(14px, 1.6vw, 24px); max-width: 100%;
  padding: clamp(14px, 1.5vw, 20px) clamp(24px, 2.6vw, 40px) clamp(12px, 1.3vw, 17px);
  border-radius: clamp(40px, 5vw, 72px) var(--r-panel) var(--r-panel) clamp(40px, 5vw, 72px);
  color: var(--on-dark);
  background:
    repeating-linear-gradient(112deg, transparent 0 18px, rgba(238,244,227,.085) 18px 19px),
    radial-gradient(ellipse 84% 150% at 22% 46%, var(--green-lit) 0%, var(--green) 55%, var(--green-deep) 100%); }
.v2-v2.v2-v2 .mvo-fam-name { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.625rem, 2.6vw, 2.25rem);
  line-height: 1.06; letter-spacing: -.015em; color: var(--cream); }
.v2-v2.v2-v2 .mvo-fam-n { font: 600 .9375rem/1.4 var(--f-body); color: var(--on-dark-soft); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* Baloo's ink sat 9.6px above the plate's centre; both spans take the same px nudge so the
   baseline they share is unaffected */
.v2-v2.v2-v2 .mvo-fam-name, .v2-v2.v2-v2 .mvo-fam-n { display: inline-block; transform: translateY(var(--fam-nudge)); }
.v2-v2.v2-v2 .mvo-fam + .mvo-fam { margin-top: clamp(44px, 5.5vw, 84px); }

/* each section is a white board set down on the leaf */
.v2-v2.v2-v2 .mvo-cat { background: var(--paper); border-radius: var(--r-card); box-shadow: var(--rim-lit);
  padding: clamp(20px, 2.4vw, 34px) clamp(18px, 2.4vw, 34px) clamp(10px, 1.4vw, 18px);
  scroll-margin-top: calc(var(--mvo-stick, 104px) + var(--toolsh) + 32px); }
.v2-v2.v2-v2 .mvo-cat + .mvo-cat { margin-top: clamp(16px, 1.8vw, 24px); }
.v2-v2.v2-v2 .mvo-fam .mvo-cat:first-of-type { border-top-left-radius: clamp(40px, 5vw, 72px); }
.v2-v2.v2-v2 .mvo-fam .mvo-cat:last-of-type { border-bottom-right-radius: clamp(40px, 5vw, 72px); }
.v2-v2.v2-v2 .mvo-cat-head { align-items: baseline; padding-bottom: 0; margin-bottom: clamp(14px, 1.6vw, 20px); position: relative; }
.v2-v2.v2-v2 .mvo-cat-head::after { content: ""; position: absolute; left: 0; right: 0; bottom: calc(-1 * clamp(9px, 1vw, 13px)); height: 0;
  border-bottom: 1.5px solid rgba(36,96,36,.34); }
.v2-v2.v2-v2 .mvo-cat-head h3 { font-family: var(--f-display); font-weight: 700; font-size: clamp(1.625rem, 2.1vw, 2.125rem); line-height: 1.1; letter-spacing: -.015em; color: var(--ink);
  transform: translateY(.1em); }
.v2-v2.v2-v2 .mvo-cat-head p { font-size: .8125rem; font-weight: 600; letter-spacing: .04em; color: var(--ink-soft); font-variant-numeric: tabular-nums; }

/* the rows: the photo on its plate, the name joined to the price, the order on the right */
.v2-v2.v2-v2 .mvo-items { column-gap: clamp(22px, 2.6vw, 40px); }
.v2-v2.v2-v2 .mvo-item { padding: 13px 0; border-bottom: 1px solid var(--rule); }
.v2-v2.v2-v2 .mvo-items > .mvo-item:last-child { border-bottom: 0; }
.v2-v2.v2-v2 .mvo-item-plate { width: 68px; height: 68px; background: var(--cream); box-shadow: var(--rim); }
.v2-v2.v2-v2 .mvo-item-name { flex: 0 1 auto; font: 600 1.0625rem/1.3 var(--f-body); color: var(--ink); min-width: 0; }
.v2-v2.v2-v2 .mvo-dots { flex: 1 1 32px; min-width: 24px; border-bottom: 2px dotted var(--leaf-deep); }
/* a row needs about 460px to hold photo, name, leader, price and the order pill on one line; below
   that the list is one column, which is also what browser zoom lands on */
@media (max-width: 1399px) { .v2-v2.v2-v2 .mvo-items { grid-template-columns: minmax(0, 1fr); } }
/* the mark belongs to the dish, so it sits on the name's first line, not centred on a wrapped block;
   .02em is what is left once the name's own high-sitting ink is accounted for */
.v2-v2.v2-v2 .mvo-item-line .mvo-mark { align-self: flex-start; margin-top: .02em; }
.v2-v2.v2-v2 .mvo-item-price { flex: none; min-width: 4.25rem; text-align: right; font-weight: 700; font-size: 1.0625rem; color: var(--orange-ink); font-variant-numeric: tabular-nums lining-nums; }
.v2-v2.v2-v2 .mvo-item-desc { font-size: .9375rem; line-height: 1.45; color: var(--ink-soft); max-width: 34rem; }
.v2-v2.v2-v2 .mvo-rank { border-radius: var(--r-pill); background: var(--cream); color: var(--orange-ink); font: 600 .8125rem/1 var(--f-body);
  padding: 6px 12px 5px; box-shadow: inset 0 0 0 1px rgba(163,74,0,.3); display: inline-block; }

/* the two food marks: round, because nothing in this world has a square corner; the dot and the
   triangle carry the convention, and the colours are the brand green and the world's own red */
.v2-v2.v2-v2 .mvo-mark { position: relative; display: grid; place-items: center; width: 15px; height: 15px; flex: none;
  border: 1.5px solid var(--veg); border-radius: 50%; }
.v2-v2.v2-v2 .mvo-mark::after { content: ""; position: static; inset: auto; width: 7px; height: 7px; border: 0; border-radius: 50%; background: var(--veg); }
.v2-v2.v2-v2 .mvo-mark--nonveg { border-color: var(--nonveg); }
.v2-v2.v2-v2 .mvo-mark--nonveg::after { width: 0; height: 0; border-radius: 0; background: none; margin-top: 1px;
  border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 7px solid var(--nonveg); }

/* the order control: outlined orange at rest, because it appears 242 times; filled on hover */
.v2-v2.v2-v2 .mvo-add {
  border: 0; border-radius: var(--r-pill); min-height: 44px; padding: 14px 18px 8px; gap: .5em;
  background: transparent; color: var(--orange-ink) !important; box-shadow: inset 0 0 0 1.75px var(--orange);
  font: 600 .9375rem/1 var(--f-body); letter-spacing: .005em;
  transition: background-color .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease);
}
.v2-v2.v2-v2 .mvo-add:hover { background: var(--orange); color: var(--on-orange) !important; box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
.v2-v2.v2-v2 .mvo-add:active { box-shadow: inset 0 2px 5px rgba(0,0,0,.22); }
.v2-v2.v2-v2 .mvo-add:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .mvo-add--out { flex-direction: row; padding: 14px 16px 8px 18px; }
.v2-v2.v2-v2 .mvo-add--out .mvo-ico { width: 11px; height: 11px; transition: transform .22s var(--ease); }
.v2-v2.v2-v2 .mvo-add--out:hover .mvo-ico { transform: translate(2px, -2px); }
.v2-v2.v2-v2 .mvo-add-price { font-weight: 500; opacity: .85; }
.v2-v2.v2-v2 .mvo-inorder { border-radius: var(--r-pill); background: var(--green); color: var(--cream); font-weight: 600; }
.v2-v2.v2-v2 .mvo-step { border-radius: var(--r-pill); min-height: 44px; background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-step button { width: 44px; height: 44px; border-radius: 50%; }
.v2-v2.v2-v2 .mvo-step button:hover { background: rgba(255,255,255,.14); }
.v2-v2.v2-v2 .mvo-step button:focus-visible { outline: 2.5px solid var(--cream); outline-offset: -4px; }
.v2-v2.v2-v2 .mvo-step output { font: 700 1rem/1 var(--f-display); font-variant-numeric: tabular-nums; }
body.mvo-locked .v2-v2.v2-v2 .mvo-add { background: var(--steel-lit); color: var(--placeholder) !important; box-shadow: inset 0 0 0 1.5px var(--steel); cursor: not-allowed; }
/* the popular band's controls sit on the leaf, where the rim goes cream */
.v2-v2.v2-v2 .mvo-pop .mvo-add { min-height: 40px; padding: 11px 14px 9px 16px; color: var(--orange-ink) !important; box-shadow: inset 0 0 0 1.75px var(--orange); }
.v2-v2.v2-v2 .mvo-pop .mvo-add:hover { background: var(--orange); color: var(--on-orange) !important; }
.v2-v2.v2-v2 .mvo-pop .mvo-step { min-height: 40px; }
.v2-v2.v2-v2 .mvo-pop .mvo-step button { width: 40px; height: 40px; }

/* nothing matched: a words box in the same vessel as the rest */
.v2-v2.v2-v2 .mvo-none { margin: 0 0 clamp(24px, 3vw, 36px); padding: clamp(24px, 3.4vw, 44px); border-radius: var(--r-card);
  background: var(--paper); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .mvo-none-title { margin: 0 0 8px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.625rem, 2.1vw, 2.125rem); line-height: 1.1; letter-spacing: -.015em; color: var(--ink); }
.v2-v2.v2-v2 .mvo-none-text { margin: 0 0 22px; font-size: 1.0625rem; line-height: 1.6; color: var(--ink-soft); max-width: 36rem; }
.v2-v2.v2-v2 .mvo-none-text b { color: var(--ink); font-weight: 600; }
.v2-v2.v2-v2 .mvo-none .mvo-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 1.12em 1.9em .98em;
  border: 0; border-radius: var(--r-pill); background: transparent; color: var(--green); box-shadow: inset 0 0 0 1.75px var(--green);
  font: 600 1rem/1 var(--f-body); cursor: pointer; transition: background-color .22s var(--ease), color .22s var(--ease); }
.v2-v2.v2-v2 .mvo-none .mvo-btn:hover { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .mvo-none .mvo-btn:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }

/* =========================================================================================
   5 · the close
   ========================================================================================= */
.v2-v2.v2-v2 .v2-mclose { --padding-top: clamp(48px, 6vw, 88px); --padding-right: var(--pad-inline); --padding-bottom: clamp(48px, 6vw, 88px); --padding-left: var(--pad-inline);
  --flex-direction: row; --justify-content: space-between; --align-items: center; --column-gap: 48px; --row-gap: 28px; flex-wrap: wrap; background: var(--leaf); }
.v2-v2.v2-v2 .v2-mclose__copy { max-width: 40rem; }
.v2-v2.v2-v2 .v2-mclose__title .elementor-heading-title { color: var(--ink); font-size: clamp(2rem, 4vw, 3.5rem); }
.v2-v2.v2-v2 .v2-mclose__text { margin-top: 14px; color: var(--ink-soft); font-size: 1.0625rem; max-width: 34rem; }
.v2-v2.v2-v2 .v2-mclose__actions { --flex-direction: row; --flex-wrap: wrap; --align-items: center; --row-gap: 12px; --column-gap: 24px; }
.v2-v2.v2-v2 .v2-mclose__actions > .elementor-widget { width: auto; }
.v2-v2.v2-v2 .v2-mclose__order a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 1.12em 1.9em .98em;
  border-radius: var(--r-pill); background: var(--orange); color: var(--on-orange) !important; box-shadow: inset 0 -2px 0 rgba(0,0,0,.16);
  font: 600 1rem/1 var(--f-body); text-decoration: none; transition: background-color .22s var(--ease); }
.v2-v2.v2-v2 .v2-mclose__order a:hover { background: var(--orange-lit); color: var(--on-orange) !important; }
html:has(.v2-v2) body.mvo-has-cart .v2-v2.v2-v2 .v2-footer { --padding-bottom: calc(28px + 5rem); }

/* =========================================================================================
   6 · the footer-mounted ordering UI (outside the wrapper)
   ========================================================================================= */
html:has(.v2-v2) .mvo-cartbar, html:has(.v2-v2) .mvo-drawer, html:has(.v2-v2) .mvo-toast {
  --o-rice: #fdfbf4; --o-rice-2: #eef4e3; --o-leaf: #246024; --o-leaf-deep: #14361a;
  --o-brand: #246024; --o-saffron: #ef7207; --o-saffron-ink: #a34a00; --o-saffron-lt: #ff8c2b;
  --o-ink: #17321a; --o-ink-2: #4c6a4e; --o-clay: rgba(36,96,36,.16); --o-onleaf: #eef4e3; --o-onleaf-2: #b9cfb4;
  --o-display: "Baloo Tammudu 2", "Hind Guntur", Georgia, serif; --o-sans: "Hind Guntur", "Hind", system-ui, sans-serif;
}
html:has(.v2-v2) .mvo-cartbar-btn { border-radius: var(--r-pill, 999px); padding: 12px 16px 10px 12px; background: var(--o-leaf-deep); color: var(--o-onleaf);
  box-shadow: 0 2px 4px rgba(23,50,26,.12), 0 16px 32px -16px rgba(23,50,26,.5); font: 600 1rem/1 var(--o-sans); }
html:has(.v2-v2) .mvo-cartbar-btn:hover { background: var(--o-leaf); }
html:has(.v2-v2) .mvo-cartbar-count { border-radius: 999px; background: var(--o-saffron); color: #241002; font-weight: 700; font-variant-numeric: tabular-nums; }
html:has(.v2-v2) .mvo-cartbar-total { color: var(--o-saffron-lt); font-weight: 700; font-variant-numeric: tabular-nums; }
html:has(.v2-v2) .mvo-scrim { background: rgba(20,54,26,.6); }
html:has(.v2-v2) .mvo-panel { background: var(--o-rice); box-shadow: inset 1px 0 0 rgba(142,153,140,.5); }
html:has(.v2-v2) .mvo-panel-head { border-bottom-color: var(--o-clay); }
html:has(.v2-v2) .mvo-panel-head h2, html:has(.v2-v2) .mvo-empty-title { font-family: var(--o-display); font-weight: 700; letter-spacing: -.015em; }
html:has(.v2-v2) .mvo-panel-head h2 { font-size: 1.875rem; line-height: 1.06; }
html:has(.v2-v2) .mvo-close { border: 0; border-radius: 50%; box-shadow: inset 0 0 0 1.75px var(--o-brand); color: var(--o-brand); }
html:has(.v2-v2) .mvo-close:hover { background: var(--o-brand); color: var(--o-rice); }
html:has(.v2-v2) .mvo-line img, html:has(.v2-v2) .mvo-line-noimg { box-shadow: inset 0 0 0 1px rgba(142,153,140,.5); background: var(--o-rice-2); }
html:has(.v2-v2) .mvo-line-name { font-weight: 600; }
html:has(.v2-v2) .mvo-line-total { font-variant-numeric: tabular-nums; color: var(--o-saffron-ink); font-weight: 700; }
html:has(.v2-v2) .mvo-drawer .mvo-step { border-radius: 999px; background: var(--o-leaf); color: var(--o-onleaf); }
html:has(.v2-v2) .mvo-panel-state { padding: 12px 16px 10px; font-size: .9375rem; line-height: 1.45; border-radius: 12px; background: #fff; color: var(--o-ink-2);
  box-shadow: inset 0 0 0 1px rgba(142,153,140,.5), inset 0 1.5px 0 rgba(255,255,255,.9); font-weight: 400; }
html:has(.v2-v2) .mvo-panel-state.mvo-state--closed { color: var(--o-saffron-ink); }
html:has(.v2-v2) .mvo-panel-state.mvo-state--paused { color: #8f1a13; }
html:has(.v2-v2) .mvo-panel-foot { background: var(--o-rice-2); border-top-color: var(--o-clay); }
html:has(.v2-v2) .mvo-sum { font-weight: 700; font-variant-numeric: tabular-nums; }
html:has(.v2-v2) .mvo-drawer .mvo-btn, html:has(.v2-v2) .mvo-drawer .mvo-btn--block { border: 0; border-radius: 999px; min-height: 54px; font: 600 1rem/1 var(--o-sans); letter-spacing: .005em; padding: 1.12em 1.9em .98em; }
html:has(.v2-v2) .mvo-drawer .mvo-btn--solid { background: var(--o-saffron); color: #241002 !important; box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }
html:has(.v2-v2) .mvo-drawer .mvo-btn--solid:hover { background: var(--o-saffron-lt); color: #241002 !important; }
html:has(.v2-v2) .mvo-drawer .mvo-btn--line { background: transparent; color: var(--o-brand) !important; box-shadow: inset 0 0 0 1.75px var(--o-brand); }
html:has(.v2-v2) .mvo-drawer .mvo-btn--line:hover { background: var(--o-brand); color: var(--o-rice) !important; }
html:has(.v2-v2) .mvo-toast { border-radius: 999px; background: var(--o-leaf-deep); color: var(--o-onleaf); font-weight: 500; }
html:has(.v2-v2) .mvo-toast.is-error { background: #8f1a13; border-radius: 999px; }
html:has(.v2-v2) .mvo-toast button { border-radius: 999px; background: var(--o-saffron); color: #241002; font: 600 .875rem/1 var(--o-sans); padding: 10px 14px 8px; }
html:has(.v2-v2) :focus-visible { outline: 2.5px solid #246024; outline-offset: 3px; }

/* =========================================================================================
   7 · tablet — the pairs give up a column, the dishes come down to one per row
   ========================================================================================= */
@media (max-width: 1160px) {
  .v2-v2.v2-v2 .mvo-menu { grid-template-columns: 14rem minmax(0, 1fr); }
}
@media (max-width: 1024px) {
  .v2-v2.v2-v2 .v2-mhead__grid { grid-template-columns: 1fr; align-items: start; }
  .v2-v2.v2-v2 .v2-mhead__board { border-bottom-left-radius: 72px; }
  .v2-v2.v2-v2 .v2-mpop .v2-sechead--split { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .mvo-items { grid-template-columns: 1fr; }
  .v2-v2.v2-v2 .v2-mclose { --flex-direction: column; --align-items: flex-start; }
  .v2-v2.v2-v2 .v2-header__cta { margin-left: auto; }
  .v2-v2.v2-v2 .mvo-result { margin-left: 0; }
}

/* =========================================================================================
   8 · phone — the index becomes the pinned strip; the tools stay in the first screen
   ========================================================================================= */
@media (max-width: 767px) {
  html:has(.v2-menupage) { scroll-padding-top: 150px; }
  .v2-v2.v2-v2 .v2-cartplate { padding: .9em 1.15em .78em; font-size: .9375rem; min-height: 44px; }

  .v2-v2.v2-v2 .v2-mhead { --padding-top: 14px; }
  .v2-v2.v2-v2 .v2-mhead__board { --padding-top: 26px; --padding-bottom: 26px; --padding-left: 22px; --padding-right: 22px; border-bottom-left-radius: 56px; }
  /* stacked on a phone, the board reads as one title card: the chip, the title and the facts sit on
     the same centre line as the leaf's own words */
  .v2-v2.v2-v2 .v2-mhead__status { align-self: center; }
  .v2-v2.v2-v2 .v2-mhead__main { --align-items: center; }
  .v2-v2.v2-v2 .v2-mhead__title { text-align: center; }
  .v2-v2.v2-v2 .v2-mhead__legend ul { justify-content: center; }
  .v2-v2.v2-v2 .v2-mhead__title .elementor-heading-title { font-size: clamp(2.375rem, 11.5vw, 3.125rem); max-width: 100%; margin-inline: auto; }
  .v2-v2.v2-v2 .v2-mhead__leaf::before { height: 44px; background-size: 152px 44px; }
  .v2-v2.v2-v2 .v2-mhead__leaf { min-height: 170px; border-radius: 56px var(--r-card) 56px var(--r-card);
    --padding-top: 26px; --padding-right: 24px; --padding-bottom: 26px; --padding-left: 24px; }
  .v2-v2.v2-v2 .v2-mhead__legend ul { gap: 8px 16px; font-size: .9375rem; }

  /* the tools bar is not pinned on a phone: the strip below it is, and it carries the live filter */
  .v2-v2.v2-v2 .v2-mtools { position: static; box-shadow: none; --padding-top: 14px; --padding-bottom: 20px; }
  .v2-v2.v2-v2 .mvo-tools { gap: 12px; }
  .v2-v2.v2-v2 .mvo-search { flex: 1 1 100%; }
  .v2-v2.v2-v2 input.mvo-search-input { height: 52px; font-size: 1rem; }
  .v2-v2.v2-v2 .mvo-diet { flex: 1 1 100%; }
  .v2-v2.v2-v2 .mvo-pill { flex: 1 1 0; justify-content: center; padding: 12px 10px 10px; font-size: .9375rem; }
  .v2-v2.v2-v2 .mvo-result { flex: 1 1 100%; margin-left: 0; }

  .v2-v2.v2-v2 .v2-mpop { --padding-top: 34px; --padding-bottom: 34px; }
  /* a finger does the paging here, so the arrows step aside — but the bar stays, because without
     it nothing on the screen says the row goes further than its edge */
  .v2-v2.v2-v2 .mvo-pop { grid-auto-columns: 15rem; column-gap: 14px; padding-bottom: 14px;
    scrollbar-width: thin; scrollbar-color: var(--green) rgba(255,255,255,.6); }
  .v2-v2.v2-v2 .mvo-pop::-webkit-scrollbar { display: block; height: 6px; }
  .v2-v2.v2-v2 .mvo-pop::-webkit-scrollbar-track { background: rgba(255,255,255,.6); border-radius: var(--r-pill); }
  .v2-v2.v2-v2 .mvo-pop::-webkit-scrollbar-thumb { background: var(--green); border-radius: var(--r-pill); }
  .v2-v2.v2-v2 .v2-mpop__nav { display: none; }
  .v2-v2.v2-v2 .mvo-pop-body { padding: 12px 8px 6px; }
  .v2-v2.v2-v2 .mvo-pop-text { margin-bottom: 14px; }

  .v2-v2.v2-v2 .v2-mbody { --padding-top: 0px; }
  .v2-v2.v2-v2 .mvo-menu { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .v2-v2.v2-v2 .mvo-search { max-width: none; }
  /* No sideways gesture on a phone. A horizontal scroller pinned inside a vertically scrolling
     page competes with the reader's swipe, and on real hardware this one lost: it juddered and
     stayed put. So the index is a button that opens the whole thing as a vertical list. */
  .v2-v2.v2-v2 .mvo-nav { position: sticky; top: calc(var(--mvo-stick, 78px) - 1px); z-index: 70;
    margin-inline: calc(-1 * var(--gutter)); padding: 10px var(--gutter);
    background: var(--leaf-pale); box-shadow: 0 1px 0 var(--rule); }
  .v2-v2.v2-v2 .mvo-navbar { display: flex; align-items: center; gap: 10px; }
  .v2-v2.v2-v2 .mvo-jumpbtn { flex: 1 1 auto; min-width: 0; display: inline-flex; align-items: center; gap: 10px;
    min-height: 44px; padding: 12px 16px 10px; border: 0; border-radius: var(--r-pill);
    background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.75px var(--green);
    font: 600 .9375rem/1 var(--f-body); text-align: left; cursor: pointer;
    transition: background-color .2s var(--ease), color .2s var(--ease); }
  .v2-v2.v2-v2 .mvo-jumpbtn .mvo-ico { width: 16px; height: 16px; flex: none; color: var(--green); }
  .v2-v2.v2-v2 .mvo-jumpbtn-label { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .v2-v2.v2-v2 .mvo-jumpbtn-chev { flex: none; width: 9px; height: 9px; border-right: 2px solid var(--green);
    border-bottom: 2px solid var(--green); transform: translateY(-2px) rotate(45deg); }
  .v2-v2.v2-v2 .mvo-jumpbtn:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
  .v2-v2.v2-v2 [data-mvo-nav].is-open .mvo-jumpbtn { background: var(--green); color: var(--cream); }
  .v2-v2.v2-v2 [data-mvo-nav].is-open .mvo-jumpbtn .mvo-ico { color: var(--cream); }
  .v2-v2.v2-v2 [data-mvo-nav].is-open .mvo-jumpbtn-chev { border-color: var(--cream); transform: translateY(2px) rotate(-135deg); }

  /* the sheet: the one thing it does is scroll down, which never competes with anything */
  .v2-v2.v2-v2 .mvo-rail-scrim { display: block; position: fixed; inset: 0; z-index: 199; background: rgba(20,54,26,.5); }
  /* invisible but still catching, for the moment after the sheet closes */
  .v2-v2.v2-v2 .mvo-rail-scrim.is-fading { background: transparent; }
  .v2-v2.v2-v2 .mvo-rail-scrim[hidden] { display: none !important; }
  .v2-v2.v2-v2 .mvo-rail { position: fixed; left: 0; right: 0; bottom: 0; top: 18vh; z-index: 200;
    margin: 0; padding: 0; max-height: none; overflow: hidden; display: none;
    background: var(--leaf-pale); border-radius: var(--r-card) var(--r-card) 0 0; box-shadow: none; }
  .v2-v2.v2-v2 [data-mvo-nav].is-open .mvo-rail { display: flex; flex-direction: column; }
  .v2-v2.v2-v2 .mvo-rail::before, .v2-v2.v2-v2 .mvo-rail::after { display: none; }
  .v2-v2.v2-v2 .mvo-rail-head { display: flex; align-items: center; justify-content: space-between; gap: 16px;
    flex: none; padding: 20px var(--gutter) 14px; }
  .v2-v2.v2-v2 .mvo-rail-head b { font-family: var(--f-display); font-weight: 700; font-size: 1.375rem; color: var(--ink); }
  .v2-v2.v2-v2 .mvo-rail-close { flex: none; display: grid; place-items: center; width: 44px; height: 44px; padding: 0;
    border: 0; border-radius: 50%; background: var(--paper); color: var(--ink); box-shadow: var(--rim); cursor: pointer; }
  .v2-v2.v2-v2 .mvo-rail-close:hover { background: var(--green); color: var(--cream); box-shadow: none; }
  .v2-v2.v2-v2 .mvo-rail-close:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
  .v2-v2.v2-v2 .mvo-rail-close .mvo-ico { width: 16px; height: 16px; }
  /* the list itself: a plain vertical column, no overflow-x anywhere */
  .v2-v2.v2-v2 .mvo-rail-scroll { flex: 1 1 auto; min-height: 0; overflow-x: visible; overflow-y: auto;
    -webkit-overflow-scrolling: touch; overscroll-behavior: contain;
    margin: 0; padding: 0 var(--gutter) calc(20px + env(safe-area-inset-bottom, 0px)); }
  .v2-v2.v2-v2 .mvo-rail ul { display: grid; width: auto; gap: 2px; }
  .v2-v2.v2-v2 .mvo-rail-fam { padding: 18px 12px 6px; font-size: .8125rem; color: var(--green); }
  .v2-v2.v2-v2 .mvo-rail-fam:first-child { padding-top: 0; }
  .v2-v2.v2-v2 .mvo-rail-all + .mvo-rail-fam { padding-top: 18px; }
  .v2-v2.v2-v2 .mvo-rail a { display: flex; justify-content: space-between; align-items: center;
    border-radius: var(--r-pill); background: var(--paper); box-shadow: var(--rim);
    padding: 13px 16px 11px; font-size: 1rem; min-height: 44px; }
  .v2-v2.v2-v2 .mvo-rail a.is-on { background: var(--green); color: var(--cream); box-shadow: none; }
  .v2-v2.v2-v2 .mvo-rail a.is-on b { color: var(--on-dark-soft); }
  .v2-v2.v2-v2 .mvo-rail-track { display: none; }

  /* the live filter sits beside the button, where it can be seen and cleared without opening it */
  .v2-v2.v2-v2 .mvo-rail-now { display: flex; width: fit-content; max-width: 58%; align-items: center; gap: 2px;
    margin: 0; padding: 4px 4px 4px 14px; border-radius: var(--r-pill);
    background: var(--green); color: var(--cream); }
  .v2-v2.v2-v2 .mvo-rail-now span { min-width: 0; padding: 0; background: none; border-radius: 0;
    font: 600 .8125rem/1 var(--f-body); color: var(--cream); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .v2-v2.v2-v2 .mvo-rail-now button { flex: none; width: 28px; height: 28px; border-radius: 50%;
    background: transparent; color: var(--cream); transition: background-color .2s var(--ease); }
  .v2-v2.v2-v2 .mvo-rail-now button:hover { background: rgba(253,251,244,.2); }
  .v2-v2.v2-v2 .mvo-rail-now button:focus-visible { outline: 2.5px solid var(--cream); outline-offset: -2px; }
  .v2-v2.v2-v2 .mvo-rail-now .mvo-ico { width: 13px; height: 13px; }

  .v2-v2.v2-v2 .mvo-cat { padding: 20px 16px 8px; scroll-margin-top: calc(var(--mvo-stick, 78px) + 76px); }
  .v2-v2.v2-v2 .mvo-fam-head { flex-direction: row; font-size: 1.75rem; }
  .v2-v2.v2-v2 .mvo-cat-head { align-items: flex-start; }
  .v2-v2.v2-v2 .mvo-cat-head h3 { font-size: 1.5rem; }
  .v2-v2.v2-v2 .mvo-item { padding: 12px 0; gap: 14px; }
  .v2-v2.v2-v2 .mvo-item-plate { width: 60px; height: 60px; }
  /* 390px has no room for a leader, so the name wraps in its own column and the price holds the corner */
  .v2-v2.v2-v2 .mvo-item-line { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; column-gap: 8px; align-items: start; }
  .v2-v2.v2-v2 .mvo-item-line .mvo-mark { align-self: start; margin-top: 4px; }
  .v2-v2.v2-v2 .mvo-item-name { font-size: 1rem; }
  .v2-v2.v2-v2 .mvo-dots { display: none; }
  .v2-v2.v2-v2 .mvo-item-price { min-width: 0; text-align: right; font-size: 1rem; }
  .v2-v2.v2-v2 .mvo-item-desc { font-size: .9375rem; }
  /* the control stays worded — an arrow on its own reads as "external link", not as the page's action */
  .v2-v2.v2-v2 .mvo-add { min-height: 44px; padding: 12px 13px 10px; gap: .35em; font-size: .8125rem; }
  .v2-v2.v2-v2 .mvo-add--out .mvo-ico { width: 10px; height: 10px; }
  .v2-v2.v2-v2 .v2-mclose__actions > .elementor-widget, .v2-v2.v2-v2 .v2-mclose__order a { width: 100%; }
}

/* =========================================================================================
   9 · reduced motion
   ========================================================================================= */
@media (prefers-reduced-motion: reduce) {
  .v2-v2.v2-v2 *, .v2-v2.v2-v2 *::before, .v2-v2.v2-v2 *::after,
  html:has(.v2-v2) .mvo-panel, html:has(.v2-v2) .mvo-scrim, html:has(.v2-v2) .mvo-toast {
    animation-duration: .001ms !important; animation-delay: .001ms !important; transition-duration: .001ms !important;
  }
}

/* food mark, drawn whole (2026-09-27): the ring and its dot or triangle are one SVG, so the symbol stays centred at every size and at the
   desktop's .9 zoom, where a separate CSS ring and ::after symbol round to different half-pixels and drift apart. */
.v2-v2.v2-v2 .mvo-mark { border: 0; }
.v2-v2.v2-v2 .mvo-mark::after { content: ""; position: absolute; inset: 0; width: auto; height: auto; margin: 0; border: 0; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.15' fill='none' stroke='%23246024' stroke-width='1.7'/%3E%3Ccircle cx='8' cy='8' r='3.6' fill='%23246024'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }
.v2-v2.v2-v2 .mvo-mark--nonveg::after { width: auto; height: auto; margin: 0; border: 0; border-radius: 50%;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='7.15' fill='none' stroke='%238f1a13' stroke-width='1.7'/%3E%3Cpath d='M8 4.3 11.7 10.8H4.3Z' fill='%238f1a13' stroke='%238f1a13' stroke-width='.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / 100% 100% no-repeat; }


/* ManaVindhu /food-truck/menu/ — the truck's own menu. Loaded after v2/styles.css and v2/menu.css, so the head board,
   the tools, the leaf tablets and the dish rows are the restaurant menu's. This file adds only what the truck page
   has and /menu/ does not: the section chips, the section lines, the call line, rows without a photo, and credits. */

.v2-v2.v2-v2.v2-truckmenu { --toolsh: 132px; }

/* ---- head: the lede under the title, and "ManaVindhu Express" on the leaf ---- */
.v2-v2.v2-v2 .v2-tmhead__lede { margin-top: 16px; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-tmhead__lede p { max-width: 32rem; }
.v2-v2.v2-v2 .v2-tmhead__bandi { font-family: var(--f-display); font-weight: 700; font-size: clamp(2.5rem, 4.8vw, 4rem); line-height: 1; letter-spacing: -.02em;
  color: var(--cream); padding-top: .12em; }
.v2-v2.v2-v2 .v2-tmhead .v2-mhead__gloss { text-wrap: balance; }
.v2-v2.v2-v2 .v2-tmhead .v2-mhead__legend a { font-weight: 600; color: var(--ink); text-decoration-color: var(--orange); text-decoration-thickness: 1.5px; font-variant-numeric: tabular-nums; }
.v2-v2.v2-v2 .v2-tmhead .v2-mhead__legend a:hover { color: var(--orange-ink); }

/* ---- the section chips, under the search, pinned with it on a desk ---- */
.v2-v2.v2-v2 .v2-tm-chips { margin-top: 14px; }
.v2-v2.v2-v2 .v2-tm-chips ul { display: flex; flex-wrap: wrap; gap: 8px; }
.v2-v2.v2-v2 .v2-tm-chips li[hidden] { display: none; }
.v2-v2.v2-v2 .v2-tm-chips a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px 8px; border-radius: var(--r-pill);
  background: var(--paper); color: var(--ink); box-shadow: inset 0 0 0 1.5px rgba(23,50,26,.2); font: 600 .9375rem/1 var(--f-body); text-decoration: none;
  transition: background-color .2s var(--ease), color .2s var(--ease), box-shadow .2s var(--ease); }
.v2-v2.v2-v2 .v2-tm-chips a:hover { box-shadow: inset 0 0 0 1.5px var(--green); color: var(--green); }
.v2-v2.v2-v2 .v2-tm-chips a.is-here { background: var(--green); color: var(--cream); box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); }

/* ---- the list: one family per section, so the tablet names it and the board opens with its line ---- */
.v2-v2.v2-v2 .v2-tmbody .mvo-fam { scroll-margin-top: calc(var(--mvo-stick, 104px) + var(--toolsh) + 20px); }
.v2-v2.v2-v2 .v2-tmbody .mvo-fam[hidden] { display: none; }
.v2-v2.v2-v2 .v2-tmbody .mvo-cat { border-radius: clamp(40px, 5vw, 72px) var(--r-card) clamp(40px, 5vw, 72px) var(--r-card); }
.v2-v2.v2-v2 .v2-tmbody .mvo-items { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.v2-v2.v2-v2 .v2-tmbody .mvo-item[hidden] { display: none; }
.v2-v2.v2-v2 .v2-tm-intro { margin: 0 0 clamp(8px, 1vw, 12px); padding-bottom: clamp(12px, 1.4vw, 16px); border-bottom: 1.5px solid rgba(36,96,36,.34);
  max-width: 46rem; font-size: 1.0625rem; line-height: 1.55; color: var(--ink); }
.v2-v2.v2-v2 .v2-tm-call { margin: clamp(10px, 1.2vw, 14px) 0 clamp(6px, 1vw, 10px); padding-top: 14px; border-top: 1px solid var(--rule);
  font-size: .9375rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-tm-call a { font-weight: 600; color: var(--ink); text-decoration-color: var(--orange); text-decoration-thickness: 1.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2-v2.v2-v2 .v2-tm-call a:hover { color: var(--orange-ink); }
/* a dish with no photo keeps its plate: an empty steel-rimmed katori with the leaf's midrib in it, so the rows stay in line */
.v2-v2.v2-v2 .mvo-item-plate.v2-tm-noimg { display: block; flex: none; border-radius: 50%; background: var(--leaf-pale);
  box-shadow: inset 0 0 0 1.5px var(--steel), inset 0 2px 0 rgba(255,255,255,.9); position: relative; overflow: hidden; }
.v2-v2.v2-v2 .mvo-item-plate.v2-tm-noimg::before { content: ""; position: absolute; left: 14%; right: 14%; top: 50%; height: 18px; margin-top: -9px; opacity: .5;
  background: var(--leafrib) repeat-x center / 52px 15px; transform: rotate(-24deg); }

/* ---- nothing matched ---- */
.v2-v2.v2-v2 .v2-tm-empty { max-width: 34rem; margin: 0 0 clamp(24px, 3vw, 36px); padding: 26px 26px 24px; border-radius: var(--r-card); background: var(--paper); box-shadow: var(--rim-lit); color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-tm-empty[hidden] { display: none; }
.v2-v2.v2-v2 .v2-tm-empty p { margin: 0 0 8px; }
.v2-v2.v2-v2 .v2-tm-empty b { color: var(--ink); }
.v2-v2.v2-v2 .v2-tm-empty__title { font-family: var(--f-display); font-weight: 700; font-size: 1.5rem; line-height: 1.1; color: var(--ink); }
.v2-v2.v2-v2 .v2-tm-reset { all: unset; box-sizing: border-box; display: inline-flex; align-items: center; min-height: 46px; margin-top: 10px; padding: 12px 22px 10px; border-radius: var(--r-pill);
  box-shadow: inset 0 0 0 1.75px var(--green); color: var(--green); font: 600 .9375rem/1 var(--f-body); cursor: pointer; transition: background-color .2s var(--ease), color .2s var(--ease); }
.v2-v2.v2-v2 .v2-tm-reset:hover { background: var(--green); color: var(--cream); }
.v2-v2.v2-v2 .v2-tm-reset:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }

/* ---- photo credits: a quiet line above the footer ---- */
.v2-v2.v2-v2 .v2-tmcredit { --padding-top: 0px; --padding-right: var(--pad-inline); --padding-bottom: clamp(28px, 3vw, 40px); --padding-left: var(--pad-inline); background: var(--leaf-pale); }
.v2-v2.v2-v2 .v2-tmcredit__text p { max-width: 60rem; font-size: .8125rem; line-height: 1.55; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-tmcredit__text a { color: inherit; }

@media (prefers-reduced-motion: reduce) { .v2-v2.v2-v2 .v2-tm-chips a, .v2-v2.v2-v2 .v2-tm-reset { transition: none; } }
@media (max-width: 1160px) { .v2-v2.v2-v2 .v2-tmbody .mvo-items { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 767px) {
  .v2-v2.v2-v2.v2-truckmenu { --toolsh: 0px; }
  .v2-v2.v2-v2 .v2-tmhead__bandi { font-size: 2.5rem; }
  .v2-v2.v2-v2 .v2-tmhead .v2-mhead__gloss { max-width: 22ch; }
  .v2-v2.v2-v2 .v2-tm-chips a { min-height: 44px; padding: 10px 13px 8px; font-size: .875rem; }
  .v2-v2.v2-v2 .v2-tmbody .mvo-fam { scroll-margin-top: calc(var(--mvo-stick, 78px) + 16px); }
  .v2-v2.v2-v2 .v2-tmbody .mvo-cat { padding: 18px 16px 8px; border-radius: 40px var(--r-card) 40px var(--r-card); }
  .v2-v2.v2-v2 .v2-tm-intro { font-size: 1rem; }
}


/* Site-wide (css_bundle in chrome.py appends this to every page): the three logo typefaces, self-hosted, all OFL.
   Cinzel Bold (OFL) = flared capitals like the VINDHU wordmark -> h1/h2 and display numerals
   (card and sub-headings use the heading face too)
   Libre Baskerville Bold (OFL) = serif like the tagline -> labels, buttons, eyebrows
   Body stays Hind Guntur; Telugu stays Hind Guntur. */
@font-face { font-family: "MV Heading"; src: url("/wp-content/uploads/mv-fonts/head.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }
@font-face { font-family: "MV Label"; src: url("/wp-content/uploads/mv-fonts/label.woff2") format("woff2"); font-weight: 700; font-style: normal; font-display: swap; }

.v2-v2.v2-v2 {
  --f-head: "MV Heading", "Baloo Tammudu 2", Georgia, serif;
  --f-sub: var(--f-head);   /* sub-headings use the heading face; the cursive was dropped 2026-10-04 */
  --f-label: "MV Label", "Hind Guntur", Georgia, serif;
  --f-display: var(--f-head);
  font-synthesis: none;
}

/* main headings */
.v2-v2.v2-v2 h1.elementor-heading-title,
.v2-v2.v2-v2 h2.elementor-heading-title { font-family: var(--f-head); font-weight: 700; letter-spacing: -.005em; }

/* numerals and the big quote stay in the heading face: script digits read badly */
.v2-v2.v2-v2 .v2-katori__n, .v2-v2.v2-v2 .v2-rating__num, .v2-v2.v2-v2 .v2-mstats__score,
.v2-v2.v2-v2 .v2-punch__price, .v2-v2.v2-v2 .v2-promise__mark, .v2-v2.v2-v2 .v2-promise__quote p { font-family: var(--f-head); font-weight: 700; }

/* sub-headings: Cinzel Bold */
.v2-v2.v2-v2 .v2-door__title .elementor-heading-title, .v2-v2.v2-v2 .v2-serv__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-dish__name .elementor-heading-title, .v2-v2.v2-v2 .v2-slipform__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-pick__title, .v2-v2.v2-v2 .v2-pick__name { font-family: var(--f-sub); font-weight: 700; letter-spacing: .01em; }

/* labels, eyebrows, buttons, FAQ questions: Libre Baskerville */
.v2-v2.v2-v2 .v2-btn .elementor-button, .v2-v2.v2-v2 .v2-status__label, .v2-v2.v2-v2 .v2-hero__chip,
.v2-v2.v2-v2 .v2-chai__eyebrow p, .v2-v2.v2-v2 .v2-board__title .elementor-heading-title,
.v2-v2.v2-v2 .v2-thali__sub .elementor-heading-title, .v2-v2.v2-v2 .v2-footer__h .elementor-heading-title,
.v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-text, .v2-v2.v2-v2 .v2-punch__brand { font-family: var(--f-label); font-weight: 700; }

/* Telugu keeps its own face */
.v2-v2.v2-v2 [lang="te"], .v2-v2.v2-v2 [lang="te"] * { font-family: "Hind Guntur", var(--f-body); font-weight: inherit; }

/* Libre Baskerville Bold sits low in its line (see the measured lift), so its lowercase sits ~.2em below the middle of a pill padded for
   Baloo. Every button variant pads differently (hero, header, dish, service card), so lift the text itself. */
.v2-v2.v2-v2 .elementor-button .elementor-button-content-wrapper { position: relative; top: -.19em; }
.v2-v2.v2-v2 .v2-btn--text .elementor-button .elementor-button-content-wrapper,
.v2-v2.v2-v2 .v2-btn--text-dark .elementor-button .elementor-button-content-wrapper { top: -.13em; }
.v2-v2.v2-v2 .v2-tabs .e-n-tab-title { padding-top: 11px; padding-bottom: 13px; }
.v2-v2.v2-v2 .v2-status__label, .v2-v2.v2-v2 .v2-hero__chip, .v2-v2.v2-v2 .v2-accordion .e-n-accordion-item-title-text { padding-bottom: .12em; }

/* hero heading in capitals (CSS only, the text in the page stays sentence case) */
.v2-v2.v2-v2 .v2-hero__title .elementor-heading-title { text-transform: uppercase; letter-spacing: .01em; line-height: 1.04; font-size: clamp(2.125rem, 4.4vw, 4rem); max-width: 16ch; }
@media (max-width: 767px) { .v2-v2.v2-v2 .v2-hero__title .elementor-heading-title { font-size: clamp(1.875rem, 8.6vw, 2.5rem); max-width: none; } }

/* other pages: every h3 is a sub-heading unless it is a small caption, which stays a label */
.v2-v2.v2-v2 h3.elementor-heading-title { font-family: var(--f-sub); font-weight: 700; letter-spacing: .01em; }
.v2-v2.v2-v2 .v2-vplain__sub .elementor-heading-title { font-family: var(--f-label); font-weight: 700; }
/* page titles in capitals on every page, as on the homepage */
.v2-v2.v2-v2 h1.elementor-heading-title { text-transform: uppercase; letter-spacing: .01em; }/* End custom CSS */