/* An editorial menu: paper, ink and a few illustrated accents. */
.menu-page{--menu-accent:#245a51;--menu-tint:#e8edde}
.menu-page[data-menu=bar]{--menu-accent:#245a51;--menu-tint:#e1eae7}
.menu-page .site-header{min-height:128px;padding:22px 0}
.menu-page .brand-logo{width:102px}
.menu-page .header-nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--petrol);text-underline-offset:7px}
.menu-hero{position:relative;text-align:center;padding:57px 170px 42px;border-bottom:1px solid var(--line);isolation:isolate}
.menu-hero h1{font:570 clamp(3.3rem,5.8vw,5.7rem)/1.02 var(--display);letter-spacing:-.03em;margin:16px auto 20px;max-width:850px}
.menu-hero h1 span{color:var(--petrol)}
.menu-hero .menu-intro{max-width:520px;margin:auto;font-size:1rem;color:var(--muted)}
.menu-hero-art{position:absolute;width:225px;top:57px;pointer-events:none;z-index:-1}
.menu-hero-art:first-child{left:-9px;transform:rotate(-8deg)}
.menu-hero-art:nth-child(2){right:-5px;transform:rotate(8deg)}
.menu-edition{display:flex;justify-content:center;align-items:center;gap:12px;margin:24px 0 0;font-size:.71rem;letter-spacing:.025em;color:var(--muted)}
.menu-edition::before,.menu-edition::after{content:'';height:1px;width:28px;background:var(--line)}
.menu-tools{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:28px 0}
.menu-switch{display:flex;align-items:stretch;gap:6px;flex-shrink:0;border:1px solid var(--line);border-radius:8px;padding:5px}
.menu-switch a{display:flex;align-items:center;justify-content:center;gap:11px;min-height:56px;padding:10px 22px;text-decoration:none;border-radius:4px;font-size:.87rem;font-weight:700}
.menu-switch a svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round}
.menu-switch a small{display:block;font-size:.68rem;font-weight:450;color:var(--muted);margin-top:1px}
.menu-switch a[aria-selected=true]{color:var(--paper);background:var(--ink)}
.menu-switch a[aria-selected=true] small{color:#d8e3d7}
@media(hover:hover) and (pointer:fine){.menu-switch a:hover:not([aria-selected=true]){background:var(--menu-tint)}}
.menu-search{display:flex;flex-direction:column;gap:7px;max-width:370px;width:100%;font-size:.73rem;font-weight:600}
.menu-search-field{position:relative;display:flex;align-items:center}
.menu-search-field svg{position:absolute;left:15px;top:16px;width:20px;height:20px;fill:none;stroke:var(--muted);stroke-width:1.6;pointer-events:none}
.menu-search input{font:400 1rem/1.4 var(--sans);background:#fcfaf4;color:var(--ink);border:1px solid #7f8a80;border-radius:5px;width:100%;min-width:0;min-height:52px;padding:12px 44px 12px 45px;appearance:none}
.menu-search input::placeholder{color:var(--muted);opacity:1}
.menu-search input:focus-visible{outline:3px solid var(--petrol);outline-offset:3px}
.menu-search input::-webkit-search-cancel-button{display:none}
.menu-clear{position:absolute;right:3px;width:44px;height:44px;font-size:1.3rem;border:0;background:transparent;color:var(--muted);cursor:pointer}
.menu-result-status{font-size:.77rem;color:var(--muted);margin:0 0 18px}
.menu-result-status:empty{display:none}
.menu-layout{display:grid;grid-template-columns:210px minmax(0,1fr);gap:clamp(28px,5vw,74px);align-items:start;padding:0 0 72px}
.menu-index{position:sticky;top:24px;max-height:min(580px,calc(100svh - 48px));overflow-y:auto;scrollbar-width:thin;padding:8px 12px 12px 0}
.menu-category-picker{display:none}
.menu-index .eyebrow{font-size:.66rem;color:var(--muted);margin-bottom:12px}
.menu-index nav{display:flex;flex-direction:column;align-items:stretch;gap:1px}
.menu-index a{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:43px;padding:9px 12px;border-radius:4px;font-size:.81rem;line-height:1.4;text-decoration:none;overflow-wrap:anywhere}
.menu-index a[aria-current=true]{background:var(--menu-tint);color:var(--ink)}
@media(hover:hover) and (pointer:fine){.menu-index a:hover{background:var(--menu-tint);color:var(--ink)}}
.menu-index a:focus-visible{outline-offset:-3px}
.menu-index a span{color:var(--muted);font-size:.7rem;font-variant-numeric:tabular-nums}
.menu-index-note{border-top:1px solid var(--line);margin-top:24px;padding-top:18px;font-size:.75rem;line-height:1.7;color:var(--muted)}
.menu-index-note a{display:inline;padding:0;text-decoration:underline;font-size:inherit}
.menu-panel{min-width:0;scroll-margin-top:24px}
.menu-panel:not([hidden])+.menu-panel{padding-top:40px;border-top:1px solid var(--line)}
.menu-chapter{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 32px;background:var(--menu-tint);border-radius:6px;margin-bottom:32px}
.menu-chapter .eyebrow{font-size:.66rem;letter-spacing:.1em}
.menu-chapter h2{font:560 clamp(1.9rem,3vw,3rem)/1.12 var(--display);letter-spacing:-.04em;margin:9px 0 9px}
.menu-chapter p:last-child{font-size:.82rem;color:var(--muted);max-width:390px}
.menu-chapter img{width:155px;flex-shrink:0}
.menu-category{scroll-margin-top:24px;margin:0 0 42px}
.menu-category-header{display:flex;align-items:baseline;gap:12px;padding-bottom:14px;border-bottom:1px solid var(--ink)}
.menu-category-number{font-size:.78rem;font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums;color:var(--menu-accent)}
.menu-category h3{font:550 clamp(1.65rem,2.5vw,2.15rem)/1.2 var(--display);letter-spacing:-.035em}
.menu-category h3:focus-visible{outline:3px solid var(--petrol);outline-offset:4px;border-radius:2px}
.menu-category-description{font-size:.83rem;color:var(--muted);margin-top:16px;white-space:pre-line}
.menu-items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:40px;list-style:none;padding:0;margin:0}
.menu-item{padding:24px 0;border-bottom:1px solid var(--line);min-width:0;break-inside:avoid}
.menu-item-heading{display:flex;justify-content:space-between;align-items:baseline;gap:14px}
.menu-item h4{font:600 1rem/1.4 var(--sans);margin:0;overflow-wrap:anywhere;hyphens:auto;letter-spacing:-.015em}
.menu-price{font:650 .93rem/1.4 var(--sans);font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}
.menu-item-description{font-size:.81rem;color:var(--muted);line-height:1.75;margin-top:7px;overflow-wrap:anywhere}
.menu-item-note{display:block;margin-top:6px}
.menu-item-size{font-size:.72rem;line-height:1.5;color:var(--muted);margin:5px 0 0}
.menu-variants{margin:10px 0 0;display:grid;gap:5px}
.menu-variants div{display:flex;justify-content:space-between;gap:14px;font-size:.78rem}
.menu-variants dt{color:var(--muted)}.menu-variants dd{margin:0;white-space:nowrap;font-variant-numeric:tabular-nums}
.menu-item details{font-size:.71rem;margin-top:10px;color:var(--muted)}
.menu-item summary{cursor:pointer;min-height:36px;display:list-item;align-content:center;width:fit-content;max-width:100%}
.menu-item details p{font-size:.73rem;line-height:1.7;margin-top:4px}
.menu-item summary:focus-visible,.menu-information summary:focus-visible{outline:3px solid var(--petrol);outline-offset:3px}
.menu-empty{padding:48px 28px;text-align:center;border:1px dashed var(--line);border-radius:6px}
.menu-empty h3{font:550 1.6rem var(--display);margin:0 0 10px}
.menu-empty p{font-size:.87rem;color:var(--muted);margin:0 auto 20px;max-width:400px}
.menu-empty button{cursor:pointer}
.menu-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.menu-information{padding:24px 0;border-top:1px solid var(--line);font-size:.82rem;color:var(--muted)}
.menu-information summary{font-weight:700;color:var(--ink);cursor:pointer;min-height:44px;align-content:center}
.menu-information p{margin:12px 0;max-width:730px;line-height:1.8}
.menu-legend{columns:2;column-gap:35px;max-width:820px;padding:0;list-style:none;font-size:.77rem}
.menu-legend li{break-inside:avoid;margin-bottom:8px}.menu-legend strong{color:var(--ink)}
.menu-closing{display:flex;align-items:center;justify-content:space-between;gap:24px;border-top:1px solid var(--line);padding:38px 0 44px}
.menu-closing h2{font:550 2rem/1.15 var(--display);letter-spacing:-.04em}
.menu-closing p{color:var(--muted);font-size:.84rem;margin-top:8px}
.menu-closing-actions{display:flex;gap:12px;flex-wrap:wrap}
.menu-page .site-footer{padding-top:24px}
/* A short, illustrated entrance on the homepage. */
.menu-preview{border-top:1px solid var(--line);padding:60px 0 66px}
.menu-preview-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;max-width:1120px;margin:auto}
.menu-preview-card{position:relative;display:flex;align-items:center;justify-content:space-between;gap:15px;min-height:235px;padding:30px 34px;background:#e8edde;text-decoration:none;border-radius:6px;overflow:hidden}
.menu-preview-card:nth-child(2){background:#e1eae7}
.menu-preview-card .eyebrow{font-size:.68rem}
.menu-preview-card h3{font:550 clamp(1.8rem,2.7vw,2.6rem)/1.13 var(--display);letter-spacing:-.035em;margin:12px 0 10px}
.menu-preview-card p{font-size:.78rem;color:var(--muted);max-width:235px;line-height:1.7}
.menu-preview-card .menu-preview-cta{display:inline-flex;align-items:center;gap:12px;margin-top:18px;font-size:.82rem;font-weight:700;color:var(--ink);text-decoration:underline;text-underline-offset:5px}
.menu-preview-card img{width:43%;max-width:220px;flex-shrink:0;transition:transform .25s}
@media(hover:hover) and (pointer:fine){.menu-preview-card:hover img{transform:rotate(-4deg) translateY(-4px)}}
@media(max-width:1100px){.menu-hero{padding-inline:125px}.menu-hero-art{width:170px;top:77px}.menu-layout{grid-template-columns:170px minmax(0,1fr);gap:32px}.menu-items{column-gap:28px}.menu-item-heading{flex-wrap:wrap;gap:4px 10px}.menu-preview-card{padding:26px}.menu-preview-card img{width:38%}}
@media(max-width:800px){.menu-hero{padding:38px 0 30px}.menu-hero-art{display:none}.menu-hero h1{font-size:3.8rem}.menu-tools{gap:18px;align-items:stretch}.menu-switch a{padding:10px 14px}.menu-search{max-width:310px;justify-content:center}.menu-layout{display:block;padding-bottom:30px}.menu-index{position:static;max-height:none;padding:0 0 20px;overflow:visible}.menu-index-desktop,.menu-index-note{display:none}.menu-category-picker{display:block;border-block:1px solid var(--line)}.menu-category-picker summary{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;min-height:64px;padding:12px 2px;cursor:pointer;color:var(--ink);font-size:.9rem;font-weight:600}.menu-category-picker summary::-webkit-details-marker{display:none}.menu-category-picker summary small{font-size:.7rem;color:var(--muted);font-weight:450}.menu-category-picker summary svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .18s}.menu-category-picker[open] summary svg{transform:rotate(180deg)}.menu-category-picker summary:focus-visible{outline:3px solid var(--petrol);outline-offset:4px}.menu-category-picker[open]{margin-bottom:5px}.menu-chapter{padding:22px 25px}.menu-chapter img{width:135px}.menu-closing{align-items:flex-start}.menu-closing-actions{max-width:270px}.menu-preview-card img{width:36%}.menu-preview-card{padding:24px;gap:8px}}
@media(max-width:600px){.menu-page .site-header{padding:22px 0 12px;gap:8px}.menu-page .brand-logo{width:92px}.menu-page .header-nav{gap:24px;flex-wrap:wrap;justify-content:center}.menu-hero h1{font-size:clamp(1.5rem,8vw + .75rem,3.65rem);letter-spacing:-.035em;line-height:1.12;margin:14px 0 17px}.menu-hero .menu-intro{font-size:.88rem;max-width:330px}.menu-hero{padding:32px 0 26px}.menu-tools{flex-direction:column;gap:19px;padding:23px 0}.menu-switch{width:100%}.menu-switch a{flex:1;min-width:0;gap:9px;padding:10px 6px;font-size:.82rem}.menu-switch a small{font-size:.64rem}.menu-switch a svg{width:21px;height:21px;flex-shrink:0}.menu-search{max-width:none}.menu-items{display:block}.menu-item-heading{flex-wrap:nowrap;gap:14px}.menu-item{padding:20px 0}.menu-item h4{font-size:.98rem}.menu-chapter{gap:9px;padding:22px 20px;margin-bottom:25px}.menu-chapter img{width:105px}.menu-chapter h2{font-size:1.9rem}.menu-chapter p:last-child{font-size:.76rem}.menu-chapter .eyebrow{font-size:.6rem}.menu-category{margin-bottom:32px}.menu-category h3{font-size:1.7rem}.menu-legend{columns:1}.menu-closing{display:block;padding:30px 0}.menu-closing-actions{max-width:none;margin-top:21px}.menu-closing-actions a{flex:1}.menu-preview{padding:38px 0 42px}.menu-preview-grid{grid-template-columns:1fr;gap:14px}.menu-preview-card{min-height:215px;padding:24px}.menu-preview-card img{width:41%}.menu-preview-card h3{font-size:2rem}.menu-edition{font-size:.64rem}.menu-page .header-nav a{font-size:.78rem}}
@media(max-width:450px){.menu-category-picker summary{grid-template-columns:minmax(0,1fr) 20px;gap:4px 12px}.menu-category-picker summary small{grid-column:1;grid-row:2}.menu-category-picker summary svg{grid-column:2;grid-row:1 / 3}}
@media(max-width:370px){.menu-chapter img{width:76px}.menu-chapter{padding:20px 16px}.menu-chapter h2{font-size:1.65rem}.menu-switch a{font-size:.75rem;gap:7px}.menu-item-heading{flex-wrap:wrap}.menu-price{font-size:.9rem}.menu-preview-card img{width:33%}.menu-preview-card{padding:22px}.menu-preview-card h3{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.menu-category-picker summary svg{transition:none}.menu-preview-card img{transition:none}.menu-preview-card:hover img{transform:none}}

/* Keep each menu illustration next to its own, naturally sized link group. */
@media(max-width:800px){
 .menu-picker-layout{display:grid;gap:18px;border-top:1px solid var(--line);padding:18px 0 20px}
 .menu-picker-group{display:grid;grid-template-columns:minmax(0,1fr) clamp(108px,34vw,200px);gap:clamp(12px,3vw,28px);align-items:center;min-width:0}
 .menu-picker-group:not([hidden]) ~ .menu-picker-group:not([hidden]){border-top:1px solid var(--line);padding-top:18px}
 .menu-picker-copy{min-width:0}
 .menu-picker-label{margin:0 0 8px;padding:0 4px;font-size:.67rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
 .menu-index .menu-picker-links{display:flex;flex-flow:row wrap;gap:2px 12px;padding:0;border:0;min-width:0}
 .menu-index .menu-picker-links a{flex:1 1 calc(50% - 6px);min-width:min(100%,5rem);border:0;border-radius:4px;min-height:44px;padding:8px 4px;font-size:.85rem;font-weight:500;line-height:1.45}
 .menu-index .menu-picker-links a span{display:none}
 .menu-picker-art{position:static;margin:0;padding:0;min-width:0;pointer-events:none;justify-self:center;width:100%}
 .menu-picker-art img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain}
 .menu-picker-art-matcha img{max-height:180px}
 .menu-picker-group-text{grid-template-columns:1fr}
 .menu-picker-group-text .menu-picker-links{max-width:600px}
 [data-menu-index][data-filtered] .menu-picker-group{grid-template-columns:1fr}
 [data-menu-index][data-filtered] .menu-picker-art{display:none}
}
@media(max-width:370px){
 .menu-picker-group{grid-template-columns:minmax(0,1fr) 100px;gap:10px}
 .menu-picker-group-text{grid-template-columns:1fr}
}
/* Persistent orientation uses the same category picker, without a duplicate mobile menu. */
.menu-index-top{position:sticky;top:-8px;z-index:1;background:var(--paper);padding:0 0 12px;border-bottom:1px solid var(--line);margin-bottom:16px}
.menu-enhanced .menu-index{scroll-padding-top:var(--menu-index-top-height,140px)}
.menu-index .menu-index-areas{display:flex;flex-direction:row;gap:4px;padding:4px;border:1px solid var(--line);border-radius:6px}
.menu-index-areas a{flex:1;justify-content:center;font-weight:650;min-width:0}
.menu-index .menu-quick-reservation{justify-content:center;gap:7px;margin-top:8px;padding:9px 4px;color:var(--menu-accent);font-weight:650}
.menu-quick-reservation svg{width:18px;height:18px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.menu-index .menu-quick-reservation span{font:inherit;color:inherit}
@media(max-width:800px){
 .menu-enhanced .menu-index{position:sticky;top:0;z-index:10;background:var(--paper);padding:0;margin-bottom:20px;border-bottom:1px solid var(--line)}
 .menu-index-top{position:static;display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center;padding:8px 0 6px;margin:0;border:0}
 .menu-index .menu-index-areas{flex:1 1 10rem;max-width:none}
 .menu-index-areas a{min-height:40px;padding:8px;font-size:.78rem}
 .menu-index .menu-quick-reservation{flex:1 0 auto;margin:0;min-height:44px;font-size:.76rem;padding:8px 4px}
 .menu-category-picker{border-bottom:0}
 .menu-category-picker[open]{margin-bottom:0}
 .menu-category-picker summary{grid-template-columns:minmax(0,1fr) 18px;gap:2px 12px;min-height:64px;padding:10px 4px;font-size:.8rem}
 .menu-category-picker summary small{grid-column:1;grid-row:2;font-size:.73rem;text-align:left;overflow-wrap:anywhere}
 .menu-category-picker summary svg{grid-column:2;grid-row:1 / 3;width:18px;height:18px}
 .menu-category-picker summary:focus-visible{outline-offset:-3px}
 .menu-enhanced .menu-picker-layout{position:absolute;top:100%;left:0;right:0;max-height:calc(100svh - var(--menu-nav-height,120px) - 24px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;background:var(--paper);border:1px solid var(--line);border-top:0;padding:18px 12px 20px;box-shadow:0 12px 20px #172f2714}
 .menu-picker-group{grid-template-columns:minmax(0,1fr) minmax(112px,32%);gap:18px}
 .menu-index .menu-picker-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px}
 .menu-index .menu-picker-links a{min-width:0;min-height:44px;padding:9px 4px;hyphens:auto}
 .menu-picker-art{max-width:200px}
 .menu-picker-art img{max-height:300px}
 .menu-picker-art-matcha img{max-height:200px}
 .menu-picker-group-text{grid-template-columns:1fr}
 .menu-enhanced .menu-category{scroll-margin-top:var(--menu-nav-height,120px)}
}
@media(max-width:600px){
 .menu-index .menu-picker-links{grid-template-columns:minmax(0,1fr)}
 .menu-picker-group{gap:14px}
 .menu-picker-group-text .menu-picker-links{grid-template-columns:repeat(2,minmax(0,1fr))}
 .menu-picker-label{font-size:.65rem;letter-spacing:.025em;text-transform:none}
}
@media(max-width:370px){
 .menu-index-top{gap:8px}
 .menu-index-areas a{padding-inline:6px}
 .menu-index .menu-quick-reservation{gap:4px}
 .menu-category-picker summary{grid-template-columns:minmax(0,1fr) 18px;gap:2px 12px}
 .menu-category-picker summary small{grid-column:1;grid-row:2;text-align:left}
 .menu-category-picker summary svg{grid-column:2;grid-row:1 / 3}
 .menu-picker-group{grid-template-columns:minmax(0,1fr) 112px;gap:10px}
 .menu-picker-group-text{grid-template-columns:1fr}
}
@media print{.menu-page .header-nav,.menu-tools,.menu-index,.menu-result-status,.menu-empty,.menu-closing-actions,.menu-hero-art,.menu-edition,.menu-information,.menu-page .site-footer{display:none!important}.menu-page .site-header{min-height:0;padding:0 0 15px}.menu-page .brand-logo{width:90px}.menu-hero{padding:15px 0}.menu-hero h1{font-size:30pt}.menu-hero .menu-intro{font-size:10pt}.menu-layout{display:block;padding:0}.menu-panel[hidden],.menu-category[hidden],.menu-item[hidden]{display:block!important}.menu-chapter{margin-top:25px;padding:14px 0;background:none}.menu-chapter img{width:80px}.menu-chapter h2{font-size:22pt}.menu-items{display:block}.menu-item{padding:9px 0}.menu-item-heading{display:flex;flex-wrap:nowrap}.menu-category h3{font-size:17pt}.menu-item h4{font-size:11pt}.menu-item-description{font-size:9pt}.menu-price{font-size:10pt}.menu-item details>*{display:block}.menu-category{break-before:auto;page-break-inside:auto}.menu-category-header{break-after:avoid}.menu-closing{display:none}}
