.menu-section{position:relative;overflow:hidden;background:var(--cream);color:var(--ink)}
.menu-section:before{content:"MENU";position:absolute;right:-.04em;top:.18em;color:transparent;-webkit-text-stroke:1px rgba(163,73,87,.12);font:800 clamp(170px,30vw,540px)/1 var(--font-display);letter-spacing:-.1em;pointer-events:none}
.menu-heading{position:relative;display:grid;grid-template-columns:1.2fr .55fr;align-items:end;gap:8vw;max-width:1500px;margin:0 auto 55px}
.menu-heading h2{font:800 clamp(58px,7.2vw,124px)/.84 var(--font-display);letter-spacing:-.08em;margin-top:22px}
.menu-heading h2 em{font:normal 1.08em/.75 var(--font-serif);letter-spacing:-.055em;color:#ae4b59}
.menu-heading>p{max-width:390px;color:#5b4e47;font-size:16px;line-height:1.65;padding-bottom:8px}
.menu-category-tabs{position:relative;display:flex;gap:8px;max-width:1500px;margin:0 auto 20px;overflow-x:auto;scrollbar-width:none}
.menu-category-tabs::-webkit-scrollbar{display:none}
.menu-tab{flex:none;border:1px solid rgba(25,19,19,.28);background:transparent;color:var(--ink);padding:14px 18px;font:800 10px/1 var(--font-display);letter-spacing:.13em;text-transform:uppercase;cursor:pointer;transition:background .25s,color .25s,border-color .25s}
.menu-tab:hover,.menu-tab.is-active{background:var(--ink);color:var(--cream);border-color:var(--ink)}
.menu-carousel{position:relative;max-width:1500px;margin:auto}
.menu-viewport{overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain;padding:18px max(1px,calc((100% - min(690px,82vw))/2)) 28px}
.menu-viewport::-webkit-scrollbar{display:none}
.menu-track{display:flex;gap:30px;width:max-content}
.menu-sheet{position:relative;isolation:isolate;flex:0 0 min(690px,82vw);min-height:650px;padding:38px clamp(28px,4vw,58px) 42px;scroll-snap-align:center;overflow:hidden;border:1px solid rgba(24,15,18,.35);box-shadow:14px 18px 0 rgba(33,21,24,.13)}
.menu-sheet:before{content:"";position:absolute;z-index:-1;inset:12px;border:1px solid rgba(27,17,20,.18);pointer-events:none}
.menu-sheet:nth-child(even){transform:rotate(.7deg)}
.menu-sheet:nth-child(odd){transform:rotate(-.5deg)}
.menu-sheet-coffee{background:#d9aa6a}.menu-sheet-food{background:#211518;color:var(--cream);border-color:#211518}.menu-sheet-sweet{background:#f74c89}.menu-sheet-drinks{background:#a33d59;color:var(--cream);border-color:#76263e}
.menu-sheet-food:before,.menu-sheet-drinks:before{border-color:rgba(255,255,255,.2)}
.menu-sheet-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid currentColor;padding-bottom:15px;font:800 10px var(--font-display);letter-spacing:.18em}
.menu-sheet-top span:last-child{font-size:25px;line-height:1}
.menu-sheet h3{font:800 clamp(55px,5.8vw,88px)/.82 var(--font-display);letter-spacing:-.08em;text-transform:uppercase;margin:35px 0 38px}
.menu-sheet h3 em{font:normal 1.12em/.7 var(--font-serif);letter-spacing:-.05em;text-transform:none}
.menu-list{position:relative;z-index:2}
.menu-item{display:flex;justify-content:space-between;gap:24px;align-items:start;border-top:1px solid currentColor;padding:16px 0}
.menu-item>div{display:flex;flex-direction:column;gap:6px}
.menu-item strong{font:800 17px/1.15 var(--font-display);letter-spacing:-.025em}
.menu-item small{font:500 12px/1.45 var(--font-body);opacity:.72}
.menu-item b{flex:none;font:800 16px/1 var(--font-display);letter-spacing:-.03em}
.menu-stamp{position:absolute;right:-17px;bottom:-17px;width:120px;aspect-ratio:1;display:grid;place-items:center;border:2px solid currentColor;border-radius:50%;font:800 12px/1 var(--font-display);letter-spacing:.08em;text-align:center;transform:rotate(-13deg);opacity:.25}
.menu-controls{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:18px;border-top:1px solid rgba(25,19,19,.3);padding-top:18px}
.menu-controls p{display:flex;align-items:center;gap:18px}.menu-current{font:800 13px var(--font-display);letter-spacing:.08em;text-transform:uppercase}.menu-controls small{font:700 8px var(--font-display);letter-spacing:.16em;color:#8a7469}
.menu-controls>div{display:flex;gap:8px}
.menu-arrow{width:54px;height:48px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:24px/1 var(--font-body);cursor:pointer;transition:background .25s,color .25s,opacity .25s}
.menu-arrow:hover:not(:disabled){background:var(--ink);color:var(--cream)}.menu-arrow:disabled{opacity:.25;cursor:not-allowed}
.menu-disclaimer{max-width:1500px;margin:28px auto 0;color:#856f64;font:800 9px/1.5 var(--font-display);letter-spacing:.14em;text-align:center}
@media(max-width:1100px){.menu-heading{grid-template-columns:1fr .55fr}.menu-sheet{min-height:630px}}
@media(max-width:760px){
  .drawer-links .chevron{grid-column:2}.mobile-menu .drawer-links a{grid-template-columns:1fr 18px}
  .menu-heading{display:block;margin-bottom:38px}.menu-heading h2{font-size:clamp(58px,15vw,90px)}.menu-heading>p{font-size:14px;margin-top:28px;max-width:330px}
  .menu-category-tabs{margin-right:-22px;padding-right:22px}.menu-tab{padding:13px 15px;font-size:9px}
  .menu-viewport{margin:0 -22px;padding:12px 22px 25px;scroll-padding-inline:22px}.menu-track{gap:14px}.menu-sheet{flex-basis:calc(100vw - 58px);min-height:610px;padding:30px 25px 38px;scroll-snap-align:start;box-shadow:9px 11px 0 rgba(33,21,24,.13)}
  .menu-sheet:nth-child(n){transform:none}.menu-sheet h3{font-size:clamp(48px,11.5vw,66px);margin:30px 0}.menu-item{gap:15px;padding:15px 0}.menu-item strong{font-size:15px}.menu-item small{font-size:11px;max-width:220px}.menu-item b{font-size:14px}.menu-stamp{width:95px}
  .menu-controls{margin-top:12px}.menu-controls small{display:none}.menu-arrow{width:48px;height:44px}.menu-disclaimer{text-align:left;font-size:8px}
}
@media(max-width:390px){.menu-sheet{min-height:590px}.menu-item small{max-width:185px}}
@media(prefers-reduced-motion:reduce){.menu-tab,.menu-arrow{transition-duration:.01ms!important}}
