:root{
  --paper: oklch(95% 0.013 83); --paper-2: oklch(92.4% 0.016 80); --card: oklch(97.6% 0.009 85);
  --navy: oklch(27% 0.055 262); --navy-2: oklch(33% 0.055 262); --navy-soft: oklch(45% 0.04 262);
  --orange: oklch(62% 0.155 48); --orange-deep: oklch(54% 0.15 44);
  --gold: oklch(70% 0.10 82); --gold-deep: oklch(58% 0.095 76); --maroon: oklch(42% 0.13 25);
  --line: oklch(86% 0.016 80); --line-strong: oklch(79% 0.02 78);
  --fg-blue: oklch(52% 0.14 250); --fg-white: oklch(97% 0.006 85); --fg-red: oklch(56% 0.19 27);
  --fg-green: oklch(58% 0.13 150); --fg-yellow: oklch(83% 0.15 88);
  --ease: cubic-bezier(.22,1,.36,1);
  --sans:'Archivo',system-ui,sans-serif; --serif:'Fraunces',Georgia,serif;
  --deva:'Tiro Devanagari Sanskrit','Noto Serif Devanagari',serif;
}
*{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; scroll-padding-top:150px; }
@media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
body{ font-family:var(--sans); color:var(--navy); background:var(--paper); line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
a{ color:inherit; text-decoration:none; }
img{ max-width:100%; display:block; }
.wrap{ width:min(1180px,92vw); margin-inline:auto; }
:focus-visible{ outline:3px solid var(--orange); outline-offset:3px; border-radius:6px; }

.btn{ font-family:var(--sans); font-weight:700; font-size:.95rem; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:9px; padding:12px 22px; border-radius:999px; transition:transform .18s var(--ease), background .2s var(--ease), color .2s var(--ease); }
.btn:active{ transform:translateY(1px) scale(.99); }
.btn-primary{ background:var(--orange); color:var(--paper); box-shadow:0 8px 22px -10px oklch(62% 0.155 48 / .9); }
.btn-primary:hover{ background:var(--orange-deep); }
.btn-ghost{ background:transparent; color:var(--navy); border:1.5px solid var(--line-strong); }
.btn-ghost:hover{ border-color:var(--navy); }

/* Nav */
header.nav{ position:sticky; top:0; z-index:60; background:color-mix(in oklab,var(--paper) 90%,transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
.nav-inner{ display:flex; align-items:center; gap:22px; height:78px; }
.brand{ display:flex; align-items:center; gap:13px; }
.brand img{ height:52px; width:auto; }
.brand .wm{ display:flex; flex-direction:column; line-height:1.05; }
.brand .wm b{ font-family:var(--serif); font-weight:600; font-size:1.12rem; color:var(--navy); }
.brand .wm small{ font-family:var(--sans); font-size:.58rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-top:4px; }
.nav-links{ display:flex; gap:2px; margin-left:auto; }
.nav-links a{ padding:8px 14px; border-radius:999px; font-weight:600; font-size:.94rem; color:var(--navy-soft); transition:background .2s,color .2s; }
.nav-links a:hover{ background:var(--paper-2); color:var(--navy); }
.nav-links a[aria-current="page"]{ color:var(--orange); }
.nav-cta{ margin-left:6px; }

/* Menu hero */
.menu-hero{ padding:clamp(40px,6vw,72px) 0 clamp(28px,4vw,40px); text-align:center; }
.menu-hero .namaste-sm{ font-family:var(--deva); font-size:clamp(1.5rem,3vw,2rem); color:var(--maroon); margin-bottom:8px; }
.menu-hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,5vw,3.6rem); line-height:1.02; }
.menu-hero .lead{ font-family:var(--serif); font-style:italic; color:var(--navy-soft); font-size:clamp(1.05rem,1.6vw,1.25rem); max-width:52ch; margin:16px auto 22px; }
.legend{ display:inline-flex; align-items:center; flex-wrap:wrap; gap:8px; justify-content:center; font-family:var(--sans); font-size:.85rem; color:var(--navy-soft); font-weight:600; }
.legend .svcnote{ display:block; width:100%; margin-top:14px; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; }

/* Jump nav */
.jumpnav{ position:sticky; top:78px; z-index:50; background:color-mix(in oklab,var(--paper) 92%,transparent); backdrop-filter:blur(10px); border-block:1px solid var(--line); }
.jumpwrap{ display:flex; gap:6px; overflow-x:auto; padding:12px 0; scrollbar-width:none; }
.jumpwrap::-webkit-scrollbar{ display:none; }
.jumpnav a{ white-space:nowrap; padding:7px 14px; border-radius:999px; font-family:var(--sans); font-weight:600; font-size:.85rem; color:var(--navy-soft); border:1.5px solid transparent; transition:all .18s var(--ease); }
.jumpnav a:hover{ color:var(--navy); background:var(--paper-2); }
.jumpnav a.active{ background:var(--navy); color:var(--paper); }

/* Sections */
.msec{ padding:clamp(40px,5vw,64px) 0 0; }
.msec:last-of-type{ padding-bottom:20px; }
.shead{ display:flex; align-items:center; gap:18px; margin-bottom:30px; }
.shead h2{ font-family:var(--sans); font-weight:800; font-size:clamp(1.35rem,2.6vw,1.9rem); text-transform:uppercase; letter-spacing:.01em; white-space:nowrap; }
.shead .rule{ flex:1; height:2px; background:var(--orange); opacity:.85; }
.shead .tag{ font-family:var(--sans); font-weight:600; font-size:.74rem; letter-spacing:.16em; text-transform:uppercase; color:var(--navy-soft); white-space:nowrap; }

.mgrid{ display:grid; grid-template-columns:1fr 1fr; gap:2px 56px; }
@media (max-width:760px){ .mgrid{ grid-template-columns:1fr; } }
.mrow{ display:grid; grid-template-columns:1fr auto; align-items:baseline; gap:4px 16px; padding:16px 0; border-bottom:1px solid var(--line); }
.mrow.feat{ background:linear-gradient(90deg, oklch(70% 0.10 82 / .10), transparent 70%); margin:0 -14px; padding-inline:14px; border-radius:10px; border-bottom:1px solid var(--line); }
.ibadge{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:.64rem; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); margin-bottom:5px; }
.mname{ font-family:var(--sans); font-weight:700; font-size:1.04rem; letter-spacing:.005em; text-transform:uppercase; }
.mdesc{ font-family:var(--serif); font-style:italic; color:var(--navy-soft); font-size:.96rem; margin-top:3px; }
.tags{ display:inline-flex; gap:6px; margin-top:8px; }
.tag{ font-family:var(--sans); font-size:.66rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; padding:3px 8px; border-radius:999px; }
.tag.veg{ background:oklch(58% 0.13 150 / .16); color:oklch(44% 0.11 150); }
.tag.vegan{ background:oklch(58% 0.13 150 / .22); color:oklch(40% 0.12 150); border:1px solid oklch(58% 0.13 150 / .4); }
.mside{ text-align:right; white-space:nowrap; }
.price{ font-family:var(--sans); font-weight:700; color:var(--orange); font-size:1.02rem; }
.price .v2{ color:var(--navy-soft); font-weight:600; }

/* Flat price note */
.flatnote{ display:inline-flex; align-items:center; gap:10px; background:var(--card); border:1.5px solid var(--line); border-radius:999px; padding:9px 18px; margin-bottom:22px; font-family:var(--sans); font-weight:600; color:var(--navy-soft); }
.flatnote b{ font-family:var(--sans); color:var(--orange); font-size:1.05rem; }
.flatnote .tags{ margin-top:0; }

/* Protein tiers */
.ptiers{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:24px; }
.ptier{ display:flex; align-items:center; gap:10px; background:var(--card); border:1.5px solid var(--line); border-radius:12px; padding:10px 16px; }
.ptier span{ font-family:var(--sans); font-weight:600; font-size:.9rem; }
.ptier b{ font-family:var(--sans); color:var(--orange); }

/* Beer & wine */
.gsub{ display:flex; align-items:baseline; gap:14px; margin:14px 0 6px; }
.glabel{ font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:1rem; }
.gnote{ font-family:var(--sans); font-weight:700; color:var(--orange); font-size:.9rem; }
.winegrid{ display:grid; grid-template-columns:1fr 1fr; gap:24px 56px; margin-top:6px; }
@media (max-width:560px){ .winegrid{ grid-template-columns:1fr; } }
.wlabel{ font-family:var(--sans); font-weight:700; font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:8px; }
.winecol ul{ list-style:none; }
.winecol li{ font-family:var(--serif); font-size:1.02rem; padding:6px 0; border-bottom:1px solid var(--line); }
.secnote{ margin-top:16px; font-family:var(--serif); font-style:italic; color:var(--navy-soft); font-size:.92rem; }

/* Order strip */
.order-strip{ margin-top:clamp(48px,6vw,72px); background:var(--navy); color:var(--paper); }
.order-strip .wrap{ display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; padding:28px 0; }
.order-strip span{ font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,2vw,1.4rem); }
.os-btns{ display:flex; gap:12px; }
.order-strip .btn-ghost{ color:var(--paper); border-color:oklch(80% 0.02 80 / .5); }
.order-strip .btn-ghost:hover{ border-color:var(--paper); }

/* Footer */
footer{ background:var(--navy); color:var(--paper); padding:0 0 30px; }
.foot-flags{ display:flex; height:8px; }
.foot-flags i{ flex:1; }
.foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-top:46px; }
@media (max-width:760px){ .foot-top{ grid-template-columns:1fr; gap:26px; } }
.foot-brand b{ font-family:var(--serif); font-weight:600; font-size:1.4rem; }
.foot-brand em{ display:block; font-family:var(--serif); font-style:italic; color:var(--gold); margin-top:6px; }
.foot-brand .deva-tag{ display:block; font-family:var(--deva); color:var(--gold); font-size:1.15rem; margin-top:6px; opacity:.9; }
.foot-brand p{ color:oklch(84% 0.02 80); margin-top:14px; max-width:34ch; font-size:.95rem; }
.foot-col h4{ font-family:var(--sans); font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:15px; }
.foot-col a,.foot-col p{ display:block; color:oklch(86% 0.02 80); margin-bottom:9px; font-size:.95rem; }
.foot-col a:hover{ color:var(--paper); }
.foot-thanks{ text-align:center; margin-top:44px; color:oklch(84% 0.02 80); font-size:.9rem; }
.foot-thanks span{ font-family:var(--deva); color:var(--gold); font-size:1.35rem; margin-right:6px; vertical-align:-2px; }
.foot-bottom{ margin-top:30px; padding-top:22px; border-top:1px solid oklch(42% 0.04 262); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.85rem; color:oklch(78% 0.02 80); }

@media (max-width:760px){
  .nav-links{ display:none; }
  .brand .wm{ display:none; }
  .jumpnav{ top:78px; }
}

.mprice-inline{ font-family:var(--sans); font-weight:700; color:var(--orange); font-size:1rem; margin-top:9px; }
.mprice-inline .v2{ color:var(--navy-soft); font-weight:600; }

/* ===== Shared components for secondary pages ===== */
.btn-navy{ background:var(--navy); color:var(--paper); }
.btn-navy:hover{ background:var(--navy-2); }
.btn-outline-light{ background:transparent; color:var(--paper); border:1.5px solid oklch(80% 0.02 80 / .5); }
.btn-outline-light:hover{ border-color:var(--paper); background:oklch(100% 0 0 / .07); }

/* Knot divider */
.knot-band{ padding:clamp(36px,5vw,56px) 0; }
.knot-div{ display:flex; align-items:center; justify-content:center; gap:22px; }
.knot-div .kr{ height:1.5px; width:min(96px,20vw); background:var(--gold); opacity:.5; }

/* Prayer flags */
.flags{ display:flex; justify-content:center; gap:0; margin:0 auto; max-width:340px; }
.flag{ width:100%; height:26px; margin-top:8px; border-radius:0 0 3px 3px; transform-origin:top center; box-shadow:inset 0 -5px 7px -5px rgba(0,0,0,.3), inset 0 0 0 1px oklch(27% 0.055 262 / .12); }

/* Page hero (secondary pages) */
.page-hero{ padding:clamp(44px,7vw,84px) 0 clamp(24px,3vw,36px); text-align:center; }
.page-hero .deva-sm{ font-family:var(--deva); font-size:clamp(1.5rem,3vw,2rem); color:var(--maroon); margin-bottom:10px; }
.page-hero .eyebrow{ display:inline-flex; align-items:center; gap:10px; font-family:var(--sans); font-weight:700; color:var(--gold-deep); font-size:.8rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:16px; }
.page-hero .eyebrow::before,.page-hero .eyebrow::after{ content:""; width:22px; height:2px; background:var(--gold); }
.page-hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.4rem,5.5vw,4rem); line-height:1.02; }
.page-hero p.lead{ font-family:var(--serif); font-style:italic; color:var(--navy-soft); font-size:clamp(1.05rem,1.7vw,1.3rem); max-width:52ch; margin:18px auto 0; }

/* Story page */
.story-wrap{ max-width:760px; margin-inline:auto; }
.story-portrait{ border-radius:22px; min-height:420px; border:1.5px solid var(--line); margin-bottom:44px; position:relative; overflow:hidden; display:grid; place-items:center; background:radial-gradient(115% 85% at 42% 22%, oklch(46% 0.05 262), oklch(27% 0.055 262) 66%); }
.story-portrait::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(135deg, transparent 0 22px, oklch(100% 0 0 / .015) 22px 44px); }
.story-portrait .phlabel{ position:absolute; bottom:14px; right:16px; font-family:var(--sans); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:oklch(82% 0.02 80 / .6); font-weight:600; }
.story-body p{ font-size:1.15rem; line-height:1.7; color:var(--navy); margin-bottom:24px; }
.story-body p.first::first-letter{ font-family:var(--serif); font-weight:600; font-size:3.4rem; float:left; line-height:.82; padding:6px 12px 0 0; color:var(--maroon); }
.story-closing{ font-family:var(--serif); font-style:italic; font-size:1.4rem; text-align:center; color:var(--navy); margin:12px 0 0; }
.story-sign{ text-align:center; margin-top:20px; font-family:var(--sans); font-weight:700; letter-spacing:.02em; color:var(--navy-soft); }
.story-sign small{ display:block; font-weight:600; color:var(--gold-deep); font-size:.8rem; letter-spacing:.14em; text-transform:uppercase; margin-top:4px; }

/* Value cards (story) */
.values{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-top:8px; }
@media (max-width:760px){ .values{ grid-template-columns:1fr; } }
.vcard{ text-align:center; padding:28px 22px; border:1.5px solid var(--line); border-radius:18px; background:var(--card); }
.vcard .vt{ font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:1.05rem; margin-bottom:8px; }
.vcard .vd{ color:var(--navy-soft); font-size:.98rem; }

/* Catering */
.cat-grid{ display:grid; grid-template-columns:1fr 1fr; gap:20px; }
@media (max-width:760px){ .cat-grid{ grid-template-columns:1fr; } }
.ccard{ border:1.5px solid var(--line); border-radius:18px; padding:28px 26px; background:var(--card); }
.ccard h3{ font-family:var(--sans); font-weight:800; text-transform:uppercase; letter-spacing:.04em; font-size:1.15rem; margin-bottom:10px; }
.ccard p{ color:var(--navy-soft); }
.ccard .ph-mini{ height:150px; border-radius:12px; margin-bottom:18px; background:radial-gradient(120% 90% at 70% 15%, oklch(36% 0.055 262), oklch(27% 0.055 262) 60%); display:grid; place-items:center; }
.cta-band{ text-align:center; }
.tbd{ display:inline-block; font-family:var(--sans); font-weight:700; font-size:.66rem; letter-spacing:.12em; text-transform:uppercase; color:var(--maroon); background:oklch(42% 0.13 25 / .1); padding:3px 9px; border-radius:999px; margin-left:8px; vertical-align:middle; }

/* Gallery */
.gal-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
@media (max-width:760px){ .gal-grid{ grid-template-columns:repeat(2,1fr); } }
.gtile{ aspect-ratio:1/1; border-radius:14px; border:1.5px solid var(--line); overflow:hidden; position:relative; display:grid; place-items:center; background:radial-gradient(120% 90% at 70% 15%, oklch(38% 0.055 262), oklch(27% 0.055 262) 62%); }
.gtile.tall{ aspect-ratio:1/1.4; }
.gtile .glabel{ position:absolute; bottom:10px; left:12px; font-family:var(--sans); font-size:.7rem; font-weight:600; letter-spacing:.02em; color:oklch(86% 0.02 80 / .85); }
.gtile .phlabel{ position:absolute; top:10px; right:12px; font-family:var(--sans); font-size:.56rem; letter-spacing:.12em; text-transform:uppercase; color:oklch(82% 0.02 80 / .5); font-weight:600; }

/* Reviews */
.rev-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
@media (max-width:760px){ .rev-grid{ grid-template-columns:1fr; } }
.rcard-rev{ border:1.5px solid var(--line); border-radius:18px; padding:26px 26px; background:var(--card); }
.stars{ color:var(--gold); letter-spacing:2px; font-size:1.05rem; margin-bottom:12px; }
.rcard-rev blockquote{ font-family:var(--serif); font-size:1.1rem; line-height:1.5; color:var(--navy); }
.rcard-rev .who{ margin-top:16px; font-family:var(--sans); font-weight:700; font-size:.9rem; }
.rcard-rev .who small{ display:block; color:var(--navy-soft); font-weight:500; margin-top:2px; }
.rev-note{ text-align:center; margin-top:34px; color:var(--navy-soft); font-style:italic; font-family:var(--serif); }

/* Navy CTA band (catering) */
.order{ background:var(--navy); color:var(--paper); }

/* Gallery tabs */
.gtabs{ justify-content:center; }
.gtab{ font-family:var(--sans); font-weight:600; font-size:.92rem; cursor:pointer; padding:9px 18px; border-radius:999px; border:1.5px solid var(--line-strong); background:var(--card); color:var(--navy-soft); transition:all .18s var(--ease); white-space:nowrap; }
.gtab:hover{ border-color:var(--navy); color:var(--navy); }
.gtab.active{ background:var(--navy); border-color:var(--navy); color:var(--paper); }

/* Real photo support in gallery tiles once images are added via CMS */
.gtile img{ width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.gtile{ position:relative; }

  :root{
    --paper: oklch(95% 0.013 83);
    --paper-2: oklch(92.4% 0.016 80);
    --card: oklch(97.6% 0.009 85);
    --navy: oklch(27% 0.055 262);
    --navy-2: oklch(33% 0.055 262);
    --navy-soft: oklch(45% 0.04 262);
    --orange: oklch(62% 0.155 48);
    --orange-deep: oklch(54% 0.15 44);
    --gold: oklch(70% 0.10 82);
    --gold-deep: oklch(58% 0.095 76);
    --maroon: oklch(42% 0.13 25);
    --line: oklch(86% 0.016 80);
    --line-strong: oklch(79% 0.02 78);
    --fg-blue: oklch(52% 0.14 250);
    --fg-white: oklch(97% 0.006 85);
    --fg-red: oklch(56% 0.19 27);
    --fg-green: oklch(58% 0.13 150);
    --fg-yellow: oklch(83% 0.15 88);
    --ease: cubic-bezier(.22,1,.36,1);
    --sans: 'Archivo', system-ui, sans-serif;
    --serif: 'Fraunces', Georgia, serif;
    --deva: 'Tiro Devanagari Sanskrit', 'Noto Serif Devanagari', serif;
  }
  *{ box-sizing:border-box; margin:0; padding:0; }
  html{ scroll-behavior:smooth; }
  @media (prefers-reduced-motion: reduce){ html{ scroll-behavior:auto; } }
  body{ font-family:var(--sans); color:var(--navy); background:var(--paper); line-height:1.55; -webkit-font-smoothing:antialiased; overflow-x:hidden; }
  a{ color:inherit; text-decoration:none; }
  img{ max-width:100%; display:block; }
  .wrap{ width:min(1180px, 92vw); margin-inline:auto; }
  :focus-visible{ outline:3px solid var(--orange); outline-offset:3px; border-radius:6px; }

  /* Section header treatment (mirrors the printed menu) */
  .shead{ display:flex; align-items:center; gap:20px; margin-bottom:38px; }
  .shead h2{ font-family:var(--sans); font-weight:800; font-size:clamp(1.5rem,3vw,2.1rem); text-transform:uppercase; letter-spacing:.01em; white-space:nowrap; }
  .shead .rule{ flex:1; height:2px; background:var(--orange); opacity:.85; }
  .shead .tag{ font-family:var(--sans); font-weight:600; font-size:.78rem; letter-spacing:.16em; text-transform:uppercase; color:var(--navy-soft); white-space:nowrap; }

  /* Buttons */
  .btn{ font-family:var(--sans); font-weight:700; font-size:.95rem; cursor:pointer; border:none; display:inline-flex; align-items:center; gap:9px; padding:13px 24px; border-radius:999px; letter-spacing:.01em; transition:transform .18s var(--ease), background .2s var(--ease), box-shadow .2s var(--ease), color .2s var(--ease); }
  .btn:active{ transform:translateY(1px) scale(.99); }
  .btn-primary{ background:var(--orange); color:var(--paper); box-shadow:0 8px 22px -10px oklch(62% 0.155 48 / .9); }
  .btn-primary:hover{ background:var(--orange-deep); }
  .btn-navy{ background:var(--navy); color:var(--paper); }
  .btn-navy:hover{ background:var(--navy-2); }
  .btn-ghost{ background:transparent; color:var(--navy); border:1.5px solid var(--line-strong); }
  .btn-ghost:hover{ border-color:var(--navy); }
  .btn-outline-light{ background:transparent; color:var(--paper); border:1.5px solid oklch(80% 0.02 80 / .5); }
  .btn-outline-light:hover{ border-color:var(--paper); background:oklch(100% 0 0 / .07); }

  /* Nav */
  header.nav{ position:sticky; top:0; z-index:60; background:color-mix(in oklab, var(--paper) 90%, transparent); backdrop-filter:blur(10px); border-bottom:1px solid var(--line); }
  .nav-inner{ display:flex; align-items:center; gap:22px; height:80px; }
  .brand{ display:flex; align-items:center; gap:13px; }
  .brand img{ height:56px; width:auto; }
  .brand .wm{ display:flex; flex-direction:column; line-height:1.05; }
  .brand .wm b{ font-family:var(--serif); font-weight:600; font-size:1.16rem; color:var(--navy); letter-spacing:.005em; }
  .brand .wm small{ font-family:var(--sans); font-size:.6rem; letter-spacing:.24em; text-transform:uppercase; color:var(--gold-deep); font-weight:700; margin-top:4px; }
  .nav-links{ display:flex; gap:2px; margin-left:auto; }
  .nav-links a{ padding:8px 15px; border-radius:999px; font-weight:600; font-size:.95rem; color:var(--navy-soft); transition:background .2s var(--ease), color .2s var(--ease); }
  .nav-links a:hover{ background:var(--paper-2); color:var(--navy); }
  .nav-cta{ margin-left:6px; }
  .menu-toggle{ display:none; }

  /* Hero */
  .hero{ position:relative; padding-top:clamp(48px,7vw,86px); overflow:hidden; }
  .hero-inner{ position:relative; z-index:3; text-align:center; }
  .hero .eyebrow{ display:inline-flex; align-items:center; gap:11px; font-family:var(--sans); font-weight:700; color:var(--gold-deep); font-size:.82rem; letter-spacing:.2em; text-transform:uppercase; margin-bottom:26px; }
  .namaste{ font-family:var(--deva); font-size:clamp(2rem,4.5vw,3rem); color:var(--maroon); line-height:1; margin-bottom:16px; }
  .hero .eyebrow::before, .hero .eyebrow::after{ content:""; width:24px; height:2px; background:var(--gold); }
  .hero h1{ font-family:var(--serif); font-weight:500; font-size:clamp(2.7rem,6.4vw,5rem); line-height:1.02; letter-spacing:-0.015em; max-width:16ch; margin:0 auto; }
  .hero h1 em{ font-style:italic; color:var(--maroon); }
  .hero p.lead{ font-family:var(--serif); font-style:italic; font-size:clamp(1.1rem,1.8vw,1.4rem); color:var(--navy-soft); max-width:42ch; margin:24px auto 34px; }
  .hero-cta{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  /* prayer flags */
  .flags{ display:flex; justify-content:center; gap:0; margin:36px auto 0; max-width:340px; }
  .flag{ width:100%; height:26px; margin-top:8px; border-radius:0 0 3px 3px; transform-origin:top center; box-shadow:inset 0 -5px 7px -5px rgba(0,0,0,.3), inset 0 0 0 1px oklch(27% 0.055 262 / .12); }
  .flag.sway{ animation:sway 5s ease-in-out infinite; }
  @keyframes sway{ 0%,100%{ transform:rotate(-1.5deg) } 50%{ transform:rotate(1.5deg) } }
  @media (prefers-reduced-motion: reduce){ .flag.sway{ animation:none } }
  .flagstring{ position:relative; }
  .flagstring::before{ content:""; position:absolute; top:8px; left:6%; right:6%; height:1.5px; background:var(--gold-deep); opacity:.5; }
  /* mountains */
  .range{ position:relative; width:100%; margin-top:-2%; z-index:1; display:block; }
  .range svg{ width:100%; height:auto; display:block; }
  .est{ position:relative; z-index:3; text-align:center; margin-top:-52px; padding-bottom:12px; display:flex; flex-direction:column; align-items:center; gap:4px; }
  .est .sm-deva{ font-family:var(--deva); font-size:clamp(1.2rem,2.4vw,1.6rem); color:var(--gold); line-height:1; }
  .est .sm-sub{ font-family:var(--sans); font-weight:700; font-size:.72rem; letter-spacing:.22em; text-transform:uppercase; color:oklch(78% 0.02 80); }

  /* Endless-knot divider */
  .knot-band{ padding:clamp(40px,6vw,64px) 0 0; }
  .knot-div{ display:flex; align-items:center; justify-content:center; gap:22px; }
  .knot-div .kr{ height:1.5px; width:min(96px,20vw); background:var(--gold); opacity:.5; }

  /* Positioning band */
  .band{ background:var(--navy); color:var(--paper); }
  .band .wrap{ display:flex; align-items:center; justify-content:center; gap:clamp(14px,3vw,34px); flex-wrap:wrap; padding:22px 0; text-align:center; }
  .band .lead-word{ font-family:var(--serif); font-style:italic; font-size:clamp(1.05rem,2vw,1.4rem); }
  .band .dot{ width:5px; height:5px; border-radius:50%; background:var(--gold); }
  .band .w{ font-family:var(--sans); font-weight:700; letter-spacing:.14em; text-transform:uppercase; font-size:.85rem; color:oklch(88% 0.03 82); }

  /* Featured */
  section.block{ padding:clamp(60px,8vw,104px) 0; }
  .feat-grid{ display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:auto auto; gap:22px; }
  .feat{ position:relative; border-radius:20px; overflow:hidden; border:1.5px solid var(--line); background:var(--card); display:flex; flex-direction:column; }
  .feat.big{ grid-row:span 2; }
  .ph{ position:relative; width:100%; background:
      radial-gradient(120% 90% at 70% 15%, oklch(36% 0.055 262), oklch(27% 0.055 262) 60%);
      overflow:hidden; display:grid; place-items:center; }
  .feat.big .ph{ min-height:430px; }
  .feat .meta{ font-family:var(--sans); font-size:.82rem; font-weight:600; letter-spacing:.02em; color:var(--navy-soft); text-transform:uppercase; }
  .feat.sm .ph{ min-height:170px; }
  .ph::after{ content:""; position:absolute; inset:0; background:
      repeating-linear-gradient(135deg, transparent 0 22px, oklch(100% 0 0 / .015) 22px 44px); }
  .ph .glyph{ position:relative; z-index:2; opacity:.5; }
  .ph .phlabel{ position:absolute; z-index:2; bottom:12px; right:14px; font-family:var(--sans); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:oklch(82% 0.02 80 / .6); font-weight:600; }
  .feat-body{ padding:22px 24px 24px; display:flex; flex-direction:column; gap:8px; flex:1; }
  .feat .badge{ font-family:var(--sans); font-weight:700; font-size:.68rem; letter-spacing:.14em; text-transform:uppercase; color:var(--orange); }
  .feat h3{ font-family:var(--sans); font-weight:700; font-size:1.28rem; letter-spacing:-0.01em; text-transform:uppercase; }
  .feat.sm h3{ font-size:1.08rem; }
  .feat .desc{ font-family:var(--serif); font-style:italic; color:var(--navy-soft); font-size:.98rem; }
  .feat .price{ font-family:var(--sans); font-weight:700; color:var(--orange); font-size:1.12rem; margin-top:auto; padding-top:6px; }
  .feat .price .v2{ color:var(--navy-soft); font-weight:600; font-size:.95rem; }
  @media (max-width:820px){ .feat-grid{ grid-template-columns:1fr; } .feat.big{ grid-row:auto; } }

  .center-cta{ text-align:center; margin-top:44px; }

  /* Story teaser */
  .story{ background:var(--paper-2); }
  .story-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(30px,5vw,64px); align-items:center; }
  @media (max-width:820px){ .story-grid{ grid-template-columns:1fr; } }
  .story .portrait{ border-radius:20px; min-height:360px; border:1.5px solid var(--line); background:
      radial-gradient(110% 80% at 40% 20%, oklch(46% 0.05 262), oklch(27% 0.055 262) 65%); position:relative; overflow:hidden; display:grid; place-items:center; }
  .story .portrait::after{ content:""; position:absolute; inset:0; background:repeating-linear-gradient(135deg, transparent 0 22px, oklch(100% 0 0 / .015) 22px 44px); }
  .story .kick{ font-family:var(--sans); font-weight:700; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); margin-bottom:14px; }
  .story h2{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.06; margin-bottom:20px; }
  .story p{ color:var(--navy-soft); font-size:1.05rem; max-width:52ch; margin-bottom:24px; }
  .story .sig{ font-family:var(--serif); font-style:italic; font-size:1.15rem; color:var(--navy); }

  /* Order band */
  .order{ background:var(--navy); color:var(--paper); text-align:center; }
  .order h2{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,4vw,3rem); margin-bottom:12px; }
  .order p{ color:oklch(84% 0.02 80); max-width:44ch; margin:0 auto 30px; font-size:1.05rem; }
  .order .buttons{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
  .order .hours-note{ margin-top:26px; font-family:var(--sans); font-size:.85rem; letter-spacing:.1em; text-transform:uppercase; color:oklch(78% 0.02 80); }

  /* Reserve */
  .reserve-grid{ display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(30px,5vw,60px); align-items:start; }
  @media (max-width:820px){ .reserve-grid{ grid-template-columns:1fr; } }
  .reserve .kick{ font-family:var(--sans); font-weight:700; font-size:.78rem; letter-spacing:.18em; text-transform:uppercase; color:var(--orange); margin-bottom:14px; }
  .reserve h2{ font-family:var(--serif); font-weight:500; font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.06; margin-bottom:18px; }
  .reserve .intro{ color:var(--navy-soft); font-size:1.05rem; }
  .rcard{ background:var(--card); border:1.5px solid var(--line); border-radius:20px; padding:clamp(22px,3.5vw,36px); }
  .field{ margin-bottom:22px; }
  .field>label{ display:block; font-family:var(--sans); font-weight:700; margin-bottom:10px; font-size:.95rem; }
  .chipset{ display:flex; gap:8px; flex-wrap:wrap; }
  .chip{ font-family:var(--sans); font-weight:600; font-size:.92rem; cursor:pointer; padding:9px 15px; border-radius:11px; border:1.5px solid var(--line-strong); background:var(--paper); color:var(--navy); transition:all .16s var(--ease); }
  .chip:hover{ border-color:var(--navy); }
  .chip[aria-pressed="true"]{ background:var(--navy); border-color:var(--navy); color:#fff; }
  .chip.time[aria-pressed="true"]{ background:var(--orange); border-color:var(--orange); }
  .chip:disabled{ opacity:.32; cursor:not-allowed; text-decoration:line-through; }
  .row2{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
  @media (max-width:520px){ .row2{ grid-template-columns:1fr; } }
  .field input{ width:100%; font-family:var(--sans); font-size:1rem; padding:12px 14px; border-radius:11px; border:1.5px solid var(--line-strong); background:var(--paper); color:var(--navy); }
  .field input:focus{ outline:none; border-color:var(--orange); }
  .rcard .btn-primary{ width:100%; justify-content:center; padding:14px; font-size:1rem; }
  .confirm{ text-align:center; padding:14px 0; }
  .confirm .tick{ width:56px; height:56px; border-radius:50%; background:var(--fg-green); color:#fff; display:grid; place-items:center; font-size:1.6rem; margin:0 auto 16px; }
  .confirm h3{ font-family:var(--serif); font-size:1.5rem; font-weight:600; margin-bottom:8px; }
  .confirm p{ color:var(--navy-soft); }
  .confirm .again{ margin-top:18px; }

  /* Visit */
  .visit{ background:var(--paper-2); }
  .visit-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:44px; }
  @media (max-width:820px){ .visit-grid{ grid-template-columns:1fr; } }
  .hours-row{ display:flex; justify-content:space-between; padding:14px 0; border-bottom:1px solid var(--line); }
  .hours-row:last-child{ border-bottom:none; }
  .hours-row .svc{ font-family:var(--sans); font-weight:700; }
  .hours-row .t{ font-family:var(--serif); font-style:italic; color:var(--navy-soft); }
  .info-line{ margin-top:24px; }
  .info-line .lbl{ font-family:var(--sans); font-size:.74rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-deep); font-weight:700; margin-bottom:5px; }
  .info-line .val{ font-size:1.1rem; font-weight:500; }
  .mapph{ border-radius:20px; overflow:hidden; border:1.5px solid var(--line); min-height:360px; position:relative; background:
      repeating-linear-gradient(0deg, transparent 0 40px, var(--line) 40px 41px),
      repeating-linear-gradient(90deg, transparent 0 40px, var(--line) 40px 41px), var(--paper-2); }
  .mapph .road{ position:absolute; background:var(--paper); }
  .mapph .r1{ inset:auto 0 44% 0; height:16px; box-shadow:0 0 0 1px var(--line); }
  .mapph .r2{ inset:0 42% 0 auto; width:16px; box-shadow:0 0 0 1px var(--line); }
  .mapph .pin{ position:absolute; left:42%; top:38%; width:24px; height:24px; border-radius:50% 50% 50% 0; background:var(--orange); transform:rotate(-45deg); box-shadow:0 8px 16px -5px oklch(62% 0.155 48 / .7); }
  .mapph .pin::after{ content:""; position:absolute; inset:7px; background:var(--paper); border-radius:50%; }
  .mapph .pill{ position:absolute; left:calc(42% + 28px); top:34%; background:var(--card); border:1.5px solid var(--line-strong); padding:8px 14px; border-radius:999px; font-family:var(--sans); font-weight:700; font-size:.85rem; }

  /* Footer */
  footer{ background:var(--navy); color:var(--paper); padding:60px 0 30px; position:relative; }
  .foot-flags{ display:flex; height:8px; }
  .foot-flags i{ flex:1; }
  .foot-top{ display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:36px; padding-top:40px; }
  @media (max-width:760px){ .foot-top{ grid-template-columns:1fr; gap:28px; } }
  .foot-brand b{ font-family:var(--serif); font-weight:600; font-size:1.4rem; }
  .foot-brand em{ display:block; font-family:var(--serif); font-style:italic; color:var(--gold); margin-top:6px; }
  .foot-brand .deva-tag{ display:block; font-family:var(--deva); color:var(--gold); font-size:1.15rem; margin-top:6px; opacity:.9; }
  .foot-thanks{ text-align:center; margin-top:44px; color:oklch(84% 0.02 80); font-size:.9rem; letter-spacing:.02em; }
  .foot-thanks span{ font-family:var(--deva); color:var(--gold); font-size:1.35rem; margin-right:6px; vertical-align:-2px; }
  .foot-brand p{ color:oklch(84% 0.02 80); margin-top:14px; max-width:34ch; font-size:.96rem; }
  .foot-col h4{ font-family:var(--sans); font-size:.74rem; text-transform:uppercase; letter-spacing:.12em; color:var(--gold); margin-bottom:15px; }
  .foot-col a, .foot-col p{ display:block; color:oklch(86% 0.02 80); margin-bottom:9px; font-size:.95rem; }
  .foot-col a:hover{ color:var(--paper); }
  .foot-bottom{ margin-top:46px; padding-top:22px; border-top:1px solid oklch(42% 0.04 262); display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:.85rem; color:oklch(78% 0.02 80); }

  @media (max-width:760px){
    .nav-links{ display:none; }
    .menu-toggle{ display:none; }
    .nav-cta{ margin-left:auto; }
    .brand .wm{ display:none; }
  }
