.menu-item{display:flex;gap:clamp(.9rem,1.6vw,1.35rem);padding:clamp(1rem,1.8vw,1.4rem) 0;border-bottom:1px solid var(--line)}.menu-item:last-child{border-bottom:0}.menu-item-media{position:relative;flex:none;width:clamp(76px,9vw,112px);aspect-ratio:1;padding:0;border:0;border-radius:var(--r-md);cursor:pointer;transition:box-shadow var(--dur) var(--ease-out)}.menu-item-media:hover{box-shadow:var(--shadow-md)}.menu-item-zoom{position:absolute;right:5px;bottom:5px;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:rgba(11,36,41,.72);color:var(--text-invert);opacity:0;transform:translateY(4px);transition:opacity var(--dur) var(--ease-out),transform var(--dur) var(--ease-out)}.menu-item-media:focus-visible .menu-item-zoom,.menu-item-media:hover .menu-item-zoom{opacity:1;transform:translateY(0)}@media (hover:none){.menu-item-zoom{opacity:1;transform:none}}.menu-item-media img{width:100%;height:100%;object-fit:cover}.menu-item-body{flex:1 1;min-width:0}.menu-item-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.3rem}.menu-item-name{font-family:var(--font-serif);font-size:clamp(1.02rem,1.6vw,1.18rem);font-weight:600;line-height:1.25;color:var(--ink)}.menu-item-leader{flex:1 1;min-width:1.5rem;height:1px;transform:translateY(-.2rem);background-image:linear-gradient(to right,var(--line-strong) 45%,transparent 45%);background-size:6px 1px;background-repeat:repeat-x}.menu-item-price{flex:none;font-family:var(--font-serif);font-size:clamp(1rem,1.5vw,1.12rem);color:var(--teal-800);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.menu-item-description{font-size:.88rem;line-height:1.6;color:var(--muted);max-width:62ch}@media (max-width:520px){.menu-item-header{flex-wrap:wrap;gap:.15rem .6rem}.menu-item-name{flex:1 1 100%}.menu-item-leader{display:none}.menu-item-price{font-size:1rem;color:var(--teal-700)}}.menu-category{scroll-margin-top:calc(var(--nav-h) + 80px);padding-block:clamp(2rem,4vw,3.25rem);border-top:1px solid var(--line)}.menu-category:first-child{border-top:0;padding-top:clamp(1.5rem,3vw,2.5rem)}.menu-category-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-5);margin-bottom:var(--sp-4)}.menu-category-title{font-size:var(--step-3);line-height:1.05}.menu-category-title:after{content:"";display:block;width:44px;height:2px;margin-top:.9rem;background:var(--wheat)}.menu-category-count{margin-top:.75rem;font-size:.72rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}.menu-category-media{flex:none;width:clamp(120px,22vw,260px);aspect-ratio:4/3;border-radius:var(--r-md);box-shadow:var(--shadow-md)}.menu-category-media img{width:100%;height:100%;object-fit:cover}.menu-items-list{list-style:none;display:grid;grid-template-columns:1fr;grid-column-gap:clamp(2rem,5vw,4.5rem);column-gap:clamp(2rem,5vw,4.5rem)}@media (min-width:900px){.menu-items-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.menu-category-media{width:96px;aspect-ratio:1}.menu-category-title:after{margin-top:.7rem}}.category-filter{position:-webkit-sticky;position:sticky;top:var(--nav-h);z-index:var(--z-sticky);background:hsla(42,71%,97%,.92);backdrop-filter:saturate(1.3) blur(12px);-webkit-backdrop-filter:saturate(1.3) blur(12px);border-bottom:1px solid var(--line)}.category-filter-rail{display:flex;gap:.5rem;padding-block:.7rem;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.category-filter-rail::-webkit-scrollbar{display:none}.filter-btn{flex:none;min-height:42px;padding:.55rem 1.05rem;scroll-snap-align:start;white-space:nowrap;font-family:var(--font-sans);font-size:.86rem;font-weight:500;color:var(--slate);background:transparent;border:1px solid var(--line-strong);border-radius:var(--r-pill);cursor:pointer;transition:background-color var(--dur) var(--ease-out),border-color var(--dur) var(--ease-out),color var(--dur) var(--ease-out)}.filter-btn:hover{border-color:var(--teal-600);color:var(--ink)}.filter-btn.is-active{background:var(--ink);border-color:var(--ink);color:var(--text-invert);font-weight:600}@media (max-width:900px){.category-filter .container{-webkit-mask-image:linear-gradient(90deg,transparent,#000 1.25rem,#000 calc(100% - 1.25rem),transparent);mask-image:linear-gradient(90deg,transparent,#000 1.25rem,#000 calc(100% - 1.25rem),transparent)}}