@font-face{font-family:'Me Display';src:url('./assets/fonts/me-display-regular.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Cormorant;src:url('./assets/fonts/cormorant-garamond-medium.woff2') format('woff2');font-style:normal;font-weight:500;font-display:swap}
@font-face{font-family:Cormorant;src:url('./assets/fonts/cormorant-garamond-italic.woff2') format('woff2');font-style:italic;font-weight:400;font-display:swap}
@font-face{font-family:'DM Sans';src:url('./assets/fonts/dm-sans-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}

:root{--paper:#f8f5ef;--ink:#20292a;--muted:#706e65;--line:#ded5c9;--accent:#936b50;--sand:#eae1d5;--serif:Cormorant,Georgia,serif;--sans:'DM Sans',Arial,sans-serif}
*{box-sizing:border-box}
.icon{display:inline-block;background:currentColor;-webkit-mask:var(--icon) center/contain no-repeat;mask:var(--icon) center/contain no-repeat}
.pizza-art,.dessert-art{display:block;object-fit:contain;mix-blend-mode:multiply}
html{scroll-behavior:smooth;scroll-padding-top:145px}
body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:14px;-webkit-font-smoothing:antialiased}
body::before{content:'';position:fixed;inset:0;pointer-events:none;z-index:10;opacity:.11;background-image:url('./assets/paper-texture.svg')}
button,input,a{-webkit-tap-highlight-color:transparent}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit;text-decoration:none}
button{border:0;background:none}
button:focus-visible,a:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
button,input{touch-action:manipulation}
button:disabled{cursor:default}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.skip-link{position:fixed;top:12px;left:12px;z-index:30;background:var(--ink);color:var(--paper);padding:12px 20px;transform:translateY(-150%)}
.skip-link:focus{transform:translateY(0)}
.page-shell{max-width:1200px;margin:auto;padding:0 48px}
main{padding-bottom:36px}
.site-header{height:128px;display:flex;justify-content:center;align-items:center;position:relative}


.logo-link{display:block;line-height:0;transition:transform .25s}
.logo-link:hover{transform:rotate(-5deg)}
.logo{width:77px;height:82px;object-fit:contain}
.hero{position:relative;text-align:center;padding:27px 100px 25px}
h1{font-family:'Me Display',var(--sans);font-weight:400;font-size:clamp(46px,5.9vw,72px);line-height:1.15;letter-spacing:-.5px;margin:0 0 17px;text-wrap:balance}
.category-description{color:var(--muted);font-size:14px;line-height:1.8;max-width:540px;margin:0 auto;text-wrap:pretty}


.navigation-wrap{position:sticky;top:0;z-index:12;padding:14px 0}
/* Fade the frosted background, keeping the category buttons crisp. */
.navigation-wrap::before{content:'';position:absolute;inset:0 0 -24px;z-index:-1;pointer-events:none;background:rgb(248 245 239 / .96);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);-webkit-mask-image:linear-gradient(to bottom,#000 calc(100% - 32px),transparent);mask-image:linear-gradient(to bottom,#000 calc(100% - 32px),transparent)}
.category-nav{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:12px;scrollbar-width:none}
.category-nav::-webkit-scrollbar{display:none}
.category-button{position:relative;border:1px solid var(--line);border-radius:11px;min-height:102px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:5px;padding:10px 5px 12px;transition:background .2s,border-color .2s,transform .2s}
.category-button .icon{width:44px;height:44px;flex:none}
.category-button span{font:500 20px/1.15 var(--serif)}
.category-button:hover{background:#f0eae0;border-color:#bcaa95;transform:translateY(-2px)}
.category-button[aria-pressed=true]{background:var(--sand);border-color:#b8a48c}
.nav-scroll{position:absolute;right:-15px;top:32px;width:30px;height:55px;padding:4px;background:var(--paper);box-shadow:-8px 0 12px var(--paper)}
.nav-scroll .icon{width:22px;height:22px}
.subcategory-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:12px 0 4px}
.subcategory-button{min-height:39px;padding:9px 16px;border-radius:30px;border:1px solid transparent;font-size:11px;color:var(--muted);transition:background .2s}
.subcategory-button:hover{background:var(--sand)}
.subcategory-button[aria-pressed=true]{border-color:var(--line);color:var(--ink);background:#eee7db}
.menu-section{padding-top:22px;outline:none}
.menu-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px;min-height:38px}
.list-heading{display:flex;align-items:center;gap:11px}
.list-heading h2{font-size:11px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;margin:0}
.item-count{display:grid;place-items:center;min-width:23px;height:23px;padding:0 6px;border:1px solid var(--line);border-radius:50px;font-size:10px;color:var(--muted)}
.item-count:empty{display:none}
.search-field{display:flex;align-items:center;gap:9px;min-width:0;width:216px;position:relative;border-bottom:1px solid var(--line);padding:7px 0}
.search-field>.icon{flex:none;width:17px;height:17px;color:#8b8071}
.search-field input{border:0;background:none;outline:none;width:100%;min-width:0;padding:4px 20px 4px 0;font-size:11px;line-height:1.4;border-radius:0}
.search-field:focus-within{border-color:var(--accent)}
.search-field input:focus-visible{outline:none}
.search-field input::placeholder{color:#807b72}
.search-field input::-webkit-search-cancel-button{-webkit-appearance:none}
.clear-search{position:absolute;right:-9px;top:0;width:36px;height:36px;font-size:23px;color:var(--muted)}
.search-context{margin:0 0 20px;color:var(--muted);font-size:12px;line-height:1.6}
.menu-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px 17px}
.menu-card{min-width:0}
.item-button{width:100%;height:100%;min-height:141px;display:flex;align-items:center;text-align:left;border:1px solid var(--line);border-radius:13px;padding:19px 17px 19px 14px;gap:14px;background:rgb(255 255 255 / .13);transition:background .2s,border-color .2s,box-shadow .2s}
.item-button:not(:has(.item-art)){padding-left:20px;padding-right:20px}
.item-button:hover{background:#f0e9df;border-color:#bfae99;box-shadow:0 4px 15px #34291905}
.item-art{flex:0 0 95px;width:95px;height:95px;transition:transform .4s;color:#333733}
.item-button:hover .item-art{transform:rotate(7deg)}
.item-copy{display:flex;flex:1;min-width:0;flex-direction:column;gap:6px}
.item-name{font-family:var(--serif);font-size:27px;font-weight:500;line-height:1.04;letter-spacing:-.4px;overflow-wrap:anywhere}
.item-description{color:var(--muted);font-size:12px;line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item-origin{font-size:9px;letter-spacing:.8px;text-transform:uppercase;color:var(--accent);line-height:1.6}
.item-price{font:500 27px/1 var(--serif);white-space:nowrap;margin-left:3px;align-self:center;letter-spacing:-.5px}
.item-price .currency{font-size:20px;margin-left:2px}
.item-arrow{display:grid;place-items:center;flex:0 0 30px;height:30px;border:1px solid #c2b29e;border-radius:50%;color:#8e7c68;transition:background .2s,transform .2s}
.item-arrow .icon{width:20px;height:20px}
.item-button:hover .item-arrow{background:#e4d9ca;transform:translateX(2px)}
.menu-section-heading{grid-column:1/-1;display:flex;align-items:center;gap:15px;margin:15px 0 1px;font:500 26px/1.2 var(--serif)}
.menu-section-heading:first-child{margin-top:0}
.menu-section-heading::after{content:'';flex:1;height:1px;background:var(--line)}
.section-price{color:var(--muted);font-size:20px}
.extra-note{display:flex;align-items:center;gap:16px;padding:21px 25px;margin-top:21px;border-radius:11px;background:#ede6da80}
.extra-note>.icon{flex:none;width:38px;height:38px;color:#746851}
.extra-copy{flex:1}
.extra-copy h3{margin:0 0 5px;font-size:11px;font-weight:400;letter-spacing:.4px}
.extra-copy p{margin:0;font-size:11px;line-height:1.6;color:var(--muted)}
.extra-price{white-space:nowrap;font:500 24px var(--serif)}
.loading-message{grid-column:1/-1;text-align:center;color:var(--muted);padding:60px 15px;font-size:13px}
.empty-state{grid-column:1/-1;text-align:center;border:1px dashed var(--line);border-radius:12px;padding:48px 20px}
.empty-state>.icon{width:55px;height:55px;color:var(--accent)}
.empty-state h3{font:500 30px var(--serif);margin:16px 0 10px}
.empty-state p{font-size:12px;color:var(--muted);line-height:1.8}
.text-button{min-height:44px;border-bottom:1px solid var(--accent);color:var(--accent);padding:9px 0;font-size:12px}
.item-dialog{padding:0;position:fixed;border:1px solid var(--line);border-radius:20px;background:var(--paper);color:var(--ink);width:min(520px,calc(100% - 36px));max-height:calc(100dvh - 60px);box-shadow:0 24px 100px #201d1929;overflow:auto;overscroll-behavior:contain}
.item-dialog[open]{animation:dialog-enter .25s ease-out}
.item-dialog::backdrop{background:#22251fe0;background:rgb(32 37 31 / .45);backdrop-filter:blur(4px)}
.dialog-close{position:sticky;top:17px;margin:17px 17px 0 auto;display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--line);border-radius:50%;background:var(--paper);z-index:1}
.dialog-close .icon{width:19px;height:19px}
.dialog-content{padding:0 38px 36px;margin-top:12px}
.dialog-content:has(>.dialog-art){margin-top:-20px}
.dialog-art{display:block;width:160px;height:160px;margin:0 auto 21px;color:#3c4138}
.dialog-category{text-align:center;font-size:9px;letter-spacing:2px;color:var(--accent);text-transform:uppercase;margin:0 0 13px;line-height:1.6}
.dialog-title-row{display:flex;align-items:baseline;justify-content:space-between;gap:20px;margin-bottom:17px}
.dialog-title-row h2{font:500 40px/1.06 var(--serif);letter-spacing:-.6px;margin:0;overflow-wrap:anywhere}
.dialog-price{white-space:nowrap;font:500 29px var(--serif)}
.dialog-description{font-size:13px;line-height:1.9;color:#716c62;margin:0 0 24px;white-space:pre-line}
.dialog-block{border-top:1px solid var(--line);padding-top:20px;margin-top:21px}
.dialog-block h3{font-size:9px;font-weight:400;letter-spacing:1.5px;text-transform:uppercase;margin:0 0 12px;color:var(--accent)}
.allergen-tags{display:flex;flex-wrap:wrap;gap:7px}
.allergen-tags>span{font-size:11px;border:1px solid var(--line);border-radius:30px;padding:6px 12px}
.allergen-pill{display:inline-flex;align-items:center;gap:6px;max-width:100%}
.allergen-icon{width:16px;height:16px;flex:none}
.item-allergens{gap:4px;margin-top:3px}
.item-allergens>.allergen-pill{font-size:10px;line-height:1.3;padding:3px 7px;gap:4px;color:var(--muted)}
.item-allergens .allergen-icon{width:13px;height:13px}
.dialog-small{font-size:11px;color:var(--muted);line-height:1.8;margin:13px 0 0}
.pairing{display:flex;align-items:center;gap:14px;padding:17px 18px;border-radius:12px;background:var(--sand);margin-top:24px}
.pairing>.icon{width:40px;height:40px;flex:none}
.pairing-copy{flex:1;min-width:0}
.pairing-label{display:block;text-transform:uppercase;letter-spacing:1px;font-size:8px;color:var(--accent);margin-bottom:5px}
.pairing-name{display:block;font:500 23px/1.2 var(--serif)}
.pairing-link{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border:1px solid #c2b29e;border-radius:50%;color:#8e7c68;transition:background .2s,transform .2s}
.pairing-link .icon{width:20px;height:20px}
.pairing-link:hover{background:#ded2c1;transform:translateX(2px)}
.noscript-note{position:fixed;bottom:20px;left:20px;right:20px;background:var(--ink);color:var(--paper);padding:20px;z-index:40}
@keyframes dialog-enter{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}

@media(min-width:1450px){.page-shell{max-width:1270px;padding:0 55px}.hero{padding-top:33px;padding-bottom:30px}.item-button{min-height:151px}.item-art{flex-basis:105px;width:105px;height:105px}.item-name{font-size:29px}.item-description{font-size:12px}}
@media(max-width:1000px){.page-shell{padding:0 30px}.hero{padding-left:80px;padding-right:80px}.category-nav{gap:8px}.item-button{gap:10px;padding:16px 12px;min-height:137px}.item-art{flex-basis:75px;width:75px;height:75px}.item-name{font-size:24px}.item-price{font-size:24px}.item-arrow{flex-basis:25px;height:25px}.item-description{font-size:10px}}
@media(max-width:760px){.page-shell{max-width:620px;padding:0 22px}.site-header{height:111px}.logo{width:66px;height:70px}.hero{padding:22px 25px 17px}h1{font-size:53px;letter-spacing:-1.8px;max-width:460px;margin:0 auto 14px}.category-description{font-size:13px;line-height:1.8;max-width:430px}.navigation-wrap{margin:0 -22px;padding:12px 22px}.category-nav{display:flex;gap:9px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 0 4px;scroll-padding-left:0}.category-button{flex:0 0 86px;min-height:94px;scroll-snap-align:start;padding:10px 4px 13px}.category-button span{font-size:20px}.category-button .icon{width:40px;height:40px}.category-button:hover{transform:none}.nav-scroll{right:0;top:29px;width:24px}.subcategory-nav{gap:3px;margin-top:8px}.subcategory-button{padding:9px 12px;font-size:10px}.menu-section{padding-top:17px}.menu-toolbar{margin-bottom:17px}.list-heading h2{font-size:10px;letter-spacing:1px}.list-heading{gap:8px}.search-field{width:177px}.search-field input{font-size:11px}.menu-grid{grid-template-columns:1fr;gap:12px}.item-button{min-height:132px;padding:14px 16px 14px 11px;gap:15px}.item-art{width:92px;height:92px;flex-basis:92px}.item-name{font-size:28px}.item-description{font-size:11px;line-height:1.65}.item-price{font-size:27px}.item-arrow{flex-basis:30px;height:30px}.extra-note{padding:19px 17px}.item-dialog{max-height:calc(100dvh - 30px)}html{scroll-padding-top:145px}}
@media(max-width:450px){.page-shell{padding:0 17px}main{padding-bottom:28px}.site-header{height:99px}.logo{width:61px;height:65px}.hero{padding:18px 6px 14px}h1{font-size:47px;max-width:330px}.category-description{font-size:12.5px;max-width:328px}.navigation-wrap{margin:0 -17px;padding:10px 17px}.category-button{flex-basis:79px;min-height:87px;gap:4px}.category-button .icon{width:38px;height:38px}.category-button span{font-size:18px}.category-nav{gap:8px}.menu-section{padding-top:12px}.menu-toolbar{gap:10px;margin-bottom:14px}.list-heading h2{font-size:9px;letter-spacing:.9px}.item-count{font-size:9px;min-width:20px;height:20px;padding:0 5px}.list-heading{gap:6px}.search-field{width:148px;gap:7px}.search-field input{font-size:10px}.search-field>.icon{width:15px;height:15px}.item-button{min-height:121px;gap:10px;padding:13px 11px 13px 8px}.item-art{width:76px;height:76px;flex-basis:76px}.item-name{font-size:24px}.item-description{font-size:10px;line-height:1.65}.item-copy{gap:5px}.item-price{font-size:25px;margin-left:0}.item-price .currency{font-size:18px;margin-left:1px}.item-arrow{flex-basis:25px;height:25px}.item-arrow .icon{width:18px;height:18px}.extra-note{gap:12px;padding:17px 14px}.extra-copy p{font-size:10px}.extra-note>.icon{width:32px;height:32px}.dialog-content{padding:0 26px 30px}.dialog-art{width:145px;height:145px}.dialog-title-row h2{font-size:36px}.dialog-description{font-size:12px}.item-dialog{width:100%;max-width:100%;margin:auto 0 0;border-radius:22px 22px 0 0;max-height:92dvh;padding-bottom:env(safe-area-inset-bottom)}}
@media(max-width:760px){.nav-scroll .icon{width:18px;height:18px}.item-description{font-size:11.5px}.search-field input{font-size:16px;line-height:20px;padding-top:2px;padding-bottom:2px}.search-field input::placeholder{font-size:11px}}
@media(max-width:350px){.item-art{width:62px;height:62px;flex-basis:62px}.item-name{font-size:22px}.item-arrow{display:none}.search-field{width:128px}.list-heading h2{font-size:8px}.hero h1{font-size:43px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media print{body{background:white;font-size:12px}body::before,.site-header,.navigation-wrap,.subcategory-nav,.search-field,.item-arrow,.item-dialog,.skip-link{display:none!important}.page-shell{max-width:none;padding:0}.hero{min-height:0;padding:10px 0 20px}.menu-grid{gap:8px;grid-template-columns:1fr 1fr}.item-button{break-inside:avoid;min-height:100px}.item-art{width:65px;height:65px;flex-basis:65px}.item-description{display:block;overflow:visible;font-size:9px}.item-name{font-size:22px}}
