/* Menu-specific design: the same cream, sage, gold and typography as Home. */
body[data-page="menu"] { background: #f8f2e5; overflow-x: clip; }
.menu-page { --menu-green: #203824; --menu-muted: #52665a; --menu-line: #dce1cf; color: var(--menu-green); font-family: 'Brandon Grotesque', 'Brandon Grotesqu', 'Poppins', Arial, sans-serif; font-size: 14px; line-height: 1.65; }
.menu-page *, .menu-page *::before, .menu-page *::after { box-sizing: border-box; }
.menu-page [hidden] { display: none !important; }
.menu-page h1, .menu-page h2, .menu-page h3 { font-family: 'New Amsterdam', 'Arial Narrow', sans-serif; font-weight: 400; letter-spacing: .015em; line-height: 1; text-transform: uppercase; }
.menu-page h2 { font-size: clamp(32px, 3.8vw, 52px); }
.menu-page p { margin: 0; }
.menu-page button, .menu-page input, .menu-page select { font: inherit; }
.menu-page button, .menu-page summary { cursor: pointer; }
.menu-page a { text-decoration: none; }
.menu-page :is(a,button,input,select,summary):focus-visible { outline: 3px solid #bd880b; outline-offset: 4px; }
.menu-container { width: min(1200px, calc(100% - 80px)); margin-inline: auto; }
.menu-page .menu-script { color: #bc8500; font-family: 'Ephesis', 'Brush Script MT', cursive; font-size: clamp(36px, 4vw, 54px); line-height: 1; text-transform: none; margin-bottom: 10px; }
.menu-page :is(.menu-hero-copy > .menu-script, .menu-guide-intro .menu-script, .menu-featured .menu-script, .menu-browse .menu-script, .menu-closing > .menu-script) { color: #FDC400; font-family: 'Ephesis', 'Brush Script MT', cursive; font-size: clamp(1.875rem, calc(5vw - 2px), 3.375rem); font-weight: 400; line-height: .8; }
.menu-sr-only, .menu-skip:not(:focus) { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; }
.menu-skip:focus { position: fixed; z-index: 110; padding: 12px; background: #fff; }
.menu-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 670px; padding-top: 115px; max-width: 1600px; margin: auto; }
.menu-hero-copy { padding: 24px 50px 60px max(40px, calc((100vw - 1200px)/2)); align-self: center; }
.menu-hero h1 { font-size: clamp(58px, 6.8vw, 96px); margin: 0 0 24px; }
.menu-hero .menu-intro { max-width: 460px; color: var(--menu-muted); }
.menu-intro-mobile { display: none; }
.menu-hero-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; margin-top: 28px; }
.menu-button { display: inline-flex; align-items: center; justify-content: center; gap: 22px; padding: 13px 23px; background: #f4ca4f; color: #203824; font-weight: 600; border: 1px solid transparent; border-radius: 5px; min-height: 46px; transition: background .2s; }
.menu-button:hover { background: #f8d971; }
.menu-button-outline { background: transparent; border-color: #203824; }
.menu-button-outline:hover { background: #e5eaca; }
.menu-text-link { padding: 5px 0; color: #203824; border: 0; border-bottom: 1px solid #ccaa3e; background: transparent; display: inline-flex; align-items: center; gap: 10px; }
.menu-hero-photo { margin: 0 40px 40px 0; position: relative; overflow: hidden; min-height: 510px; border-radius: 8px; }
.menu-hero-photo img, .menu-hero-photo video { position: absolute; width: 100%; height: 100%; object-fit: cover; object-position: center 55%; }
.menu-hero-photo figcaption { position: absolute; inset: auto 0 0; padding: 80px 30px 26px; color: #fff9ed; background: linear-gradient(transparent, rgba(15,25,14,.9)); display: grid; grid-template-columns: 1fr auto; align-items: end; }
.menu-hero-photo figcaption > span:first-child { grid-column: 1 / -1; font-size: 11px; margin-bottom: 8px; }
.menu-hero-photo strong { font: 400 32px/1 'New Amsterdam', sans-serif; text-transform: uppercase; white-space: nowrap; }
.menu-guide-section { padding: 42px max(40px, calc((100vw - 1200px)/2)); background-color: #aaa99d; background-image: url('images/menu-guide-bg.webp?v=20260913-1438'); background-size: 100% auto; background-position: center top; background-repeat: no-repeat; background-attachment: fixed; scroll-margin-top: 104px; }
.menu-guide-content { max-width: 1176px; margin-inline: auto; padding: 32px 38px 38px; background: rgba(247,242,228,.88); border: 1px solid rgba(28,52,39,.18); border-radius: 16px; box-shadow: 0 18px 50px rgba(37,43,32,.14); }
.menu-guide-intro { display: flex; align-items: center; justify-content: center; gap: 40px; max-width: 1120px; margin-inline: auto; text-align: center; }
.menu-guide-intro > div { max-width: 880px; margin-inline: auto; }
.menu-guide-intro h2 { font-size: clamp(34px, calc(3.3vw + 4px), 48px); margin: 0 0 13px; }
.menu-guide-intro p:not(.menu-script) { max-width: 720px; margin-inline: auto; color: #33483e; }
.menu-featured { padding-block: 68px; }
.menu-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 24px; }
.menu-section-heading h2 { margin: 0; }
.menu-section-heading > p { color: var(--menu-muted); font-size: 12px; padding-bottom: 4px; }
.menu-featured-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; }
.menu-feature { border-radius: 7px; overflow: hidden; position: relative; aspect-ratio: 4 / 3; color: #fff9ef; }
.menu-feature img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.menu-feature:hover img { transform: scale(1.03); }
.menu-feature-caption { position: absolute; inset: auto 0 0; background: linear-gradient(transparent,rgba(12,22,13,.9)); padding: 55px 22px 20px; display: grid; grid-template-columns: 1fr auto; gap: 6px; align-items: end; }
.menu-feature small { grid-column: 1 / -1; font-size: 11px; }
.menu-feature strong { font: 400 28px/1.1 'New Amsterdam',sans-serif; text-transform: uppercase; }
.menu-browse { padding-block: 64px; background: #f9fbf3; scroll-margin-top: 90px; }
.menu-page .menu-rice-note { font-size: 12px; color: var(--menu-muted); margin: 0 0 28px; }
.menu-catalog-region { position: relative; }
.menu-toolbar { position: sticky; top: 100px; z-index: 30; background: rgba(249,251,243,.97); border-bottom: 1px solid var(--menu-line); padding-top: 8px; }
.menu-categories { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: thin; padding: 5px 0 12px; }
.menu-category { flex-shrink: 0; padding: 9px 14px; border-radius: 50px; border: 1px solid transparent; background: transparent; color: #52665a; font-size: 12px !important; white-space: nowrap; }
.menu-category[aria-pressed="true"] { background: #203824; color: #fff9ee; }
.menu-category:hover { border-color: #8c9e83; }
.menu-category-section { margin-top: 24px; }
.menu-category-heading { display: flex; align-items: center; gap: 20px; margin-bottom: 20px; }
.menu-category-heading { scroll-margin-top: 190px; }
.menu-category-heading h2 { font-size: 34px; flex-shrink: 0; margin: 0; }
.menu-category-heading::after { content: ''; height: 1px; flex: 1; background: #f4ca4f; }
.menu-category-section > p { color: #52665a; font-size: 12px; margin: -8px 0 20px; }
.menu-dish-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px 26px; }
.menu-dish { background: #f3f4e9; border-radius: 6px; padding: 18px; scroll-margin-top: 260px; border: 1px solid transparent; }
.menu-dish:target, .menu-dish.is-highlighted { border-color: #b78b10; background: #faf1ce; }
.menu-dish-top { display: flex; gap: 18px; }
.menu-dish-image { width: 90px; height: 102px; border-radius: 5px; object-fit: cover; flex-shrink: 0; }
:is(#menu-catalog, .menu-guide-results) .menu-dish-image { object-fit: contain; background-color: #f3f4e9; }
.menu-dish-placeholder { display: block; width: 90px; height: 90px; overflow: hidden; border-radius: 50%; flex-shrink: 0; background: #f2e4b8; }
:is(#menu-catalog, .menu-guide-results) .menu-dish-placeholder .menu-dish-image { width: 100%; height: 100%; max-width: none; border-radius: 0; object-fit: cover; transform: scale(1.4); }
.menu-dish-copy { flex: 1; min-width: 0; }
.menu-dish-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.menu-dish h3 { margin: 0; font-size: 26px; }
.menu-veg-icon { display: inline-block; width: 18px; height: 18px; margin-left: 7px; object-fit: contain; vertical-align: -2px; }
.menu-price { font-weight: 600; font-size: 14px; white-space: nowrap; }
.menu-price small { display: block; font-size: 10px; font-weight: 400; text-align: right; }
.menu-dish .menu-dish-desc { color: #52665a; font-size: 14px; line-height: 1.45; margin-top: 7px; }
.menu-dish[id^="dish-DR"] { background: #f8f2e5; }
.menu-dish[id^="dish-DR"] .menu-dish-copy { width: 100%; }
.menu-dish[id^="dish-DR"] .menu-dish-desc { max-width: 520px; }
.menu-badges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.menu-badge { display: inline-flex; align-items: center; gap: 4px; font-size: 10px; line-height: 1.4; border-radius: 3px; padding: 4px 7px; background: #e3e9d4; color: #375134; }
.menu-badge-spice { color: #995121; background: #f2e6d4; }
.menu-badge-gold { background: #f2e5b2; color: #655420; }
.menu-chilli { width: 12px; height: 12px; object-fit: contain; flex-shrink: 0; }
.menu-allergens { border-top: 1px solid #eadca8; margin-top: 12px; padding-top: 9px; font-size: 11px; }
.menu-allergens summary { color: #425840; }
.menu-allergens summary::marker { color: #7c8b63; }
.menu-allergens p { margin: 10px 0 0; color: #52665a; }
.menu-allergen-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 8px; }
.menu-allergen-tags span { background: #fffdf5; border: 1px solid #d6dccb; padding: 3px 8px; border-radius: 3px; }
.menu-empty { text-align: center; padding: 50px 20px; border: 1px dashed #b4c09e; border-radius: 6px; margin-block: 20px; }
.menu-empty h3 { font-size: 32px; margin: 0 0 14px; }
.menu-empty p { color: #52665a; margin-bottom: 20px; }
.menu-kitchen-note { margin-top: 55px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 40px; background: #e9eedc; padding: 36px; border-radius: 6px; }
.menu-kitchen-note h2 { font-size: 40px; margin: 0; }
.menu-kitchen-note p:not(.menu-script) { color: #52665a; font-size: 16px; margin-bottom: 15px; }
.menu-kitchen-note .menu-text-link { font-size: 18px; }
.menu-kitchen-note-image { display: block; width: 100%; aspect-ratio: 16 / 10; margin-top: 24px; border-radius: 6px; object-fit: cover; object-position: center; }
.menu-closing { padding: 60px 24px; text-align: center; background: #f8f2e5; }
.menu-closing h2 { margin: 0 0 15px; }
.menu-closing > p:not(.menu-script) { color: #52665a; }
.menu-closing > div { display: grid; grid-template-columns: repeat(2, minmax(0, 210px)); gap: 14px; justify-content: center; width: min(100%, 434px); margin: 24px auto 0; }
.menu-closing > div .menu-button { width: 100%; }
#menu-guide-body { max-width: 1120px; padding-top: 30px; margin-inline: auto; }
.menu-guide-progress { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px 24px; list-style: none; padding: 0 0 20px; margin: 0; border-bottom: 1px solid rgba(28,52,39,.24); font-size: 12px; color: #526258; }
.menu-guide-progress [aria-current="step"] { color: #203824; font-weight: 600; }
.menu-guide-step { display: inline-flex; align-items: center; min-height: 44px; border: 0; padding: 4px 2px; background: transparent; color: inherit; font: inherit; touch-action: manipulation; }
.menu-guide-step span { pointer-events: none; }
.menu-guide-step:hover { color: #bd880b; }
.menu-guide-step-number { background: #d9c995; color: #17362a; display: inline-grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; margin-right: 6px; }
.menu-guide-form { margin-top: 22px; }
.menu-guide-form fieldset { border: 0; padding: 0; margin: 0; min-width: 0; }
.menu-guide-form legend { font-size: 26px; font-family: 'New Amsterdam',sans-serif; margin-bottom: 18px; }
.menu-guide-question-note { max-width: 720px; color: #52665a; font-size: 12px; margin: -5px 0 18px !important; }
.menu-guide-options { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; max-width: none; margin-inline: auto; }
.menu-guide-option { position: relative; display: flex; align-items: center; gap: 12px; background: rgba(255,253,245,.96); border: 1px solid #7d8e79; border-radius: 5px; padding: 16px; cursor: pointer; font-size: 13px; }
.menu-guide-option:has(input:checked) { border-color: #c8b878; background: #f7efd2; box-shadow: none; }
.menu-guide-option:has(input:checked) small { color: #52665a; }
.menu-guide-option > span { font-weight: 700; }
.menu-guide-option input { accent-color: #375134; flex-shrink: 0; }
.menu-guide-option small { display: block; margin-top: 3px; font-size: 10px; font-weight: 400; color: #66745c; }
.menu-guide-note-mobile { display: none; }
.menu-guide-mobile-only { display: none; }
.menu-guide-step:disabled { cursor: not-allowed; opacity: .72; }
.menu-guide-chilli-row { display: inline-flex; align-items: center; gap: 2px; margin-right: 5px; color: #c53030; white-space: nowrap; vertical-align: middle; }
.menu-guide-chilli-row .menu-chilli { flex: 0 0 15px; width: 15px; height: 15px; }
.menu-guide-form .menu-guide-note { font-size: 12px; color: #52665a; margin: 18px 0; }
.menu-guide-important { padding: 13px 15px; background: #f8efd0; border-left: 3px solid #bd880b; }
.menu-guide-important strong { color: #203824; }
.menu-guide-allergen-list { max-width: 1080px; margin: 22px auto 0; font-size: 12px; text-align: left; }
.menu-guide-allergen-list summary { padding: 12px 0; }
.menu-guide-checks { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; padding: 15px 0; }
.menu-guide-checks label { display: flex; align-items: center; gap: 7px; }
.menu-guide-checks input { accent-color: #375134; }
.menu-guide-nav { display: flex; justify-content: space-between; gap: 20px; max-width: 1080px; margin: 25px auto 0; text-align: left; }
.menu-guide-nav:has(> :only-child) { justify-content: flex-end; }
.menu-guide-form > .menu-guide-nav > .menu-button { height: 44px; min-height: 44px; padding-block: 0; line-height: 1.2; }
.menu-guide-results { max-width: 1080px; margin-inline: auto; text-align: center; }
.menu-guide-results h3 { font-size: 32px; margin: 24px 0 12px; }
.menu-guide-results > p { font-size: 12px; color: #52665a; margin-bottom: 15px; }
.menu-guide-results .menu-dish-grid { margin-top: 22px; text-align: left; }
.menu-match-reason { color: #476040; font-size: 11px; margin-top: 10px !important; }
.menu-guide-view { display: inline-block; margin-top: 12px; font-size: 12px; }
@media (min-width: 1600px) { .menu-hero-copy { padding-left: 80px; } }
@media (max-width: 1050px) {
  .menu-hero-copy { padding-left: 35px; padding-right: 30px; }
  .menu-guide-options { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .menu-guide-intro { gap: 22px; }
  .menu-dish { padding: 18px; }
  .menu-dish-image { width: 65px; height: 80px; }
  .menu-dish-placeholder { width: 65px; height: 65px; }
  .menu-dish-title { flex-wrap: wrap; gap: 5px; }
}
@media (min-width: 768px) {
  .menu-guide-section { padding-inline: 42px; }
  .menu-guide-content { max-width: none; }
  .menu-guide-form legend { font-size: 30px; }
  .menu-guide-option { font-size: 17px; }
  .menu-guide-option small { font-size: 14px; }
  .menu-guide-question-note, .menu-guide-form .menu-guide-note { font-size: 16px; }
  .menu-guide-nav .menu-button, .menu-guide-nav .menu-text-link { font-size: 18px; }
}
@media (min-width: 768px) and (max-width: 850px) {
  .menu-dish-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .menu-page { font-size: 16px; line-height: 1.6; }
  .menu-container { width: calc(100% - 40px); }
  .menu-page .menu-script { font-size: 38px; }
  .menu-page h2 { font-size: 36px; }
  .menu-hero { display: flex; flex-direction: column; padding-top: 86px; }
  .menu-hero-copy { display: contents; }
  .menu-hero-copy > .menu-script { order: 0; margin: 20px 24px 10px; text-align: center; }
  .menu-hero h1 { order: 0; margin-inline: 24px; text-align: center; }
  .menu-hero .menu-intro { order: 0; margin-inline: 24px; text-align: center; }
  .menu-intro-desktop { display: none; }
  .menu-intro-mobile { display: inline; }
  .menu-hero h1 { font-size: calc(2.625rem + 16px); margin-bottom: 9px; }
  .menu-page :is(.menu-hero-copy > .menu-script, .menu-guide-intro .menu-script, .menu-featured .menu-script, .menu-browse .menu-script, .menu-closing > .menu-script) { font-size: 2.5rem; }
  .menu-hero .menu-intro { max-width: 440px; }
  .menu-hero-actions { order: 2; justify-content: center; margin: 22px 24px 30px; gap: 20px; }
  .menu-hero-photo { order: 1; margin: 0 20px; min-height: 300px; }
  .menu-hero-photo img, .menu-hero-photo video { object-position: center 58%; }
  .menu-hero-photo figcaption { padding: 65px 20px 20px; }
  .menu-hero-photo strong { font-size: clamp(20px, 6.5vw, 28px); }
  .menu-guide-section { padding: 16px; scroll-margin-top: 80px; background-color: #aaa99d; background-image: url('images/M-menu-guide-bg.webp?v=20260913-1438'); background-size: 100% auto; background-position: center top; background-repeat: no-repeat; background-attachment: scroll; }
  .menu-guide-content { padding: 12px 16px 14px; background: rgba(247,242,228,.9); border-radius: 12px; transform: none; }
  #menu-guide-body { padding-top: 8px; }
  .menu-guide-intro { flex-direction: column; align-items: flex-start; gap: 18px; }
  .menu-guide-intro .menu-script { margin-bottom: 4px; }
  .menu-guide-intro h2 { font-size: clamp(26px, calc(7vw + 4px), 36px); margin-bottom: 6px; white-space: nowrap; }
  .menu-featured { padding-block: 42px; }
  .menu-section-heading { flex-wrap: wrap; gap: 12px; }
  .menu-featured .menu-section-heading { flex-direction: column; align-items: center; text-align: center; }
  .menu-featured .menu-section-heading > div { width: 100%; }
  .menu-featured .menu-section-heading > p { text-align: center; }
  .menu-featured-grid { display: flex; overflow-x: auto; gap: 12px; scroll-snap-type: x mandatory; padding-bottom: 8px; }
  .menu-feature { flex: 0 0 80%; aspect-ratio: 10/9; scroll-snap-align: start; }
  .menu-feature strong { font-size: 22px; }
  .menu-feature-caption > span:last-child { font-size: 12px; }
  .menu-browse { padding-block: 40px; }
  .menu-toolbar { top: 70px; }
  .menu-categories { padding-bottom: 8px; }
  .menu-category { padding: 8px 12px; font-size: 15px !important; }
  .menu-dish-grid { grid-template-columns: 1fr; gap: 12px; }
  .menu-dish { scroll-margin-top: 280px; }
  .menu-dish-image { width: 75px; height: 90px; }
  .menu-dish-placeholder { width: 75px; height: 75px; }
  .menu-dish-copy { display: block; }
  .menu-dish-title { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
  .menu-dish h3 { display: -webkit-box; min-width: 0; overflow: hidden; font-size: 21px; line-height: 1; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .menu-dish { padding: 14px; }
  .menu-dish-top { gap: 12px; }
  .menu-dish .menu-dish-desc { grid-area: description; display: -webkit-box; overflow: hidden; font-size: 14px; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
  .menu-dish .menu-dish-desc.is-expandable { cursor: pointer; }
  .menu-dish .menu-dish-desc.is-expanded { display: block; overflow: visible; -webkit-line-clamp: unset; }
  .menu-price { flex: 0 0 auto; align-self: baseline; margin-top: 0; font-size: 14px; }
  #dish-M .menu-price small,
  #dish-M > .menu-badges,
  #dish-M > .menu-allergens { display: none; }
  #dish-M:has(.menu-dish-desc.is-expanded) .menu-price small { display: block; }
  #dish-M:has(.menu-dish-desc.is-expanded) > .menu-badges { display: flex; }
  #dish-M:has(.menu-dish-desc.is-expanded) > .menu-allergens { display: block; }
  .menu-category-heading h2 { font-size: 30px; flex-shrink: 1; }
  .menu-category-heading { scroll-margin-top: 150px; }
  .menu-kitchen-note { grid-template-columns: 1fr; gap: 18px; padding: 25px; margin-top: 35px; }
  .menu-kitchen-note h2 { font-size: 32px; }
  .menu-kitchen-note-image { display: none; }
  .menu-guide-option { padding: 10px; gap: 8px; font-size: 15px; line-height: 1.4; }
  .menu-guide-option > span { min-width: 0; }
  .menu-guide-option small { margin-top: 2px; }
  .menu-guide-meal .menu-guide-options,
  .menu-guide-taste .menu-guide-options,
  .menu-guide-spice .menu-guide-options { grid-template-columns: 1fr; }
  .menu-guide-progress { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); align-items: stretch; column-gap: 10px; row-gap: 0; padding-bottom: 4px; font-size: 14px; }
  .menu-guide-progress li { min-width: 0; }
  .menu-guide-step { width: 100%; min-height: 40px; padding-block: 3px; flex-direction: row; align-items: center; justify-content: flex-start; gap: 6px; text-align: left; line-height: 1.35; }
  .menu-guide-step-number { margin-right: 0; width: 20px; height: 20px; flex: 0 0 20px; }
  .menu-guide-form { margin-top: 10px; }
  .menu-guide-form legend { font-size: 24px; line-height: 1.2; margin-bottom: 8px; }
  .menu-guide-form legend:not(.menu-sr-only) { width: 100%; text-align: center; }
  .menu-guide-question-note { margin-bottom: 8px !important; margin-inline: auto !important; text-align: center; }
  .menu-guide-meal .menu-guide-question-note { display: none; }
  .menu-guide-mobile-only { display: block; }
  .menu-guide-options { gap: 6px; }
  .menu-guide-option small { font-size: 14px; line-height: 1.45; white-space: normal; }
  .menu-guide-option > span { font-weight: 600; }
  .menu-guide-note-desktop { display: none; }
  .menu-guide-note-mobile { display: inline; }
  .menu-guide-nav { margin-top: 12px; }
  .menu-guide-results > .menu-guide-nav { flex-direction: column; align-items: center; justify-content: center; gap: 12px; }
  .menu-guide-results > .menu-guide-nav > * { width: auto; white-space: nowrap; }
  .menu-guide-checks { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .menu-closing { padding: 40px 24px; }
  .menu-closing > div { grid-template-columns: minmax(0, 240px); width: 100%; }
  .menu-closing > div .menu-button { white-space: nowrap; }
  /* Readable mobile body copy, including the guide's dynamically rendered states. */
  .menu-section-heading > p,
  .menu-page .menu-rice-note,
  .menu-category-section > p,
  .menu-guide-results > p { font-size: 16px; }
  .menu-guide-results > .menu-guide-important { font-size: 14px; }
  .menu-kitchen-note p:not(.menu-script),
  .menu-kitchen-note .menu-text-link { font-size: 14px; line-height: 1.55; }
  .menu-guide-question-note,
  .menu-guide-form .menu-guide-note,
  .menu-guide-allergen-list,
  .menu-allergens,
  .menu-match-reason,
  .menu-guide-view { font-size: 14px; line-height: 1.55; }
  .menu-hero-photo figcaption > span:first-child,
  .menu-feature small,
  .menu-price small { font-size: 14px; }
  .menu-category-section > p { font-size: 14px; }
  .menu-price small { font-size: 12px; line-height: 1.25; }
  .menu-badges { flex-wrap: nowrap; gap: 5px; margin-top: 8px; overflow-x: auto; scrollbar-width: none; }
  .menu-badges::-webkit-scrollbar { display: none; }
  .menu-badge { flex: 0 0 auto; font-size: 12px; padding: 3px 6px; }
  .menu-browse-order { display: none; }
  .menu-guide-checks label { align-items: flex-start; }
  .menu-guide-checks input { flex-shrink: 0; margin-top: 4px; }
  .menu-guide-nav .menu-button { gap: 10px; padding-inline: 16px; }
}
@media (max-width: 359px) {
  .menu-guide-options { grid-template-columns: 1fr; }
}
@media (min-width: 768px) {
  .menu-page .menu-hero .menu-intro { font-size: 18px; }
  .menu-page .menu-guide-intro p:not(.menu-script) { font-size: 18px; }
  .menu-page .menu-guide-progress { font-size: 16px; }
  .menu-page .menu-section-heading > p,
  .menu-page .menu-rice-note,
  .menu-page .menu-category-section > p { font-size: 16px; }
  .menu-page .menu-category { font-size: 16px !important; }
  .menu-page .menu-allergens,
  .menu-page .menu-allergen-tags span { font-size: 15px; }
}
@media (prefers-reduced-motion: reduce) { .menu-page *, .menu-feature img { scroll-behavior: auto; transition: none; } }

/* Menu motion: expressive entrances with a calm, editorial rhythm. */
body.menu-motion-ready .menu-hero-copy > .menu-script { animation: menu-hero-copy-in .9s cubic-bezier(.22,1,.36,1) .08s both; }
body.menu-motion-ready .menu-hero-copy > h1 { animation: menu-hero-copy-in 1.05s cubic-bezier(.22,1,.36,1) .16s both; }
body.menu-motion-ready .menu-hero-copy > .menu-intro { animation: menu-hero-copy-in 1s cubic-bezier(.22,1,.36,1) .28s both; }
body.menu-motion-ready .menu-hero-copy > .menu-hero-actions { animation: menu-hero-copy-in 1s cubic-bezier(.22,1,.36,1) .38s both; }
body.menu-motion-ready .menu-hero-photo { animation: menu-hero-photo-in 1.35s cubic-bezier(.22,1,.36,1) .1s both; }
body.menu-motion-ready .menu-hero-photo video { animation: menu-video-breathe 16s ease-in-out 1.4s infinite alternate; }
body.menu-motion-ready .menu-hero-photo figcaption > * { animation: menu-caption-in .9s cubic-bezier(.22,1,.36,1) .75s both; }
body.menu-motion-ready .menu-hero-photo figcaption > strong { animation-delay: .86s; }

body.menu-motion-ready .menu-motion-item {
  opacity: 0;
  transform: translate3d(0, 38px, 0) scale(.99);
  transition:
    opacity .85s cubic-bezier(.22,1,.36,1),
    transform 1s cubic-bezier(.22,1,.36,1),
    box-shadow .55s ease,
    border-color .55s ease,
    background-color .55s ease;
  transition-delay: var(--menu-motion-delay, 0ms);
}
body.menu-motion-ready.menu-motion-preparing .menu-motion-item { transition: none !important; }
body.menu-motion-ready .menu-motion-item.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1);
}
body.menu-motion-ready .menu-category-heading::after {
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 1.1s cubic-bezier(.22,1,.36,1) .18s;
}
body.menu-motion-ready .menu-category-heading.is-visible::after { transform: scaleX(1); }
body.menu-motion-ready .menu-dish.is-visible:hover {
  transform: translate3d(0,-4px,0) scale(1);
  border-color: rgba(183,139,16,.32);
  box-shadow: 0 18px 38px rgba(29,54,39,.1);
}
body.menu-motion-ready .menu-dish .menu-price { transition: color .35s ease, transform .35s ease; }
body.menu-motion-ready .menu-dish:hover .menu-price { color: #a8780b; transform: translateY(-1px); }
.menu-feature::after {
  content: '';
  position: absolute;
  inset: -45% auto -45% -55%;
  width: 32%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.2), transparent);
  transform: skewX(-18deg) translateX(0);
  transition: transform 1.15s cubic-bezier(.22,1,.36,1);
  pointer-events: none;
}
.menu-feature:hover::after { transform: skewX(-18deg) translateX(520%); }

@keyframes menu-hero-copy-in {
  from { opacity: 0; transform: translate3d(-34px,18px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes menu-hero-photo-in {
  from { opacity: 0; clip-path: inset(0 0 0 18% round 8px); transform: translate3d(30px,0,0) scale(1.025); }
  to { opacity: 1; clip-path: inset(0 0 0 0 round 8px); transform: translate3d(0,0,0) scale(1); }
}
@keyframes menu-caption-in {
  from { opacity: 0; transform: translate3d(0,18px,0); }
  to { opacity: 1; transform: translate3d(0,0,0); }
}
@keyframes menu-video-breathe {
  from { transform: scale(1.015) translate3d(0,0,0); }
  to { transform: scale(1.055) translate3d(-.7%,.5%,0); }
}

@media (max-width: 767px) {
  body.menu-motion-ready .menu-motion-item { transform: translate3d(0,26px,0) scale(.992); }
  body.menu-motion-ready .menu-motion-item.is-visible { transform: translate3d(0,0,0) scale(1); }
  body.menu-motion-ready .menu-hero-photo { animation-delay: .34s; }
  body.menu-motion-ready .menu-hero-copy > .menu-hero-actions { animation-delay: .82s; }
}

@media (prefers-reduced-motion: reduce) {
  body.menu-motion-ready .menu-hero-copy > *,
  body.menu-motion-ready .menu-hero-photo,
  body.menu-motion-ready .menu-hero-photo video,
  body.menu-motion-ready .menu-hero-photo figcaption > * { animation: none; }
  body.menu-motion-ready .menu-motion-item,
  body.menu-motion-ready .menu-motion-item.is-visible { opacity: 1; transform: none; transition: none; }
  body.menu-motion-ready .menu-category-heading::after { transform: scaleX(1); transition: none; }
  .menu-feature::after { display: none; }
}
