@font-face{font-family:"Instrument Sans";src:url('/fonts/instrument-sans.ttf') format('truetype');font-weight:400 700;font-display:swap}
@font-face{font-family:"Ma Shan Zheng";src:url('/fonts/mashanzheng.ttf') format('truetype');font-weight:400;font-display:swap}
.public-menu{--paper:#f4f1e8;--ink:#252820;--muted:#64685d;color:var(--ink);font-family:"Instrument Sans",Arial,sans-serif;max-width:1400px;margin:auto;padding:90px 6.8vw 22px;scroll-margin-top:20px}
.public-menu *{box-sizing:border-box}.public-menu [hidden]{display:none!important}.public-menu a{color:inherit;text-underline-offset:5px;text-decoration-thickness:1px}.public-menu a:focus-visible,.public-menu button:focus-visible{outline:2px solid #2e6554;outline-offset:5px}
.menu-intro{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:50px}.menu-intro h1,.menu-intro h2{font-size:clamp(32px,4vw,48px);line-height:1.15;font-weight:500;letter-spacing:-1.5px;margin:0 0 15px}.menu-intro p{font-size:17px;line-height:1.6;color:var(--muted);margin:0;max-width:35ch}.menu-calligraphy{position:relative;font-family:"Ma Shan Zheng",serif;font-size:clamp(90px,11vw,144px);line-height:1.1;letter-spacing:-.08em;padding-right:.1em;transform:rotate(-5deg);user-select:none}.menu-calligraphy svg{position:absolute;left:3%;bottom:-12px;width:94%;height:18px;fill:none;stroke:var(--ink);stroke-width:2;stroke-linecap:round}.menu-calligraphy path{stroke-dasharray:260;stroke-dashoffset:0}.menu-reveal .menu-calligraphy path{animation:menu-ink .8s ease-out both}.menu-reveal .menu-calligraphy path+path{animation-delay:.15s}@keyframes menu-ink{from{stroke-dashoffset:260}to{stroke-dashoffset:0}}
.menu-categories{display:flex;flex-wrap:wrap;gap:12px 25px;padding:22px 0;border-block:1px solid #d3d1c7;margin-bottom:48px;line-height:1.6}.menu-categories a,.menu-categories button{font:inherit;font-size:14px;color:inherit;text-decoration:none;padding:7px 0;background:none;border:0;cursor:pointer;min-height:40px}.menu-categories a:hover,.menu-categories button:hover{text-decoration:underline;text-underline-offset:7px}.menu-categories button[aria-selected="true"]{text-decoration:underline;text-underline-offset:7px;text-decoration-thickness:1px;font-weight:550}.menu-dishes>[role="tabpanel"]{border-top:0;padding-top:22px}.menu-dishes>[role="tabpanel"]:focus-visible{outline:2px solid #2e6554;outline-offset:8px}.menu-section{display:grid;grid-template-columns:175px minmax(0,1fr);gap:45px;padding:22px 0 58px;scroll-margin-top:35px}.menu-section+.menu-section{border-top:1px solid #d3d1c7;padding-top:38px}.menu-section-heading{min-width:0}.menu-section-heading h2,.menu-section-heading h3{font-size:24px;line-height:1.3;letter-spacing:-.5px;font-weight:500;margin:0 0 7px}.menu-category-zh{font-family:"Ma Shan Zheng",serif;font-size:25px;line-height:1.5;color:var(--muted);margin:0}.menu-sketch{width:150px;height:130px;max-width:100%;margin-top:19px;color:var(--ink);transform:rotate(-4deg)}.menu-section:nth-child(even) .menu-sketch{transform:rotate(3deg)}.dish-grid{display:grid;grid-template-columns:1fr 1fr;column-gap:38px;row-gap:31px;align-content:start}.dish{min-width:0}.dish-top{display:flex;gap:15px;align-items:baseline;justify-content:space-between}.dish h3,.dish h4{font-size:16px;font-weight:550;line-height:1.45;margin:0;letter-spacing:-.15px;overflow-wrap:anywhere}.dish-price{white-space:nowrap;font-size:15px;font-variant-numeric:tabular-nums;line-height:1.4}.dish-chinese{font-family:"Ma Shan Zheng",serif;font-size:22px;line-height:1.5;margin:4px 0 0}.dish-description,.dish-choices,.dish-portion{color:var(--muted);font-size:13px;line-height:1.6;margin:7px 0 0;overflow-wrap:anywhere}.dish-portion{font-size:12px;margin-top:4px}.dish-choices{font-size:12px}.menu-feedback{font-size:16px;line-height:1.6;color:var(--muted);padding:22px 0}.menu-feedback p{margin:0}.menu-retry{font:inherit;color:var(--ink);background:transparent;border:1px solid #b5b7ac;border-radius:2px;min-height:44px;padding:9px 19px;margin-bottom:30px;cursor:pointer}.menu-note{font-size:13px;line-height:1.7;color:var(--muted);margin:20px 0 55px}.menu-footer{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d3d1c7;padding:24px 0;font-size:12px;color:var(--muted)}
/* The native, script-free menu uses the same layout. */
body.native-menu{margin:0;background:#f4f1e8}.native-menu .public-menu{padding-top:40px}.native-menu .menu-back{font-size:14px;display:inline-block;margin-bottom:45px}
@media(min-width:1600px){.public-menu{padding-inline:80px}.menu-section{grid-template-columns:190px minmax(0,1fr);gap:60px}}
@media(max-width:950px){.menu-section{grid-template-columns:140px minmax(0,1fr);gap:28px}.dish-grid{gap:28px}.menu-sketch{width:130px}.menu-categories{gap:10px 20px}}
@media(max-width:760px){.public-menu{padding:60px 25px 15px}.menu-intro{gap:15px;margin-bottom:35px}.menu-intro h1,.menu-intro h2{font-size:34px;letter-spacing:-1px}.menu-intro p{font-size:15px;max-width:22ch}.menu-calligraphy{font-size:90px}.menu-categories{gap:10px 22px;margin-bottom:30px}.menu-section{grid-template-columns:1fr;gap:25px;padding:12px 0 36px}.menu-section+.menu-section{padding-top:30px}.menu-section-heading{position:relative;min-height:85px;display:flex;flex-direction:column;justify-content:center;padding-right:130px}.menu-section-heading h2,.menu-section-heading h3{font-size:25px}.menu-category-zh{font-size:25px}.menu-sketch{position:absolute;right:0;top:-15px;width:118px;height:108px;margin:0}.dish-grid{column-gap:30px;row-gap:28px}.menu-note{margin-bottom:35px}.menu-footer{flex-wrap:wrap;gap:14px}}
@media(max-width:550px){.dish-grid{grid-template-columns:1fr}.dish-top h3,.dish-top h4{font-size:17px}.dish-description{max-width:50ch}.menu-calligraphy{font-size:80px}.menu-intro{align-items:flex-start}.menu-categories a,.menu-categories button{font-size:13px}.menu-intro h1,.menu-intro h2{font-size:31px}}
@media(prefers-reduced-motion:reduce){.menu-reveal .menu-calligraphy path{animation:none}}

/* Keep both scripts in the layout, so changing language changes emphasis only. */
.menu-label{display:inline-grid;grid-template-areas:"label";align-items:start}
.menu-intro h2.menu-label,.menu-intro p.menu-label,.menu-note.menu-label{display:grid}
.menu-intro>div:first-child{min-width:0}
.menu-calligraphy{white-space:nowrap;flex-shrink:0}
.menu-label>span{grid-area:label;transition:opacity 300ms cubic-bezier(.2,.6,.25,1)}
.menu-label-zh{visibility:hidden;opacity:0}
html[lang^="zh"] .menu-label-it{visibility:hidden;opacity:0}
html[lang^="zh"] .menu-label-zh{visibility:visible;opacity:1}
.public-menu .menu-categories{position:relative}
.public-menu .menu-categories::after{content:"";position:absolute;left:0;top:0;height:1px;background:var(--ink);width:var(--tab-width,0px);transform:translate(var(--tab-x,0px),var(--tab-y,0px));animation:var(--tab-motion,none) 360ms cubic-bezier(.2,.6,.25,1);pointer-events:none}
@keyframes menu-tab-slide{from{transform:translate(var(--tab-from-x),var(--tab-from-y));width:var(--tab-from-width);opacity:var(--tab-from-opacity,1)}to{transform:translate(var(--tab-x),var(--tab-y));width:var(--tab-width);opacity:1}}
@keyframes menu-tab-wrap{0%{transform:translate(var(--tab-from-x),var(--tab-from-y));width:var(--tab-from-width);opacity:var(--tab-from-opacity,1)}45%{transform:translate(var(--tab-exit-x),var(--tab-from-y));width:0;opacity:0}55%{transform:translate(var(--tab-enter-x),var(--tab-y));width:0;opacity:0}100%{transform:translate(var(--tab-x),var(--tab-y));width:var(--tab-width);opacity:1}}
.public-menu .menu-categories button,.public-menu .menu-categories button:hover,.public-menu .menu-categories button[aria-selected="true"]{text-decoration:none;font-weight:400}
.public-menu .menu-categories button{opacity:.7;transition:opacity 200ms ease}
.public-menu .menu-categories button[aria-selected="true"],.public-menu .menu-categories button:hover{opacity:1}
.menu-tab-label,.menu-choice-label{display:grid;grid-template-areas:"label"}
.menu-tab-label>span,.menu-choice-label>span{grid-area:label}
.menu-tab-label>.menu-text-zh,.menu-choice-label>.menu-text-zh{visibility:hidden;opacity:0}
[data-language="zh"] .menu-tab-label.has-chinese>.menu-text-it,[data-language="zh"] .menu-choice-label>.menu-text-it{visibility:hidden;opacity:0}
[data-language="zh"] .menu-tab-label>.menu-text-zh,[data-language="zh"] .menu-choice-label>.menu-text-zh{visibility:visible;opacity:1}
.menu-pair>span{transition:color 300ms cubic-bezier(.2,.6,.25,1),transform 300ms cubic-bezier(.2,.6,.25,1),opacity 300ms cubic-bezier(.2,.6,.25,1);transform-origin:left center}
.dish-title{display:flex;align-items:baseline;gap:8px;min-width:0}.dish-title>.dish-name{min-width:0}.dish-title>.menu-markers{flex-shrink:0;margin-inline-start:0}
.dish-name>span,.menu-category-name>span{display:block}
.dish-name>.menu-text-zh,.menu-category-name>.menu-text-zh{font-family:"Ma Shan Zheng",serif;font-weight:400;font-size:24px;line-height:1.5;margin-top:4px;color:var(--muted);transform:translateX(2px) scale(.96)}
.menu-category-name>.menu-text-zh{font-size:29px}
[data-language="zh"] .dish-name.has-chinese>.menu-text-it,[data-language="zh"] .menu-category-name.has-chinese>.menu-text-it{color:var(--muted);transform:translateX(2px) scale(.96)}
[data-language="zh"] .dish-name>.menu-text-zh,[data-language="zh"] .menu-category-name>.menu-text-zh{color:var(--ink);transform:translateX(0) scale(1)}
.public-menu{overflow-anchor:none}
.public-menu .menu-dishes>.menu-section{border-top:0;padding-top:22px}
@media(max-width:760px){.public-menu .menu-dishes>.menu-section{padding-top:12px}}
@media(prefers-reduced-motion:reduce){.public-menu .menu-categories::after{animation:none}.menu-pair>span,.menu-label>span{transition:none}}

.menu-footer{flex-wrap:wrap;align-items:baseline;line-height:1.7}.legal-links{display:flex;flex-wrap:wrap;gap:10px 22px}.menu-footer a{padding-block:4px}
