:root{
  /* the menu is the one place the other half of the flag gets to show:
     a deep India green ground, saffron for everything that reacts. */
  --jv-indigo:#0C3D1C;        /* name kept so existing references hold */
  --jv-green-soft:#9FC4A8;    /* muted text on the green */
  --jv-green-faint:#CFE3D4;   /* brighter muted text */
  --jv-saffron:#FF9933;       /* flag saffron - hovers, arrows, accents */
  --jv-orange:#e96a28;
  --jv-ease:cubic-bezier(.22,.7,.18,1);
}
.jv-sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.jv-navigation-ready .nav-links { display:none; }
.jv-navigation-ready .nav-container { gap:28px; }
.jv-navigation-ready .nav-cta { margin-left:auto; border-radius:8px; background:var(--jv-indigo); font-size:16px; padding:9px 20px; }
.jv-navigation-ready .nav-toggle { display:flex; flex-direction:row; align-items:center; gap:12px; min-height:48px; padding:8px 0 8px 12px; color:var(--jv-indigo); font:600 17px var(--font-ui); }
.nav-toggle .jv-menu-trigger-label { width:auto; height:auto; background:none; }
.nav-toggle .jv-menu-trigger-lines { display:flex; flex-direction:column; justify-content:center; gap:7px; width:26px; height:30px; background:none; }
.jv-menu-trigger-lines i { display:block; width:26px; height:2px; background:currentColor; transition:transform .35s var(--jv-ease); }
.nav-toggle:hover .jv-menu-trigger-lines i:first-child { transform:translateX(-3px); }
.nav-toggle:hover .jv-menu-trigger-lines i:last-child { transform:translateX(3px); }
.jv-menu { position:fixed; inset:0; width:100%; max-width:none; height:100vh; height:100dvh; max-height:none; margin:0; padding:0; border:0; color:#fff; background:var(--jv-indigo); overflow:hidden; clip-path:inset(100% 0 0); transition:clip-path .42s var(--jv-ease); }
.jv-menu[open] { display:flex; flex-direction:column; }
.jv-menu.is-open { clip-path:inset(0); transition-duration:.65s; }
.jv-menu::backdrop { background:rgba(6,30,14,.3); }
.jv-menu a { transition:color .25s ease; }
.jv-menu a:focus-visible,.jv-menu button:focus-visible { outline:2px solid var(--jv-saffron); outline-offset:5px; }
.jv-menu-header { flex:none; display:flex; justify-content:space-between; align-items:center; padding:0 max(24px,calc((100% - 1160px)/2)); height:80px; background:#fff; color:var(--jv-indigo); }
.jv-menu-brand { display:flex; align-items:center; }
.jv-menu-brand img { width:142px; height:62px; object-fit:contain; }
.jv-menu-close { display:flex; align-items:center; justify-content:center; gap:14px; min-width:88px; min-height:48px; background:none; color:inherit; border:0; cursor:pointer; font:600 17px var(--font-ui); }
.jv-menu-close i { position:relative; display:block; width:26px; height:26px; transition:transform .4s var(--jv-ease); }
.jv-menu-close i::before,.jv-menu-close i::after { content:''; position:absolute; top:12px; left:0; width:26px; height:2px; background:currentColor; transform:rotate(45deg); }
.jv-menu-close i::after { transform:rotate(-45deg); }
.jv-menu-close:hover i { transform:rotate(90deg); }
.jv-menu-content { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:clamp(20px,4vh,42px) max(24px,calc((100% - 1160px)/2)) max(20px,env(safe-area-inset-bottom)); scrollbar-color:#2F6B3F var(--jv-indigo); }
.jv-menu-kicker { display:flex; justify-content:space-between; gap:24px; padding-bottom:24px; margin-bottom:26px; border-bottom:1px solid #ffffff30; font:500 13px var(--font-ui); text-transform:uppercase; letter-spacing:.15em; color:var(--jv-green-soft); }
.jv-menu-kicker span:first-child { color:var(--jv-saffron); }
.jv-menu-grid { display:grid; grid-template-columns:1.1fr 1fr; align-items:center; gap:clamp(24px,5vw,72px); }
.jv-menu nav ol { list-style:none; padding:0; margin:0; }
.jv-menu nav li { opacity:0; transform:translateY(24px); transition:opacity .25s ease,transform .35s var(--jv-ease); }
.jv-menu.is-open nav li { opacity:1; transform:none; transition-duration:.55s; transition-delay:calc(.16s + var(--row)*.045s); }
.jv-menu nav a { display:flex; align-items:center; gap:18px; padding:7px 0; width:fit-content; max-width:100%; color:#fff; font-family:var(--font-heading); font-size:clamp(28px,3.7vw,51px); line-height:1.18; letter-spacing:-.012em; }
.jv-menu-number { color:var(--jv-green-soft); font:400 12px var(--font-ui); letter-spacing:.02em; }
.jv-menu-letters { overflow:hidden; display:inline-block; padding-bottom:.06em; }
.jv-menu-letters > span { display:inline-block; text-shadow:0 1.25em currentColor; transition:transform .48s var(--jv-ease); transition-delay:calc(var(--char)*.012s); }
.jv-menu nav a:hover,.jv-menu nav a:focus-visible { color:var(--jv-saffron); }
@media (hover:hover) { .jv-menu nav a:hover .jv-menu-letters > span { transform:translateY(-1.25em); } }
.jv-menu nav a:focus-visible .jv-menu-letters > span { transform:translateY(-1.25em); }
.jv-menu-arrow { font:400 .6em var(--font-ui); color:var(--jv-saffron); opacity:0; transform:translate(-8px,6px); transition:opacity .3s ease,transform .3s var(--jv-ease); }
.jv-menu nav a:hover .jv-menu-arrow,.jv-menu nav a:focus-visible .jv-menu-arrow { opacity:1; transform:none; }
.jv-menu-discover,.jv-menu-footer { opacity:0; transform:translateY(15px); transition:opacity .3s ease,transform .4s var(--jv-ease); }
.jv-menu.is-open .jv-menu-discover,.jv-menu.is-open .jv-menu-footer { opacity:1; transform:none; transition-duration:.65s; transition-delay:.28s; }
.jv-menu-discover > p { margin-bottom:16px; font-size:17px; color:var(--jv-green-faint); }
.jv-menu-photos { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.jv-menu-photos a { position:relative; overflow:hidden; border-radius:8px; height:clamp(200px,28vw,330px); display:flex; align-items:end; isolation:isolate; }
.jv-menu-photos a:nth-child(2) { margin-top:38px; }
.jv-menu-photos img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:-2; transition:transform .7s var(--jv-ease); }
.jv-menu-photos a::after { content:''; position:absolute; inset:0; background:linear-gradient(transparent 25%,rgba(6,30,14,.9)); z-index:-1; }
.jv-menu-photos a:hover img { transform:scale(1.05); }
.jv-menu-photos a > span { width:100%; padding:18px; font-size:18px; line-height:1.2; }
.jv-menu-photos small { display:block; margin-bottom:8px; color:var(--jv-saffron); font-size:12px; }
.jv-menu-photos b { float:right; font-weight:400; }
.jv-menu-footer { display:flex; justify-content:space-between; gap:20px; margin-top:34px; padding-top:22px; border-top:1px solid #ffffff30; font-size:16px; color:var(--jv-green-soft); }
.jv-menu-footer a { color:#fff; }
.jv-menu-footer a span { color:var(--jv-saffron); margin-left:20px; }
.jv-menu-content { display:flex; flex-direction:column; }
.jv-menu-grid { flex:1 0 auto; }
.jv-menu-kicker,.jv-menu-footer { flex:none; }
.jv-menu-open .jv-chat-fab,.jv-menu-open .jv-chat-teaser,.jv-menu-open .back-to-top { visibility:hidden; }
@media (max-width:900px) {
  .jv-menu-grid { grid-template-columns:1.15fr 1fr; gap:30px; }
  .jv-menu-photos { grid-template-columns:1fr; }
  .jv-menu-photos a { height:180px; }
  .jv-menu-photos a:nth-child(2) { margin-top:0; }
  .jv-menu nav a { font-size:clamp(28px,4.7vw,42px); }
}
@media (max-width:600px) {
  .jv-navigation-ready .nav-container { gap:16px; }
  .jv-navigation-ready .nav-cta { display:none; }
  .jv-menu-header { height:72px; padding:0 20px; }
  .jv-menu-brand img { width:124px; height:54px; }
  .jv-menu-content { padding:22px 24px max(24px,env(safe-area-inset-bottom)); }
  .jv-menu-kicker { margin-bottom:16px; padding-bottom:15px; font-size:11px; }
  .jv-menu-kicker span:last-child { display:none; }
  .jv-menu-grid { grid-template-columns:1fr; gap:24px; }
  .jv-menu nav a { font-size:clamp(26px,7.7vw,39px); padding:7px 0; gap:13px; }
  .jv-menu-arrow { opacity:1; transform:none; margin-left:auto; }
  .jv-menu-discover > p { font-size:15px; margin-bottom:10px; }
  .jv-menu-photos { grid-template-columns:1fr 1fr; gap:12px; }
  .jv-menu-photos a { height:145px; }
  .jv-menu-photos a > span { padding:12px; font-size:16px; }
  .jv-menu-photos small { font-size:11px; }
  .jv-menu-footer { margin-top:22px; padding-top:16px; font-size:13px; flex-wrap:wrap; gap:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .jv-menu { clip-path:none; transition:none; }
  .jv-menu nav li,.jv-menu-discover,.jv-menu-footer { transition:none; transform:none; opacity:1; }
  .jv-menu-letters > span { transform:none !important; transition:none; text-shadow:none; }
  .jv-menu-photos img,.jv-menu-close i { transition:none; }
}

/* the Devanagari-styled Latin face lives here and nowhere else - it is a
   display face and turns to mush below about 24px */
.jv-menu nav a{ font-family:'Yatra One','Rozha One',Georgia,serif; letter-spacing:.01em; line-height:1.3; }
.jv-menu-letters > .jv-menu-space{ width:.3em; }
/* Yatra One runs tall and large; the old metrics were set for Playfair */
.jv-menu nav a{ font-size:clamp(25px,3.1vw,42px); line-height:1.5; }
.jv-menu-letters{ padding-bottom:.2em; }
.jv-menu nav li{ margin-bottom:2px; }
/* The roll works by painting a second copy of the text 1.25em below and
   clipping it. Giving the box more padding for Yatra One's descenders
   uncovered that copy, so the offset and the hover travel both move down
   to match - they must stay equal or the letters land in the wrong place. */
.jv-menu-letters > span{ text-shadow:0 1.6em currentColor; }
@media (hover:hover){ .jv-menu nav a:hover .jv-menu-letters > span{ transform:translateY(-1.6em); } }
.jv-menu nav a:focus-visible .jv-menu-letters > span{ transform:translateY(-1.6em); }
