/* Photo-led menu. Scoped so the approved cinematic and other scenes are untouched. */
.menu-section { --menu-ink:#171b31; --menu-paper:#f8f9fd; }
.menu-section .menu-intro { display:flex; align-items:flex-end; justify-content:space-between; gap:50px; }
.menu-section .menu-intro h2 { font-size:clamp(100px,15vw,220px); line-height:1.06; letter-spacing:-.03em; }
.menu-section .menu-title-dot { color:var(--cyan); }
.menu-section .menu-intro-bottom { display:block; margin:0 0 10px; max-width:350px; }
.menu-section .menu-intro-bottom > p { font-size:15px; line-height:1.8; }
.menu-section .menu-intro-bottom .button { margin-top:24px; }
.menu-section .menu-browser { margin-top:55px; min-width:0; }
.menu-section .menu-toolbar { padding-bottom:20px; border-color:#d4d9f231; }
.menu-section .menu-count { flex-wrap:wrap; gap:10px 24px; }
.menu-section .menu-count > span:last-child { font-size:12px; }
.menu-section .menu-search { width:340px; min-height:48px; background:#ffffff08; }
.menu-section .menu-search input { font-size:13px; }
.menu-section .menu-navigation { position:sticky; top:var(--header-height); z-index:15; margin:0 -2px 26px; padding:14px 2px; background:#151830f5; backdrop-filter:blur(18px); border-bottom:1px solid #d4d9f225; }
.menu-section .menu-category-links { display:flex; gap:9px; overflow-x:auto; overscroll-behavior-x:contain; padding:2px 2px 9px; scrollbar-width:thin; scrollbar-color:#777398 #151830; }
.menu-section .menu-category-links a { flex:none; display:flex; align-items:center; gap:14px; min-height:46px; padding:10px 17px; border:1px solid #c4c3e63d; border-radius:999px; color:#e1e4f7; background:#ffffff05; font-size:12px; line-height:1.3; white-space:nowrap; transition:background .2s,color .2s,border-color .2s; }
.menu-section .menu-category-links a span { font-size:9px; color:#c0bdd6; }
.menu-section .menu-category-links a:hover,
.menu-section .menu-category-links a:focus-visible { background:#e8e2ff; color:#262440; border-color:#e8e2ff; }
.menu-section .menu-category-links a:hover span,
.menu-section .menu-category-links a:focus-visible span { color:#57506f; }
.menu-section .menu-categories { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 40px; }
.menu-section .menu-category { min-width:0; scroll-margin-top:calc(var(--header-height) + 100px); border-bottom:1px solid #c9c6e329; }
.menu-section .menu-category-visual { grid-column:1 / -1; }
.menu-section .menu-category summary { padding:27px 0; min-height:80px; gap:18px; }
.menu-section .category-index { font-size:10px; color:#b9b7d4; }
.menu-section .category-name { font-size:clamp(22px,2.5vw,34px); font-weight:500; letter-spacing:-.035em; }
.menu-section .menu-category[open] .category-name { color:#f5f4fc; }
.menu-section .menu-category summary:hover .category-name { color:var(--cyan); }
.menu-section .category-count { font-size:11px; color:#b9b7d4; }
.menu-section .category-plus { width:23px; font-size:28px; }
.menu-section .category-content { display:grid; gap:20px; padding:0 0 35px; }
.menu-section .category-content ul { list-style:none; padding:0; margin:0; min-width:0; }
.menu-section .category-content li { padding:0; margin:0; min-width:0; display:block; }
.menu-section .menu-photo-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.menu-section [data-photo-count="3"] .menu-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.menu-section [data-photo-count="1"] { grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:30px; align-items:start; }
.menu-section [data-photo-count="1"] .menu-photo-grid { display:block; }
.menu-section .menu-dish { border-radius:18px; overflow:hidden; background:var(--menu-paper); box-shadow:0 14px 40px #02061724; }
.menu-section .menu-dish-link { display:block; height:100%; color:var(--menu-ink); }
.menu-section .menu-dish-image { width:100%; aspect-ratio:1672 / 941; background:#ebe9e5; overflow:hidden; }
.menu-section .menu-dish-image picture { display:block; width:100%; height:100%; }
.menu-section .menu-dish-image img { width:100%; height:100%; object-fit:contain; object-position:50% 50%; display:block; }
.menu-section .menu-dish-caption { padding:21px 23px 22px; }
.menu-section .menu-dish-caption h3 { color:var(--menu-ink); font-family:Manrope,Arial,sans-serif; font-size:clamp(17px,1.7vw,24px); font-weight:650; line-height:1.4; letter-spacing:-.035em; margin:0; }
.menu-section .menu-dish-order { display:flex; align-items:center; justify-content:space-between; gap:15px; margin-top:17px; padding-top:13px; border-top:1px solid #2728441b; color:#56546c; font-size:11px; font-weight:500; }
.menu-section .menu-dish-order > span { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#e7e3f4; color:#32284b; font-size:17px; transition:background .2s; }
.menu-section .menu-dish-link:hover .menu-dish-order > span { background:#c9eff0; }
.menu-section .menu-dish:focus-within { outline:3px solid var(--cyan); outline-offset:4px; }
.menu-section .menu-text-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:34px; align-content:start; }
.menu-section [data-photo-count="1"] .menu-text-list,
.menu-section .menu-category-text .menu-text-list { grid-template-columns:1fr; }
.menu-section .menu-text-list li { border-bottom:1px solid #b7b7d224; }
.menu-section .menu-text-list li:last-child { border-bottom:0; }
.menu-section .menu-text-list a { display:flex; align-items:center; justify-content:space-between; min-height:58px; padding:15px 0; gap:22px; font-size:14px; line-height:1.65; color:#e4e4f1; }
.menu-section .menu-text-list a:hover { color:var(--cyan); }
.menu-section .menu-item-arrow { flex:none; font-size:18px; color:#afa6d8; }
.menu-section .category-content.menu-no-photos { grid-template-columns:1fr; }
.menu-section .menu-end { margin-top:25px; align-items:flex-start; padding:30px 0 0; border-bottom:0; }
.menu-section .menu-end > p { font-size:11px; max-width:760px; color:#bbbfd9; }
.menu-section .menu-end > .status-dot { margin-top:7px; flex:none; }
.menu-section .menu-end .text-link { min-height:44px; }
.menu-section [hidden] { display:none !important; }
.menu-section .menu-empty { padding:40px 0; font-size:15px; }
@media (max-width:1000px) {
 .menu-section .menu-intro { gap:25px; }
 .menu-section .menu-intro-bottom > p { font-size:13px; }
 .menu-section .menu-photo-grid,
 .menu-section [data-photo-count="3"] .menu-photo-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
 .menu-section [data-photo-count="3"] .menu-dish:first-child { grid-column:1 / -1; }
 .menu-section .menu-dish-caption { padding:19px 21px; }
 .menu-section .menu-dish-caption h3 { font-size:21px; }
 .menu-section .menu-category-text .category-name { font-size:24px; }
 .menu-section .menu-categories { column-gap:28px; }
}
@media (max-width:700px) {
 .menu-section .menu-intro { display:block; }
 .menu-section .menu-intro h2 { font-size:27vw; }
 .menu-section .menu-intro-bottom { display:flex; align-items:center; justify-content:space-between; gap:15px; max-width:none; margin:24px 0 0; }
 .menu-section .menu-intro-bottom > p { font-size:12px; }
 .menu-section .menu-intro-bottom .button { margin:0; font-size:10px; padding:13px 15px; gap:10px; }
 .menu-section .menu-browser { margin-top:36px; }
 .menu-section .menu-toolbar { display:block; }
 .menu-section .menu-search { width:100%; margin-top:18px; }
 .menu-section .menu-search input { font-size:16px; }
 .menu-section .menu-count { justify-content:space-between; font-size:9px; }
 .menu-section .menu-count > span:last-child { font-size:11px; }
 .menu-section .menu-navigation { margin-bottom:12px; padding-top:9px; padding-bottom:6px; }
 .menu-section .menu-category-links a { min-height:44px; padding:9px 14px; font-size:11px; gap:10px; }
 .menu-section .menu-categories { display:block; }
 .menu-section .menu-category summary { min-height:77px; padding:24px 0; gap:12px; }
 .menu-section .category-name { font-size:25px; }
 .menu-section .category-index { font-size:9px; }
 .menu-section .category-count { font-size:10px; }
 .menu-section .category-plus { font-size:24px; }
 .menu-section .category-content { gap:14px; padding-bottom:28px; }
 .menu-section .menu-photo-grid,
 .menu-section [data-photo-count="3"] .menu-photo-grid,
 .menu-section [data-photo-count="1"],
 .menu-section .menu-text-list { grid-template-columns:1fr; gap:16px; }
 .menu-section .menu-text-list { gap:0; }
 .menu-section .menu-dish { border-radius:15px; }
 .menu-section .menu-dish-caption { padding:18px 20px; }
 .menu-section .menu-dish-caption h3 { font-size:20px; }
 .menu-section .menu-dish-order { margin-top:12px; padding-top:10px; }
 .menu-section .menu-text-list a { font-size:14px; min-height:56px; }
 .menu-section .menu-end { display:grid; gap:12px; margin-top:12px; }
 .menu-section .menu-end > p { font-size:10px; }
 .menu-section .menu-end .text-link { grid-column:2; }
}
@media (max-width:359px) {
 .menu-section .menu-intro-bottom { display:block; }
 .menu-section .menu-intro-bottom .button { margin-top:18px; }
 .menu-section .category-name { font-size:22px; }
 .menu-section .menu-dish-caption h3 { font-size:18px; }
}
@media (prefers-reduced-motion:reduce) {
 .menu-section .menu-category-links a,
 .menu-section .menu-dish-order > span { transition:none; }
}
