/* Scale the entire menu page, preserving its proportions in the compact gallery. */
.menu-gallery-plate { container-type: inline-size; }
.menu-gallery-plate > article { width: 400px; zoom: calc(100cqw / 400px); }

/* Center incomplete rows while keeping four equal-width cards on desktop. */
.menu-gallery-grid { display: flex; flex-wrap: wrap; justify-content: center; align-items: flex-start; gap: 16px 12px; }
.menu-gallery-grid > li { flex: 0 0 calc((100% - 12px) / 2); min-width: 0; }
@media (min-width: 640px) { .menu-gallery-grid > li { flex-basis: calc((100% - 24px) / 3); } }
@media (min-width: 768px) { .menu-gallery-grid > li { flex-basis: calc((100% - 36px) / 4); } }

.menu-lectern{position:relative;height:570px;margin:12px 0 30px;isolation:isolate;overflow:hidden;background:radial-gradient(ellipse at 50% 48%,#3a281947,transparent 58%)}
.lectern-beam{position:absolute;top:22px;left:50%;width:760px;height:490px;transform:translateX(-50%);clip-path:polygon(46% 0,54% 0,100% 100%,0 100%);background:radial-gradient(ellipse at 50% 0,#ffe6a530,#d8af6810 60%,transparent 75%);filter:blur(12px)}
.lectern-lamp{position:absolute;top:3px;left:50%;transform:translateX(-50%);width:115px;height:27px;border-radius:60% 60% 15% 15%;background:linear-gradient(90deg,#3a2713,#d7b773 48%,#574024);box-shadow:0 10px 32px #ffe5a331}
.lectern-lamp span{position:absolute;bottom:-3px;left:7px;right:7px;height:5px;background:#ffefc0;border-radius:50%;box-shadow:0 4px 20px #ffda90}
.lectern-scene{position:absolute;top:92px;left:50%;width:620px;height:415px;transform:translateX(-50%)}
.lectern-floor{position:absolute;width:500px;height:65px;bottom:-5px;left:60px;border-radius:50%;background:radial-gradient(ellipse,#b8944c20,transparent 70%)}
.lectern-base{position:absolute;bottom:4px;left:191px;width:238px;height:35px;transform:skewX(-12deg);background:linear-gradient(#684629,#22150e 40%,#0b0807);border-top:2px solid #b2975d;border-bottom:3px solid #39271a;box-shadow:0 15px 22px #000}
.lectern-stem{position:absolute;top:204px;left:259px;width:102px;height:186px;background:repeating-linear-gradient(92deg,#0000 0 10px,#140a0540 11px 13px),linear-gradient(90deg,#24140d,#704a2a 35%,#392319 77%,#1d110c);border-left:2px solid #8d683f;border-right:2px solid #28190f;box-shadow:inset 12px 0 16px #0007}
.lectern-stem span{display:block;margin:50px auto;width:40px;height:50px;border:1px solid #af8a4c80;text-align:center;font:30px/48px Georgia,serif;color:#bd9b60;text-shadow:0 2px 3px #000}
.lectern-desk{position:absolute;top:12px;left:14px;width:592px;height:260px;transform:perspective(900px) rotateX(28deg);border-radius:5px;background:linear-gradient(115deg,#805434,#2e1b11 48%,#573821);border:2px solid #9e7949;border-bottom:13px solid #301b10;box-shadow:0 18px 23px #000b}
.lectern-book{position:absolute;top:0;left:40px;width:540px;display:flex;min-height:242px;transform:perspective(900px) rotateX(24deg);border:7px solid #201410;border-radius:8px 10px 12px 8px;background:#f1dfb8;box-shadow:0 5px 0 #c6b48e,0 8px 0 #eee0c3,0 11px 0 #3a2014,0 18px 20px #0009;color:#352618;text-decoration:none;transition:filter .2s}
.lectern-book:hover{filter:brightness(1.09)}
.lectern-book:focus-visible{outline:3px solid #d8bd81;outline-offset:8px}
.lectern-page{position:relative;width:50%;padding:21px 22px 29px;font-family:Georgia,serif;background:linear-gradient(100deg,#e5d2aa,#fff5db 24%,#f5e6c6 86%,#b29a71);border-radius:2px 12px 2px 2px}
.lectern-page-1{background:linear-gradient(90deg,#ad9670,#f1e0bb 8%,#fff4d8 65%,#e0cda4);border-radius:12px 2px 2px 2px}
.lectern-overline{display:block;text-align:center;letter-spacing:3px;font:8px Arial,sans-serif;color:#86653a}
.lectern-page h2{font-size:18px;line-height:1.2;text-align:center;margin:10px 0 0;min-height:43px;color:#382414}
.lectern-ornament{text-align:center;font-size:9px;color:#a18450;margin:9px 0 13px}
.lectern-dish{display:flex;align-items:baseline;gap:5px;margin:12px 0;font-size:9px;line-height:1.35}.lectern-dish span{max-width:75%}.lectern-dish i{flex:1;border-bottom:1px dotted #a68e65}.lectern-dish small{font-size:8px;white-space:nowrap}
.lectern-page-number{position:absolute;bottom:12px;left:50%;font-size:8px;color:#92784e}
.lectern-book-spine{position:absolute;left:50%;top:0;bottom:0;width:2px;background:#83684670;box-shadow:0 0 8px #5a3b2690}
.lectern-invitation{position:absolute;bottom:13px;left:50%;transform:translateX(-50%);color:#d4b87d;font:italic 16px Georgia,serif;white-space:nowrap}.lectern-invitation:hover{text-decoration:underline}
@media(max-width:680px){.menu-lectern{height:415px;margin-bottom:24px}.lectern-scene{top:70px;transform:translateX(-50%) scale(.69);transform-origin:top center}.lectern-lamp{transform:translateX(-50%) scale(.8)}.lectern-beam{height:360px}.lectern-invitation{bottom:8px}}
@media(max-width:440px){.menu-lectern{height:335px}.lectern-scene{transform:translateX(-50%) scale(.51)}.lectern-beam{height:300px}}

/* A substantial floor-standing lectern, disappearing below the scene. */
.lectern-base,.lectern-floor{display:none}
.lectern-stem{left:160px;width:300px;top:204px;height:410px;background:repeating-linear-gradient(92deg,transparent 0 19px,#140a052b 20px 22px),linear-gradient(90deg,#21130c,#674329 20%,#49301f 68%,#24160e);border-left:3px solid #8d683f;border-right:3px solid #28190f;box-shadow:inset 18px 0 22px #0007;mask-image:linear-gradient(#000 0%,#000 42%,transparent 77%)}
.lectern-stem span{margin-top:55px;width:57px;height:66px;font-size:37px;line-height:64px}

/* End the podium shortly below its emblem and lift the search controls. */
.menu-lectern{height:490px}
.lectern-stem{height:200px;mask-image:linear-gradient(#000 0%,#000 65%,transparent 100%)}
@media(max-width:680px){.menu-lectern{height:375px}}
@media(max-width:440px){.menu-lectern{height:305px}}

.lectern-browser{height:650px;margin-top:24px}.lectern-browser .lectern-scene{top:0;width:900px;height:620px}.lectern-browser .lectern-desk{left:10px;top:18px;width:880px;height:420px;transform:perspective(1400px) rotateX(12deg)}.lectern-browser .lectern-book{left:35px;top:0;width:830px;min-height:395px;transform:perspective(1400px) rotateX(10deg)}.lectern-browser .lectern-page{padding:30px 28px 48px;text-align:left;border:0;cursor:pointer}.lectern-browser .lectern-page h2{font-size:25px;min-height:64px}.lectern-browser .lectern-dish{font-size:15px;margin:19px 0}.lectern-browser .lectern-dish small{font-size:13px}.lectern-browser .lectern-overline{font-size:10px}.lectern-browser .lectern-page-number{font-size:12px;left:28px;bottom:18px}.lectern-browser .lectern-stem{top:365px;left:230px;width:440px;height:230px}.lectern-controls{position:absolute;top:465px;left:245px;width:410px;display:flex;align-items:center;justify-content:space-between;gap:12px;color:#efdab0}.lectern-controls button{font-size:27px;width:48px;height:48px;border:1px solid #bd9c66;border-radius:50%;background:#20150c;cursor:pointer}.lectern-controls button:hover{background:#644421}.lectern-controls div{text-align:center;flex:1}.lectern-controls strong{display:block;font:18px Georgia,serif}.lectern-controls span{display:block;font-size:11px;margin-top:5px}.lectern-browser .lectern-invitation{bottom:10px;display:flex;gap:22px;font-size:14px}.lectern-page:focus-visible,.lectern-controls button:focus-visible{outline:3px solid #d8b66d;outline-offset:3px}.lectern-page:disabled{cursor:default}
@media(max-width:1000px){.lectern-browser{height:540px}.lectern-browser .lectern-scene{transform:translateX(-50%) scale(.8);transform-origin:top center}}
@media(max-width:760px){.lectern-browser{height:420px}.lectern-browser .lectern-scene{transform:translateX(-50%) scale(.61)}}
@media(max-width:580px){.lectern-browser{height:340px}.lectern-browser .lectern-scene{transform:translateX(-50%) scale(.47)}}
@media(max-width:440px){.lectern-browser{height:280px}.lectern-browser .lectern-scene{transform:translateX(-50%) scale(.37)}.lectern-browser .lectern-invitation{font-size:12px;gap:14px}}

/* Both leaves continue the same restaurant menu with readable, fuller pages. */
.lectern-browser .lectern-page{padding:22px 27px 24px;color:#291c10}
.lectern-browser .lectern-page h2{font-size:24px;min-height:56px;margin-top:7px}
.lectern-browser .lectern-ornament{margin:5px 0 10px}
.lectern-browser .lectern-dish{font-size:16px;line-height:1.3;margin:11px 0;font-weight:500}
.lectern-browser .lectern-dish small{font-size:14px;color:#49321d}
.lectern-browser .lectern-dish i{border-color:#ad9269}

.lectern-click-hint{position:absolute;top:7px;right:13px;font:italic 11px Georgia,serif;color:#715027;white-space:nowrap}

/* Illustrated gilt foliage frames the food without crossing the text. */
.lectern-browser .lectern-book{border-color:#392719;box-shadow:0 2px 0 #edd99c,0 4px 0 #a57422,0 6px 0 #f9df8f,0 8px 0 #b48534,0 11px 0 #392315,0 18px 25px #0009}
.lectern-browser .lectern-page{padding-left:37px;padding-right:37px;box-shadow:inset 0 0 25px #9a6a1520}
.lectern-gilded-corner{position:absolute;width:65px;height:65px;color:#a47a27;pointer-events:none;filter:drop-shadow(0 1px 0 #fff3be)}
.lectern-gilded-corner.top-left{top:5px;left:5px}
.lectern-gilded-corner.top-right{top:5px;right:5px;transform:scaleX(-1)}
.lectern-gilded-corner.bottom-left{bottom:5px;left:5px;transform:scaleY(-1)}
.lectern-gilded-corner.bottom-right{bottom:5px;right:5px;transform:scale(-1)}
.lectern-browser .lectern-page h2{color:#493016;text-shadow:0 1px 0 #fff8de;position:relative}
.lectern-browser .lectern-overline{color:#89621d;position:relative}
.lectern-browser .lectern-ornament{display:flex;align-items:center;justify-content:center;gap:15px;color:#a07829;height:22px;margin:3px 0 9px}
.lectern-ornament span{font-size:28px;line-height:1}.lectern-ornament span:last-child{transform:scaleX(-1)}.lectern-ornament b{font-size:8px;font-weight:normal}
.lectern-browser .lectern-dish{position:relative}
.lectern-browser a.lectern-dish{color:inherit;text-decoration:none;border-radius:4px;padding:2px 3px;margin-left:-3px;margin-right:-3px}
.lectern-browser a.lectern-dish:hover{color:#6e3e0b;background:#c9922824}
.lectern-browser a.lectern-dish:focus-visible{outline:2px solid #946517;outline-offset:2px}
.lectern-browser .lectern-dish:has(.lectern-dish-photo){grid-template-columns:58px minmax(0,1fr);align-items:center;margin-block:8px}
.lectern-browser .lectern-dish-photo{grid-row:1 / span 2;width:58px;height:46px;border:1px solid #bb9560;border-radius:5px;object-fit:cover;box-shadow:0 2px 7px #5c3d1d45}
.lectern-browser .lectern-dish:has(.lectern-dish-photo) span,.lectern-browser .lectern-dish:has(.lectern-dish-photo) small{grid-column:2}
.lectern-click-hint{top:13px;right:36px;background:#fbefcfeb;padding:2px 5px;border-radius:2px;z-index:1}

/* Menu length determines the podium and controls, including multi-size prices. */
.lectern-browser{--book-height:430px;--lectern-scale:1;height:calc((var(--book-height) + 195px) * var(--lectern-scale))}
.lectern-browser .lectern-desk{height:calc(var(--book-height) + 12px)}
.lectern-browser .lectern-stem{top:calc(var(--book-height) - 35px)}
.lectern-browser .lectern-controls{top:calc(var(--book-height) + 35px)}
.lectern-browser .lectern-page{padding-bottom:62px}
.lectern-browser .lectern-dish{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 10px;align-items:baseline}
.lectern-browser .lectern-dish span{max-width:none;overflow-wrap:anywhere}
.lectern-browser .lectern-dish i{display:none}
.lectern-browser .lectern-dish small{white-space:normal;max-width:155px;text-align:right;line-height:1.45}
@media(max-width:1000px){.lectern-browser{--lectern-scale:.8}}
@media(max-width:760px){.lectern-browser{--lectern-scale:.61}}
@media(max-width:580px){.lectern-browser{--lectern-scale:.47}}
@media(max-width:440px){.lectern-browser{--lectern-scale:.37}}

/* Fixed preview gate: restaurant changes never move the scene or search. */
.lectern-browser{--book-height:500px}
.lectern-browser .lectern-book{height:500px;min-height:500px}
.lectern-browser .lectern-page{height:486px;overflow:hidden}
.lectern-browser .lectern-page h2{height:60px;min-height:60px;overflow:hidden;font-size:23px;line-height:1.25}
.lectern-items{position:absolute;top:140px;bottom:67px;left:37px;right:37px;overflow:hidden}
.lectern-browser .lectern-dish[hidden]{display:none}
.lectern-controls div{height:69px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.lectern-controls strong{font-size:16px;line-height:1.2;max-height:39px;overflow:hidden}
.lectern-controls button{flex-shrink:0}

/* Gold-ink scenes are watermarks beneath the menu text, never hit targets. */
.lectern-gilded-scene{position:absolute;inset:46px 10px 28px;width:calc(100% - 20px);height:calc(100% - 74px);color:#9b701a;opacity:.16;pointer-events:none;z-index:0}
.lectern-browser .lectern-items,.lectern-browser .lectern-overline,.lectern-browser .lectern-page h2,.lectern-browser .lectern-ornament{z-index:1}
.lectern-browser .lectern-ornament{position:relative}
.lectern-browser .lectern-dish{color:#291c10;text-shadow:0 0 3px #fff4dc,0 0 6px #fff4dccc}

.menu-search-form{position:relative}.menu-search-form input{padding-right:64px}.menu-search-submit{position:absolute;right:5px;top:5px;bottom:5px;width:46px;border-radius:9px;display:grid;place-items:center;color:#e5c77d;background:#b9933e1c;cursor:pointer}.menu-search-submit:hover{background:#b9933e35}.menu-search-submit:focus-visible{outline:2px solid #e5c77d;outline-offset:2px}
.menu-cuisine-section{padding:15px 0 17px;border-bottom:1px solid #ffffff18}.menu-cuisine-section h2{font:500 20px Georgia,serif;letter-spacing:.2px;margin:0 0 14px;color:#ead9b4}.menu-cuisine-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:9px}.menu-cuisine-grid button{min-height:40px;border:1px solid #ffffff12;border-radius:7px;font-size:12px;padding:8px 10px;white-space:normal;text-align:center}.menu-cuisine-grid button[aria-pressed=true]{background:#dec17d;color:#231a0e;border-color:#dec17d}.menu-cuisine-grid button:focus-visible{outline:2px solid #dec17d;outline-offset:2px}
.lectern-gilded-scene{color:#b18420;opacity:.24}
@media(max-width:1000px){.menu-cuisine-grid{grid-template-columns:repeat(5,minmax(0,1fr))}}
@media(max-width:640px){.menu-cuisine-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.menu-cuisine-grid button{min-height:44px}.menu-cuisine-section h2{font-size:19px}}

.menu-cuisine-section h2{text-align:center}

.menu-rankup-brand{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none}.menu-rankup-name{font:750 29px/1.1 Arial,sans-serif;letter-spacing:-1.2px;color:#fff}.menu-rankup-name>span{color:#3696e6}.menu-rankup-directory{display:flex;align-items:center;gap:5px;margin-top:3px;font:12px Arial,sans-serif;letter-spacing:1.5px;color:#3696e6}.menu-rankup-directory svg{display:block;width:29px;height:29px;overflow:hidden}

.menu-gallery-heading{color:#dec17d;text-shadow:0 1px 0 #7e5c2740}
.lectern-browser .lectern-stem{background-image:linear-gradient(90deg,#100a0799,#57301930 23%,#2a160b45 74%,#100907a6),url('/materials/menu-podium-walnut/wood-grain.webp');background-size:100% 100%,440px 600px;background-position:center;background-color:#55371f;background-blend-mode:normal,multiply;border-left-color:#a47e4e;border-right-color:#2c1a0f;box-shadow:inset 4px 0 3px #d3a96e38,inset -15px 0 23px #0008}
.lectern-browser .lectern-desk{background-image:linear-gradient(120deg,#e3c38e30,#452b1640 48%,#160c0680),url('/materials/menu-podium-walnut/wood-grain.webp');background-size:100% 100%,650px 650px;background-color:#654426;background-blend-mode:normal,multiply;border-top-color:#c09b65;border-left-color:#a7804d;border-right-color:#3d2616;box-shadow:inset 0 2px 2px #e8c68f65,0 18px 23px #000b}

/* Let the walnut grain read through the warm stain. */
.lectern-browser .lectern-stem{background-image:linear-gradient(90deg,#120a0566,transparent 20%,#9b5d1614 65%,#13090555),url('/materials/menu-podium-walnut/wood-grain.webp');background-blend-mode:normal,normal;background-size:100% 100%,440px 440px;box-shadow:inset 3px 0 3px #d3a96e55,inset -8px 0 15px #0005}
.lectern-browser .lectern-desk{background-image:linear-gradient(120deg,#b9752730,#52270b30 48%,#160c0644),url('/materials/menu-podium-walnut/wood-grain.webp');background-blend-mode:normal,normal;background-size:100% 100%,500px 500px}

.lectern-browser .lectern-stem{background-image:linear-gradient(90deg,#120a0555,transparent 20%,transparent 75%,#13090544),url('/materials/menu-podium-walnut/wood-grain-warm.webp')}
.lectern-browser .lectern-desk{background-image:linear-gradient(120deg,#d1a16618,#52270b15 48%,#160c0633),url('/materials/menu-podium-walnut/wood-grain-warm.webp')}

/* Keep the original polished top with the new textured lower podium. */
.lectern-browser .lectern-desk{background:linear-gradient(115deg,#805434,#2e1b11 48%,#573821);border:2px solid #9e7949;border-bottom:13px solid #301b10;box-shadow:inset 0 2px 2px #e8c68f45,0 18px 23px #000b}

/* Smooth central inset hides the knot; walnut remains visible on both sides. */
.lectern-browser .lectern-stem::after{content:"";position:absolute;top:0;bottom:0;left:20%;right:20%;background:linear-gradient(115deg,#674329,#2e1b11 52%,#51341f);border-left:1px solid #b68e514f;border-right:1px solid #1c100dcc;box-shadow:inset 2px 0 4px #d6aa6030,0 0 8px #180c0866;pointer-events:none}

.lectern-browser .lectern-stem::after{left:12%;right:12%;border:0;box-shadow:none;opacity:.94;mask-image:linear-gradient(90deg,transparent 0%,#000 23%,#000 77%,transparent 100%)}

.lectern-browser .lectern-stem::after{opacity:.82;mask-image:linear-gradient(90deg,transparent 0%,#000 34%,#000 66%,transparent 100%)}


/* Smooth dark finish with restrained grain at the outer sides. */
.lectern-browser .lectern-stem{background-image:linear-gradient(90deg,#201108a8,#301b10b8 24%,#301b10b8 76%,#201108a8),url('/materials/menu-podium-walnut/wood-grain-warm.webp')}
.lectern-browser .lectern-stem::after{left:5%;right:5%;opacity:.97;mask-image:linear-gradient(90deg,transparent 0%,#000 20%,#000 80%,transparent 100%)}


.menu-full-gilded{position:relative;isolation:isolate;border:1px solid #b18c40;box-shadow:inset 0 0 0 4px #f6e9c4,inset 0 0 0 5px #c5a454,0 3px 0 #ab8433;padding-top:55px!important;padding-bottom:65px!important}
.menu-full-gilded>.lectern-gilded-scene{opacity:.13;z-index:0;inset:65px 20px;width:calc(100% - 40px);height:calc(100% - 130px)}
.menu-full-gilded>header,.menu-full-gilded>div,.menu-full-gilded>footer{position:relative;z-index:1}
.menu-full-gilded>.lectern-gilded-corner{width:52px;height:52px}
/* White page (2026-09-27): navy "Rank", deeper gold headings so they read on white. */
.menu-rankup-name{color:#182536}
.menu-cuisine-section h2{color:#8a6412}
.menu-gallery-heading{color:#8a6412;background:none;-webkit-text-fill-color:#8a6412}
/* Touch targets (2026-09-27): at least 44 px on phones and touch screens. The lectern is drawn
   scaled down, so its arrows and invitation get an invisible, larger touch area instead. */
@media (max-width:760px),(pointer:coarse){
 li>a.rounded-full,nav a.rounded-lg,button.rounded-full,.menu-search-submit,header a.text-sm{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
 h3>a,p>a.underline{display:inline-block;padding:14px 0;margin:-14px 0}
 .lectern-controls button,.lectern-invitation a{position:relative}
 .lectern-controls button::after{content:"";position:absolute;inset:-30px}
 .lectern-invitation a::after{content:"";position:absolute;inset:-24px -8px}
}
@media (max-width:760px),(pointer:coarse){p>a.underline{padding:14px 8px;margin:-14px -8px;min-width:44px;text-align:center}}
