:root{color-scheme:light;--bg:#f8f5ef;--paper:#fffdf9;--ink:#3c352f;--muted:#766f65;--line:#e7e0d5;--sage:#64735e;--soft:#e9ede4;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Noto Sans",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}
*{box-sizing:border-box}body{margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit}a{color:inherit}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline:3px solid var(--sage);outline-offset:4px}button{cursor:pointer}button:disabled{cursor:default}.menu-shell{max-width:600px;margin:auto;padding:0 22px 38px}.skip-link{position:fixed;top:-60px;left:10px;z-index:10;padding:10px;background:#fff}.skip-link:focus{top:10px}
.restaurant{text-align:center;padding:35px 0 27px}.logo{width:82px;height:82px;display:block;margin:0 auto 12px;border-radius:50%;mix-blend-mode:multiply}.restaurant h1{font-family:Georgia,"Times New Roman",serif;font-size:31px;font-weight:400;letter-spacing:-.9px;margin:0 0 18px}.contact{display:flex;justify-content:center;align-items:center;gap:7px;text-decoration:none;font-size:12px;line-height:1.6;min-height:30px;color:var(--muted);width:fit-content;max-width:100%;margin:auto}.contact:hover{color:var(--sage)}.contact svg{width:14px;height:14px;flex-shrink:0}.contact.phone{font-size:13px;letter-spacing:.6px}.menu-heading{display:flex;align-items:center;gap:15px;padding:0 0 19px}.menu-heading h2{font-family:Georgia,serif;font-size:23px;font-weight:400;margin:0}.menu-heading:after{content:"";height:1px;background:var(--line);flex:1}.menu-heading span{font-size:10px;letter-spacing:1.8px;color:var(--sage)}
.categories{display:grid;grid-template-columns:1fr;gap:12px}.category{width:100%;padding:0;text-align:left;border:1px solid var(--line);border-radius:17px;background:var(--paper);height:92px;display:flex;align-items:center;overflow:hidden;position:relative;transition:background .2s,transform .2s,box-shadow .2s}.category:not(:disabled):hover{background:#fff;transform:translateY(-2px);box-shadow:0 6px 18px #493e2b0c}.category:not(:disabled):active{transform:scale(.985)}.category-image{width:35%;height:100%;position:relative;flex-shrink:0;background:#eee9e0}.category-image img{width:100%;height:100%;object-fit:cover;opacity:.84;display:block}.category-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#f8f5ef00 50%,#fffdf94a)}.category-label{font-size:14px;letter-spacing:1.2px;font-weight:600;line-height:1.45;padding:0 16px;flex:1}.category.no-image .category-label{padding-left:25px}.category.no-image:before{content:"";width:3px;height:24px;background:#a1ad95;margin-left:22px;border-radius:3px}.chevron{font-size:23px;font-weight:300;line-height:1;margin-right:20px;color:var(--sage)}.category:disabled .chevron{color:#b7b3aa}.page-footer{text-align:center;margin:28px 0 2px;color:var(--muted);font-size:10px;letter-spacing:2px}.page-footer a{text-decoration:none;padding:12px;display:inline-block}
.category-top{position:sticky;top:0;z-index:3;padding:14px 0 10px;background:#f8f5eff5;backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.top-row{display:flex;align-items:center;justify-content:space-between}.back-link{display:inline-flex;align-items:center;gap:8px;text-decoration:none;min-height:42px;font-size:13px}.back-link svg{width:19px;height:19px}.mini-brand{font-family:Georgia,serif;letter-spacing:3px;font-size:13px;color:var(--sage)}.category-title{font-family:Georgia,serif;font-weight:400;font-size:30px;margin:19px 0 18px;letter-spacing:.5px}.group-nav{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding-bottom:12px}.group-nav::-webkit-scrollbar{display:none}.group-nav a{border:1px solid var(--line);padding:10px 13px;white-space:nowrap;border-radius:24px;text-decoration:none;font-size:10px;font-weight:600;letter-spacing:.6px;background:var(--paper)}.group-nav a[aria-current="true"]{background:var(--sage);border-color:var(--sage);color:#fff}.dish-group{scroll-margin-top:var(--category-offset,195px)}.group-heading{display:flex;align-items:center;gap:12px;margin:27px 0 6px;font-size:11px;letter-spacing:1.5px;font-weight:600;color:var(--sage)}.group-heading:after{content:"";height:1px;background:var(--line);flex:1}.dish{padding:16px 0;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--line);min-height:101px}.dish-photo{width:70px;height:70px;flex-shrink:0;border:0;padding:0;background:#eee9e0;border-radius:12px;overflow:hidden;position:relative}.dish-photo img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .2s}.dish-photo:hover img{transform:scale(1.06)}.zoom-icon{position:absolute;right:3px;bottom:3px;width:18px;height:18px;border-radius:50%;background:#fffdf9e8;display:grid;place-items:center;color:#4f594a;font-size:14px}.dish-info{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:start}.dish h3{margin:0;font-size:12px;line-height:1.5;letter-spacing:.25px;font-weight:600;overflow-wrap:anywhere}.dish-description{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.6;white-space:pre-line}.price{white-space:nowrap;font-size:12px;font-weight:600;align-self:start;margin-top:0;line-height:1.5;font-variant-numeric:tabular-nums}.dish.no-photo{min-height:76px}.dish.no-photo .dish-info{padding-left:2px}
dialog{position:fixed;inset:0;border:0;border-radius:20px;padding:0;background:var(--bg);color:var(--ink);width:min(92vw,620px);max-height:90dvh;overflow:auto;box-shadow:0 20px 100px #0004}dialog::backdrop{background:#211b16c9;backdrop-filter:blur(7px)}.photo-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 8px 22px;font-size:11px;letter-spacing:2px;color:var(--sage)}.icon-button{width:44px;height:44px;border:0;background:transparent;font-size:30px;font-weight:300;border-radius:50%}.photo-stage{background:#e9e4dc;display:grid;place-items:center;min-height:180px}.photo-stage img{width:auto;height:auto;max-width:100%;max-height:60dvh;object-fit:contain;display:block}.photo-caption{display:grid;grid-template-columns:1fr auto;gap:8px 16px;padding:20px 22px 24px}.photo-caption h2{font-size:15px;margin:0;line-height:1.5}.photo-caption span{font-size:14px;white-space:nowrap}.photo-caption p{grid-column:1/-1;white-space:pre-line;color:var(--muted);font-size:13px;margin:0;line-height:1.6}.locked{overflow:hidden}
@media(min-width:700px){.menu-shell{padding:0 32px 48px}.restaurant{padding-top:48px}.restaurant h1{font-size:36px}.category-label{font-size:15px}.dish h3{font-size:13px}.dish-description{font-size:12px}.dish{gap:18px}.price{font-size:13px}}
@media(max-width:350px){.menu-shell{padding-left:16px;padding-right:16px}.restaurant h1{font-size:28px}.contact{font-size:11px}.category-label{font-size:12px;padding:0 12px}.dish{gap:10px}.dish h3{font-size:11px}.price{font-size:11px}.chevron{margin-right:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}

/* Compact home: keep every category reachable when the viewport is short. */
.home-shell{padding:0 max(14px,env(safe-area-inset-right)) max(8px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left))}
.home-shell .restaurant{text-align:left;padding:calc(12px + env(safe-area-inset-top)) 0 8px}
.brand-row{display:flex;align-items:center;gap:10px}
.home-shell .logo{width:40px;height:40px;margin:0;flex-shrink:0}
.home-shell .restaurant h1{font-size:25px;letter-spacing:-.65px;margin:0;line-height:1.2}
.contact-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:4px;align-items:center}
.home-shell .contact{font-size:11px;line-height:1.45;min-height:44px;margin:0;width:100%;gap:5px}
.home-shell .contact.phone{font-size:11px;letter-spacing:0;white-space:nowrap}
.home-shell .contact svg{width:13px;height:13px}
.home-shell .menu-heading{padding:0 0 8px;gap:12px;min-height:28px}
.home-shell .menu-heading h2{font-size:19px}
.home-shell .menu-heading span{font-size:9px}
.home-shell .categories{gap:6px}
.home-shell .category{height:clamp(48px,calc((100svh - 250px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/9),62px);border-radius:11px}
.home-shell .category-image{width:29%}
.home-shell .category-image img{opacity:1;filter:saturate(.78)}
.home-shell .category-image:after{background:linear-gradient(90deg,#f8f5ef00 65%,#fffdf926)}
.home-shell .category-label{font-size:13px;letter-spacing:1px;padding:0 15px}
.home-shell .category.no-image .category-label{padding-left:16px}
.home-shell .category.no-image:before{height:20px;margin-left:18px}
.home-shell .chevron{margin-right:16px;font-size:21px}
.home-shell .page-footer{margin:6px 0 0;font-size:9px;line-height:1.3}
.home-shell .page-footer a{padding:8px 12px}
@media(max-width:350px){.home-shell .restaurant h1{font-size:23px}.home-shell .contact-row{gap:6px}.home-shell .contact{font-size:10px}.home-shell .contact.phone{font-size:10px}.home-shell .category-label{font-size:12px}}
