.page-hero{padding-block:clamp(48px,7vw,96px) clamp(32px,5vw,64px)}.page-hero h1{max-width:14ch}.page-hero .lead{max-width:52ch;margin-bottom:0}.page-hero .hero-media{aspect-ratio:5/4;border-start-start-radius:var(--radius-lg);border-end-end-radius:90px}.page-hero .hero-media img{object-fit:cover;width:100%;height:100%}.menu-bar{z-index:40;background:color-mix(in srgb, var(--color-bg) 92%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-block:1px solid var(--color-border);position:sticky;top:72px}.menu-bar-inner{scrollbar-width:none;gap:8px;padding-block:12px;display:flex;overflow-x:auto}.menu-bar-inner::-webkit-scrollbar{display:none}.menu-chip{border-radius:var(--radius-pill);border:1.5px solid var(--color-border);background:var(--color-surface);min-height:44px;color:var(--color-text);white-space:nowrap;flex:none;align-items:center;padding:0 18px;font-weight:600;text-decoration:none;transition:background .2s,color .2s,border-color .2s;display:inline-flex}.menu-chip:hover{border-color:var(--color-accent);color:var(--color-text)}.menu-chip[aria-current=true]{background:var(--color-accent);border-color:var(--color-accent);color:#2b1a12}.menu-category{padding-block:clamp(28px,4vw,48px);scroll-margin-top:150px}.menu-category-head{margin-bottom:24px}.menu-category-head h2{margin-bottom:.25em}.menu-category-head p{margin:0}.menu-grid{gap:var(--gap);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));display:grid}.menu-item{flex-direction:column;padding:0;display:flex;overflow:hidden}.menu-item-photo{aspect-ratio:4/3;object-fit:cover;width:100%}.menu-item-body{flex-direction:column;flex:1;gap:8px;padding:20px 22px 22px;display:flex}.menu-item-top{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.menu-item h3{margin:0;font-size:1.2rem}.menu-price{color:var(--color-accent-text,#8a525a);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;font-weight:700}.menu-item p{margin:0}.menu-tags{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:6px;display:flex}.tag{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));color:#6a3d44;font:600 .75rem/1.4 var(--font-body);padding:3px 10px;display:inline-flex}.tag-best{background:var(--color-primary);color:var(--color-on-primary)}.menu-note{margin-top:12px}.loc-card{flex-direction:column;display:flex}.loc-card .card-body{flex-direction:column;flex:1;gap:14px;display:flex}.loc-card h3{margin:0}.loc-area{background:color-mix(in srgb, var(--color-accent) 16%, var(--color-surface));color:#6a3d44;align-self:flex-start}.loc-address{margin:0;font-style:normal}.loc-hours{gap:4px;margin:0;padding:0;font-size:.95rem;list-style:none;display:grid}.loc-note{margin:0;font-size:.9rem}.loc-actions{grid-template-columns:1fr 1fr;gap:12px;margin-top:auto;padding-top:6px;display:grid}.loc-actions .btn{width:100%;min-height:44px;padding-inline:12px}.loc-actions .loc-primary{grid-column:1/-1}.loc-actions .btn:not(.loc-primary){gap:8px}.loc-actions .btn svg{flex:none;width:18px;height:18px}.map-skeleton{color:var(--color-muted);place-items:center;font-size:.95rem;display:grid}.map-embed{position:relative}.map-frame{width:100%;height:480px;box-shadow:var(--shadow);background:var(--color-surface-2);border:0;border-radius:14px;display:block}.map-skeleton{border-radius:var(--radius);background:linear-gradient(100deg, var(--color-surface-2) 30%, color-mix(in srgb, var(--color-surface-2) 55%, #fff) 50%, var(--color-surface-2) 70%) 0 0 / 200% 100%;height:480px;animation:1.4s linear infinite map-shimmer;position:absolute;inset:0 0 auto}.map-fallback{text-align:center;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border);min-height:480px;box-shadow:var(--shadow-sm);flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:32px 20px;display:flex}.map-fallback h3,.map-fallback address{margin:0;font-style:normal}.map-caption{color:var(--color-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin:14px 4px 0;font-size:.95rem;display:flex}.map-caption a{color:var(--color-primary);font-weight:650}@keyframes map-shimmer{to{background-position:-200% 0}}@media (prefers-reduced-motion:reduce){.map-skeleton{animation:none}}@media (max-width:640px){.map-frame,.map-skeleton{height:320px}.map-fallback{min-height:320px}}.map-picker{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:24px;display:flex}.empty-note{text-align:center;max-width:52ch;margin-inline:auto}
