/* ==========================================================
   INNER PAGES — hero, CTA, Our Story, Visit (luxe theme)
   ========================================================== */
.sec { padding: clamp(6rem, 11vw, 10rem) 0; overflow-x: clip; }
.shead { display: grid; gap: 1.3rem; margin-bottom: clamp(3.5rem, 6vw, 5.5rem); }
.shead--center { justify-items: center; text-align: center; }
.shead--center .lead { margin: 0 auto; }
.shead--split { grid-template-columns: 1.2fr 1fr; align-items: end; gap: 2rem 6vw; }
.shead--split > div { display: grid; gap: 1.3rem; justify-items: start; }

/* ---------- page hero ---------- */
.ph {
  --s: min(34vw, 50vh, 520px);
  position: relative; isolation: isolate; overflow: hidden; min-height: max(100svh, 760px);
  padding-bottom: calc(var(--s) * .52 + 2.5rem); background: var(--night); color: var(--on-dark);
}
.ph__bg { position: absolute; inset: 0; z-index: -1; pointer-events: none;
  background:
    radial-gradient(65% 55% at 50% -6%, rgba(176, 52, 72, .45), rgba(140, 34, 54, .14) 60%, transparent),
    radial-gradient(75% 48% at 50% 104%, rgba(120, 22, 42, .6), transparent 72%),
    radial-gradient(120% 90% at 50% 45%, transparent 55%, rgba(26, 2, 8, .6));
}
.ph > .deco-corner { z-index: 1; opacity: .3; }
.ph__inner { position: relative; z-index: 3; display: grid; justify-items: center; text-align: center; padding-top: calc(var(--nav-h) + 96px + 2vh); isolation: isolate; }
.ph__frame { position: absolute; z-index: -1; left: 50%; top: calc(var(--nav-h) + 122px); width: min(820px, 76vw); height: 130vh; translate: -50% 0; pointer-events: none; }
.ph__frame svg { width: 100%; height: 100%; overflow: visible; }
.ph__frame path { fill: none; stroke: rgba(232, 207, 150, .4); stroke-width: 1; }
.ph__frame path:first-child { fill: rgba(255, 214, 170, .035); }
.ph__frame path + path { stroke: rgba(232, 207, 150, .2); }

.crumbs { display: flex; align-items: center; gap: .8rem; font: 600 .64rem/1 var(--f-body); letter-spacing: .3em; text-transform: uppercase; color: var(--on-dark-2); }
.crumbs a { transition: color .3s; }
.crumbs a:hover { color: var(--gold-l); }
.crumbs i { width: 5px; height: 5px; border: 1px solid var(--gold); transform: rotate(45deg); }
.crumbs span { color: var(--gold-l); }
.ph__hi { margin-top: 1.7rem; font: 400 clamp(1.3rem, 2vw, 1.7rem)/1.2 var(--f-hindi); color: var(--gold-l); }
.ph__title { margin-top: .5rem; font: 400 clamp(3.4rem, 8.4vw, 8.2rem)/.98 var(--f-display); letter-spacing: -.035em; text-wrap: balance; }
.ph__title em { font-style: italic; color: var(--gold-l); }
.ph__title em .wi { background: var(--gold-text); -webkit-background-clip: text; background-clip: text; color: transparent; padding-right: .04em; }
.ph__lead { max-width: 34em; margin-top: 1.4rem; color: var(--on-dark-2); font-size: clamp(.98rem, 1.15vw, 1.08rem); line-height: 1.75; text-wrap: pretty; }
.ph__cta { margin-top: 2rem; justify-content: center; }
.ph__facts { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.6rem; }
.ph__facts li, .ph__status {
  display: inline-flex; align-items: center; gap: .55rem; height: 36px; padding: 0 1rem;
  border: 1px solid var(--hair); border-radius: 99px; background: rgba(255, 240, 220, .03); font-size: .8rem; color: var(--on-dark-2);
}
.ph__facts svg { width: 15px; height: 15px; color: var(--gold); }
.ph__facts .mark--veg { border-color: #6FB27F; }
.ph__facts .mark--veg::after { background: #6FB27F; }
.gf { font: 700 .58rem/1 var(--f-body); letter-spacing: .06em; color: var(--gold); border: 1px solid currentColor; border-radius: 4px; padding: 3px 4px; }
.ph__status-row { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem; margin-top: 1.6rem; }

.ph__bowl { position: absolute; z-index: 2; height: auto; pointer-events: none; filter: drop-shadow(0 34px 40px rgba(20, 0, 6, .6)); will-change: transform; }
.ph__bowl--c { width: var(--s); left: 50%; bottom: calc(var(--s) * -.44); margin-left: calc(var(--s) / -2); }
.ph__bowl--l, .ph__bowl--r { --b: calc(var(--s) * .58); width: var(--b); bottom: calc(var(--b) * -.2); }
.ph__bowl--l { left: max(4vw, calc(50% - var(--s) * 1.5)); }
.ph__bowl--r { right: max(4vw, calc(50% - var(--s) * 1.5)); }
.ph__glow { position: absolute; z-index: 1; left: 50%; bottom: calc(var(--s) * -.5); width: calc(var(--s) * 2.6); aspect-ratio: 2.2; translate: -50% 0; border-radius: 50%; pointer-events: none;
  background: radial-gradient(closest-side, rgba(255, 190, 120, .16), transparent); }
.js .ph__bowl { visibility: hidden; }
.no-gsap .ph__bowl { visibility: visible !important; }

/* ---------- CTA band ---------- */
.cta {
  position: relative; overflow: hidden; padding: clamp(7rem, 13vw, 11rem) 0; text-align: center; color: var(--on-dark);
  background: radial-gradient(90% 80% at 50% 40%, #8A2236, #5A1222 60%, #3B0A16);
}
.cta__mandala { position: absolute; left: 50%; top: 50%; width: min(120vmin, 1100px); aspect-ratio: 1; translate: -50% -50%; color: var(--gold-l); opacity: .07; }
.cta__inner { position: relative; display: grid; justify-items: center; gap: 1.5rem; }
.cta__blessing { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2.4vw, 2rem); }
.cta__hindi { font: 400 clamp(1.6rem, 3vw, 2.6rem)/1.2 var(--f-hindi); color: var(--gold-l); }
.cta .h2 em { color: var(--gold-l); }
.cta .lead { color: var(--on-dark-2); margin: 0 auto; max-width: 32em; }
.cta .btn-row { justify-content: center; margin-top: .8rem; }
.cta__quote { max-width: 21em; font: italic 400 clamp(1.8rem, 3.4vw, 3rem)/1.28 var(--f-display); letter-spacing: -.012em; text-wrap: balance; }
.cta__quote em .wi, .cta__quote em { color: var(--gold-l); }
.cta__by { display: flex; align-items: center; gap: .8rem; font-size: .9rem; color: var(--on-dark-2); }
.cta__by .stars { color: var(--gold-l); letter-spacing: .14em; }

/* ---------- dotted price leaders ---------- */
.leaders li { display: flex; align-items: baseline; gap: .6rem; padding: .62rem 0; border-bottom: 1px solid var(--line); font-size: .93rem; }
.leaders i { flex: 1; min-width: 1rem; border-bottom: 1px dotted var(--line-2); transform: translateY(-.3em); }
.leaders b { font: 400 1.05rem/1 var(--f-display); color: var(--gold-d); }

/* ==========================================================
   OUR STORY
   ========================================================== */
.define { padding: clamp(7rem, 12vw, 10.5rem) 0; overflow: hidden; }
.define__inner { display: grid; justify-items: center; gap: 1rem; text-align: center; }
.define__word { margin-top: 1.2rem; font: 400 clamp(6rem, 16vw, 13rem)/1.1 var(--f-hindi); color: #6E1526; }
.define__say { font: 400 1.5rem/1 var(--f-display); }
.define__say b { font-weight: 400; letter-spacing: .1em; }
.define__say i { margin-left: .6rem; font-size: 1.05rem; color: var(--ink-3); }
.define__list { display: flex; flex-wrap: wrap; justify-content: center; gap: .6rem 3rem; margin-top: 1.4rem; font: italic 400 clamp(1.3rem, 2.1vw, 1.8rem)/1.4 var(--f-display); color: var(--ink-2); }
.define__list span { margin-right: .4rem; font-style: normal; color: var(--gold-d); }

.atithi__grid { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); align-items: center; gap: clamp(3.5rem, 8vw, 8rem); }
.atithi__media { position: relative; width: min(100%, 460px); justify-self: center; margin-top: 52px; }
.atithi__media .cusp { aspect-ratio: 100 / 132; }
.atithi__card {
  position: absolute; right: -16%; bottom: 8%; z-index: 2; max-width: 260px; padding: 1.3rem 1.5rem;
  background: rgba(36, 6, 13, .88); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid rgba(232, 207, 150, .35); outline: 1px solid rgba(232, 207, 150, .14); outline-offset: 5px;
}
.atithi__card .hi { display: block; font-size: 1.55rem; }
.atithi__card figcaption { margin-top: .5rem; font-size: .8rem; line-height: 1.5; color: var(--on-dark-2); }
.atithi__copy { display: grid; gap: 1.4rem; justify-items: start; }
.atithi__copy p:not(.lead):not(.kicker) { max-width: 34em; color: var(--on-dark-2); line-height: 1.8; }
.atithi__sign { display: flex; align-items: center; gap: 1rem; margin-top: .6rem; }
.atithi__sign .diya { width: 46px; height: 43px; }
.atithi__sign span { font: italic 400 1.15rem/1.3 var(--f-display); color: var(--gold-l); }

.trio > .container { position: relative; z-index: 1; }
.trio__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2.5rem, 4vw, 4.5rem); }
.trio__card { display: grid; align-content: start; }
.trio__media { width: 82%; margin: 52px auto 0; }
.trio__media .cusp { aspect-ratio: 100 / 128; }
.trio__body { margin-top: 3rem; text-align: center; display: grid; justify-items: center; }
.trio__num { font: italic 400 1.9rem/1 var(--f-display); color: var(--gold-d); }
.trio__body .hi { margin-top: 1rem; font-size: 1.15rem; }
.trio__body .h3 { margin: .45rem 0 .9rem; }
.trio__body > p { font-size: .95rem; line-height: 1.75; color: var(--ink-2); max-width: 30em; }
.trio__body .leaders { width: 100%; margin: 1.4rem 0 1.7rem; text-align: left; }

.craft { padding-bottom: clamp(3rem, 5vw, 4.5rem); }
.craft__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.5rem; }
.craft__item { padding-top: 2rem; border-top: 1px solid var(--hair); }
.craft__num { display: grid; place-items: center; width: 58px; height: 58px; border: 1px solid rgba(232, 207, 150, .45); border-radius: 50%; outline: 1px dotted rgba(232, 207, 150, .35); outline-offset: 5px; font: italic 400 1.4rem/1 var(--f-display); color: var(--gold-l); }
.craft__item h3 { margin: 1.6rem 0 .6rem; font: 400 1.5rem/1.2 var(--f-display); letter-spacing: -.01em; }
.craft__item p { font-size: .94rem; line-height: 1.75; color: var(--on-dark-2); }
.spices { margin-top: clamp(4.5rem, 8vw, 7rem); padding: 1.8rem 0; border-block: 1px solid var(--hair); overflow: hidden; }
.spices__track { display: flex; align-items: center; width: max-content; }
.spices__track > * { margin-right: 2.6rem; }
.spices__track span { display: inline-flex; align-items: baseline; gap: .8rem; white-space: nowrap; font: italic 400 clamp(1.6rem, 3vw, 2.6rem)/1.2 var(--f-display); color: var(--on-dark); }
.spices__track small { font: 400 1.1rem/1 var(--f-hindi); font-style: normal; color: var(--gold-l); }
.spices__track i { display: block; width: 26px; flex: none; color: var(--gold); }

.numbers-sec { padding: clamp(5rem, 9vw, 8rem) 0; }
.numbers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.numbers li { display: grid; justify-items: center; gap: .9rem; padding: .4rem 2rem; border-left: 1px solid var(--line); text-align: center; }
.numbers li:first-child { border-left: 0; }
.numbers__n { font: 400 clamp(3.4rem, 6vw, 5.6rem)/1 var(--f-display); letter-spacing: -.03em; }
.numbers__n i { margin-left: .1em; font: 500 .4em/1 var(--f-body); color: var(--gold-d); vertical-align: 1.1em; font-style: normal; }
.numbers__l { font: 600 .68rem/1.5 var(--f-body); letter-spacing: .2em; text-transform: uppercase; color: var(--ink-2); }

/* ==========================================================
   VISIT
   ========================================================== */
.info { padding-top: clamp(6rem, 10vw, 8.5rem); }
.info > .container { position: relative; z-index: 1; }
.info__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.6rem; }
.icard {
  position: relative; display: flex; flex-direction: column; align-items: center; gap: .9rem; padding: clamp(2.6rem, 3vw, 3rem) clamp(1.6rem, 2.4vw, 2.4rem) 2.4rem;
  text-align: center; background: var(--card); border: 1px solid rgba(142, 106, 48, .38); outline: 1px solid rgba(142, 106, 48, .16); outline-offset: -9px;
}
.icard::before { content: ''; position: absolute; left: 50%; top: -16px; width: 56px; height: 32px; translate: -50% 0; background: var(--lotus) center / 40px 25px no-repeat, var(--cream); }
.icard__icon { display: grid; place-items: center; width: 56px; height: 56px; margin-bottom: .3rem; border: 1px solid rgba(142, 106, 48, .5); border-radius: 50%; color: var(--gold-d); }
.icard__icon svg { width: 24px; height: 24px; }
.icard__title { font: 400 1.75rem/1.15 var(--f-display); letter-spacing: -.015em; transition: color .3s; }
a.icard__title:hover { color: #6E1526; }
.icard__text { flex: 1; font-size: .94rem; line-height: 1.7; color: var(--ink-2); }
.hours { width: 100%; font-size: .9rem; text-align: left; }
.hours li { display: flex; align-items: baseline; gap: .6rem; padding: .3rem 0; color: var(--ink-2); }
.hours i { flex: 1; border-bottom: 1px dotted var(--line-2); transform: translateY(-.3em); }
.hours b { font-weight: 500; }
.hours li.is-today { color: #6E1526; font-weight: 600; }
.icard .status { margin-top: .3rem; color: var(--ink); }

.vmap { position: relative; margin-top: clamp(4rem, 7vw, 6rem); padding: 14px; border: 1px solid rgba(142, 106, 48, .45); }
.vmap__frame { position: relative; height: clamp(380px, 46vw, 560px); overflow: hidden; background: var(--cream-2); }
.vmap__frame iframe { position: absolute; left: 0; top: -110px; width: 100%; height: calc(100% + 110px); border: 0; filter: grayscale(.4) sepia(.25) contrast(1.05); }
.vmap .deco-corner { width: clamp(70px, 8vw, 110px); color: var(--gold-d); opacity: .75; z-index: 2; }
.vmap .deco-corner--tl { left: -6px; top: -6px; }
.vmap .deco-corner--tr { right: -6px; top: -6px; }
.vmap .deco-corner--bl { left: -6px; bottom: -6px; }
.vmap .deco-corner--br { right: -6px; bottom: -6px; }
.vmap__pin {
  position: absolute; left: 2.4rem; bottom: 2.4rem; z-index: 3; display: flex; align-items: center; gap: .9rem; padding: .75rem 1.5rem .75rem .75rem;
  background: var(--night); color: var(--on-dark); border: 1px solid rgba(232, 207, 150, .35); border-radius: 99px; box-shadow: 0 24px 40px -18px rgba(30, 4, 10, .6);
}
.vmap__pin .logo__mark { width: 44px; height: 44px; padding: 8px; }
.vmap__pin > span:last-child { display: grid; gap: .15rem; font-size: .8rem; color: var(--on-dark-2); }
.vmap__pin b { font: 400 1.05rem/1.2 var(--f-display); color: var(--on-dark); }

.services__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.services__grid li { display: grid; justify-items: center; gap: .5rem; padding: 2.8rem 2rem; text-align: center; border-top: 1px solid var(--hair); }
.services__grid li:not(:nth-child(3n + 1)) { border-left: 1px solid var(--hair); }
.services__grid li:nth-child(-n + 3) { border-top: 0; }
.services__icon { display: grid; place-items: center; width: 76px; height: 76px; margin-bottom: 1rem; border: 1px solid rgba(232, 207, 150, .4); border-radius: 50%; outline: 1px dotted rgba(232, 207, 150, .3); outline-offset: 6px; color: var(--gold-l); }
.services__icon svg { width: 34px; height: 34px; }
.services__grid h3 { font: 400 1.55rem/1.2 var(--f-display); letter-spacing: -.01em; }
.services__grid p { font-size: .94rem; color: var(--on-dark-2); }

.faq > .container { position: relative; z-index: 1; }
.faq__grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 7vw, 7rem); }
.faq__sticky { position: sticky; top: 130px; display: grid; gap: 1.4rem; justify-items: start; }
.faq__sticky .ornament { width: 160px; }
.faq__item { border-bottom: 1px solid var(--line-2); }
.faq__item:first-child { border-top: 1px solid var(--line-2); }
.faq__q { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; width: 100%; padding: 1.6rem 0; text-align: left; font: 400 clamp(1.25rem, 1.8vw, 1.55rem)/1.3 var(--f-display); letter-spacing: -.01em; transition: color .3s; }
.faq__q:hover { color: #6E1526; }
.faq__q i { position: relative; flex: none; width: 40px; height: 40px; border: 1px solid rgba(142, 106, 48, .5); border-radius: 50%; color: var(--gold-d); transition: background-color .4s var(--ease), border-color .4s, color .4s; }
.faq__q i::before, .faq__q i::after { content: ''; position: absolute; left: calc(50% - 6px); top: calc(50% - .75px); width: 12px; height: 1.5px; background: currentColor; transition: transform .5s var(--ease); }
.faq__q i::after { transform: rotate(90deg); }
.faq__item.is-open .faq__q i { background: var(--night); border-color: var(--night); color: var(--gold-l); }
.faq__item.is-open .faq__q i::after { transform: rotate(0deg); }
.js .faq__a { height: 0; overflow: hidden; }
.faq__a p { max-width: 40em; padding: 0 3.5rem 1.8rem 0; line-height: 1.8; color: var(--ink-2); }
.faq__a a { color: #6E1526; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- responsive ---------- */
@media (max-width: 1100px) {
  .trio__grid { grid-template-columns: 1fr; max-width: 520px; margin: 0 auto; gap: 5.5rem; }
  .trio__media { width: 70%; }
  .craft__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 3rem; }
  .numbers { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 3rem; }
  .numbers li:nth-child(3) { border-left: 0; }
  .info__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 2.6rem; }
  .info__grid > :last-child { grid-column: span 2; }
  .services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .services__grid li { border-left: 0 !important; border-top: 1px solid var(--hair) !important; }
  .services__grid li:nth-child(even) { border-left: 1px solid var(--hair) !important; }
  .services__grid li:nth-child(-n + 2) { border-top: 0 !important; }
  .faq__grid { grid-template-columns: 1fr; }
  .faq__sticky { position: static; }
}
@media (max-width: 1000px) {
  .atithi__grid { grid-template-columns: 1fr; }
  .atithi__media { width: min(78%, 400px); }
  .atithi__card { right: -12%; }
}
@media (max-width: 860px) {
  .ph { --s: min(70vw, 40svh); min-height: 100svh; padding-bottom: calc(var(--s) * .5 + 2rem); }
  .ph__inner { padding-top: calc(var(--nav-h) + 70px); }
  .ph__frame { top: calc(var(--nav-h) + 84px); width: 94vw; }
  .ph__title { font-size: clamp(2.9rem, 13vw, 4.6rem); }
  .ph__bowl--l { left: -10vw; }
  .ph__bowl--r { right: -10vw; }
  .shead--split { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .ph__lead { font-size: .96rem; }
  .ph__facts li { height: 32px; font-size: .74rem; padding: 0 .8rem; }
  .craft__grid, .info__grid, .services__grid { grid-template-columns: 1fr; }
  .info__grid > :last-child { grid-column: auto; }
  .services__grid li { border-left: 0 !important; border-top: 1px solid var(--hair) !important; }
  .services__grid li:first-child { border-top: 0 !important; }
  .numbers li { padding: .4rem 1rem; }
  .vmap__frame { height: 420px; }
  .vmap__pin { left: 1.2rem; right: 1.2rem; bottom: 1.2rem; }
  .faq__a p { padding-right: 0; }
  .define__list { flex-direction: column; }
  .atithi__card { right: -8%; max-width: 220px; padding: 1rem 1.2rem; }
  .cta__blessing .diya { width: 44px; height: 41px; }
}
