.menu-content-width{max-width:62rem}.menu-introduction{padding-block:clamp(var(--space-7), 7vw, var(--space-9)) var(--space-6);border-block-end:1px solid var(--color-border);background-color:var(--color-surface)}.menu-intro-layout{gap:var(--space-5);display:grid}.menu-intro-heading,.menu-intro-summary{min-width:0}.menu-kicker,.menu-empty-state>:first-child{color:var(--color-accent-strong);font-size:var(--font-size-xs);font-weight:var(--font-weight-bold);letter-spacing:.13em;text-transform:uppercase;margin-block-end:var(--space-3)}.menu-introduction h1{max-width:10ch;margin:0;font-size:clamp(2.5rem,7vw,4.75rem)}.menu-lead{max-width:58ch;color:var(--color-text-muted);font-size:var(--font-size-lg);margin:0}.menu-intro-mark{height:var(--space-4);border-block-start:1px solid var(--color-primary);margin-block-start:var(--space-5);position:relative}.menu-intro-mark:before{width:min(35%,8rem);height:var(--space-2);background-color:var(--color-accent);content:"";position:absolute;inset-block-start:-1px;inset-inline-start:0}.menu-category-navigation{padding-block:var(--space-4);border-block-end:1px solid var(--color-border)}.menu-category-navigation ul{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.menu-category-navigation a{min-height:var(--control-min-size);padding-inline:var(--space-3);border:1px solid var(--color-border);background-color:var(--color-surface);color:var(--color-text);font-size:var(--font-size-sm);font-weight:var(--font-weight-bold);border-radius:999px;align-items:center;text-decoration:none;display:inline-flex}@media (hover:hover){.menu-category-navigation a:hover{border-color:var(--color-primary);color:var(--color-primary)}}.menu-categories{padding-block:clamp(var(--space-6), 3vw, var(--space-8))}.menu-category{scroll-margin-top:6rem}.menu-category+.menu-category{margin-block-start:var(--spacing-normal)}.menu-category h2{color:var(--color-primary-strong);margin-block-end:var(--space-5)}.menu-item-list{margin:0;padding:0;list-style:none}.menu-item{gap:var(--space-3);padding-block:var(--space-4);border-block-start:1px solid var(--color-border);display:grid}.menu-item:last-child{border-block-end:1px solid var(--color-border)}.menu-item-media{aspect-ratio:4/3;border-radius:var(--radius-sm);background-color:var(--color-surface-muted);inline-size:min(100%,7rem);overflow:hidden}.menu-item-media picture,.menu-item-media img{object-fit:cover;width:100%;height:100%}.menu-item-heading{align-items:baseline;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.menu-item-heading strong{font-family:var(--font-heading);font-size:var(--font-size-lg);line-height:var(--line-height-heading)}.menu-item-price{font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;white-space:nowrap}.menu-item p{max-width:60ch;margin:var(--space-2) 0 0;color:var(--color-text-muted)}.menu-item-status{font-weight:var(--font-weight-bold);color:var(--color-accent-strong)!important}.menu-item-allergens{font-size:var(--font-size-sm)}.menu-item-allergens span{font-weight:var(--font-weight-bold)}.menu-item--unavailable{background-color:color-mix(in srgb, var(--color-surface-muted) 45%, transparent)}.menu-empty-state{padding:var(--space-6) 0;border-block:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);margin:0;display:grid}.menu-empty-state h2{max-width:18ch;color:var(--color-primary-strong);font-size:var(--font-size-xl);margin-block-end:var(--space-3)}.menu-empty-state>:last-child{max-width:48ch;color:var(--color-text-muted);margin:0}.menu-allergen-note{padding-block:var(--spacing-compact);border-block-start:1px solid var(--color-border);background-color:var(--color-surface-muted)}.menu-allergen-note h2{font-size:var(--font-size-xl)}.menu-allergen-note p{max-width:65ch;color:var(--color-text-muted);margin:0}@media (width>=40rem){.menu-intro-layout{align-items:end;gap:clamp(var(--space-7), 7vw, var(--space-9));grid-template-columns:minmax(14rem,.85fr) minmax(20rem,1.15fr)}.menu-intro-summary{padding-block-end:var(--space-1)}.menu-item{align-items:start;gap:var(--space-4);grid-template-columns:7rem minmax(0,1fr)}.menu-item:not(:has(.menu-item-media)){grid-template-columns:minmax(0,1fr)}}
