html{scroll-padding-top:calc(var(--topbar-h) + var(--anchor-pad))}

html.js{scroll-padding-top:calc(var(--topbar-h) + var(--menubar-h) + var(--anchor-pad))}

.cat-sec{margin:34px 0 0}
.cat-sec .bar{padding:11px 18px 12px; display:flex; align-items:center; gap:10px}
.cat-sec .bar-count{margin-left:auto}
.sec-more{margin:16px 4px 0; font-size:.86rem}

.sec-more a{color:var(--green); font-weight:600;
  display:inline-block; padding-block:4px}

body.menu-cat-page .hero{padding:18px 0 4px}
body.menu-cat-page .cat-split{margin-top:calc(var(--sec-gap) / 2)}
body.menu-cat-page .cat-sec:first-of-type{margin-top:calc(var(--sec-gap) / 2)}

@media (min-width:1080px){
  
  html{scroll-padding-top:calc(var(--topbar-h) + var(--anchor-pad))}
  html.js{scroll-padding-top:calc(var(--topbar-h) + var(--menubar-h) + var(--anchor-pad))}
}

.chipnav{position:sticky; top:var(--topbar-h); z-index:39; height:var(--chipnav-h);
  background:var(--glass); backdrop-filter:blur(8px); border-bottom:1px solid var(--hair)}
@media (max-width:1079px){
  
  .chipnav{position:static; height:auto}

  
  html.js .chipnav{display:none}
  
  html.js .chipnav.open{display:block; position:fixed; left:0; right:0;
    top:var(--cats-top, calc(var(--topbar-h) + var(--menubar-h))); z-index:37;
    max-height:calc(100vh - var(--cats-top, calc(var(--topbar-h) + var(--menubar-h))) - 12px);
    overflow-y:auto; overscroll-behavior:contain; background:var(--paper);
    border-bottom:1px solid var(--line);
    box-shadow:0 18px 30px -22px rgba(7,64,36,.55)}
  html.js .chipnav.open::after{content:none}   
  html.js .chipnav.open .wrap{flex-direction:column; gap:0; overflow:visible;
    height:auto; padding:8px 18px 14px}
  html.js .chipnav.open .chip{width:100%; justify-content:flex-start; flex:none;
    border:0; border-radius:8px; background:none; color:var(--ink);
    min-height:44px; padding:8px 12px; font-size:.95rem}
  html.js .chipnav.open .chip.on{background:var(--green); color:#fff; font-weight:600}
  
  .catsbtn{flex:none}
}
@media (min-width:1080px){
  
  .catsbtn{display:none}
}
.chipnav .wrap{display:flex; gap:8px; overflow-x:auto; padding:10px 0; height:100%;
  scrollbar-width:none; -webkit-overflow-scrolling:touch}
.chipnav .wrap::-webkit-scrollbar{display:none}

.chipnav{position:relative}
.chipnav::after{content:""; position:absolute; top:0; right:0; bottom:0; width:34px;
  pointer-events:none; background:linear-gradient(to right, rgba(251,250,245,0), var(--paper))}
.chip{flex:none; padding:7px 14px; border-radius:999px; border:1.5px solid var(--green);
  color:var(--green); background:var(--card); font-size:.83rem; font-weight:500;
  text-decoration:none; transition:background .15s,color .15s; align-self:center}
.chip.on,.chip:hover{background:var(--green); color:#fff}

@media (min-width:1080px){
  
  
  
  body.menu-page{display:grid;
    grid-template-columns:minmax(18px,1fr) 208px 34px minmax(0,960px) minmax(18px,1fr);
    grid-template-areas:"ann  ann  ann ann  ann"
                        "hdr  hdr  hdr hdr  hdr"
                        "left rail gap main right"
                        "ftr  ftr  ftr ftr  ftr"}
  
  body.menu-page > .ann{grid-area:ann}
  body.menu-page > .topbar{grid-area:hdr}
  body.menu-page > main{grid-area:main; width:100%; max-width:none; padding:0}
  body.menu-page > footer{grid-area:ftr}
  
  .chipnav{grid-area:rail; align-self:stretch; position:static; width:auto;
    height:auto; background:none; backdrop-filter:none; border:0; padding:0}
  .chipnav .wrap{position:sticky; width:auto;  
    
    top:calc(var(--topbar-h) + 20px);
    display:flex; flex-direction:column; max-width:none; padding:0 4px 0 0;
    
    gap:0;
    
    height:auto;
    max-height:calc(100vh - var(--topbar-h) - 24px);
    overflow-y:auto; overflow-x:hidden; scrollbar-width:thin}
  .chipnav .wrap::before{content:"Categories"; flex:none; font-size:.7rem;
    font-weight:600; letter-spacing:.18em; text-transform:uppercase;
    color:var(--green-soft); margin:0 0 8px 12px}
  
  .chip{display:flex; align-items:center; width:100%; margin-bottom:1px; padding:4px 12px;
    min-height:28px; line-height:1.25;
    border:0; border-left:3px solid transparent; border-radius:0 999px 999px 0;
    background:none; font-size:.83rem; color:var(--ink)}
  .chip:hover{background:var(--hair); color:var(--green)}
  .chip.on{background:var(--green); color:#fff; border-left-color:var(--gold); font-weight:600}

  
  .chipnav::after{content:none}
}

body.menu-page .hero{padding:22px 0 4px}
body.menu-page .hero h1{font-size:clamp(2.2rem,7vw,3.4rem)}
body.menu-page .hero .tag{font-size:.88rem; max-width:46ch}
body.menu-page .meta-pills{margin-top:12px}
body.menu-page .meta-pills .pill{font-size:.76rem; padding:5px 11px}

.menubar{position:sticky; top:var(--topbar-h); z-index:38;
  background:var(--paper); margin:0 -18px; padding:10px 18px 8px;
  border-bottom:1px solid var(--hair)}
html:not(.js) .menubar{position:static; border-bottom:0}

.menukey{margin:8px 0 0}
.filters{display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:0 2px 10px}
html:not(.js) .filters{display:none}   

.controls{display:flex; gap:10px; align-items:center; flex-wrap:wrap;
  margin:0 0 6px; padding:10px; background:var(--card); border:1px solid var(--hair);
  border-radius:var(--radius)}
html:not(.js) .controls{display:none} 
.search{flex:1; min-width:200px; display:flex; align-items:center; gap:8px;
  border:1.5px solid var(--line); border-radius:999px; padding:9px 14px; background:var(--paper)}
.search svg{width:16px; height:16px; color:var(--mut); flex:none}
.search input{border:0; outline:0; background:none; width:100%; font:inherit; color:var(--ink)}
.vegtog{display:flex; align-items:center; gap:9px; font-size:.86rem; font-weight:500;
  cursor:pointer; user-select:none}
.vegtog input{position:absolute; opacity:0}
.sw{width:42px; height:24px; border-radius:999px; background:var(--toggle-off);
  position:relative; transition:background .15s; flex:none}
.sw::after{content:""; position:absolute; top:3px; left:3px; width:18px; height:18px;
  border-radius:50%; background:#fff; transition:transform .15s; box-shadow:0 1px 3px rgba(0,0,0,.25)}
.vegtog input:checked + .sw{background:var(--veg)}
.vegtog input:checked + .sw::after{transform:translateX(18px)}
.vegtog input:focus-visible + .sw{outline:3px solid var(--gold); outline-offset:2px}
.legend{display:flex; flex-wrap:wrap; gap:14px; font-size:.76rem; color:var(--mut);
  margin:0 2px; align-items:center}
.legend .mk{margin-right:4px}
.count{font-size:.8rem; color:var(--green-soft); font-weight:500; margin:6px 2px 0}
.count:empty{display:none}
.noresults{display:none; margin:26px 4px; color:var(--mut); font-size:.9rem}
body.searching .noresults.show{display:block}

section.menu-sec{margin:34px 0 0}
html.js section.menu-sec{margin:8px 0 0}
html.js .menu-sec.open{margin:22px 0 0}
html.js .menu-sec.open + .menu-sec{margin-top:22px}
.bar{display:flex; align-items:center; gap:0; background:var(--green); color:#fff;
  border-radius:10px; margin:0}
.bar-btn{display:flex; align-items:baseline; gap:12px; flex:1; min-width:0;
  background:none; border:0; color:inherit; font:inherit; text-align:left;
  padding:11px 18px 12px; min-height:44px; border-radius:10px; cursor:default}
html.js .bar-btn{cursor:pointer; padding:10px 16px 11px}
.bar-title{font-family:Fraunces,"Fraunces Fallback",Georgia,serif; font-weight:600; font-size:1.22rem;
  letter-spacing:.06em; text-transform:uppercase; margin-right:auto}
html.js .bar-title{font-size:1.05rem}
html.js .menu-sec.open .bar-title{font-size:1.22rem}
@media (prefers-reduced-motion: no-preference){
  html.js .bar{transition:background .15s}
}
.bar .unit{font-size:.78rem; opacity:.9; letter-spacing:.04em; white-space:nowrap}
.bar-count{font-size:.72rem; opacity:.75; white-space:nowrap; display:none}
html.js .bar-count{display:inline}
.bar-caret{display:none; flex:none; width:10px; height:10px; align-self:center;
  border-right:2px solid #fff; border-bottom:2px solid #fff;
  transform:rotate(45deg) translateY(-2px); opacity:.9}
html.js .bar-caret{display:inline-block}
html.js .menu-sec.open .bar-caret{transform:rotate(225deg) translateY(-2px)}
@media (prefers-reduced-motion: no-preference){
  .bar-caret{transition:transform .15s}
}

html.js .sec-panel{display:none}
html.js .menu-sec.open .sec-panel{display:block}
html.js:not(.menu-ready) .menu-sec:target .sec-panel{display:block}

html.js.uf .sec-panel{display:block}
html.js.uf .sec-panel[hidden]{content-visibility:hidden}

.sec-lead{font-size:.85rem; color:var(--mut); margin:10px 4px 0}
.grp{margin-top:6px}
.grp h3{display:flex; align-items:baseline; gap:10px; font-family:Fraunces,"Fraunces Fallback",Georgia,serif;
  color:var(--green); font-size:1.02rem; font-weight:600; letter-spacing:.05em;
  text-transform:uppercase; margin:22px 4px 4px; padding-bottom:6px;
  border-bottom:2px solid var(--hair)}
.grp h3 .unit{margin-left:auto; font-family:Poppins,"Poppins Fallback",sans-serif;
  font-size:.72rem; font-weight:500; color:var(--mut); letter-spacing:.03em;
  text-transform:none}
ul.items{list-style:none; margin:6px 0 0; padding:0}
li.it{padding:9px 4px; break-inside:avoid}
li.it + li.it{border-top:1px dashed var(--hair)}
.row{display:flex; align-items:baseline; gap:10px}
.nm{font-weight:500}
.ld{flex:1; border-bottom:2px dotted var(--line); transform:translateY(-4px); min-width:24px}
.pr{font-weight:600; color:var(--green); white-space:nowrap; font-variant-numeric:tabular-nums}
.ds{margin:3px 0 0; font-size:.82rem; color:var(--mut); max-width:62ch}
.mk{display:inline-block; width:9px; height:9px; border-radius:50%; vertical-align:baseline;
  margin-left:6px; position:relative; top:-1px}
.mk.v{background:var(--veg)}

.mk.n{background:var(--red); border-radius:2px}
.mk.v{border-radius:50%}
.chl{font-size:.78em; margin-left:4px; letter-spacing:-.1em}
.opt{display:inline-block; margin-left:8px; padding:2px 9px; border-radius:999px;
  background:var(--opt-bg); color:var(--opt-ink); font-size:.68rem; font-weight:600;
  vertical-align:middle; position:relative; top:-1px}
@media (min-width:860px){
  .g2 ul.items{display:grid; grid-template-columns:1fr 1fr; column-gap:46px}
  .g2 li.it{border-top:1px dashed var(--hair)}
  .g2 li.it:nth-child(1),.g2 li.it:nth-child(2){border-top:0}
}
li.hide,.grp.hide,section.hide{display:none}
body.vegonly li.nvonly{display:none}

.jumpstrip{display:flex; flex-wrap:wrap; gap:6px; margin:12px 0 0}
.jump{flex:none; padding:5px 11px; border-radius:999px; border:1px solid var(--line);
  color:var(--green); background:var(--card); font-size:.78rem; font-weight:500;
  text-decoration:none}
.jump:hover{background:var(--green); color:#fff}
.grp h3[id]{scroll-margin-top:calc(var(--sticky-stack) + var(--anchor-pad))}

.note-dietary{margin-top:30px}

@media (min-width:1080px){
  
  .menubar{margin:0}

  
  body.menu-page .hero{text-align:left; padding-top:30px}
  body.menu-page .hero .tag{margin-left:0}
  body.menu-page .meta-pills{justify-content:flex-start}
}

.it.soldout .nm, .it.soldout .pr{opacity:.55}
.it.soldout .pr{text-decoration:line-through}
.sold{display:inline-block; margin-left:8px; padding:1px 7px; border-radius:999px;
  background:var(--hair); color:var(--green); font-size:.68rem; font-weight:600;
  letter-spacing:.02em; vertical-align:1px; text-decoration:none; opacity:1}

.menu-cta{margin:46px 0 0; padding:26px 20px 28px; border-radius:var(--radius);
  background:var(--green); color:var(--footer-ink); text-align:center}
.menu-cta-h{margin:0 0 8px; font-size:1.25rem}
.menu-cta-p{margin:0 auto 18px; max-width:46ch; font-size:.92rem; color:var(--footer-dim)}
.menu-cta .linkrow{display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin:0 0 10px}
.cta-actions{display:flex; flex-direction:column; gap:24px; align-items:center}
.cta-primary, .cta-secondary{display:flex; flex-wrap:wrap; gap:10px; justify-content:center}
.cta-secondary{border-top:1px solid var(--green-soft); padding-top:24px; width:100%; max-width:600px}
.cta-sec-label{width:100%; font-size:0.85rem; font-weight:600; text-transform:uppercase; color:var(--gold); letter-spacing:0.5px; margin-bottom:4px}
@media print{ .menu-cta{display:none} }

@media print{
  .chipnav,.controls,.count,.noresults,.cats,.jumpstrip,.bar-caret,.bar-count{display:none !important}
  .bar{-webkit-print-color-adjust:exact; print-color-adjust:exact}
  .sec-panel{display:block !important; content-visibility:visible !important}
  .sec-panel[hidden]{content-visibility:visible !important}
  li.hide,.grp.hide{display:revert !important}
  section.hide{display:block !important}
  section.menu-sec{margin:24px 0 0}
  body.vegonly li.nvonly{display:revert !important}
}
