/* The complete café menu: static, readable and independent of JavaScript. */
html:has(.menu-page){scroll-behavior:auto}
.menu-page .menu-lead{padding-top:28px;padding-bottom:38px;align-items:center;gap:clamp(30px,5vw,78px)}
.menu-page .menu-introduction .page-intro{padding:0;max-width:none}
.menu-page .menu-introduction .page-intro>p:last-child{max-width:36ch}
.ordering-note{margin-top:26px;padding:24px 28px;background:#e8eadc;border-left:3px solid #687253}
.ordering-note .eyebrow{margin-bottom:12px}
.ordering-note h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(25px,2.6vw,35px);line-height:1.15;margin-bottom:12px}
.ordering-note p{font-size:16px;line-height:1.65;margin-bottom:0}
.ordering-note .ordering-hours{margin-top:14px;font-size:14px;color:#515a45}
.menu-jump{display:flex;flex-wrap:wrap;gap:8px 14px;padding-top:15px;padding-bottom:15px;border-top:1px solid #d8dacd;border-bottom:1px solid #d8dacd;scroll-margin-top:20px}
.menu-jump a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;border:0;font-size:14px;line-height:1.4;text-decoration:underline;text-underline-offset:7px;text-decoration-color:#bdc3ad;background:transparent;color:#343c2c}
.menu-jump a:hover,.menu-jump a:focus-visible{background:#e8eadc;color:#343c2c;text-decoration-color:currentColor}
.full-menu{padding-bottom:26px}
.food-section{padding-block:44px 10px;scroll-margin-top:20px}
.food-heading{display:flex;align-items:baseline;gap:15px;padding-bottom:20px;border-bottom:1px solid #687253;margin-bottom:26px}
.food-heading h2{font-family:Georgia,serif;font-weight:400;font-size:clamp(32px,3.8vw,48px);line-height:1.1;margin:0;letter-spacing:-1px}
.menu-back{margin-left:auto;font-size:12px;text-underline-offset:4px;white-space:nowrap}
.food-panels{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px clamp(32px,5vw,76px);align-items:start}
.food-panel{min-width:0}
#lunch .food-panels{display:block;column-count:2;column-gap:clamp(32px,5vw,76px)}
#lunch .food-panel{break-inside:avoid;margin-bottom:28px}
.food-panel:only-child{grid-column:1/-1}
.food-panel:only-child>.food-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(32px,5vw,76px);align-items:start}
.food-panel h3{font-family:Georgia,serif;font-size:26px;font-weight:400;line-height:1.25;margin:0 0 10px}
.food-note{font-size:14px;line-height:1.55;margin-bottom:14px;color:#58604c}
.food-list,.food-choices{list-style:none;padding:0;margin:0}
.food-item{padding:13px 0;border-bottom:1px solid #e4e5dc}
.food-line{display:flex;align-items:baseline;justify-content:space-between;gap:18px;font-size:16px;line-height:1.5}
.food-name{font-weight:400;overflow-wrap:anywhere}
.food-item:has(.food-choices) .food-name{font-weight:600}
.food-price{flex-shrink:0;font-variant-numeric:tabular-nums;font-weight:600;white-space:nowrap;color:#424936}
.food-description{font-size:14px;line-height:1.6;color:#58604c;margin:5px 0 0;max-width:52ch}
.food-choices{margin-top:10px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;font-size:14px;line-height:1.5;color:#58604c}
.food-choices li{position:relative;padding-left:12px;overflow-wrap:anywhere}
.food-choices li::before{content:'·';position:absolute;left:0;color:#687253}
.menu-allergens{margin-top:38px;margin-bottom:0;padding:20px 24px;font-size:14px;line-height:1.7;background:#e8eadc;border-left:3px solid #687253}
@media(hover:hover) and (pointer:fine){.menu-jump a,.menu-back{transition:transform 160ms ease,background 160ms ease}.menu-jump a:hover,.menu-back:hover{transform:translateY(-3px)}}
@media(max-width:1000px) and (min-width:651px){.menu-page .menu-lead{gap:30px}.ordering-note{padding:20px}.food-choices{grid-template-columns:1fr}.food-line{font-size:15px}}
@media(max-width:650px){
 .menu-page .menu-lead{padding-top:20px;padding-bottom:25px;gap:23px}
 .menu-page .menu-hero{max-width:240px;margin-inline:auto}
 .menu-page .menu-introduction .page-intro>p:last-child{font-size:15px;max-width:36ch}
 .ordering-note{margin-top:20px;padding:18px 20px}
 .ordering-note h2{font-size:25px;margin-bottom:9px}
 .ordering-note p{font-size:14px;line-height:1.6}
 .ordering-note .ordering-hours{font-size:12px;margin-top:12px}
 .menu-jump{gap:4px 12px;padding-block:12px;scroll-margin-top:12px;justify-content:flex-start}
 .menu-jump a{font-size:12px;min-height:44px;padding:9px 5px;flex:0 1 auto}
 .food-section{padding-top:30px;scroll-margin-top:16px}
 .food-heading{gap:10px;margin-bottom:22px;padding-bottom:14px;flex-wrap:wrap}
 .food-heading h2{font-size:32px;letter-spacing:-.7px}
 .menu-back{font-size:11px;min-height:28px;display:inline-flex;align-items:center}
 .food-panels{grid-template-columns:minmax(0,1fr);gap:28px}
 #lunch .food-panels{column-count:1}
 #lunch .food-panel:last-child{margin-bottom:0}
 .food-panel:only-child>.food-list{grid-template-columns:minmax(0,1fr)}
 .food-panel h3{font-size:24px}
 .food-line{font-size:15px;gap:15px}
 .food-description,.food-note,.food-choices{font-size:13px}
 .food-choices{grid-template-columns:1fr;gap:8px}
 .food-item{padding-block:12px}
 .menu-allergens{font-size:12px;padding:17px 19px;margin-top:26px}
}
@media(max-width:350px){.food-heading h2{font-size:28px}.food-choices{grid-template-columns:1fr}.food-line{font-size:14px;gap:10px}.menu-jump a{padding-inline:9px}}
