:root{--ink: #17130f;--ink-soft: #2b2118;--white: #ffffff;--off-white: #fffaf0;--cream: #fff3d6;--orange: #f97316;--orange-deep: #d85a0a;--orange-soft: #fed7aa;--yellow: #facc15;--yellow-soft: #fef3c7;--ease: cubic-bezier(.22, 1, .36, 1);--container: 1160px;color:var(--ink);background:var(--ink);font-family:Times New Roman,Times,serif;scroll-behavior:smooth}*{box-sizing:border-box}html{scroll-padding-top:132px}body{margin:0;overflow-x:hidden;background:var(--ink);font-size:16px;line-height:1.55}body:has(dialog[open]){overflow:hidden}a{color:inherit}button{font:inherit}a,button{-webkit-tap-highlight-color:rgba(250,204,21,.3)}a:focus-visible,button:focus-visible{outline:3px solid var(--yellow);outline-offset:3px}::selection{background:var(--yellow);color:var(--ink)}.demo-skip{position:fixed;z-index:100;top:-80px;left:12px;padding:10px 14px;border:1px solid var(--ink);background:var(--yellow);font:700 12px/1 Helvetica,Arial,sans-serif;transition:top .18s ease}.demo-skip:focus{top:12px}.demo-frame{min-height:100vh;margin:2px;overflow:hidden;background:var(--off-white)}.demo-header{position:sticky;z-index:40;top:0;min-height:68px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ink);background:var(--ink);color:var(--white)}.demo-brand{display:inline-flex;align-items:center;gap:9px;color:inherit;text-decoration:none;font:900 16px/1 Arial Black,Helvetica,sans-serif}.demo-brand__mark{position:relative;display:grid;place-items:center;width:40px;height:40px;border:1px solid var(--white);background:var(--yellow)}.demo-brand__mark:before{content:"";width:22px;height:22px;border:3px solid var(--ink);border-radius:50%}.demo-brand__mark i{position:absolute;width:7px;height:7px;border-radius:50%;background:var(--orange)}.demo-header__actions{display:flex;align-items:center;gap:8px}.demo-language{display:grid;grid-template-columns:1fr 1fr;border:1px solid rgba(255,255,255,.55)}.demo-language button{width:43px;min-height:44px;padding:8px;border:0;border-right:1px solid rgba(255,255,255,.55);background:transparent;color:var(--white);font:700 11px/1 Helvetica,Arial,sans-serif;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s var(--ease)}.demo-language button:last-child{border:0}.demo-language button:hover{background:var(--orange-soft);color:var(--ink)}.demo-language button:active{transform:scale(.94)}.demo-language button.is-active{background:var(--yellow);color:var(--ink)}.demo-back{min-height:44px;display:none;align-items:center;gap:9px;padding:10px 13px;border:1px solid rgba(255,255,255,.55);color:var(--white);font:700 11px/1 Helvetica,Arial,sans-serif;text-decoration:none;text-transform:uppercase;transition:border-color .18s ease,color .18s ease,background-color .18s ease}.demo-back:hover{border-color:var(--yellow);color:var(--yellow)}.restaurant-hero{max-width:var(--container);margin:auto;display:grid;gap:34px;padding:54px 16px 62px}.restaurant-badge{display:inline-flex;width:fit-content;padding:7px 10px;border:1px solid var(--ink);background:var(--yellow);font:700 11px/1 Helvetica,Arial,sans-serif;text-transform:uppercase;box-shadow:3px 3px 0 var(--ink);transform:rotate(-2deg)}.restaurant-overline{margin:24px 0 8px;font:700 11px/1.3 Helvetica,Arial,sans-serif;text-transform:uppercase}.restaurant-hero h1{margin:0;font:900 clamp(3.5rem,18vw,5.8rem)/.88 "Arial Black",Helvetica,Arial,sans-serif;letter-spacing:0}.restaurant-hero__lead{max-width:620px;margin:28px 0 0;font-size:18px;line-height:1.56}.restaurant-card{align-self:end;border:1px solid var(--ink);background:var(--white);box-shadow:8px 8px 0 var(--orange),0 20px 45px #17130f21}.restaurant-card__top{min-height:43px;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 12px;background:var(--ink);color:var(--white);font:700 10px/1 Helvetica,Arial,sans-serif;text-transform:uppercase}.restaurant-card__open{display:inline-flex;align-items:center;gap:7px;color:var(--yellow)}.restaurant-card__open i{width:8px;height:8px;border-radius:50%;background:var(--yellow);animation:demo-pulse 2.2s ease-in-out infinite}.restaurant-card__rating{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 14px;padding:24px 18px 20px;border-bottom:1px solid var(--ink)}.restaurant-card__rating strong{grid-row:1 / 3;font:900 48px/1 Arial Black,Helvetica,sans-serif}.restaurant-card__rating span{color:var(--orange);letter-spacing:2px}.restaurant-card__rating small{font-size:12px}.restaurant-card dl{margin:0}.restaurant-card dl div{display:grid;grid-template-columns:104px minmax(0,1fr);border-bottom:1px solid var(--ink)}.restaurant-card dl div:last-child{border:0}.restaurant-card dt,.restaurant-card dd{margin:0;padding:12px}.restaurant-card dt{border-right:1px solid var(--ink);background:var(--yellow-soft);font:700 10px/1.2 Helvetica,Arial,sans-serif;text-transform:uppercase}.restaurant-card dd{font-weight:700}.category-nav{position:sticky;z-index:30;top:68px;border-block:1px solid var(--ink);background:var(--white)}.category-nav__inner{max-width:var(--container);margin:auto;display:flex;gap:6px;overflow-x:auto;padding:9px 16px;scrollbar-width:none}.category-nav__inner::-webkit-scrollbar{display:none}.category-link{flex:0 0 auto;min-height:42px;display:inline-flex;align-items:center;gap:8px;padding:9px 13px;border:1px solid var(--ink);background:var(--off-white);font:700 11px/1 Helvetica,Arial,sans-serif;text-decoration:none;text-transform:uppercase;transition:transform .18s var(--ease),background-color .18s ease,color .18s ease}.category-link span{display:grid;place-items:center;width:20px;height:20px;background:var(--yellow);border:1px solid var(--ink);font-size:9px}.category-link:hover,.category-link.is-active{background:var(--ink);color:var(--yellow);transform:translateY(-2px)}.menu-intro{max-width:var(--container);margin:auto;display:grid;gap:18px;padding:66px 16px 38px}.menu-index,.category-number{font:700 11px/1 Helvetica,Arial,sans-serif}.menu-intro h2,.menu-category h2{margin:8px 0 0;font:900 clamp(2.5rem,11vw,4.5rem)/.95 "Arial Black",Helvetica,Arial,sans-serif}.menu-intro>p{max-width:570px;margin:0;font-size:17px;line-height:1.55}.menu-sections{max-width:var(--container);margin:auto;padding:0 16px 84px}.menu-category{padding:34px 0 64px;scroll-margin-top:126px}.menu-category+.menu-category{border-top:1px solid var(--ink)}.menu-category__heading{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:24px}.menu-category__heading p{max-width:430px;margin:0;text-align:right}.menu-list{display:grid;gap:16px}.menu-item{position:relative;display:grid;min-width:0;border:1px solid var(--ink);background:var(--white);box-shadow:5px 5px 0 var(--cream);overflow:hidden;transition:transform .22s var(--ease),border-color .18s ease,box-shadow .22s var(--ease)}.menu-item__copy{min-width:0;display:flex;flex-direction:column;padding:20px 18px}.menu-item__title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px}.menu-item__title h3{margin:0;font:900 21px/1.08 Arial Black,Helvetica,Arial,sans-serif}.menu-item__title strong{padding:5px 7px;border:1px solid var(--ink);background:var(--yellow);font:700 13px/1 Helvetica,Arial,sans-serif;white-space:nowrap}.menu-item__copy p{max-width:500px;margin:14px 0 18px;font-size:15px;line-height:1.48}.menu-item__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:auto}.menu-item__meta span{padding:5px 7px;border:1px solid rgba(23,19,15,.3);background:var(--off-white);font:700 9px/1 Helvetica,Arial,sans-serif;text-transform:uppercase}.menu-item__preview{position:relative;min-height:230px;overflow:hidden;border-top:1px solid var(--ink);background:radial-gradient(circle at 50% 38%,var(--white),var(--yellow-soft) 72%,var(--orange-soft))}.menu-item__preview.is-loading:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);transform:translate(-100%);animation:preview-shimmer 1.4s ease-in-out infinite;pointer-events:none}@keyframes preview-shimmer{to{transform:translate(100%)}}@media(prefers-reduced-motion:reduce){.menu-item__preview.is-loading:after{animation:none;transform:none}}.menu-item model-viewer{width:100%;height:100%;min-height:230px;--poster-color: transparent}.preview-label{position:absolute;z-index:2;top:12px;left:12px;padding:6px 8px;border:1px solid var(--ink);background:#ffffffe6;font:700 9px/1 Helvetica,Arial,sans-serif;text-transform:uppercase;pointer-events:none}.view-full{position:absolute;z-index:3;right:12px;bottom:12px;min-height:46px;display:inline-flex;align-items:center;gap:10px;padding:10px 13px;border:1px solid var(--ink);background:var(--orange);color:var(--ink);font:700 11px/1 Helvetica,Arial,sans-serif;text-transform:uppercase;cursor:pointer;box-shadow:4px 4px 0 var(--ink);transition:transform .18s var(--ease),box-shadow .18s var(--ease),background-color .18s ease}.view-full:hover{transform:translateY(-3px);background:var(--yellow);box-shadow:6px 7px 0 var(--ink)}.view-full:active{transform:translateY(2px);box-shadow:1px 1px 0 var(--ink)}.demo-footer{display:grid;gap:22px;padding:30px 18px;background:var(--ink);color:var(--white)}.demo-footer div{display:grid;gap:4px}.demo-footer strong{font:900 18px/1 Arial Black,Helvetica,sans-serif}.demo-footer span{font-size:13px}.demo-footer a{min-height:50px;display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:11px 16px;border:1px solid var(--ink);background:var(--yellow);color:var(--ink);font:700 11px/1 Helvetica,Arial,sans-serif;text-decoration:none;text-transform:uppercase;transition:transform .18s var(--ease),background-color .18s ease,box-shadow .18s ease}.demo-footer a:hover{transform:translateY(-3px);background:var(--orange-soft);box-shadow:0 6px 0 var(--orange)}.dish-dialog{width:min(1080px,calc(100% - 20px));max-width:none;max-height:calc(100dvh - 20px);padding:0;border:1px solid var(--ink);background:var(--white);color:var(--ink);box-shadow:12px 12px 0 var(--orange);overflow:auto;opacity:0;transform:translateY(16px) scale(.98);transition:opacity .22s ease,transform .26s var(--ease),display .26s allow-discrete,overlay .26s allow-discrete}.dish-dialog[open]{opacity:1;transform:none}@starting-style{.dish-dialog[open]{opacity:0;transform:translateY(16px) scale(.98)}}.dish-dialog::backdrop{background:#17130fc7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.dish-dialog__header{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px 10px 16px;background:var(--ink);color:var(--white)}.dish-dialog__header>div{display:grid;gap:5px}.dish-dialog__header span{color:var(--orange-soft);font:700 9px/1 Helvetica,Arial,sans-serif;text-transform:uppercase}.dish-dialog__header strong{font:700 14px/1.2 Helvetica,Arial,sans-serif}.dialog-close{width:44px;height:44px;border:1px solid rgba(255,255,255,.65);background:transparent;color:var(--white);font:400 28px/1 Helvetica,sans-serif;cursor:pointer;transition:background-color .18s ease,color .18s ease,transform .18s var(--ease)}.dialog-close:hover{background:var(--yellow);color:var(--ink);transform:rotate(4deg)}.dialog-close:active{transform:scale(.92)}.dish-dialog__content{display:grid}.dialog-viewer-stage{position:relative;min-height:min(58vh,560px);overflow:hidden;border-bottom:1px solid var(--ink);background:radial-gradient(circle at 50% 38%,var(--off-white),var(--yellow-soft) 72%,var(--orange-soft))}.dialog-viewer-stage model-viewer{width:100%;height:min(58vh,560px);min-height:420px;--poster-color: transparent}.dialog-loading{position:absolute;z-index:5;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:var(--yellow-soft);font:700 11px/1 Helvetica,Arial,sans-serif;text-transform:uppercase;opacity:1;visibility:visible;transition:opacity .22s ease,visibility .22s ease}.dialog-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.dialog-loading i{width:min(220px,65%);height:8px;border:1px solid var(--ink);background:var(--white)}.dialog-loading b{display:block;width:0;height:100%;background:var(--orange);transition:width .12s linear}.dialog-controls{position:absolute;z-index:4;top:14px;right:14px;display:grid;border:1px solid var(--ink);box-shadow:4px 4px 0 var(--orange)}.dialog-controls button{width:48px;height:48px;display:grid;place-items:center;padding:0;border:0;border-bottom:1px solid var(--ink);background:var(--white);color:var(--ink);font:700 20px/1 Helvetica,sans-serif;cursor:pointer;transition:background-color .18s ease,transform .18s var(--ease)}.dialog-controls button:last-child{border:0}.dialog-controls button:hover{z-index:1;background:var(--yellow);transform:scale(1.05)}.dialog-controls button:active{transform:scale(.92)}.dialog-controls button:disabled{opacity:.42;cursor:not-allowed;transform:none}.dialog-gesture{position:absolute;z-index:3;left:14px;bottom:14px;padding:7px 9px;border:1px solid var(--ink);background:#ffffffe6;font:700 9px/1 Helvetica,Arial,sans-serif;text-transform:uppercase;pointer-events:none}.dialog-details{display:flex;flex-direction:column;padding:24px 20px}.dialog-details__category{width:fit-content;padding:6px 8px;border:1px solid var(--ink);background:var(--yellow);font:700 9px/1 Helvetica,Arial,sans-serif;text-transform:uppercase}.dialog-details__title{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:16px;margin-top:17px}.dialog-details h2{margin:0;font:900 clamp(2rem,9vw,3.25rem)/.98 "Arial Black",Helvetica,sans-serif}.dialog-details__title strong{padding:7px 9px;border:1px solid var(--ink);background:var(--orange-soft);font:700 14px/1 Helvetica,sans-serif}.dialog-details>p{margin:20px 0 24px;font-size:17px;line-height:1.55}.dialog-details__meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.dialog-details__meta span{padding:6px 8px;border:1px solid var(--ink);background:var(--off-white);font:700 9px/1 Helvetica,sans-serif;text-transform:uppercase}.dialog-details>a{min-height:50px;display:inline-flex;justify-content:center;align-items:center;gap:12px;margin-top:auto;padding:11px 16px;border:1px solid var(--ink);background:var(--orange);color:var(--ink);font:700 11px/1 Helvetica,sans-serif;text-decoration:none;text-transform:uppercase;box-shadow:4px 4px 0 var(--ink);transition:transform .18s var(--ease),background-color .18s ease,box-shadow .18s ease}.dialog-details>a:hover{transform:translateY(-3px);background:var(--yellow);box-shadow:6px 7px 0 var(--ink)}@media(hover:hover){.menu-item:hover{transform:translateY(-4px);border-color:var(--orange);box-shadow:8px 9px 0 var(--orange-soft)}}@media(min-width:560px){.demo-frame{margin:4px}.demo-back{display:inline-flex}.restaurant-hero,.menu-intro,.menu-sections,.category-nav__inner{padding-inline:24px}.restaurant-hero h1{font-size:clamp(4.8rem,15vw,7rem)}.menu-item{grid-template-columns:minmax(0,1fr) minmax(260px,.7fr)}.menu-item__preview{min-height:220px;border-top:0;border-left:1px solid var(--ink)}.menu-item model-viewer{min-height:220px}.demo-footer{grid-template-columns:1fr auto;align-items:center;padding-inline:24px}}@media(min-width:820px){.demo-header{min-height:74px;padding-inline:max(24px,calc((100% - var(--container)) / 2))}.category-nav{top:74px}.restaurant-hero{grid-template-columns:minmax(0,1.15fr) minmax(320px,.65fr);align-items:end;gap:70px;padding-top:84px;padding-bottom:84px}.restaurant-hero h1{font-size:clamp(6rem,10vw,8rem)}.menu-intro{grid-template-columns:minmax(0,1fr) minmax(320px,500px);align-items:end;padding-top:84px;padding-bottom:52px}.menu-intro>p{justify-self:end}.menu-category{padding-block:48px 78px}.menu-category__heading{margin-bottom:30px}.menu-list{gap:20px}.menu-item{grid-template-columns:minmax(0,1fr) 340px;min-height:250px}.menu-item__copy{padding:28px 26px}.menu-item__title h3{font-size:27px}.menu-item__copy p{font-size:16px}.menu-item__preview,.menu-item model-viewer{min-height:250px}.dish-dialog__content{grid-template-columns:minmax(0,1.4fr) minmax(310px,.6fr)}.dialog-viewer-stage{border-right:1px solid var(--ink);border-bottom:0}.dialog-details{padding:34px 30px}}@media(min-width:1200px){.demo-frame{margin:8px}.restaurant-hero,.menu-intro,.menu-sections,.category-nav__inner{padding-inline:0}.menu-list{grid-template-columns:repeat(2,minmax(0,1fr))}.menu-item{grid-template-columns:minmax(0,1fr) 245px}.menu-item__title h3{font-size:23px}.menu-item__copy{padding:24px 22px}}@keyframes demo-pulse{50%{opacity:.4;transform:scale(.82)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
