.elementor-652 .elementor-element.elementor-element-mv0006e{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0006d{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00002{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00007{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00012{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0000f{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0000d{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00011{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00017{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00015{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0001c{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0001a{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00021{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0001f{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00029{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00025{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00028{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00039{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0002d{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00038{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-group{padding-right:calc( 10px/2 );padding-left:calc( 10px/2 );margin-bottom:10px;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-form-fields-wrapper{margin-left:calc( -10px/2 );margin-right:calc( -10px/2 );margin-bottom:-10px;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-group.recaptcha_v3-bottomleft, .elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-group.recaptcha_v3-bottomright{margin-bottom:0;}body.rtl .elementor-652 .elementor-element.elementor-element-mv00037 .elementor-labels-inline .elementor-field-group > label{padding-left:0px;}body:not(.rtl) .elementor-652 .elementor-element.elementor-element-mv00037 .elementor-labels-inline .elementor-field-group > label{padding-right:0px;}body .elementor-652 .elementor-element.elementor-element-mv00037 .elementor-labels-above .elementor-field-group > label{padding-bottom:0px;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-type-html{padding-bottom:0px;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-group .elementor-field:not(.elementor-select-wrapper){background-color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-field-group .elementor-select-wrapper select{background-color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .e-form__buttons__wrapper__button-next{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-button[type="submit"]{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-button[type="submit"] svg *{fill:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .e-form__buttons__wrapper__button-previous{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .e-form__buttons__wrapper__button-next:hover{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-button[type="submit"]:hover{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .elementor-button[type="submit"]:hover svg *{fill:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037 .e-form__buttons__wrapper__button-previous:hover{color:#ffffff;}.elementor-652 .elementor-element.elementor-element-mv00037{--e-form-steps-indicators-spacing:20px;--e-form-steps-indicator-padding:30px;--e-form-steps-indicator-inactive-secondary-color:#ffffff;--e-form-steps-indicator-active-secondary-color:#ffffff;--e-form-steps-indicator-completed-secondary-color:#ffffff;--e-form-steps-divider-width:1px;--e-form-steps-divider-gap:10px;}.elementor-652 .elementor-element.elementor-element-mv00054{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00045{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00047{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00049{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0004b{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0004d{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0004f{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00051{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00053{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00043{--n-accordion-title-font-size:1rem;--n-accordion-item-title-space-between:0px;--n-accordion-item-title-distance-from-content:0px;--n-accordion-icon-size:15px;}.elementor-652 .elementor-element.elementor-element-mv00057{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0006c{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00069{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00068{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0005b{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv0005e{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00061{--display:flex;}.elementor-652 .elementor-element.elementor-element-mv00064{--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 /services/lunch-box/ — the daily lunch box, drawn as a steel tiffin carrier. In the /v2 world.
   Loaded after v2/styles.css, so the chrome, buttons, section heads, forms, accordion and footer come from there.
   Every rule is scoped under .v2-v2 (doubled for specificity over Elementor's per-element rules). */

.v2-lunchpage.v2-lunchpage, .v2-v2 .v2-lunchpage {
  /* the steel of the carrier: a cylinder lit from the page's one light, brightest a third of the way in */
  --steel-face: linear-gradient(90deg, #7f8a7d 0%, #bfc8bc 11%, #e9eee6 26%, #fdfefc 36%, #dfe5dc 50%, #c3ccc0 70%, #a9b3a6 86%, #7f8a7d 100%);
  --steel-bar: linear-gradient(180deg, #f4f7f2 0%, #c9d1c6 45%, #8e998c 100%);
  --leaf-field:
    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%);
  --veg: #246024; --nonveg: #8f1a13;   /* the menu's two food marks, used as information, not as accents */
}

/* ---- the owner's slots: a value we are waiting for, visible and easy to find ---- */
.v2-v2.v2-v2 .v2-owner { display: inline-block; padding: .18em .7em .06em; border-radius: var(--r-pill); border: 1.5px dashed var(--orange-ink);
  background: var(--cream); color: var(--orange-ink); font: 600 .8125rem/1.45 var(--f-body); letter-spacing: .01em; white-space: nowrap; vertical-align: .1em; }
.v2-v2.v2-v2 .v2-owner::before { content: "Owner: "; font-weight: 700; }

/* ---- the two food marks: round, a dot for veg and a triangle for non-veg, on their own paper disc ---- */
.v2-v2.v2-v2 .v2-foodmark { position: relative; display: inline-grid; place-items: center; width: 16px; height: 16px; flex: none; box-sizing: border-box;
  border: 1.5px solid var(--veg); border-radius: 50%; background: var(--paper); vertical-align: -2px; }
.v2-v2.v2-v2 .v2-foodmark::after { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--veg); }
.v2-v2.v2-v2 .v2-foodmark--nonveg { border-color: var(--nonveg); }
.v2-v2.v2-v2 .v2-foodmark--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 hero: the words, and the carrier set on the leaf ================= */
.v2-v2.v2-v2 .v2-lhero { --display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(18px, 2vw, 28px); row-gap: 14px; align-items: stretch;
  --padding-top: clamp(28px, 3.4vw, 52px); --padding-right: var(--pad-inline); --padding-bottom: clamp(56px, 6vw, 96px); --padding-left: var(--pad-inline);
  --big: clamp(72px, 9vw, 140px); background: var(--leaf-pale); color: var(--ink); }
.v2-v2.v2-v2 .v2-lhero__body { --display: flex; --flex-direction: column; --justify-content: center; --align-items: flex-start;
  --padding-top: clamp(32px, 4vw, 60px); --padding-right: clamp(24px, 4vw, 64px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4vw, 64px);
  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-lhero__title .elementor-heading-title { font-size: clamp(2.375rem, 4.6vw, 4.5rem); line-height: 1; letter-spacing: -.025em; max-width: 12ch; }
.v2-v2.v2-v2 .v2-lhero__lede { margin-top: 20px; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-lhero__lede p { max-width: 32rem; margin: 0 0 .5em; }
.v2-v2.v2-v2 .v2-lhero__lede p:first-child { color: var(--ink); }
.v2-v2.v2-v2 .v2-lhero__actions { --display: flex; --flex-direction: row; --flex-wrap: wrap; flex-wrap: wrap; --align-items: center; column-gap: 14px; row-gap: 12px; --column-gap: 14px; --row-gap: 12px; margin-top: clamp(22px, 2.6vw, 32px); }
.v2-v2.v2-v2 .v2-lhero__actions > .elementor-widget { width: auto; }
.v2-v2.v2-v2 .v2-lhero__pills { width: 100%; margin-top: clamp(24px, 2.8vw, 34px); padding-top: clamp(18px, 2vw, 24px); border-top: 1px solid rgba(36,96,36,.16); }
.v2-v2.v2-v2 .v2-lpills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-lpills li { display: inline-flex; align-items: center; gap: 9px; padding: 9px 15px 7px 12px; border-radius: var(--r-pill);
  background: var(--leaf-pale); box-shadow: inset 0 0 0 1px rgba(36,96,36,.2); font-size: .9375rem; font-weight: 500; color: var(--ink); line-height: 1.3; }
.v2-v2.v2-v2 .v2-lpills 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); margin-top: -2px; }
.v2-v2.v2-v2 .v2-lpills .v2-owner { margin-left: 2px; }

.v2-v2.v2-v2 .v2-lhero__field { --display: flex; --justify-content: center; --align-items: center; position: relative; overflow: hidden; min-height: 520px;
  --padding-top: clamp(30px, 3.6vw, 56px); --padding-right: clamp(22px, 3.4vw, 56px); --padding-bottom: clamp(28px, 3.2vw, 48px); --padding-left: clamp(22px, 3.4vw, 56px);
  border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); background: var(--leaf-field); color: var(--on-dark); }
.v2-v2.v2-v2 .v2-lhero__carrier { width: 100%; }

/* ---- the carrier: handle and side rods (one U), a domed lid, four tiers, each tier's clasps on the rods ---- */
.v2-v2.v2-v2 .v2-carrier { --cw: clamp(150px, 13vw, 200px); --t: clamp(52px, 4.6vw, 66px); --tg: 7px; --hd: clamp(40px, 3.6vw, 52px); --lid: clamp(28px, 2.4vw, 34px);
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "object labels" "switch switch" "note note";
  column-gap: 0; align-items: start; max-width: 36rem; margin: 0 auto; }
.v2-v2.v2-v2 .v2-carrier__object { grid-area: object; position: relative; width: var(--cw); margin: 0 22px 0 14px; padding-top: var(--hd); }
.v2-v2.v2-v2 .v2-carrier__handle { position: absolute; top: 0; left: -12px; right: -12px; bottom: 14px; z-index: 0;
  border: 7px solid #b3bcb0; border-bottom: 0; border-radius: 70px 70px 4px 4px / 64px 64px 4px 4px;
  box-shadow: inset 2px 3px 0 rgba(255,255,255,.55), 0 1px 0 rgba(20,54,26,.35); }
.v2-v2.v2-v2 .v2-carrier__handle::before { content: ""; position: absolute; top: -10px; left: 50%; width: 44%; height: 13px; transform: translateX(-50%);
  border-radius: var(--r-pill); background: var(--steel-bar); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.9), 0 1px 0 rgba(20,54,26,.4); }
.v2-v2.v2-v2 .v2-carrier__lid { position: relative; z-index: 1; display: block; height: var(--lid); margin-bottom: var(--tg);
  border-radius: 48% 48% 10px 10px / 100% 100% 10px 10px; background: var(--steel-face);
  box-shadow: inset 0 2px 0 rgba(255,255,255,.85), inset 0 -4px 6px -4px rgba(20,54,26,.4), 0 1px 0 rgba(20,54,26,.35); }
.v2-v2.v2-v2 .v2-carrier__lid::before { content: ""; position: absolute; left: 50%; top: -9px; width: 26px; height: 13px; transform: translateX(-50%);
  border-radius: 13px 13px 4px 4px; background: var(--steel-bar); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.9); }
.v2-v2.v2-v2 .v2-carrier__tiers { position: relative; z-index: 1; display: grid; grid-auto-rows: var(--t); row-gap: var(--tg); }
.v2-v2.v2-v2 .v2-carrier__tier { position: relative; display: block; border-radius: 9px 9px 16px 16px; background: var(--steel-face);
  box-shadow: inset 0 1.5px 0 rgba(255,255,255,.8), inset 0 -8px 10px -8px rgba(20,54,26,.45), 0 1px 0 rgba(20,54,26,.3); }
/* the rolled rim at each tier's mouth, a little wider than the tier */
.v2-v2.v2-v2 .v2-carrier__tier::before { content: ""; position: absolute; left: -4px; right: -4px; top: -4px; height: 9px; border-radius: var(--r-pill);
  background: var(--steel-face); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.95), 0 1.5px 0 rgba(20,54,26,.28); }
/* the clasps where the side rods hold each tier */
.v2-v2.v2-v2 .v2-carrier__clasp::before, .v2-v2.v2-v2 .v2-carrier__clasp::after { content: ""; position: absolute; top: 50%; width: 15px; height: 20px; margin-top: -10px;
  border-radius: 5px; background: var(--steel-bar); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.9), 0 1px 0 rgba(20,54,26,.4); }
.v2-v2.v2-v2 .v2-carrier__clasp::before { left: -19px; }
.v2-v2.v2-v2 .v2-carrier__clasp::after { right: -19px; }
/* each tier's cream label plate, set on the steel like a stamped tag */
.v2-v2.v2-v2 .v2-carrier__plate { position: absolute; left: 50%; top: 50%; transform: translate(-50%, -44%); max-width: 82%; padding: 5px 10px 3px;
  border-radius: 7px; background: var(--cream); box-shadow: var(--rim-lit), 0 1px 0 rgba(20,54,26,.25);
  font: 700 clamp(.75rem, .9vw, .875rem)/1.15 var(--f-display); color: var(--ink); text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* the carrier stands on the leaf, so it is one of the objects that casts */
.v2-v2.v2-v2 .v2-carrier__shadow { position: absolute; left: -6%; right: -6%; bottom: -16px; height: 26px; z-index: 0; pointer-events: none;
  background: radial-gradient(closest-side, rgba(8,26,12,.55), rgba(8,26,12,0)); }

/* the labels: one per tier, on the tier's own row, joined to it by a dotted leader */
.v2-v2.v2-v2 .v2-carrier__labels { grid-area: labels; display: grid; grid-auto-rows: var(--t); row-gap: var(--tg); margin: 0; padding: calc(var(--hd) + var(--lid) + var(--tg)) 0 0; list-style: none; }
.v2-v2.v2-v2 .v2-carrier__label { display: grid; grid-template-columns: clamp(18px, 2vw, 34px) minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 12px; align-content: center; min-width: 0; }
.v2-v2.v2-v2 .v2-carrier__lead { grid-row: 1 / span 2; align-self: center; height: 0; border-top: 2px dotted rgba(238,244,227,.5); }
/* the plate carries the tier's name; beside it only the dish, with the name kept for screen readers */
.v2-v2.v2-v2 .v2-carrier__name { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.v2-v2.v2-v2 .v2-carrier__what { grid-row: 1 / span 2; font-size: clamp(1rem, 1.2vw, 1.125rem); font-weight: 500; line-height: 1.3; color: var(--on-dark); }
@media (prefers-reduced-motion: no-preference) {
  .v2-v2.v2-v2 .v2-carrier__what.is-set { animation: v2-settle .45s var(--ease) both; }
  .v2-v2.v2-v2 .v2-carrier__lid { animation: v2-lid 1.1s var(--ease) .5s 1 both; }
}
@keyframes v2-lid { 0% { transform: none; } 38% { transform: translateY(-6px); } 100% { transform: none; } }

/* the switch: two pills on the leaf; the chosen one is set down in cream */
.v2-v2.v2-v2 .v2-carrier__switch { grid-area: switch; display: flex; flex-wrap: wrap; gap: 10px; margin: clamp(30px, 3.4vw, 42px) 0 0; padding: 0; border: 0; min-width: 0; }
.v2-v2.v2-v2 .v2-carrier__legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.v2-v2.v2-v2 .v2-boxpick { position: relative; display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 11px 20px 9px 16px; border-radius: var(--r-pill);
  box-shadow: inset 0 0 0 1.5px rgba(238,244,227,.55); color: var(--on-dark); cursor: pointer;
  transition: background-color .22s var(--ease), box-shadow .22s var(--ease), color .22s var(--ease); }
.v2-v2.v2-v2 .v2-boxpick input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.v2-v2.v2-v2 .v2-boxpick__name { font-weight: 600; font-size: 1.0625rem; line-height: 1; padding-top: .14em; }
.v2-v2.v2-v2 .v2-boxpick:hover { box-shadow: inset 0 0 0 1.5px var(--on-dark); background: rgba(238,244,227,.08); }
.v2-v2.v2-v2 .v2-boxpick:has(input:checked) { background: var(--cream); color: var(--ink); box-shadow: var(--rim-lit); }
/* on the leaf a green ring would vanish, so focus is drawn in the leaf's own light */
.v2-v2.v2-v2 .v2-boxpick:has(input:focus-visible) { outline: 2.5px solid var(--cream); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-carrier__note { grid-area: note; margin: 14px 0 0; font-size: .875rem; color: var(--on-dark-soft); }

/* ================= plans: three paper cards set down on one steel rail ================= */
.v2-v2.v2-v2 .v2-lplans { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline);
  --big: clamp(56px, 7vw, 96px); background: var(--cream); color: var(--ink); }
.v2-v2.v2-v2 .v2-plans { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 1.8vw, 24px); margin: 0; padding: 0 0 18px; list-style: none; }
.v2-v2.v2-v2 .v2-plans::after { content: ""; position: absolute; left: 1.5%; right: 1.5%; bottom: 0; height: 9px; border-radius: var(--r-pill); background: var(--steel-bar);
  box-shadow: inset 0 1.5px 0 rgba(255,255,255,.9), 0 1px 0 rgba(20,54,26,.3); }
.v2-v2.v2-v2 .v2-plan { position: relative; z-index: 1; display: flex; flex-direction: column; padding: clamp(26px, 2.8vw, 40px) clamp(22px, 2.6vw, 36px) clamp(24px, 2.6vw, 34px);
  background: var(--paper); border-radius: var(--r-card); box-shadow: var(--rim-lit); transition: box-shadow .22s var(--ease); }
.v2-v2.v2-v2 .v2-plan:first-child { border-bottom-left-radius: var(--big); }
.v2-v2.v2-v2 .v2-plan:last-child { border-top-right-radius: var(--big); }
.v2-v2.v2-v2 .v2-plan:hover, .v2-v2.v2-v2 .v2-plan:focus-within { box-shadow: var(--rim-strong); }
.v2-v2.v2-v2 .v2-plan__name { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.5rem, 2vw, 1.875rem); line-height: 1.1; color: var(--ink); }
.v2-v2.v2-v2 .v2-plan__price { margin: 18px 0 0; min-height: 3rem; display: flex; align-items: center; font-family: var(--f-display); font-weight: 700;
  font-size: clamp(2.25rem, 3.4vw, 3rem); line-height: 1; color: var(--orange-display); font-variant-numeric: tabular-nums lining-nums; }
.v2-v2.v2-v2 .v2-plan__per { margin: 6px 0 0; font-size: .9375rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-plan__list { margin: 22px 0 26px; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-plan__list li { position: relative; padding: 11px 0 9px 22px; border-top: 1px solid rgba(36,96,36,.16); font-size: 1rem; line-height: 1.45; color: var(--ink); }
.v2-v2.v2-v2 .v2-plan__list li::before { content: ""; position: absolute; left: 0; top: 1.05em; 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-plan__go { margin-top: auto; align-self: flex-start; display: inline-flex; align-items: center; min-height: 50px; padding: 1.02em 1.7em .88em;
  border-radius: var(--r-pill); box-shadow: inset 0 0 0 1.75px var(--green); color: var(--green); font-weight: 600; font-size: 1rem; line-height: 1; text-decoration: none;
  transition: background-color .22s var(--ease), color .22s var(--ease), box-shadow .22s var(--ease); }
.v2-v2.v2-v2 .v2-plan__go:hover { background: var(--green); color: var(--cream); box-shadow: inset 0 0 0 1.75px var(--green); }
.v2-v2.v2-v2 .v2-plan__go:active { box-shadow: inset 0 2px 5px rgba(0,0,0,.22); }
.v2-v2.v2-v2 .v2-plan__go:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }

/* ================= how it works: three steps hung from one line ================= */
.v2-v2.v2-v2 .v2-lhow { --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline); background: var(--leaf); color: var(--ink); }
.v2-v2.v2-v2 .v2-steps { --steps-gap: clamp(24px, 3vw, 48px); position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--steps-gap); margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-steps::before { content: ""; position: absolute; left: 26px; right: calc((100% - 2 * var(--steps-gap)) / 3 - 26px); top: 25px; height: 2px; background: var(--leaf-deep); border-radius: 2px; }
.v2-v2.v2-v2 .v2-steps__item { position: relative; display: grid; gap: 6px; align-content: start; }
.v2-v2.v2-v2 .v2-steps__mark { display: grid; place-items: center; width: 52px; height: 52px; border-radius: 50%; background: var(--orange); color: var(--on-orange);
  font-family: var(--f-display); font-weight: 700; font-size: 1.5rem; line-height: 1; padding-top: .18em; box-sizing: border-box; font-variant-numeric: tabular-nums;
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.16); margin-bottom: 14px; }
.v2-v2.v2-v2 .v2-steps__title { margin: 0; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.375rem, 1.8vw, 1.75rem); line-height: 1.1; letter-spacing: -.01em; color: var(--ink); }
.v2-v2.v2-v2 .v2-steps__text { margin: 0; color: var(--ink-soft); max-width: 24rem; }

/* ================= a sample week: five day cards, each with a steel rim like a tier's mouth ================= */
.v2-v2.v2-v2 .v2-lweek { --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-days { --rail-gap: clamp(12px, 1.4vw, 18px); display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--rail-gap); margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-day { position: relative; overflow: hidden; padding: 28px 20px 20px; background: var(--paper); border-radius: var(--r-panel); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .v2-day::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 8px; background: var(--steel-face); box-shadow: inset 0 1.5px 0 rgba(255,255,255,.9), 0 1px 0 rgba(20,54,26,.2); }
.v2-v2.v2-v2 .v2-day__name { margin: 0 0 12px; font-family: var(--f-display); font-weight: 700; font-size: clamp(1.25rem, 1.5vw, 1.5rem); line-height: 1.1; color: var(--ink); }
.v2-v2.v2-v2 .v2-day__row { display: grid; grid-template-columns: 16px minmax(0, 1fr); column-gap: 9px; row-gap: 2px; margin: 0; padding: 11px 0 9px; border-top: 1px solid rgba(36,96,36,.14); }
.v2-v2.v2-v2 .v2-day__row .v2-foodmark { grid-row: 1; margin-top: 1px; }
.v2-v2.v2-v2 .v2-day__label { grid-column: 2; font-size: .75rem; font-weight: 600; letter-spacing: .07em; text-transform: uppercase; line-height: 1.5; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-day__dish { grid-column: 2; font-size: .9375rem; line-height: 1.45; color: var(--ink); }

/* ================= pickup and delivery: the box pair — words, and the meal on the leaf with a review slip ================= */
.v2-v2.v2-v2 .v2-larea { --display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); column-gap: clamp(18px, 2vw, 28px); row-gap: 14px; 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(--leaf-pale); color: var(--ink); }
.v2-v2.v2-v2 .v2-larea__body { --display: flex; --flex-direction: column; --justify-content: center;
  --padding-top: clamp(32px, 4vw, 60px); --padding-right: clamp(24px, 4vw, 60px); --padding-bottom: clamp(36px, 4vw, 60px); --padding-left: clamp(24px, 4vw, 60px);
  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-larea__title .elementor-heading-title { font-size: clamp(2rem, 3.4vw, 3rem); max-width: 14ch; }
.v2-v2.v2-v2 .v2-larea__text { margin-top: 16px; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-larea__text p { max-width: 32rem; margin: 0 0 .8em; }
.v2-v2.v2-v2 .v2-larea__text strong { color: var(--ink); }
.v2-v2.v2-v2 .v2-towns { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-towns .v2-towns__owner { padding: 0; background: none; box-shadow: none; }
.v2-v2.v2-v2 .v2-towns li { padding: 9px 16px 7px; border-radius: var(--r-pill); background: var(--cream); box-shadow: var(--rim-lit); font-size: .9375rem; font-weight: 500; color: var(--ink); }
.v2-v2.v2-v2 .v2-larea__media { position: relative; overflow: hidden; min-height: 500px; border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); background: var(--leaf-field); }
.v2-v2.v2-v2 .v2-larea__media > .v2-larea__photo { position: absolute; inset: var(--inset); width: auto; height: auto; max-width: none; margin: 0; }
.v2-v2.v2-v2 .v2-larea__photo .elementor-widget-container, .v2-v2.v2-v2 .v2-larea__photo img { width: 100%; height: 100%; }
.v2-v2.v2-v2 .v2-larea__photo img { object-fit: cover; object-position: 50% 55%; 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)); box-shadow: var(--rim); }
.v2-v2.v2-v2 .v2-larea__media > .v2-larea__slip { position: absolute; left: calc(var(--inset) + 16px); right: auto; bottom: calc(var(--inset) + 16px); width: min(25rem, calc(100% - 2 * var(--inset) - 32px)); max-width: none; margin: 0; }
.v2-v2.v2-v2 .v2-lslip { margin: 0; padding: 20px 22px 16px; background: var(--cream); color: var(--ink); border-radius: var(--r-panel); box-shadow: var(--rim-lit); }
.v2-v2.v2-v2 .v2-lslip blockquote { margin: 0; padding: 0; border: 0; }
.v2-v2.v2-v2 .v2-lslip blockquote p { margin: 0; font-size: 1.0625rem; line-height: 1.5; color: var(--ink); }
.v2-v2.v2-v2 .v2-lslip blockquote p::before { content: "“"; } .v2-v2.v2-v2 .v2-lslip blockquote p::after { content: "”"; }
.v2-v2.v2-v2 .v2-lslip figcaption { display: flex; align-items: center; gap: 10px; margin-top: 12px; font-size: .875rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-lslip figcaption strong { color: var(--ink); font-weight: 700; }
.v2-v2.v2-v2 .v2-lslip__g { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border-radius: 50%; background: var(--paper); box-shadow: var(--rim); }
.v2-v2.v2-v2 .v2-lslip__g svg { width: 17px; height: 17px; display: block; }

/* ================= sign up: the page's one bold close, the form set on the leaf ================= */
.v2-v2.v2-v2 .v2-lstart { --display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(36px, 5vw, 88px); align-items: start;
  --padding-top: var(--sec); --padding-right: var(--pad-inline); --padding-bottom: var(--sec); --padding-left: var(--pad-inline);
  --big: clamp(56px, 6vw, 88px); background: var(--leaf-field); color: var(--on-dark); scroll-margin-top: 90px; }
.v2-v2.v2-v2 .v2-lstart__intro { --padding-top: clamp(8px, 2vw, 28px); }
.v2-v2.v2-v2 .v2-lstart__title .elementor-heading-title { font-size: clamp(2.25rem, 4.2vw, 3.75rem); line-height: 1.02; color: var(--on-dark); max-width: 10ch; }
.v2-v2.v2-v2 .v2-lstart__text { margin-top: 20px; font-size: clamp(1.0625rem, 1.3vw, 1.1875rem); color: var(--on-dark); }
.v2-v2.v2-v2 .v2-lstart__text p { max-width: 30rem; margin: 0; }
.v2-v2.v2-v2 .v2-lstart__alt { margin-top: 22px; }
.v2-v2.v2-v2 .v2-lstart__call { margin: 0; padding-top: 18px; border-top: 1px solid rgba(238,244,227,.25); max-width: 30rem; color: var(--on-dark-soft); }
.v2-v2.v2-v2 .v2-lstart__call a { color: var(--on-dark); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 4px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.v2-v2.v2-v2 .v2-lstart__call a:hover { color: var(--orange-lit); }
.v2-v2.v2-v2 .v2-lstart__form { border-radius: var(--r-card) var(--big) var(--r-card) var(--r-card); }
.v2-v2.v2-v2 .v2-lstart__form .v2-form { margin-top: 0; }
.v2-v2.v2-v2 .v2-form select.elementor-field { -webkit-appearance: none; appearance: none; padding-right: 44px; cursor: pointer; }
.v2-v2.v2-v2 .v2-form .elementor-select-wrapper::before { right: 16px; color: var(--green); font-size: 13px; }
.v2-v2.v2-v2 .v2-form select.elementor-field:focus { outline: none; box-shadow: inset 0 0 0 2.5px var(--green); }
.v2-v2.v2-v2 .v2-form input[type="date"].elementor-field { cursor: pointer; }
.v2-v2.v2-v2 .v2-form .elementor-field-type-submit .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-form .elementor-field-type-submit .elementor-button:hover { background: var(--orange-lit); }

/* ================= questions and more ================= */
.v2-v2.v2-v2 .v2-lfaq .v2-faq__title .elementor-heading-title { max-width: 9ch; }
.v2-v2.v2-v2 .v2-lmore { --padding-top: clamp(56px, 6vw, 96px); --padding-right: var(--pad-inline); --padding-bottom: clamp(56px, 6vw, 96px); --padding-left: var(--pad-inline); background: var(--cream); color: var(--ink); }
.v2-v2.v2-v2 .v2-lmore__title .elementor-heading-title { font-size: clamp(1.625rem, 2.1vw, 2.125rem); margin-bottom: 22px; }
.v2-v2.v2-v2 .v2-lmore__links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 18px); margin: 0; padding: 0; list-style: none; }
.v2-v2.v2-v2 .v2-lmore__links a { position: relative; display: grid; gap: 4px; padding: 22px 56px 20px 24px; border-radius: var(--r-panel); background: var(--paper); box-shadow: var(--rim-lit);
  color: var(--ink); text-decoration: none; transition: box-shadow .22s var(--ease); }
.v2-v2.v2-v2 .v2-lmore__links a::after { content: ""; position: absolute; right: 24px; top: 50%; width: 18px; height: 12px; margin-top: -6px; background: var(--green);
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 12'%3E%3Cpath d='M0 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%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 12'%3E%3Cpath d='M0 6h15M11 1l5 5-5 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  transition: transform .25s var(--ease), background-color .25s var(--ease); }
.v2-v2.v2-v2 .v2-lmore__links a:hover { box-shadow: var(--rim-strong); }
.v2-v2.v2-v2 .v2-lmore__links a:hover::after { transform: translateX(4px); background: var(--orange); }
.v2-v2.v2-v2 .v2-lmore__links a:hover strong { color: var(--orange-ink); }
.v2-v2.v2-v2 .v2-lmore__links a:focus-visible { outline: 2.5px solid var(--green); outline-offset: 3px; }
.v2-v2.v2-v2 .v2-lmore__links strong { font-family: var(--f-display); font-weight: 700; font-size: 1.25rem; line-height: 1.1; padding-top: .1em; transition: color .22s var(--ease); }
.v2-v2.v2-v2 .v2-lmore__links span { font-size: .9375rem; color: var(--ink-soft); }
.v2-v2.v2-v2 .v2-ld { display: none; }

/* ================= responsive ================= */
@media (max-width: 1160px) {
  /* five day cards become a rail that always shows the next card's edge */
  .v2-v2.v2-v2 .v2-days { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad-inline);
    margin-inline: calc(-1 * var(--pad-inline)); padding: 4px var(--pad-inline) 14px; scrollbar-width: thin; scrollbar-color: var(--leaf-deep) transparent; }
  .v2-v2.v2-v2 .v2-day { flex: 0 0 clamp(230px, 34vw, 300px); scroll-snap-align: start; }
}

@media (max-width: 1024px) {
  .v2-v2.v2-v2 .v2-lhero, .v2-v2.v2-v2 .v2-larea, .v2-v2.v2-v2 .v2-lstart { grid-template-columns: 1fr; --big: 72px; }
  .v2-v2.v2-v2 .v2-lhero__field { min-height: 0; }
  .v2-v2.v2-v2 .v2-larea__media { min-height: 0; aspect-ratio: 4 / 3; order: -1; }
  .v2-v2.v2-v2 .v2-plans { grid-template-columns: 1fr 1fr; }
  .v2-v2.v2-v2 .v2-plan:last-child { grid-column: 1 / -1; }
  .v2-v2.v2-v2 .v2-lfaq .v2-faq__title .elementor-heading-title { max-width: none; }
  .v2-v2.v2-v2 .v2-lmore__links { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  .v2-v2.v2-v2 .v2-lhero { --big: 56px; --padding-top: 16px; --padding-bottom: 40px; }
  .v2-v2.v2-v2 .v2-lhero__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 30px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-lhero__actions > .elementor-widget { flex: 1 1 100%; }
  .v2-v2.v2-v2 .v2-lhero__actions .elementor-button { width: 100%; justify-content: center; }
  .v2-v2.v2-v2 .v2-lpills { flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding-bottom: 2px;
    -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .v2-v2.v2-v2 .v2-lpills::-webkit-scrollbar { display: none; }
  .v2-v2.v2-v2 .v2-lpills li { flex: none; scroll-snap-align: start; font-size: .875rem; padding: 8px 13px 6px 11px; }
  .v2-v2.v2-v2 .v2-lhero__field { --padding-top: 28px; --padding-right: 18px; --padding-bottom: 26px; --padding-left: 16px; }
  .v2-v2.v2-v2 .v2-carrier { --cw: 116px; --t: 60px; --tg: 6px; --hd: 38px; --lid: 26px; }
  .v2-v2.v2-v2 .v2-carrier__object { margin: 0 14px 0 12px; }
  .v2-v2.v2-v2 .v2-carrier__label { grid-template-columns: 12px minmax(0, 1fr); column-gap: 8px; }
  .v2-v2.v2-v2 .v2-carrier__what { font-size: .875rem; line-height: 1.3; }
  .v2-v2.v2-v2 .v2-carrier__switch { gap: 8px; }
  .v2-v2.v2-v2 .v2-boxpick { flex: 1 1 0; justify-content: center; padding: 11px 12px 9px; }
  .v2-v2.v2-v2 .v2-boxpick__name { font-size: 1rem; }

  /* plans: a rail, not three stacked cards */
  .v2-v2.v2-v2 .v2-plans { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: var(--pad-inline);
    margin-inline: calc(-1 * var(--pad-inline)); padding: 4px var(--pad-inline) 22px; scrollbar-width: none; }
  .v2-v2.v2-v2 .v2-plans::after { left: var(--pad-inline); right: var(--pad-inline); }
  .v2-v2.v2-v2 .v2-plan { flex: 0 0 82%; scroll-snap-align: start; }
  .v2-v2.v2-v2 .v2-plan:last-child { grid-column: auto; }
  .v2-v2.v2-v2 .v2-lplans { --big: 56px; }

  .v2-v2.v2-v2 .v2-steps { grid-template-columns: 1fr; gap: 22px; }
  .v2-v2.v2-v2 .v2-steps::before { left: 25px; right: auto; top: 26px; bottom: 26px; width: 2px; height: auto; }
  .v2-v2.v2-v2 .v2-steps__item { grid-template-columns: 52px minmax(0, 1fr); column-gap: 18px; row-gap: 4px; }
  .v2-v2.v2-v2 .v2-steps__mark { grid-row: span 2; margin-bottom: 0; }
  .v2-v2.v2-v2 .v2-steps__title { padding-top: 12px; }

  .v2-v2.v2-v2 .v2-day { flex-basis: 78%; }

  .v2-v2.v2-v2 .v2-larea { --big: 56px; --inset: 10px; }
  .v2-v2.v2-v2 .v2-larea__body { --padding-top: 28px; --padding-right: 22px; --padding-bottom: 30px; --padding-left: 22px; }
  .v2-v2.v2-v2 .v2-larea__media { aspect-ratio: auto; display: flex; flex-direction: column; }
  .v2-v2.v2-v2 .v2-larea__media > .v2-larea__photo { position: relative; inset: auto; margin: var(--inset) var(--inset) 0; height: 250px; }
  .v2-v2.v2-v2 .v2-larea__media > .v2-larea__slip { position: relative; left: auto; bottom: auto; width: auto; margin: 10px var(--inset) var(--inset); }

  .v2-v2.v2-v2 .v2-lstart { --big: 56px; gap: 28px; }
  .v2-v2.v2-v2 .v2-lstart__form { --padding-top: 24px; --padding-right: 18px; --padding-bottom: 24px; --padding-left: 18px; }
}

@media (prefers-reduced-motion: reduce) {
  .v2-v2.v2-v2 .v2-carrier__lid, .v2-v2.v2-v2 .v2-carrier__what { animation: none !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 .v2-foodmark { border: 0; }
.v2-v2.v2-v2 .v2-foodmark::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 .v2-foodmark--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; }


/* 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 */