/* Real brand, compact Vasabi-inspired controls and restrained motion. */
.brand-logo{display:block;flex-shrink:0;line-height:0;letter-spacing:0;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
.brand-logo img{display:block;width:110px;height:auto;object-fit:contain}
.brand-logo:hover{transform:rotate(-2deg) scale(1.04)}
.header-inner{gap:28px}
.header-preferences{display:flex;align-items:center;gap:0;height:54px;background:#faf8f5;border:1px solid #eee8e1;border-radius:18px;box-shadow:0 3px 10px #35200004}
.header-preferences .location{height:52px;min-width:162px;padding:0 18px;gap:10px;border-radius:17px;transition:background .2s}
.header-preferences .location:hover{background:#fff0e4}
.header-preferences .location strong{font-size:13px}
.header-preferences .location small{font-size:9px;margin-top:3px}
.cart-button,.choose,.primary,.secondary,.category,.search-toggle,.close,.city-option{transition:background .22s,color .22s,transform .25s,box-shadow .25s,border-color .25s}
.cart-button:hover,.primary:hover{transform:translateY(-2px);box-shadow:0 7px 20px #ff641e24}
.cart-button:active,.primary:active,.choose:active,.city-option:active{transform:scale(.97)}
.cart-button b{transition:background .2s;animation:none}
.choose:hover{transform:translateY(-2px);box-shadow:0 5px 16px #ff641e1a}
.category:hover{transform:translateY(-1px)}
.promo{transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s}
.promo:hover{transform:translateY(-6px);box-shadow:0 12px 26px #6a432010}
.promo img{transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.promo:hover img{transform:translateY(-3px) scale(1.045)}
.promo.day:hover img{transform:translateY(-3px) rotate(-8deg) scale(1.04)}
.promo-bottom b{transition:transform .25s,background .25s}
.promo:hover .promo-bottom b{transform:rotate(45deg);background:white}
.hero-stamp{animation:stamp-appear .8s .25s both}
.city-selected .hero-copy{animation:content-appear .7s ease-out both}
.city-selected .hero>img{animation:food-appear .9s ease-out both}
.reveal{opacity:0;transform:translateY(20px);transition:opacity .55s ease-out,transform .55s cubic-bezier(.2,.7,.2,1)}
.reveal.is-visible{opacity:1;transform:none}
dialog[open]{animation:dialog-in .3s cubic-bezier(.16,1,.3,1) both}
dialog[open]::backdrop{animation:backdrop-in .25s ease-out both}
.close:hover{transform:rotate(90deg);background:#ece4da}
.close{padding:0;line-height:1;color:var(--orange)}
.close:not([hidden]){display:grid;place-items:center}
.close svg{display:block;width:18px;height:18px}
dialog.city-dialog{width:min(690px,calc(100vw - 32px));padding:40px;border-radius:28px;background:linear-gradient(135deg,#fffffff0,#ffffffb0 48%,#fff6ecd6);border:1px solid #ffffffed;backdrop-filter:blur(28px) saturate(1.45);-webkit-backdrop-filter:blur(28px) saturate(1.45);box-shadow:0 30px 100px #281d2933,inset 0 1px 0 #fff,inset 0 -1px 0 #ffffff60;isolation:isolate}
.city-dialog::backdrop{background:#33261e33;backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px)}
.city-dialog::before{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;border-radius:inherit;background:radial-gradient(ellipse at 0 0,#ffffffdb,transparent 52%),radial-gradient(ellipse at 100% 100%,#ffba8630,transparent 55%)}
.city-welcome{text-align:center}
.city-brand{display:block;width:106px;height:auto;margin:0 auto 22px}
.city-welcome>.eyebrow{display:block;font-size:9px;color:#d5793d;letter-spacing:2px}
.city-welcome h2{font-size:37px;font-weight:800;letter-spacing:-1.5px;margin:11px 0 8px;line-height:1.2}
.city-welcome>p{font-size:13px;color:#75685d;margin:0}
.city-welcome .city-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:30px}
.city-welcome .city-option{position:relative;display:flex;flex-wrap:wrap;align-items:center;gap:15px;padding:21px 22px;background:linear-gradient(135deg,#ffffffb8,#ffffff60);border:1px solid #ffffffe6;border-radius:18px;text-align:left;min-height:132px;box-shadow:0 4px 18px #6f493009,inset 0 1px 0 #fff;color:var(--ink);appearance:none;-webkit-appearance:none}
.city-welcome .city-option.is-selected{background:linear-gradient(135deg,#fff5eae8,#ffe6cbb5);border-color:#ffb783;box-shadow:0 10px 28px #ed6b201a,inset 0 1px 0 #fff;transform:translateY(-2px)}
.city-pin{width:22px;height:26px;color:#ef7625}
.city-option>span{flex:1}
.city-welcome .city-option strong{font-size:21px;font-weight:800;letter-spacing:-.6px;color:var(--ink);-webkit-text-fill-color:var(--ink)}
.city-welcome .city-option small{font-size:10px;color:#7b6c60;margin-top:6px;white-space:nowrap}
.city-choice-check{display:grid;place-items:center;flex:none;width:30px;height:30px;border-radius:50%;color:white;background:var(--orange);opacity:0;transform:scale(.6);transition:opacity .2s,transform .35s cubic-bezier(.2,1.5,.4,1)}
.city-choice-check svg{display:block;width:19px;height:19px}
.city-choice-check path{stroke-dasharray:24;stroke-dashoffset:24}
.city-option.is-selected .city-choice-check{opacity:1;transform:scale(1)}
.city-option.is-selected .city-choice-check path{animation:city-check-draw .26s .08s ease-out forwards}
.city-confirming .city-option:not(.is-selected){opacity:.45;transform:scale(.985)}
.city-confirming .city-option:disabled{cursor:default}
dialog.city-dialog.city-leaving{animation:city-choice-out .32s cubic-bezier(.4,0,.7,1) both}
dialog.city-dialog.city-leaving::backdrop{animation:city-backdrop-out .32s ease both}
.category:not(.active){color:#71685e;-webkit-text-fill-color:#71685e}
@media(hover:hover){.city-welcome .city-option:not(:disabled):hover{background:#fff7ef;border-color:#ffd5b5}}
@keyframes city-check-draw{to{stroke-dashoffset:0}}
@keyframes city-choice-out{to{opacity:0;transform:translateY(14px) scale(.965)}}
@keyframes city-backdrop-out{to{opacity:0}}
.city-footnote{display:block;font-size:10px;color:#87796d;margin-top:23px}
.footer-inner .brand-logo img{width:88px}
.product-image img{display:block;transform:scale(.88);transition:transform .4s cubic-bezier(.2,.7,.2,1)}
.product-image:hover img{transform:scale(.96)}
@media(min-width:1200px){.products{grid-template-columns:repeat(5,minmax(0,1fr));gap:32px 20px}}
@keyframes drop-in{from{opacity:0;transform:translateY(-7px)}to{opacity:1;transform:none}}
@keyframes dialog-in{from{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:none}}
@keyframes backdrop-in{from{opacity:0}to{opacity:1}}
@keyframes content-appear{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}
@keyframes food-appear{from{opacity:.7;scale:1.035}to{opacity:1;scale:1}}
@keyframes stamp-appear{from{opacity:0;scale:.8}to{opacity:1;scale:1}}
@media(max-width:1000px){.header-inner{gap:22px}.header-preferences .location{min-width:146px;padding:0 14px}}
@media(max-width:850px){.header-inner{height:88px;gap:18px}.brand-logo img{width:91px}.header-preferences .location{min-width:136px}.phone{display:none}.cart-button{margin-left:auto}.menu-navigation{top:88px}}
@media(max-width:600px){.header-inner{height:84px;display:flex;gap:12px}.brand-logo img{width:78px}.header-preferences{height:48px;border-radius:14px}.header-preferences .location{min-width:124px;height:46px;border-radius:13px;padding:0 12px;gap:8px}.header-preferences .location strong{font-size:12px}.header-preferences .location small{font-size:8px}.header-preferences .location svg{width:18px}.cart-button{margin-left:auto}.menu-navigation{top:84px}html{scroll-padding-top:144px}dialog.city-dialog{padding:30px 22px;border-radius:24px}.city-brand{width:94px;margin-bottom:22px}.city-welcome h2{font-size:30px;letter-spacing:-1px}.city-welcome>p{font-size:11px}.city-welcome .city-options{grid-template-columns:1fr;margin-top:24px;gap:10px}.city-welcome .city-option{min-height:90px;padding:20px;gap:15px;flex-wrap:nowrap}.city-welcome .city-option strong{font-size:19px}.city-welcome .city-option small{font-size:10px}.city-footnote{font-size:9px;margin-top:20px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal{opacity:1;transform:none}}
