/* RT redesign v2, the menus group (30 Sept 2026). Loaded after rt-v2.css on the menu pages.
   The menu is set like the card on the table: dish names in Bodoni, the price on a ruled row,
   section titles as title blocks. Long lists get a jump list that follows you down the page.
   Scoped one step stronger than rt.css, as rt-v2.css is. */

/* ── Intro under the hero ─────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-intro {
  padding: clamp(56px, 7vw, 100px) 0 clamp(40px, 5vw, 72px);
  & .v2-mn-intro__grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 110px); align-items: start; }
  & .v2-mn-lede { font: 400 clamp(24px, 2.4vw, 34px)/1.22 var(--v2-display); letter-spacing: -.015em; max-width: 26ch; color: var(--v2-navy); }
  & .v2-mn-lede + p { margin-top: 22px; }
  & .v2-mn-intro__text > p:not(.v2-mn-lede) { color: var(--v2-ink-2); max-width: 58ch; }
  & .v2-mn-small { border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); padding-top: 16px; margin-top: 10px; }
  & .v2-mn-small p { font-size: 14.5px; line-height: 1.55; color: var(--v2-ink-2); max-width: 40ch; }
  & .v2-mn-small p + p { margin-top: 10px; }
}

/* ── The menu ─────────────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn {
  padding-bottom: clamp(64px, 8vw, 120px);
  & .v2-mn-menu { scroll-margin-top: 120px; }
  & .v2-mn-menu + .v2-mn-menu { margin-top: clamp(72px, 9vw, 140px); }
  & .v2-mn-menu__head .v2-tb { margin-bottom: 26px; }
  & .v2-mn-menu__head .v2-head { margin-bottom: clamp(20px, 3vw, 40px); }
  & .v2-mn-menu__note { font: italic 400 19px/1.4 var(--v2-display); color: var(--v2-rim); margin: 0 0 24px; }

  & .v2-mn-sec { scroll-margin-top: 130px; }
  & .v2-mn-sec + .v2-mn-sec { margin-top: clamp(44px, 5vw, 72px); }
  & .v2-mn-sec__head {
    display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 6px 40px; align-items: end;
    border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); padding-top: 16px; margin-bottom: 6px;
  }
  & .v2-mn-sec__head h3 { font-size: clamp(30px, 3vw, 46px) !important; line-height: 1 !important; margin: 0 0 12px; letter-spacing: -.02em; }
  & .v2-mn-sec__head p { font-size: 15px; color: var(--v2-ink-2); margin: 0 0 14px; max-width: 54ch; justify-self: end; text-align: right; }
  & .v2-mn-sec__head p:only-child { grid-column: 1 / -1; justify-self: start; text-align: left; }

  & .v2-mn-items { list-style: none; margin: 0; padding: 0; }
  & .v2-mn-item { padding: 15px 0 16px; border-bottom: 1px solid rgba(23, 46, 70, .16); }
  & .v2-mn-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 28px; align-items: baseline; }
  & .v2-mn-name { font: 400 clamp(21px, 1.75vw, 27px)/1.15 var(--v2-display); letter-spacing: -.012em; color: var(--v2-navy); }
  & .v2-mn-tag { font: italic 400 15px/1 var(--v2-display); color: var(--v2-rim); margin-left: 10px; white-space: nowrap; }
  & .v2-mn-price {
    position: relative; font: 400 clamp(19px, 1.5vw, 23px)/1.15 var(--v2-display); color: var(--v2-navy);
    font-variant-numeric: tabular-nums; white-space: nowrap; padding-bottom: 5px; text-align: right;
  }
  & .v2-mn-price::after {
    content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 4px;
    border-top: 1px solid var(--v2-rim); border-bottom: 1px solid var(--v2-rim); transform: scaleX(0); transform-origin: left center;
  }
  & .v2-mn-item:hover .v2-mn-price::after, & .v2-mn-item:focus-within .v2-mn-price::after { transform: none; }
  & .v2-mn-desc { font-size: 15.5px; line-height: 1.5; color: var(--v2-ink-2); margin: 3px 0 0; max-width: 64ch; }
  & .v2-mn-opts { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 6px 0 0; font-size: 14.5px; color: var(--v2-ink-2); font-variant-numeric: tabular-nums; }
}
@media (prefers-reduced-motion: no-preference) and (hover: hover) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn .v2-mn-price::after { transition: transform .3s cubic-bezier(.2, .7, .1, 1); }
}

/* The pass: rows arrive once, 40ms apart, as each section comes into view (class set by JS, never under reduced motion) */
@media (prefers-reduced-motion: no-preference) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn--pass .v2-mn-item {
    opacity: 0; transform: translateY(10px);
    transition: opacity .5s ease, transform .5s cubic-bezier(.2, .7, .1, 1); transition-delay: min(calc(var(--i, 0) * 40ms), 640ms);
  }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn--pass .v2-mn-sec.is-in .v2-mn-item { opacity: 1; transform: none; }
}

/* ── Jump to: the sticky strip (nav="top", and every list on a phone) ─── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-nav {
  display: block; position: static; padding: 0; margin: 0; background: none; border: 0; font-size: inherit;
  & .v2-mn-nav__kicker { font: italic 400 15px/1.3 var(--v2-display); color: var(--v2-rim); margin: 0; flex: none; }
  & .v2-mn-nav__list, & .v2-mn-nav__sub { list-style: none; margin: 0; padding: 0; }
  & a { color: var(--v2-navy); text-decoration: none; }
  & a:hover { text-decoration: none; color: var(--v2-rim); }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn--nav-top .v2-mn-nav,
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-nav--strip {
  display: block; position: sticky; top: 88px; left: auto; right: auto; z-index: 6; background: var(--v2-plate); padding: 0; margin: 0 0 clamp(40px, 5vw, 72px);
  border-top: 1px solid var(--v2-navy); border-bottom: 1px solid rgba(23, 46, 70, .16); font-size: inherit;
  & .v2-mn-nav__in { max-width: var(--v2-max); margin: 0 auto; padding: 0 var(--v2-gutter); display: flex; align-items: center; gap: 22px; }
  & .v2-mn-nav__list {
    display: flex; gap: 0 26px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; -webkit-overflow-scrolling: touch;
    padding: 14px 0; flex: 1 1 auto; min-width: 0;
  }
  & .v2-mn-nav__list::-webkit-scrollbar { display: none; }
  & .v2-mn-nav__list > li { flex: none; scroll-snap-align: start; }
  & .v2-mn-nav__list > li > a { display: inline-block; font: 500 14.5px/1.3 var(--v2-text); padding: 4px 0; white-space: nowrap; border-bottom: 1px solid transparent; }
  & .v2-mn-nav__list > li > a[aria-current] { border-bottom-color: var(--v2-navy); box-shadow: 0 3px 0 -2px var(--v2-navy); }
  & .v2-mn-nav__list > li > a i { display: none; }
  & .v2-mn-nav__sub { display: none; }
}

/* ── Jump to: the sticky column (nav="side"), for the bar list and the wine list ─── */
@media (min-width: 901px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn--nav-side {
    max-width: var(--v2-max); margin: 0 auto; padding-left: var(--v2-gutter); padding-right: var(--v2-gutter);
    display: grid; grid-template-columns: minmax(200px, 3fr) minmax(0, 9fr); gap: clamp(40px, 6vw, 96px); align-items: start;
    & .v2-mn-body .v2-wrap { max-width: none; padding: 0; }
    & .v2-mn-nav { position: sticky; top: 110px; max-height: calc(100vh - 130px); overflow-y: auto; scrollbar-width: none; padding-top: 4px; }
    & .v2-mn-nav::-webkit-scrollbar { display: none; }
    & .v2-mn-nav__kicker { margin-bottom: 14px; }
    & .v2-mn-nav__list { border-top: 1px solid var(--v2-rim); box-shadow: 0 -4px 0 -3px var(--v2-rim); }
    & .v2-mn-nav__list > li { border-bottom: 1px solid rgba(23, 46, 70, .16); }
    & .v2-mn-nav__list > li > a { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 11px 0; font: 400 21px/1.15 var(--v2-display); letter-spacing: -.01em; }
    & .v2-mn-nav__list > li > a i { font: italic 400 14px/1 var(--v2-display); color: var(--v2-ink-2); }
    & .v2-mn-nav__list > li > a[aria-current] { color: var(--v2-rim); }
    & .v2-mn-nav__list > li > a[aria-current]::before { content: ""; width: 9px; height: 9px; border-radius: 50%; margin-right: 10px; flex: none; align-self: center; background: var(--v2-plate); box-shadow: inset 0 0 0 1.5px var(--v2-rim), inset 0 0 0 2.5px var(--v2-plate), inset 0 0 0 3.5px var(--v2-rim); }
    & .v2-mn-nav__list > li > a[aria-current] span { flex: 1; }
    & .v2-mn-nav__sub { display: none; padding: 0 0 12px 19px; }
    & .v2-mn-nav__list > li.is-open .v2-mn-nav__sub { display: block; }
    & .v2-mn-nav__sub a { display: block; font: 400 14px/1.4 var(--v2-text); color: var(--v2-ink-2); padding: 3px 0; }
    & .v2-mn-nav__sub a[aria-current] { color: var(--v2-navy); font-weight: 500; }
    & .v2-mn-nav--long .v2-mn-nav__list > li > a { font-size: 17px; padding: 8px 0; }
  }
}

/* ── The small print ──────────────────────────────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-notes {
  padding: 0 0 clamp(64px, 8vw, 120px);
  & .v2-tb { margin-bottom: 26px; }
  & .v2-mn-notes__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px clamp(32px, 5vw, 80px); }
  & .v2-mn-notes__grid p { font-size: 14.5px; line-height: 1.55; color: var(--v2-ink-2); margin: 0; max-width: none; }
  & .v2-mn-notes__grid strong { color: var(--v2-navy); font-weight: 500; }
  & .v2-actions { margin-top: 26px; }
}

/* ── Menus index and the wine list's extras ──────────────────────── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-three {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(24px, 3vw, 48px);
  & div { border-top: 1px solid var(--v2-rim); padding-top: 16px; }
  & h3 { font-size: clamp(24px, 2.2vw, 32px) !important; line-height: 1.1 !important; margin: 0 0 10px; }
  & p { font-size: 15.5px; color: var(--v2-ink-2); }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-index .v2-index strong { font-size: clamp(30px, 3vw, 46px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-index .v2-index a { padding: 24px 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-index .v2-index span { font-size: 15px; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-index .v2-index em { font-style: italic; font-family: var(--v2-display); color: var(--v2-rim); font-size: 16px; }

/* The bays on a menu page carry one fact each */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-bays li b { font-size: clamp(17px, 1.4vw, 21px); }

/* ── Phones and small tablets ─────────────────────────────────────── */
@media (max-width: 900px) {
  html body #rt-site.rt-shell #siteWrapper.v2 {
    & .v2-mn-intro .v2-mn-intro__grid { grid-template-columns: 1fr; }
    & .v2-mn-intro .v2-mn-lede { font-size: 24px; }
    & .v2-mn .v2-mn-sec__head { grid-template-columns: 1fr; gap: 0; }
    & .v2-mn .v2-mn-sec__head p { justify-self: start; text-align: left; margin-top: -4px; }
    & .v2-mn .v2-mn-sec__head h3 { font-size: 30px !important; }
    & .v2-mn .v2-mn-name { font-size: 20px; }
    & .v2-mn .v2-mn-price { font-size: 18px; }
    & .v2-mn .v2-mn-row { gap: 4px 16px; }
    & .v2-mn .v2-mn-sec { scroll-margin-top: 140px; }
    & .v2-mn .v2-mn-menu { scroll-margin-top: 130px; }
    & .v2-mn-notes .v2-mn-notes__grid { grid-template-columns: 1fr; }
    & .v2-mn-three { grid-template-columns: 1fr; }
    /* The sticky column becomes the strip */
    & .v2-mn--nav-side .v2-mn-nav {
      display: block; position: sticky; top: 76px; left: auto; right: auto; z-index: 6; background: var(--v2-plate); padding: 0; margin: 0 0 40px;
      border-top: 1px solid var(--v2-navy); border-bottom: 1px solid rgba(23, 46, 70, .16); font-size: inherit;
    }
    & .v2-mn--nav-side .v2-mn-nav__in { padding: 0 var(--v2-gutter); display: flex; align-items: center; gap: 16px; }
    & .v2-mn--nav-side .v2-mn-nav__list { display: flex; gap: 0 22px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; padding: 13px 0; flex: 1 1 auto; min-width: 0; }
    & .v2-mn--nav-side .v2-mn-nav__list::-webkit-scrollbar { display: none; }
    & .v2-mn--nav-side .v2-mn-nav__list > li { flex: none; scroll-snap-align: start; }
    & .v2-mn--nav-side .v2-mn-nav__list > li > a { display: inline-block; font: 500 14.5px/1.3 var(--v2-text); padding: 4px 0; white-space: nowrap; border-bottom: 1px solid transparent; }
    & .v2-mn--nav-side .v2-mn-nav__list > li > a[aria-current] { border-bottom-color: var(--v2-navy); box-shadow: 0 3px 0 -2px var(--v2-navy); }
    & .v2-mn--nav-side .v2-mn-nav__list > li > a i { display: none; }
    & .v2-mn--nav-side .v2-mn-nav__sub { display: none; }
    & .v2-mn--nav-top .v2-mn-nav { top: 76px; }
    & .v2-mn-nav .v2-mn-nav__kicker { display: none; }
  }
}

/* ── Calm menus (1 Oct): short header, the menu at once, lighter names, more air ── */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head {
  padding: clamp(120px, 16vw, 190px) 0 clamp(28px, 4vw, 56px);
  & h1 { font-size: clamp(48px, 6vw, 92px) !important; line-height: .95 !important; letter-spacing: -.03em; margin: 0; max-width: 12ch; }
  & .v2-kicker { margin-bottom: 18px; }
  & .v2-mn-head__lede { margin-top: 22px; font-size: 17px; color: var(--v2-ink-2); max-width: 52ch; }
  & .v2-actions { margin-top: 26px; }
}
html body.v2-calm #rt-site .masthead { background: var(--v2-navy); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn {
  & .v2-mn-body { padding-top: clamp(24px, 3vw, 44px); }
  & .v2-mn-sec + .v2-mn-sec { margin-top: clamp(56px, 7vw, 100px); }
  & .v2-mn-sec__head h3 { font-size: clamp(24px, 2.2vw, 32px) !important; letter-spacing: -.01em; margin: 0 0 10px; }
  & .v2-mn-item { padding: 18px 0 19px; border-bottom-color: rgba(23, 46, 70, .1); }
  & .v2-mn-name { font-size: clamp(19px, 1.45vw, 22px); letter-spacing: 0; }
  & .v2-mn-desc { font-size: 15px; color: #6a7883; max-width: 56ch; margin-top: 4px; }
  & .v2-mn-menu + .v2-mn-menu { margin-top: clamp(90px, 12vw, 170px); }
  & .v2-mn-menu__head .v2-head h2 { font-size: clamp(32px, 3.4vw, 50px) !important; }
}
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-notes { padding-top: clamp(80px, 10vw, 140px); }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-notes .v2-mn-notes__grid p { font-size: 15px; color: var(--v2-ink-2); }


/* The menu card's one drawing: beside the title on a wide screen, small above it on a phone. */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__in { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px clamp(32px, 6vw, 96px); align-items: end; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__vig { grid-column: 2; grid-row: 1; --h: clamp(150px, 17vw, 236px); --mw: clamp(220px, 30vw, 400px); margin-bottom: 6px; }
@media (max-width: 760px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__in { grid-template-columns: minmax(0, 1fr); }
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__vig { grid-column: 1; grid-row: 1; --h: 78px; --mw: 170px; margin-bottom: 0; }
}
/* The animated wine glass on the wine list header (rt-wineglass.js) sits where the drawn vignette would. */
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__glass { align-self: end; margin-bottom: 0; }
html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__glass .rtwg-stage { padding: 0; justify-content: flex-end; }
@media (max-width: 760px) {
  html body #rt-site.rt-shell #siteWrapper.v2 .v2-mn-head__glass .rtwg-stage { justify-content: flex-start; }
}
