:root {
  --ink:#16383a; --ocean:#075d62; --ocean-deep:#08494d; --palm:#287548;
  --sand:#f8f1e3; --paper:#fffdf8; --line:#e4dac8; --sun:#e9a51e; --muted:#687573;
  font-family:"Segoe UI", Aptos, system-ui, sans-serif; color:var(--ink); background:var(--sand);
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { min-width:320px; margin:0; background:linear-gradient(135deg,#fcf7ec,#f1e5ce); }
a { color:inherit; }
.page-shell { width:min(100%,1120px); min-height:100vh; margin:auto; overflow:hidden; background:var(--paper); box-shadow:0 0 60px rgba(62,55,37,.09); }
.skip-link { position:fixed; z-index:4; top:-52px; left:12px; padding:10px 14px; border-radius:6px; color:#fff; background:var(--ocean); }
.skip-link:focus { top:12px; }
.masthead { position:relative; padding:22px 22px; overflow:hidden; border-bottom:1px solid var(--line); background:linear-gradient(115deg,#f5efdc,#fffdf8 72%); }
.masthead::after { position:absolute; width:180px; height:180px; top:-128px; right:-55px; border:1px solid rgba(40,117,72,.13); border-radius:50%; box-shadow:0 0 0 24px rgba(40,117,72,.035),0 0 0 49px rgba(40,117,72,.025); content:""; pointer-events:none; }
.brand { display:flex; position:relative; z-index:1; align-items:center; min-height:104px; gap:16px; }
.brand img { width:100px; height:100px; flex:0 0 auto; object-fit:contain; mix-blend-mode:multiply; }
.brand-copy { min-width:0; }
.eyebrow { margin:0 0 6px; color:var(--palm); font-size:.7rem; font-weight:800; letter-spacing:.075em; line-height:1.15; text-transform:uppercase; }
h1 { margin:0; color:var(--ocean); font-size:clamp(1.6rem,6vw,2.45rem); font-weight:800; line-height:1.04; letter-spacing:-.045em; }
.tagline { margin:7px 0 0; color:#376a62; font-family:Georgia,serif; font-size:1rem; font-style:italic; }
.table-badge { align-self:flex-start; margin:0 0 0 auto; padding:8px 11px; border-radius:8px; color:#174e51; background:#f5da8e; box-shadow:inset 0 0 0 1px rgba(166,110,4,.13); font-size:.78rem; font-weight:800; white-space:nowrap; }
.menu-tools { position:sticky; z-index:2; top:0; padding:14px 20px 12px; border-bottom:1px solid var(--line); background:rgba(255,253,248,.96); backdrop-filter:blur(10px); }
.search-box { display:flex; height:48px; align-items:center; gap:11px; padding:0 15px; border:1px solid #d5ccbd; border-radius:10px; background:#fff; transition:border-color .15s,box-shadow .15s; }
.search-box:focus-within { border-color:var(--ocean); box-shadow:0 0 0 3px rgba(7,93,98,.13); }
.search-box svg { width:20px; flex:0 0 auto; fill:none; stroke:var(--ocean); stroke-width:2.1; }
input { width:100%; min-width:0; border:0; outline:0; color:var(--ink); background:transparent; font:inherit; font-size:1rem; }
.category-nav { display:flex; gap:8px; overflow-x:auto; padding:12px 1px 2px; scrollbar-width:none; }
.category-nav::-webkit-scrollbar { display:none; }
.category-nav a { display:inline-flex; min-height:35px; align-items:center; padding:7px 13px; border:1px solid #dcd3c5; border-radius:999px; color:#285457; text-decoration:none; font-size:.84rem; font-weight:700; line-height:1; white-space:nowrap; transition:background-color .15s,color .15s,border-color .15s; }
.category-nav a:hover,.category-nav a:focus-visible { border-color:var(--ocean); outline:none; color:#fff; background:var(--ocean); }
.menu { padding:7px 22px 48px; }
.category { padding-top:34px; scroll-margin-top:130px; }
.category + .category { margin-top:9px; }
.category-heading { display:flex; align-items:center; gap:10px; margin:0 0 11px; color:var(--ocean); font-size:1.4rem; font-weight:800; letter-spacing:-.035em; }
.category-heading::before { width:10px; height:10px; flex:0 0 auto; border-radius:50%; background:var(--sun); box-shadow:0 0 0 4px #fff2cc; content:""; }
.menu-list { margin:0; padding:0; list-style:none; border-top:1px solid var(--line); }
.menu-item { display:grid; grid-template-columns:minmax(0,1fr) max-content; gap:5px 20px; min-height:74px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); }
.item-name { color:#153638; font-size:1.04rem; font-weight:750; line-height:1.27; }
.item-description { grid-column:1 / 2; margin:0; color:var(--muted); font-size:.86rem; line-height:1.42; }
.price { grid-column:2; grid-row:1 / span 2; align-self:center; color:var(--ocean); font-size:1.08rem; font-weight:850; letter-spacing:-.025em; white-space:nowrap; }
.no-results { margin:36px 20px 54px; color:var(--muted); text-align:center; }
.footer { padding:42px 24px 18px; border-top:5px solid var(--sun); color:#fdf8ee; background:linear-gradient(135deg,var(--ocean-deep),#0d6668); text-align:center; }
.footer-logo { width:82px; height:82px; padding:2px; border-radius:50%; background:#fff; object-fit:contain; }
.footer p { margin:11px 0; }
.footer-tagline,.waiting { font-family:Georgia,serif; font-size:1.1rem; font-style:italic; }
address { margin:21px 0; font-size:.92rem; font-style:normal; line-height:1.5; }
.instagram-link { display:inline-flex; align-items:center; gap:7px; text-underline-offset:3px; }
.instagram-link svg { width:18px; fill:none; stroke:currentColor; stroke-width:2; }.instagram-link .dot { fill:currentColor; stroke:none; }
.payment { color:#f5d589; font-size:.88rem; font-weight:700; }
.developer-credit { display:flex; width:max-content; align-items:center; justify-content:center; gap:6px; margin:27px auto 0; padding-top:13px; border-top:1px solid rgba(255,255,255,.22); color:rgba(255,255,255,.76); font-size:.7rem; text-decoration:none; }
.developer-credit img { width:24px; height:24px; object-fit:contain; }.developer-credit:hover { color:#fff; }
:focus-visible { outline:3px solid var(--sun); outline-offset:3px; }
@media (min-width:760px) {
  .masthead { padding:26px 56px; }.brand { min-height:116px; gap:21px; }.brand img { width:116px; height:116px; }.eyebrow { font-size:.78rem; }.menu-tools { padding:16px 56px 14px; }.menu { padding:7px 56px 58px; }.footer { padding:46px 56px 20px; }.menu-item { min-height:82px; padding:19px 0; }.item-name { font-size:1.08rem; }.item-description { font-size:.9rem; }.price { font-size:1.14rem; }.category-heading { font-size:1.48rem; }
}
@media (max-width:480px) { .masthead { padding:19px 16px; }.brand { min-height:90px; gap:12px; }.brand img { width:86px; height:86px; }.eyebrow { font-size:.64rem; }.tagline { margin-top:5px; font-size:.93rem; }.table-badge { padding:7px 8px; font-size:.71rem; }.menu { padding-left:16px; padding-right:16px; }.menu-tools { padding-left:16px; padding-right:16px; }.menu-item { gap:4px 12px; }.item-name { font-size:1rem; }.price { font-size:1.02rem; }.footer { padding-left:16px; padding-right:16px; } }
@media (max-width:350px) { .masthead { padding-left:13px; padding-right:13px; }.brand { gap:9px; }.brand img { width:76px; height:76px; }.eyebrow { font-size:.57rem; letter-spacing:.055em; }.tagline { font-size:.86rem; }.table-badge { padding:6px 7px; font-size:.67rem; }.menu-tools { padding-left:13px; padding-right:13px; }.menu { padding-left:13px; padding-right:13px; }.price { font-size:.98rem; } }
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms!important; transition-duration:.01ms!important; } }
