.gallery-view-button{display:inline-flex;align-items:center;min-height:44px;margin-top:12px;padding:8px 12px;font:inherit;font-size:13px;background:transparent;border:1px solid var(--line);border-radius:4px;color:var(--ink);cursor:pointer}.gallery-view-button:hover{border-color:var(--green);background:var(--surface)}.gallery-view-button:focus-visible,.gallery-lightbox button:focus-visible,.gallery-lightbox select:focus-visible{outline:3px solid var(--green);outline-offset:3px}.gallery-preview{margin:22px 0 0}.gallery-preview img{width:100%;aspect-ratio:4/3;object-fit:contain;background:var(--surface);border-radius:3px}.gallery-preview figcaption{font-size:12px;color:var(--muted);margin-top:8px;line-height:1.5}.gallery-has-photos .catalog-categories{max-height:min(35svh,350px)}.gallery-local-note{font-size:12px;color:var(--muted);margin:16px 0}.gallery-lightbox{width:min(1000px,calc(100% - 40px));max-height:calc(100svh - 40px);overflow-y:auto;margin:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:24px;border-radius:6px}.gallery-lightbox::backdrop{background:#101912b8}.gallery-photo-top{display:flex;justify-content:space-between;align-items:start;gap:20px;margin-bottom:18px}.gallery-photo-top h2{font-size:clamp(25px,3vw,36px);line-height:1.2;margin:0}.gallery-close{min-height:44px;flex:none;border:1px solid var(--line);padding:8px 16px;border-radius:4px;background:var(--surface);color:var(--ink);font:inherit;cursor:pointer}.gallery-full-photo{width:100%;height:min(58svh,620px);object-fit:contain;background:var(--surface);display:block}.gallery-photo-controls{margin-top:18px}.gallery-photo-controls label{font-size:13px;display:block;margin-bottom:6px}.gallery-photo-controls select{max-width:100%;width:100%;min-height:46px;background:var(--paper);color:var(--ink);border:1px solid var(--line);padding:8px 12px;font:inherit}.gallery-variant-text{font-size:14px;margin:12px 0 0;color:var(--muted)}body:has(.gallery-lightbox[open]){overflow:hidden}@media(max-width:760px){.gallery-lightbox{width:calc(100% - 16px);max-height:calc(100svh - 16px);padding:18px}.gallery-photo-top{gap:12px}.gallery-photo-top h2{font-size:25px}.gallery-full-photo{height:auto;aspect-ratio:4/3;max-height:52svh}.gallery-close{padding:8px 12px}}@media(prefers-reduced-motion:no-preference){.gallery-lightbox[open]{animation:gallery-enter .16s ease-out}@keyframes gallery-enter{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}}
/* Menu v3: category rail, recipe list, persistent dish detail. */
.menu-explorer.catalog-layout{width:min(1560px,100% - 64px);grid-template-columns:190px minmax(0,1fr) minmax(340px,1.02fr);gap:32px}
.menu-explorer .catalog-content{min-width:0}.menu-explorer .catalog-sidebar{top:108px}.menu-explorer .catalog-categories{max-height:calc(100svh - 225px);margin-top:12px;padding-right:8px}.menu-explorer .catalog-categories a{padding-inline:8px;font-size:13px}.menu-explorer .catalog-family-heading{padding-top:16px}.menu-explorer .catalog-family-heading h2{font-size:35px;line-height:1.15}.menu-explorer .catalog-dish{position:relative;gap:18px;padding:22px 14px 22px 18px;border-left:2px solid transparent;margin-left:-18px;cursor:pointer}.menu-explorer .catalog-dish h3{font-size:20px}.menu-dish-trigger{font:inherit;text-align:left;line-height:1.3;color:var(--ink);background:transparent;padding:5px 0;min-height:44px;width:100%;cursor:pointer}.menu-dish-trigger:focus-visible{outline:2px solid var(--green);outline-offset:3px}.menu-explorer .catalog-dish-copy>p:not(.catalog-item-facts){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:13px;line-height:1.65;margin-top:4px}.menu-explorer .catalog-dish-copy>details,.menu-explorer .catalog-item-facts,.menu-explorer .catalog-product-figure{display:none}.menu-explorer .catalog-dish:hover,.menu-explorer .menu-dish-selected{background:var(--surface,#e9ede5)}.menu-explorer .menu-dish-selected{border-left-color:var(--green)}.menu-explorer .catalog-prices{min-width:100px;gap:4px;padding-top:12px}.menu-explorer .catalog-prices>div{gap:9px}.menu-explorer .catalog-prices dt{font-size:10px}.menu-explorer .catalog-prices dd{font-size:14px}.menu-explorer .gallery-view-button{border:0;background:transparent;padding:8px 0;font-size:12px;margin:4px 0 0;text-decoration:underline;text-underline-offset:5px}.menu-explorer .catalog-search{min-width:160px;flex-basis:100%}.menu-explorer .catalog-size{justify-content:space-between;width:100%}.menu-explorer .catalog-language-note{font-size:11px}.menu-explorer .catalog-footnote{font-size:12px}.menu-explorer .catalog-footnote .button{width:100%}
.menu-detail{position:sticky;top:108px;border:1px solid var(--line);border-radius:5px;background:var(--white,#fff);min-width:0;max-height:calc(100svh - 128px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}.menu-detail-inner{padding:25px}.menu-detail-inner>.eyebrow{font-size:10px;letter-spacing:.06em;margin-bottom:10px}.menu-detail-inner>h2{font:normal clamp(27px,2.2vw,36px)/1.15 var(--display);text-wrap:balance;margin:0 0 20px}.menu-detail-inner .gallery-preview{margin:0 0 20px}.menu-photo-frame{aspect-ratio:4/3;width:100%;position:relative;background:var(--surface,#f0f1eb);display:grid;place-items:center;overflow:hidden;border-radius:3px}.menu-photo-frame img{position:absolute;width:100%;height:100%;object-fit:contain;aspect-ratio:auto;border-radius:0;background:transparent}.menu-photo-frame[aria-busy=true]{min-height:220px}.menu-photo-frame.no-photo{display:flex;flex-direction:column;justify-content:center;gap:12px;border:1px dashed var(--line)}.menu-photo-wordmark{font:italic 40px var(--display);color:var(--green);opacity:.8}.no-photo p{font-size:13px;color:var(--muted)}.menu-photo-expand{background:transparent;color:var(--green);font:inherit;font-size:12px;min-height:44px;padding:10px 0;cursor:pointer}.menu-photo-choices{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 20px}.menu-photo-choices button{background:var(--paper);color:var(--ink);border:1px solid var(--line);font:inherit;font-size:12px;min-height:44px;padding:8px 10px;border-radius:3px}.menu-photo-choices [aria-pressed=true]{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.menu-detail-inner section{padding-top:18px;border-top:1px solid var(--line);margin-top:18px}.menu-detail-inner h3{font:600 12px/1.5 var(--body);letter-spacing:.03em;margin:0 0 10px}.menu-detail-description p,.menu-detail-facts{font-size:15px;line-height:1.7;color:var(--muted)}.menu-detail-prices{margin:0}.menu-detail-prices>div{display:flex;justify-content:space-between;gap:16px;padding:7px 0}.menu-detail-prices dt{font-size:13px;color:var(--muted)}.menu-detail-prices dd{font-size:16px;margin:0;font-variant-numeric:tabular-nums}.menu-detail-options{border-top:1px solid var(--line);padding-top:12px;margin-top:18px;font-size:13px;color:var(--muted)}.menu-detail-options summary{display:list-item;list-style:disclosure-closed;min-height:44px;cursor:pointer;padding:8px 0}.menu-detail-options[open]>summary{list-style:disclosure-open}.menu-detail-options ul{padding-left:17px}.menu-detail-options li+li,.menu-detail-options p+p{margin-top:10px}.menu-detail-inner>.button{width:100%;margin-top:24px}.menu-detail-portion{font-size:12px;color:var(--muted);line-height:1.65;margin-top:20px}.menu-detail-empty{padding-block:20px}.menu-detail-empty h2{font-size:36px;margin:15px 0}.menu-detail-empty>p:last-child{font-size:15px;color:var(--muted)}.menu-detail-dialog{width:min(620px,calc(100% - 20px));max-height:calc(100svh - 20px);margin:auto;border:1px solid var(--line);border-radius:6px;padding:0;background:var(--white,#fff);color:var(--ink);overflow:auto}.menu-detail-dialog::backdrop{background:#101912b8}.menu-detail-dialog-top{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:14px 22px;position:sticky;top:0;z-index:3;background:var(--paper);border-bottom:1px solid var(--line)}.menu-detail-dialog-top .eyebrow{font-size:11px;margin:0}.menu-review-note{padding:12px;border-left:2px solid var(--green);background:var(--surface,#e9ede5);color:var(--muted);font-size:12px;margin-top:16px}body:has(.menu-detail-dialog[open]){overflow:hidden}
html[data-theme=dark] .menu-detail,html[data-theme=dark] .menu-detail-dialog{background:var(--surface)}html[data-theme=dark] .menu-explorer .menu-dish-selected{border-left-color:#b8cdb4;background:#b8cdb412}html[data-theme=dark] .menu-photo-wordmark,html[data-theme=dark] .menu-photo-expand{color:#b8cdb4}
@media(min-width:1100px) and (max-width:1300px){.menu-explorer.catalog-layout{grid-template-columns:165px minmax(0,1fr) minmax(320px,1fr);gap:26px}.menu-detail-inner{padding:20px}.menu-explorer .catalog-dish{gap:12px;padding-right:8px}.menu-explorer .catalog-dish h3{font-size:19px}}
@media(max-width:1099px){.menu-explorer.catalog-layout{grid-template-columns:205px minmax(0,1fr);gap:36px}.menu-detail{display:none}.menu-explorer .catalog-dish{margin-left:0;padding-left:14px}.menu-detail-inner{padding:22px}.menu-detail-dialog .menu-photo-frame{max-height:44svh}}
@media(max-width:760px){.menu-explorer.catalog-layout{width:calc(100% - 32px);display:block}.menu-explorer .catalog-dish{padding:18px 8px 18px 10px;gap:12px}.menu-explorer .catalog-dish h3{font-size:20px}.menu-explorer .catalog-prices{min-width:105px}.menu-explorer .catalog-family-heading h2{font-size:32px}.menu-explorer .catalog-dish-copy>p:not(.catalog-item-facts){font-size:13px}.menu-detail-dialog{width:calc(100% - 12px);max-height:calc(100svh - 12px)}.menu-detail-inner{padding:18px}.menu-detail-dialog-top{padding:12px 18px}.menu-detail-inner>h2{font-size:30px}.menu-photo-frame.no-photo{aspect-ratio:16/9}.menu-detail-description p{font-size:15px}.menu-explorer .catalog-family-heading .catalog-notes{font-size:12px}}
@media(min-width:1100px){.menu-explorer.catalog-layout{scroll-margin-top:108px}.menu-explorer .catalog-content{max-height:calc(100svh - 150px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:8px}.menu-explorer .catalog-toolbar{position:sticky;top:0;z-index:2;background:var(--paper);padding-bottom:12px}.menu-explorer .catalog-sidebar{position:static}.menu-explorer .catalog-categories{max-height:calc(100svh - 240px)}.menu-detail{position:sticky;top:108px;max-height:calc(100svh - 150px)}}
@media(min-width:1100px){.menu-explorer.catalog-layout{scroll-margin-top:0}}
