:root { --paper:#EBE7DA; --ink:#1E2A22; --moss:#3C4B3E; --muted:#5E6357; --clay:#A2552E; --line:#CBC6B4; }
.menu-page { background:var(--paper); color:var(--ink); font-family:'Hanken Grotesk',sans-serif; }
.menu-page .site-nav a { color:var(--ink); text-decoration:none; }
.menu-page .nav-toggle { display:none; }
.menu-page .brand, .menu-page h1, .menu-page h2 { font-family:Fraunces,serif; }
.menu-page main { max-width:1200px; margin:auto; padding:0 24px 80px; }
.menu-hero { padding:clamp(56px,10vw,120px) 0 42px; border-bottom:1px solid var(--line); }
.menu-page__eyebrow, .kicker, .lbl, .terms-code { color:var(--clay); font:500 .75rem/1.2 'IBM Plex Mono',monospace; letter-spacing:.12em; text-transform:uppercase; }
.menu-hero h1 { margin:.2em 0 .15em; font-size:clamp(3.5rem,10vw,8rem); line-height:.9; font-weight:600; }
.menu-page__intro { max-width:620px; margin:0; color:var(--muted); font-size:1.1rem; line-height:1.6; }
.menu-tools { display:flex; flex-wrap:wrap; gap:20px; align-items:end; margin-top:36px; }
.menu-search { display:grid; gap:8px; min-width:min(100%,360px); color:var(--muted); font:500 .72rem 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.menu-search input { border:1px solid var(--line); border-radius:2px; padding:13px 14px; color:var(--ink); background:rgba(255,255,255,.25); font:1rem 'Hanken Grotesk',sans-serif; }
.menu-category { display:grid; gap:8px; min-width:min(100%,260px); color:var(--muted); font:500 .72rem 'IBM Plex Mono',monospace; text-transform:uppercase; letter-spacing:.08em; }
.menu-category select { border:1px solid var(--line); border-radius:2px; padding:13px 34px 13px 14px; color:var(--ink); background:var(--paper); font:1rem 'Hanken Grotesk',sans-serif; }
.source-page { padding:58px 0 20px; border-bottom:1px solid var(--line); }
.source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(28px,6vw,76px); }
.source-column { min-width:0; }
.hero-tri { margin:0 0 48px; padding:22px 0 34px; border-bottom:1px solid var(--line); }
.hero-tri .row { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.hero-tri .it { min-width:0; }
.hero-tri .r, .item .r { display:flex; gap:10px; align-items:baseline; }
.hero-tri .n, .item .n { font-family:Fraunces,serif; font-size:1.1rem; font-weight:600; }
.hero-tri .p, .item .p { margin-left:auto; color:var(--clay); font:500 .85rem 'IBM Plex Mono',monospace; white-space:nowrap; }
.hero-tri .d, .item .d { margin:.45rem 0 0; color:var(--muted); font-size:.9rem; line-height:1.5; }
.sec { margin-bottom:46px; }
.sec-head { margin-bottom:16px; }
.menu-page .sec-head h2 { text-transform:lowercase; letter-spacing:-.5px; }
.sec-head h2, .menu-terms h1 { margin:.35rem 0 .55rem; font-size:clamp(1.55rem,3vw,2.25rem); line-height:1; }
.menu-page .cont { color:var(--muted); font:500 .68em 'IBM Plex Mono',monospace; letter-spacing:.08em; text-transform:uppercase; }
.menu-page .menu-terms h1 { text-transform:lowercase; letter-spacing:-.5px; }
.rule { height:1px; background:var(--line); }
.item { padding:12px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.menu-page .item:has(.menu-item-photo) { display:flow-root; }
.menu-item-photo { float:right; width:34%; max-width:196px; min-width:144px; aspect-ratio:4/3; margin:0 0 10px 20px; overflow:hidden; border-radius:2px; }
.menu-item-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.item.hero .n { color:var(--clay); }
.dots { flex:1; border-bottom:1px dotted var(--line); transform:translateY(-.25em); }
.menu-terms { padding:70px 0 30px; max-width:820px; }
.terms-list { list-style:none; margin:24px 0; padding:0; }
.terms-list li { display:grid; grid-template-columns:40px 1fr; gap:14px; padding:15px 0; border-bottom:1px solid var(--line); }
.terms-list p { margin:0; color:var(--muted); line-height:1.6; }
.site-footer { border-top:1px solid var(--line); padding:24px; color:var(--muted); font: .75rem 'IBM Plex Mono',monospace; display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; }
.site-footer p { margin:0; }
.menu-page .item.is-hidden, .menu-page .sec.is-hidden, .menu-page .source-page.is-hidden, .menu-page .hero-tri.is-hidden { display:none; }
.menu-status { margin:18px 0 0; color:var(--muted); font: .75rem 'IBM Plex Mono',monospace; }
.drinks-page main.menu-wrap { max-width:1200px; margin:auto; padding:0 24px 80px; }
.drinks-page > .menu-hero { padding-left:max(24px, calc((100% - 1200px) / 2 + 24px)); padding-right:max(24px, calc((100% - 1200px) / 2 + 24px)); }
.drinks-page .menu-sec { padding:42px 0; border-bottom:1px solid var(--line); }
.drinks-page .menu-sec__head { margin-bottom:18px; }
.drinks-page .sign__title { color:var(--ink); font:600 clamp(1.55rem,3vw,2.25rem)/1 Fraunces,serif; }
.drinks-page .menu-cols { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 48px; }
.drinks-page .mi { padding:12px 0; border-bottom:1px solid color-mix(in srgb,var(--line) 70%,transparent); }
.drinks-page .mi h4 { display:flex; gap:10px; margin:0; color:var(--ink); font:600 1.1rem Fraunces,serif; }
.drinks-page .mi p { margin:.45rem 0 0; color:var(--muted); line-height:1.5; }
.drinks-page .price { margin-left:auto; color:var(--clay); font:500 .85rem 'IBM Plex Mono',monospace; white-space:nowrap; }
.drinks-page .mi:has(.mi-photo) { display:flow-root; }
.drinks-page .mi-photo { float:right; width:34%; max-width:196px; min-width:144px; aspect-ratio:4/3; margin:0 0 10px 20px; overflow:hidden; border-radius:2px; }
.drinks-page .mi-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.drinks-page .chips { position:static; background:var(--paper); border-bottom:1px solid var(--line); padding:16px 24px; }
.drinks-page .chips__row { max-width:1200px; margin:auto; display:flex; flex-wrap:wrap; gap:8px; }
.drinks-page .chips a { color:var(--moss); border:1px solid var(--line); border-radius:999px; padding:9px 13px; text-decoration:none; font:500 .72rem 'IBM Plex Mono',monospace; text-transform:uppercase; }
.drinks-page .terms { margin:42px auto; max-width:1200px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:24px 0; color:var(--muted); }
.drinks-page .drinks-dessert { max-width:1200px; margin:0 auto 42px; padding:42px 24px; border-bottom:1px solid var(--line); }
@media (max-width:720px) { .menu-page main { padding:0 16px 56px; } .source-grid { grid-template-columns:1fr; gap:0; } .hero-tri .row { grid-template-columns:1fr; } .source-page { padding-top:42px; } html.has-js .menu-page .nav-toggle { display:block; } html.has-js .menu-page .site-nav { display:none; position:absolute; top:100%; left:0; right:0; z-index:2; padding:16px; flex-direction:column; align-items:flex-start; background:var(--paper); border-bottom:1px solid var(--line); } html.has-js .menu-page .site-nav.is-open { display:flex; } .drinks-page > .menu-hero { padding-left:16px; padding-right:16px; } .drinks-page main.menu-wrap { padding:0 16px 56px; } .drinks-page .chips { padding:12px 16px; } .drinks-page .drinks-dessert { padding:32px 16px; } .drinks-page .menu-cols { grid-template-columns:1fr; } .menu-item-photo, .drinks-page .mi-photo { float:none; width:100%; max-width:none; min-width:0; aspect-ratio:16/9; margin:0 0 14px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; } }
.menu-item-photo { aspect-ratio:4/3; }
.drinks-page .mi-photo { aspect-ratio:3/4; }

.drinks-page .drink-photo-item { display:grid; grid-template-columns:minmax(0,1fr) clamp(116px,28%,156px); grid-template-rows:auto 1fr; gap:0 20px; align-items:start; }
.drinks-page .drink-photo-item h4 { grid-column:1; grid-row:1; display:block; line-height:1.3; }
.drinks-page .drink-photo-item h4 .dots { display:none; }
.drinks-page .drink-photo-item h4 .price { display:block; margin:8px 0 0; }
.drinks-page .drink-photo-item p { grid-column:1; grid-row:2; }
.drink-item-photo { grid-column:2; grid-row:1 / 3; aspect-ratio:3/4; overflow:hidden; border-radius:2px; }
.drink-item-photo img, .drink-section-photo img { display:block; width:100%; height:100%; object-fit:contain; }
.drinks-page #shakes .menu-sec__head { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.drink-section-photo { width:156px; margin:0; flex-shrink:0; }
.drink-section-photo img { aspect-ratio:3/4; border-radius:2px; }
@media (max-width:720px) {
  .drinks-page .drink-photo-item { grid-template-columns:minmax(0,1fr) 112px; gap:0 16px; }
  .drink-section-photo { width:112px; }
}
