:root{--red:#DA291C;--cream:#FFF6E0;--yellow:#FFC72C;--teal:#2A1A14;--ink:#2A1A14;--orange:#ff7a2f;--cream2:color-mix(in srgb,var(--cream) 45%,#fff);--pink:#ffd9c9;--ark:'Archivo',Impact,sans-serif;--cnd:'Barlow Condensed','Arial Narrow',sans-serif;--body:'Source Sans 3',system-ui,sans-serif;--hand:'Caveat Brush',cursive;--pop:cubic-bezier(.34,1.56,.64,1);--out:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{background:var(--red);color:var(--cream);font:400 18px/1.5 var(--body);overflow-x:hidden}
section[id]{scroll-margin-top:5rem}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none}
button{font:inherit;cursor:pointer;border:0;background:none;color:inherit}
.skip{position:absolute;left:-999px}
.wrap{width:min(1200px,92%);margin:auto}
#prog{position:fixed;z-index:150;top:0;left:0;height:4px;width:100%;background:var(--yellow);transform:scaleX(0);transform-origin:left;pointer-events:none}
.eyebrow{font:700 .78rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:var(--yellow);margin-bottom:.8rem}
.eyebrow.dark{color:var(--red)}.eyebrow.y{color:var(--yellow)}.eyebrow.center{text-align:center}
h1,h2{font:900 clamp(2.4rem,7vw,5.5rem)/.95 var(--ark);letter-spacing:-.02em;text-transform:uppercase}
h2.red{color:var(--red)}
.btn{display:inline-block;background:var(--red);color:var(--cream);font:800 .85rem var(--ark);letter-spacing:.06em;padding:1rem 1.6rem;border-radius:99px;box-shadow:0 5px 0 color-mix(in srgb,var(--red) 55%,#000);transition:transform .25s var(--pop),box-shadow .25s,background .2s}
.btn:hover{transform:translateY(-3px);box-shadow:0 8px 0 color-mix(in srgb,var(--red) 55%,#000)}.btn:active{transform:translateY(3px);box-shadow:0 1px 0 color-mix(in srgb,var(--red) 55%,#000)}
.btn.ghost{background:transparent;color:var(--red);box-shadow:inset 0 0 0 3px var(--red)}.btn.ghost:hover{background:var(--red);color:var(--cream)}
.btn.y{background:var(--yellow);color:var(--ink);box-shadow:0 5px 0 rgba(0,0,0,.3)}.btn.y:hover{box-shadow:0 8px 0 rgba(0,0,0,.3)}
.visit .btn.ghost,.book .btn.ghost,.cta2 .btn.ghost,.sitefoot .btn.ghost{color:var(--cream);box-shadow:inset 0 0 0 3px var(--cream)}.visit .btn.ghost:hover,.book .btn.ghost:hover,.cta2 .btn.ghost:hover{background:var(--cream);color:var(--red)}
.dict .btn,.hours .btn{margin-top:1.6rem}
/* ---------- text animation ---------- */
.sp .w{display:inline-block;overflow:hidden;vertical-align:top;padding-bottom:.08em}
.sp .w i{display:inline-block;font-style:normal;transform:translate3d(0,115%,0) rotate(7deg);transition:transform .9s var(--pop);transition-delay:calc(var(--i)*.07s)}
.sp.in .w i{transform:none}
.chars .wd{display:inline-block;white-space:nowrap}
.chars .c{display:inline-block;opacity:0;transform:translate3d(0,50%,0) scale(.3) rotate(-14deg);transition:transform .8s var(--pop),opacity .3s;transition-delay:calc(var(--i)*.04s)}
.chars.in .c{opacity:1;transform:none}
.pop{opacity:0;transform:scale(.8) translate3d(0,50px,0);transition:transform .9s var(--pop),opacity .5s}
.pop.in{opacity:1;transform:none}
.rv{opacity:0;transform:translate3d(0,40px,0);transition:opacity .8s var(--out),transform .8s var(--out)}.rv.in{opacity:1;transform:none}
.stag{opacity:0;transform:translate3d(0,40px,0) scale(.97);transition:opacity .7s var(--out),transform .7s var(--out);transition-delay:calc(var(--i,0)*.07s)}.stag.in{opacity:1;transform:none}
.wipe{clip-path:inset(0 100% 0 0 round 28px);transition:clip-path 1.2s var(--out)}.wipe.in{clip-path:inset(0 0 0 0 round 28px)}
.mag{transition:transform .25s var(--out),background .2s}
/* ---------- waves ---------- */
.wave{position:relative}
.wave:before{content:"";position:absolute;left:0;right:0;top:-27px;height:28px;background:radial-gradient(circle at 50% 100%,var(--c) 0 14px,transparent 15px) 0 0/40px 28px repeat-x,linear-gradient(var(--c),var(--c)) 0 100%/100% 14px no-repeat;z-index:3;pointer-events:none}
/* ---------- fixed bar ---------- */
.top{position:fixed;z-index:80;top:max(.7rem,env(safe-area-inset-top));left:.7rem;right:.7rem;pointer-events:none}
.bar{pointer-events:auto;max-width:1240px;margin:0 auto;display:flex;align-items:center;gap:.5rem;background:var(--cream);color:var(--red);border-radius:99px;padding:.4rem .5rem;box-shadow:0 5px 0 rgba(0,0,0,.14),0 14px 30px rgba(0,0,0,.18);transition:box-shadow .3s,transform .3s}
.top.scrolled .bar{box-shadow:0 4px 0 rgba(0,0,0,.14),0 8px 22px rgba(0,0,0,.25)}
.brand{display:flex;align-items:center;gap:.55rem;font:900 1.05rem var(--ark);text-transform:uppercase;letter-spacing:-.01em;color:var(--red);white-space:nowrap}
.brand .lg{display:block;width:46px;height:46px;transition:transform .5s var(--pop)}.brand:hover .lg{transform:rotate(-12deg) scale(1.1)}
.links{display:flex;gap:.15rem;margin:0 auto}
.links a{display:block;padding:.6rem .95rem;border-radius:99px;font:800 .76rem var(--ark);letter-spacing:.06em;text-transform:uppercase;transition:background .2s,color .2s}
.links a:hover{background:color-mix(in srgb,var(--red) 12%,transparent)}.links a.on{background:var(--red);color:var(--cream)}
.pill{display:inline-flex;align-items:center;gap:.5rem;font:800 .74rem var(--ark);letter-spacing:.05em;padding:.7rem 1.05rem;border-radius:99px;white-space:nowrap}
.pill.open{background:var(--yellow);color:var(--ink)}
.pill.go{background:var(--red);color:var(--cream)}.pill em{font-style:normal;display:inline-block;transition:transform .3s}.pill.go:hover em{transform:translate(3px,-3px)}
.pill i{width:9px;height:9px;border-radius:50%;background:#2db84d;box-shadow:0 0 0 3px rgba(45,184,77,.3);animation:pulse 1.6s infinite}
.pill .short{display:none}
@keyframes pulse{50%{box-shadow:0 0 0 7px rgba(45,184,77,0)}}
.burger{display:none;width:46px;height:46px;border-radius:50%;background:var(--red);place-content:center;gap:5px}
.burger i{display:block;width:20px;height:2.5px;border-radius:2px;background:var(--cream);transition:transform .35s var(--out),opacity .2s}
.menu-open .burger i:nth-child(1){transform:translateY(7.5px) rotate(45deg)}.menu-open .burger i:nth-child(2){opacity:0}.menu-open .burger i:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
.drawer{pointer-events:none;position:fixed;inset:0;z-index:-1;background:var(--red);padding:6.5rem 8vw 2rem;display:flex;flex-direction:column;justify-content:space-between;clip-path:circle(0 at calc(100% - 2.6rem) 2.6rem);transition:clip-path .7s cubic-bezier(.7,0,.2,1)}
.menu-open .drawer{pointer-events:auto;clip-path:circle(150% at calc(100% - 2.6rem) 2.6rem)}
.drawer li{overflow:hidden}.drawer a{display:block;font:900 clamp(2.4rem,11vw,4.5rem)/1.1 var(--ark);text-transform:uppercase;color:var(--cream);transform:translate3d(0,110%,0);transition:transform .7s var(--out);transition-delay:calc(.15s + var(--i)*.06s)}
.menu-open .drawer a{transform:none}.drawer a:hover{color:var(--yellow)}
.dfoot{display:grid;gap:.4rem;font:700 .85rem var(--ark);letter-spacing:.06em;color:var(--yellow)}.drawer .dfoot a{font:800 1.3rem var(--ark);transform:none;color:var(--cream)}
.menu-open{overflow:hidden}
.links a,.pill{white-space:nowrap}
@media(max-width:1180px){.pill .long{display:none}.pill .short{display:inline}.links a{padding:.6rem .7rem}}
@media(max-width:960px){.links,.pill.go{display:none}.burger{display:grid}.pill.open{margin-left:auto}.pill .long{display:none}.pill .short{display:inline}}
@media(max-width:420px){.brand b{display:none}}
/* ---------- logo ---------- */
.logo{display:block;width:70px;height:70px;transition:transform .5s var(--pop)}.logo:hover{transform:rotate(-10deg) scale(1.08)}
.logo svg,.lg svg{width:100%;height:100%;overflow:visible}
.logo.big{width:120px;height:120px}
.ring{fill:var(--cream);stroke:var(--red);stroke-width:3}
.ring2{fill:none;stroke:var(--red);stroke-width:1.6;stroke-dasharray:2 4;stroke-linecap:round}
.mark{fill:var(--red)}
.lt1{font:900 21px var(--ark);fill:var(--red);letter-spacing:-.5px}
.lt2{font:800 9.5px var(--ark);fill:var(--red);letter-spacing:2px}
.rt.big{fill:var(--cream);font:800 11px var(--ark);letter-spacing:2px}
.spin{animation:spin 30s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
/* ---------- food cursor ---------- */
html.hascur,html.hascur *{cursor:none!important}
#cur{position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .25s;will-change:transform}
#cur.show{opacity:1}
#cur .cb{position:absolute;left:-26px;top:-32px;width:52px;height:46px;transform-origin:50% 90%;transition:scale .3s var(--pop)}
#cur .cb svg{width:100%;height:100%;overflow:visible}
#cur.hov .cb{scale:1.5}#cur.down .cb{scale:.8}
#cur .cl{position:absolute;left:34px;top:-30px;background:var(--ink);color:var(--yellow);font:800 .62rem var(--ark);letter-spacing:.1em;padding:.22rem .6rem;border-radius:99px;white-space:nowrap}
#cur .cl:empty{display:none}
.ct{position:fixed;left:0;top:0;width:10px;height:10px;margin:-5px 0 0 -5px;border-radius:50%;z-index:299;pointer-events:none;opacity:0;transition:opacity .3s;will-change:transform}.ct.show{opacity:.8}
.crb{position:fixed;z-index:301;width:8px;height:8px;border-radius:50%;pointer-events:none;margin:-4px;animation:crumb .65s var(--out) forwards}
@keyframes crumb{to{transform:translate(var(--dx),var(--dy)) scale(0);opacity:0}}
/* ---------- page transition ---------- */
#pt{position:fixed;inset:0;z-index:400;display:flex;pointer-events:none}
#pt i{flex:1;transform:translate3d(0,101%,0);transition:transform .5s cubic-bezier(.77,0,.18,1)}
#pt i:nth-child(2){transition-delay:.05s}#pt i:nth-child(3){transition-delay:.1s}#pt i:nth-child(4){transition-delay:.15s}
#pt.on{pointer-events:auto}#pt.on i{transform:none}
#pt.instant i{transition:none!important}
#pt.off i{transform:translate3d(0,-101%,0)}
/* ---------- intro ---------- */
#intro{position:fixed;inset:0;z-index:350;display:flex}
#intro>i{flex:1;background:var(--c);transition:transform 1s cubic-bezier(.77,0,.18,1)}
#intro .lines{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;transition:opacity .3s}
#intro .lines p{position:absolute;font:900 clamp(1.8rem,6.5vw,4.5rem)/1 var(--ark);text-transform:uppercase;color:var(--cream);text-align:center;opacity:0;transform:scale(.6) rotate(-4deg);transition:.5s var(--pop);padding:0 5vw}
#intro .lines p.on{opacity:1;transform:none}
#intro.out>i{transform:translate3d(0,-101%,0)}
#intro.out>i:nth-child(2){transition-delay:.08s}#intro.out>i:nth-child(3){transition-delay:.16s}#intro.out>i:nth-child(4){transition-delay:.24s}#intro.out>i:nth-child(5){transition-delay:.32s}
#intro.out .lines,#intro.out #skipIntro{opacity:0}
#skipIntro{position:absolute;bottom:1.6rem;left:50%;transform:translateX(-50%);font:800 .72rem var(--ark);letter-spacing:.2em;text-transform:uppercase;color:var(--cream);opacity:.8;padding:.6rem 1rem}
/* ---------- plates (used for the small round dishes) ---------- */
.pl{display:block;width:100%;height:100%;border-radius:50%;padding:9%;background:radial-gradient(circle at 35% 28%,#fff,#ece7dc 72%);box-shadow:0 12px 20px rgba(0,0,0,.3),inset 0 0 0 4px rgba(255,255,255,.85),inset 0 -6px 10px rgba(0,0,0,.12)}
.pl img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:inset 0 0 12px rgba(0,0,0,.3)}
/* ---------- hero ---------- */
.hero{position:relative;min-height:100vh;min-height:100svh;background:var(--red);overflow:hidden;display:flex;flex-direction:column;align-items:center;padding-top:7.5rem}
.script-bg{position:absolute;inset:-10% -5%;font:400 clamp(8rem,22vw,20rem)/.8 var(--hand);color:rgba(255,255,255,.08);transform:rotate(-12deg);pointer-events:none;word-spacing:.3em;overflow:hidden}
.herolinks{position:relative;z-index:3;display:flex;gap:1.6rem;font:800 .8rem var(--ark);letter-spacing:.1em}
.herolinks a{opacity:.95;transition:color .2s,letter-spacing .3s}.herolinks a:hover{color:var(--yellow);letter-spacing:.16em}.herolinks .hlk{color:var(--yellow)}
.bigword{position:relative;z-index:1;margin-top:3vh;display:flex;gap:2.4vw;font:900 clamp(3rem,calc(128vw / var(--n,10)),15rem)/.85 var(--ark);color:var(--cream);letter-spacing:-.04em;text-align:center;text-shadow:0 .05em 0 rgba(0,0,0,.2)}
.bigword .wd{display:flex}
.bigword .c{display:inline-block;transform:scale(0) rotate(-25deg);opacity:0;transition:transform 1s var(--pop),opacity .2s;transition-delay:calc(var(--i)*.09s + .3s)}
body.ready .bigword .c{transform:none;opacity:1}
body.ready .bigword .c:hover{transform:translate3d(0,-.1em,0) rotate(-6deg) scale(1.06);transition-delay:0s;transition-duration:.25s}
.stage{position:absolute;left:0;right:0;top:36%;height:52%;z-index:2;pointer-events:none}
.stage>*{position:absolute;pointer-events:auto;transition:transform .3s ease-out}
.plate{left:50%;top:50%;width:clamp(210px,31vw,430px);aspect-ratio:1;margin:calc(clamp(210px,31vw,430px)/-2) 0 0 calc(clamp(210px,31vw,430px)/-2);display:block}
.plate>div{width:100%;height:100%;border-radius:50%;overflow:hidden;border:8px solid var(--cream);box-shadow:0 26px 50px rgba(0,0,0,.4);animation:bob 5s ease-in-out infinite;transform:scale(0) rotate(-30deg);transition:transform 1.3s var(--pop) .9s}
body.ready .plate>div{transform:none}
.plate img{width:100%;height:100%;object-fit:cover}
.chip{width:clamp(70px,11vw,150px);aspect-ratio:1;display:block}
.chip .pl{animation:bob 4s ease-in-out infinite;transform:scale(0);transition:transform 1s var(--pop);transition-delay:calc(1.2s + var(--n)*.12s)}
body.ready .chip .pl{transform:none}
.c1{left:9%;top:10%}.c2{left:24%;top:62%}.c3{right:24%;top:70%}.c4{right:8%;top:14%}.c5{left:4%;top:50%}.c6{right:4%;top:52%}
.c2 .pl{animation-delay:-1s}.c3 .pl{animation-delay:-2s}.c4 .pl{animation-delay:-.5s}.c5 .pl{animation-delay:-3s}.c6 .pl{animation-delay:-1.5s}
@keyframes bob{50%{translate:0 -12px}}
.herotag{position:absolute;z-index:3;left:1.4rem;bottom:2rem;font:800 clamp(1rem,2.3vw,1.7rem)/1.15 var(--ark);text-transform:uppercase;max-width:20ch}
.herohours{position:absolute;z-index:3;right:1.4rem;bottom:2rem;text-align:right;font:700 .85rem/1.3 var(--ark);letter-spacing:.04em;display:grid;gap:.15rem}
.herohours b{font:900 clamp(1.6rem,3.6vw,2.6rem)/1 var(--ark);color:var(--yellow)}
.herotag .w,.herohours>*{opacity:0;transform:translate3d(0,24px,0);transition:opacity .9s var(--out),transform .9s var(--out)}body.ready .herotag .w,body.ready .herohours>*{opacity:1;transform:none}
.herotag .w{display:inline-block;margin-right:.3em;transition-delay:calc(1.6s + var(--i)*.07s)}
.herohours>*{transition-delay:1.9s}
.scrollhint{position:absolute;z-index:3;left:50%;bottom:1.6rem;transform:translateX(-50%);font:800 .65rem var(--ark);letter-spacing:.2em;text-align:center}
.scrollhint i{display:block;width:2px;height:28px;background:var(--cream);margin:.4rem auto 0;animation:drip 1.6s infinite;transform-origin:top}
@keyframes drip{0%{transform:scaleY(0)}60%{transform:scaleY(1)}100%{transform:scaleY(1);opacity:0}}
@media(max-width:700px){.hero{padding-top:6.5rem}.herolinks{font-size:.6rem;gap:.7rem}.bigword{flex-direction:column;gap:0;align-items:center;font-size:min(9rem,calc(150vw / var(--m,6)));margin-top:2vh}.stage{top:46%;height:40%}.herohours{font-size:.7rem}.herotag{font-size:.9rem}.chip{width:64px}.c5,.c6,.scrollhint{display:none}.script-bg{font-size:9rem}}
/* ---------- ribbons + dictionary ---------- */
.dict{background:var(--cream);color:var(--red);padding:0 0 7rem;position:relative;overflow:hidden}
.ribbons{position:relative;height:150px;margin-top:-1px}
.ribbon{position:absolute;left:-4%;right:-4%;overflow:hidden;padding:.9rem 0;box-shadow:0 8px 0 rgba(0,0,0,.08)}
.ribbon:before,.ribbon:after{content:"";position:absolute;top:0;bottom:0;width:7%;z-index:2;pointer-events:none}
.ribbon:before{left:0;background:linear-gradient(90deg,var(--bg),transparent)}.ribbon:after{right:0;background:linear-gradient(270deg,var(--bg),transparent)}
.ribbon.a{--bg:var(--red);background:var(--red);transform:rotate(-2deg);top:18px;z-index:2}
.ribbon.b{--bg:var(--yellow);background:var(--yellow);transform:rotate(2deg);top:68px;z-index:1}
.mqr{display:flex;gap:2.2rem;width:max-content;will-change:transform;white-space:nowrap;align-items:center}
.ribbon .mqr{font:800 clamp(1.3rem,3vw,2rem) var(--cnd);letter-spacing:.05em;text-transform:uppercase}
.ribbon.a .mqr{color:var(--cream)}.ribbon.a .mqr span:nth-child(4n+1){color:var(--yellow)}
.ribbon.b .mqr{color:var(--red)}.ribbon.b .mqr span:nth-child(4n+1){-webkit-text-stroke:1.5px var(--red);color:transparent}
.mqr i{font-style:normal;display:inline-block;animation:spin 6s linear infinite}
.ribbon.a .mqr i{color:var(--pink)}.ribbon.b .mqr i{color:var(--cream)}
.wrapd{position:relative;max-width:980px;margin:4rem auto 0;padding:0 1.2rem}
.card{position:relative;z-index:2;background:var(--cream2);border:6px dashed var(--yellow);border-radius:26px;padding:clamp(1.6rem,5vw,4rem);box-shadow:0 0 0 10px var(--cream2);outline:3px solid var(--yellow);outline-offset:4px}
.card h2{font-size:clamp(3rem,9vw,6.5rem);color:var(--red);margin-bottom:.4rem}
.pron{font:800 .8rem var(--ark);letter-spacing:.06em;margin-bottom:1.6rem}
.def{font:700 clamp(1.2rem,2.6vw,1.9rem)/1.3 var(--body)}
.def span{transition:opacity .3s}
.syn{margin-top:1.6rem;font-size:.9rem}.syn span{color:var(--red)}
.tilt{position:absolute;z-index:1;width:clamp(110px,18vw,220px);aspect-ratio:1;object-fit:cover;border-radius:20px;border:6px solid var(--orange);box-shadow:0 12px 24px rgba(0,0,0,.2)}
.t1{left:-2%;top:-70px;rotate:-9deg}.t2{right:-1%;bottom:-70px;rotate:7deg}
@media(max-width:700px){.card{border-width:4px;box-shadow:0 0 0 6px var(--cream2)}.t1{top:-60px;left:0}.t2{bottom:-60px;right:0}.ribbons{height:130px}}
/* ---------- burger ---------- */
.pincho{--c:var(--teal);background:var(--teal);height:620vh}
.stick{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;padding:7.2rem 1.4rem 1rem;max-width:1300px;margin:auto}
.hl2{font-size:clamp(2.2rem,6vw,5rem);color:var(--cream);max-width:11ch}
.stepslist{position:absolute;left:1.8rem;bottom:1rem;display:grid;gap:.25rem;z-index:3}
.stepslist li{font:800 clamp(.95rem,1.8vw,1.3rem) var(--ark);color:var(--yellow);opacity:.55;display:grid;transition:opacity .4s,transform .4s var(--out);transform-origin:left}
.stepslist li small{font:400 .88rem/1.2 var(--body);color:var(--cream);max-height:0;overflow:hidden;transition:max-height .5s;max-width:26ch;letter-spacing:0}
.stepslist li.on{opacity:1;color:var(--cream);transform:scale(1.12) translateX(6px)}.stepslist li.on small{max-height:3.2rem}
.stepslist li:before{content:"●";position:absolute;margin-left:-1.2rem;font-size:.5rem;margin-top:.5rem;opacity:.7}
.stepslist li.on:before{color:var(--yellow);opacity:1}
.bwrap{position:absolute;left:58%;top:56%;width:min(780px,94vw,118vh);aspect-ratio:600/460;transform:translate(-50%,-55%)}
.bbase{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.bstack{position:absolute;inset:0;will-change:transform}
.bl{position:absolute;left:0;width:100%;height:auto;opacity:0;will-change:transform,opacity;backface-visibility:hidden;pointer-events:none}
.sdd{position:absolute;width:2.7%;height:1.4%;background:#fff3d0;border-radius:50%;box-shadow:inset 0 -1px 0 #d9b06a,0 1px 1px rgba(0,0,0,.3);opacity:0;will-change:transform,opacity}
.stamp{position:absolute;right:max(1.4rem,4vw);bottom:12%;font:900 clamp(2.6rem,7vw,6rem)/.9 var(--cnd);color:var(--ink);background:var(--yellow);padding:.1em .3em;border-radius:12px;transform:rotate(-6deg) scale(0);transition:transform .6s var(--pop);text-transform:uppercase;z-index:3;box-shadow:0 6px 0 rgba(0,0,0,.3)}
.stamp.on{transform:rotate(-6deg) scale(1)}
.after{position:absolute;right:max(1.4rem,6vw);bottom:4%;text-align:right;font:600 1.05rem/1.25 var(--body);opacity:0;transition:opacity .5s;z-index:3}
.after.on{opacity:1}
@media(max-width:700px){.pincho{height:540vh}.stick{padding-top:6.4rem}.bwrap{left:50%;top:48%;width:100vw}.stamp{bottom:36%;right:1rem}.after{right:1rem;bottom:20%;font-size:.9rem}.stepslist li small{max-width:21ch}}
/* ---------- pasta ---------- */
.pasta{--c:var(--teal);background:var(--teal);padding:8rem 1.4rem 9rem;position:relative;overflow:hidden}
.bigghost{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);font:900 clamp(6rem,24vw,22rem)/.8 var(--cnd);color:rgba(255,255,255,.07);white-space:nowrap;pointer-events:none}
.pwrap{position:relative;z-index:2;max-width:1100px;margin:auto;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.plate2{position:relative;width:min(470px,86vw);aspect-ratio:1;margin:auto}
.plate2 .dish{position:absolute;inset:0;border-radius:50%;padding:7%;background:radial-gradient(circle at 35% 30%,#fff,#e6e1d6 70%);box-shadow:0 40px 60px rgba(0,0,0,.35),inset 0 0 0 10px rgba(255,255,255,.7),inset 0 0 40px rgba(0,0,0,.15);will-change:transform;transform:scale(.5) rotate(-30deg);opacity:0;transition:transform 1.3s var(--pop),opacity .6s}
.plate2.in .dish{opacity:1;transform:rotate(var(--rot,0deg))}
.plate2 .dish img{width:100%;height:100%;object-fit:cover;border-radius:50%;box-shadow:inset 0 0 30px rgba(0,0,0,.3)}
.steam{position:absolute;left:50%;top:-18%;width:48%;transform:translateX(-50%);z-index:3;pointer-events:none}
.steam path{fill:none;stroke:rgba(255,255,255,.75);stroke-width:6;stroke-linecap:round;stroke-dasharray:140 140;animation:steam 3.2s ease-in-out infinite}
.steam path:nth-child(2){animation-delay:-1.1s}.steam path:nth-child(3){animation-delay:-2.1s}
@keyframes steam{0%{stroke-dashoffset:140;opacity:0}30%{opacity:.9}100%{stroke-dashoffset:-140;opacity:0}}
.leaf{position:absolute;z-index:4;width:20%;aspect-ratio:1;background:radial-gradient(circle at 30% 30%,#8ed35a,#2f8a33);border-radius:0 100% 0 100%;box-shadow:inset -4px -4px 8px rgba(0,0,0,.2),0 10px 14px rgba(0,0,0,.25);animation:float 5s ease-in-out infinite}
.l1{left:-4%;top:8%;rotate:-20deg}.l2{right:-5%;top:48%;rotate:70deg;animation-delay:-2s;width:16%}.l3{left:6%;bottom:-3%;rotate:150deg;animation-delay:-3s;width:14%}
.tom{position:absolute;z-index:4;width:14%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 32% 28%,#ff8a70,#d3281d 65%,#8f160f);box-shadow:0 10px 16px rgba(0,0,0,.3);animation:float 4.5s ease-in-out infinite}
.tom:before{content:"";position:absolute;left:38%;top:-6%;width:24%;height:18%;background:#2f8a33;border-radius:50% 50% 20% 20%}
.tom.t1{right:2%;top:6%;left:auto;rotate:0deg}.tom.t2{left:-7%;top:58%;animation-delay:-1.5s;width:11%;right:auto}.tom.t3{right:8%;bottom:0;top:auto;animation-delay:-2.5s;width:10%}
@keyframes float{50%{translate:0 -12px}}
.flakes{position:absolute;inset:0;z-index:5;pointer-events:none;overflow:hidden;border-radius:50%}
.flakes i{position:absolute;top:-6%;width:7px;height:7px;border-radius:50%;background:#fffbe6;opacity:0;animation:snow linear infinite}
@keyframes snow{0%{transform:translate3d(0,0,0);opacity:0}10%{opacity:.95}100%{transform:translate3d(var(--dx),115%,0);opacity:0}}
.ptxt h3{font:900 clamp(3rem,8vw,6rem)/.85 var(--cnd);color:var(--ink);background:var(--yellow);display:inline-block;padding:.05em .2em;border-radius:12px;transform:rotate(-3deg)}
.ptxt span{display:block;font:800 .85rem var(--ark);letter-spacing:.14em;margin:1.4rem 0 .6rem;color:var(--yellow)}
.ptxt p{max-width:34ch;margin-bottom:1.4rem}
.ptxt>*{opacity:0;transform:translate3d(40px,0,0);transition:opacity .9s var(--out),transform .9s var(--out)}.ptxt h3{transform:translate3d(40px,0,0) rotate(-3deg)}.ptxt.in>*{opacity:1;transform:none}.ptxt.in h3{transform:rotate(-3deg)}.ptxt.in>*:nth-child(2){transition-delay:.12s}.ptxt.in>*:nth-child(3){transition-delay:.24s}.ptxt.in>*:nth-child(4){transition-delay:.36s}
.pillb{display:inline-block;background:var(--cream);color:var(--red);font:800 .8rem var(--ark);letter-spacing:.06em;padding:.85rem 1.3rem;border-radius:99px;transition:background .2s,transform .25s var(--pop)}.pillb:hover{background:var(--yellow);color:var(--ink);transform:translateY(-3px)}
@media(max-width:800px){.pwrap{grid-template-columns:1fr;text-align:center;gap:2rem}.pasta{padding:6rem 1.2rem 7rem}.leaf,.tom{animation:none}}
/* ---------- menu gallery ---------- */
.hs{background:var(--cream);height:480vh;position:relative}
.stick2{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;padding-top:7rem;contain:layout paint}
.stick2>.eyebrow,.stick2>h2{padding-left:1.4rem}
.mucho{position:absolute;left:0;top:50%;transform:translate3d(0,-50%,0);font:900 clamp(10rem,32vw,28rem)/.8 var(--cnd);color:color-mix(in srgb,var(--red) 7%,transparent);white-space:nowrap;pointer-events:none;will-change:transform}
.track{position:absolute;left:0;bottom:3.4rem;top:32%;display:flex;align-items:center;gap:2vw;padding:0 1.4rem;width:max-content;will-change:transform}
.gc{position:relative;display:block;flex:none;width:clamp(220px,24vw,330px);aspect-ratio:3/4.1;border-radius:30px;overflow:hidden;background:var(--ink);border:5px solid var(--cream2);box-shadow:0 14px 28px color-mix(in srgb,var(--red) 28%,transparent);will-change:transform;transition:border-color .4s}
.gc:hover{border-color:var(--yellow)}
.gc .ph{position:absolute;inset:-4% -16%;will-change:transform}
.gc img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--out)}.gc:hover img{transform:scale(1.07)}
.gc:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 38%,rgba(20,6,4,.84));pointer-events:none}
.gc .no{position:absolute;top:.9rem;left:.9rem;z-index:2;font:900 1.1rem var(--cnd);color:var(--cream);background:rgba(0,0,0,.45);padding:.1rem .7rem;border-radius:99px}
.price{position:absolute;top:.8rem;right:.8rem;z-index:3;min-width:3.4rem;height:3.4rem;padding:0 .5rem;border-radius:50%;background:var(--yellow);color:var(--ink);display:grid;place-items:center;font:900 1.15rem var(--ark);rotate:12deg;box-shadow:0 5px 0 rgba(0,0,0,.25);transition:rotate .4s var(--pop),scale .4s var(--pop)}
.gc:hover .price,.mcard:hover .price{rotate:-8deg;scale:1.15}
.badge{position:absolute;left:.9rem;top:3.4rem;z-index:2;font:800 .66rem var(--ark);letter-spacing:.08em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:.25rem .65rem;border-radius:99px;font-style:normal}
.gc .info{position:absolute;z-index:3;left:1.1rem;right:1.1rem;bottom:1.1rem}
.gc h3{font:800 clamp(1.9rem,3.2vw,2.7rem)/.9 var(--cnd);text-transform:uppercase;color:#fff;text-shadow:0 3px 0 var(--red)}
.gc small{display:block;font:600 .88rem/1.3 var(--body);color:#ffe9cc;margin-top:.5rem;max-height:0;opacity:0;overflow:hidden;transition:max-height .5s var(--out),opacity .4s}
.gc:hover small{max-height:3.4rem;opacity:1}
.try{flex:none;width:clamp(230px,26vw,340px);aspect-ratio:1;border-radius:50%;background:var(--red);color:var(--cream);display:grid;place-content:center;text-align:center;font:900 clamp(1.5rem,3vw,2.4rem)/1 var(--ark);margin-left:3vw;transition:transform .4s var(--pop);box-shadow:0 0 0 12px var(--cream2),0 0 0 16px var(--red)}
.try:hover{transform:rotate(-8deg) scale(1.08)}.try small{font:600 1rem var(--body);display:block;margin-top:.4rem}
.gprog{position:absolute;left:1.4rem;right:1.4rem;bottom:1.1rem;display:flex;align-items:center;gap:1rem;font:800 .8rem var(--ark);color:var(--red)}
.gprog span{flex:1;height:4px;border-radius:4px;background:color-mix(in srgb,var(--red) 20%,transparent);overflow:hidden}
.gprog i{display:block;height:100%;width:100%;background:var(--red);transform:scaleX(0);transform-origin:left;border-radius:4px;will-change:transform}
.gprog em{font-style:normal;opacity:.6}
@media(max-width:700px){.hs{height:420vh}.stick2{padding-top:6.4rem}.track{top:30%}.gc{width:68vw}.gc .info small{max-height:3.4rem;opacity:1}}
/* ---------- no menu ---------- */
.nomenu{--c:var(--red);background:var(--red);padding:7rem 0;overflow:hidden}
.nomenu .eyebrow{padding-left:1.4rem}
.mq{position:relative;overflow:hidden;margin:1rem 0}
.mq:before,.mq:after{content:"";position:absolute;top:0;bottom:0;width:8%;z-index:2;pointer-events:none}.mq:before{left:0;background:linear-gradient(90deg,var(--red),transparent)}.mq:after{right:0;background:linear-gradient(270deg,var(--red),transparent)}
.row{gap:1.4rem;padding:.8rem 0}
.row a{display:inline-block;font:800 clamp(2.4rem,6vw,4.6rem)/1 var(--cnd);text-transform:uppercase;padding:.25em .5em;border-radius:16px;white-space:nowrap;box-shadow:0 8px 0 rgba(0,0,0,.2);transition:transform .35s var(--pop)}
.row a:nth-child(odd){rotate:-3deg}.row a:nth-child(even){rotate:3deg}.row a:hover{transform:scale(1.1)}
.trynote{display:flex;gap:2rem;align-items:center;justify-content:center;flex-wrap:wrap;margin:4rem auto 0;padding:0 1.4rem}
.trynote h3{font:900 clamp(2.6rem,8vw,5.5rem)/1 var(--ark);color:var(--yellow);text-transform:uppercase}
.trynote p{max-width:22ch;font-size:1.1rem}.trynote:hover p{text-decoration:underline}
/* ---------- statement ---------- */
.mucho2{background:var(--cream);color:var(--red);padding:7rem 1.4rem 8rem;position:relative;overflow:hidden}
.script{font:400 clamp(3.4rem,11vw,9.5rem)/.95 var(--hand);text-align:center;margin-bottom:3rem}
.script .w i{padding:0 .05em}
.frame{display:block;max-width:1200px;margin:auto;border-radius:28px;overflow:hidden;position:relative;box-shadow:0 20px 40px color-mix(in srgb,var(--red) 25%,transparent)}
.frame img{width:100%;aspect-ratio:16/8;object-fit:cover;scale:1.15}
.fcap{position:absolute;left:0;right:0;bottom:0;display:flex;justify-content:space-between;gap:1rem;padding:1.4rem 1.6rem;font:800 .72rem var(--ark);letter-spacing:.1em;color:var(--cream);background:linear-gradient(transparent,rgba(0,0,0,.6))}
.duo{max-width:1050px;margin:5rem auto 0;display:grid;grid-template-columns:1fr 1.25fr;gap:3rem;align-items:center}
.polaroid{background:#fff;padding:14px 14px 0;border-radius:6px;box-shadow:0 14px 30px color-mix(in srgb,var(--red) 28%,transparent);max-width:380px;rotate:-5deg;transition:rotate .4s var(--pop)}.polaroid:hover{rotate:0deg}
.polaroid img{aspect-ratio:4/3;object-fit:cover;width:100%}
.polaroid figcaption{font:400 2rem var(--hand);padding:.4rem 0 .6rem;color:var(--red)}
.swap{position:relative;aspect-ratio:4/3;border-radius:26px;overflow:hidden;background:var(--cream2);box-shadow:0 20px 40px color-mix(in srgb,var(--red) 20%,transparent);isolation:isolate}
.doodle{position:absolute;inset:8%;width:84%;height:84%;stroke:var(--red)}
.doodle *{stroke-dasharray:900;stroke-dashoffset:900;transition:stroke-dashoffset 2.2s var(--out)}
.swap.show .doodle *{stroke-dashoffset:0}
.real{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;clip-path:circle(0% at 50% 55%);scale:1.25;transition:clip-path 1.8s cubic-bezier(.65,0,.25,1) 1.3s,scale 2.4s cubic-bezier(.2,.7,.2,1) 1.3s;will-change:clip-path}
.swap.show .real{clip-path:circle(90% at 50% 55%);scale:1}
.swap:not(.show) .real,.swap:not(.show) .doodle *{transition-delay:0s;transition-duration:.7s}
.swapcap{position:absolute;left:1rem;bottom:1rem;z-index:2;font:800 .7rem var(--ark);letter-spacing:.14em;background:var(--cream);color:var(--red);padding:.4rem .9rem;border-radius:99px;opacity:0;transform:translate3d(0,10px,0);transition:opacity .5s,transform .5s}
.swap.show .swapcap{opacity:1;transform:none;transition-delay:2.8s}
.how{display:flex;gap:2rem;justify-content:center;flex-wrap:wrap;margin-top:5rem;font:800 .95rem var(--ark);letter-spacing:.05em}
.how li{display:flex;align-items:center;gap:.7rem;opacity:0;transform:translate3d(0,30px,0) scale(.8);transition:opacity .7s,transform .8s var(--pop)}
.how.in li{opacity:1;transform:none}.how.in li:nth-child(2){transition-delay:.15s}.how.in li:nth-child(3){transition-delay:.3s}
.how i{font-style:normal;background:var(--yellow);color:var(--ink);width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center}
.how small{color:var(--red)}
@media(max-width:800px){.duo{grid-template-columns:1fr;gap:2rem}.frame img{aspect-ratio:4/3}.polaroid{margin:auto}.mucho2{padding:5rem 1.2rem 6rem}}
/* ---------- hours ---------- */
.hours{--c:var(--yellow);background:var(--yellow);color:var(--red);padding:7rem 1.4rem 8rem;overflow:hidden}
.hwrap{max-width:1100px;margin:auto;display:grid;grid-template-columns:1.3fr 1fr;gap:3rem;align-items:center}
.hl{margin-top:2rem;max-width:520px}
.hl li{display:flex;justify-content:space-between;gap:1rem;padding:.7rem 0;border-bottom:2px solid color-mix(in srgb,var(--red) 25%,transparent);font:800 1rem var(--ark);text-transform:uppercase;opacity:0;transform:translate3d(-50px,0,0);transition:opacity .7s var(--out),transform .7s var(--out),background .25s,padding .25s;transition-delay:calc(var(--i)*.07s)}
.hl.in li{opacity:1;transform:none}
.hl li.today{background:var(--red);color:var(--cream);padding:.7rem 1rem;border-radius:12px;border:0}
.hl li:not(.today):hover{padding-left:1rem;background:color-mix(in srgb,var(--cream) 55%,transparent);border-radius:10px}
.seal{display:block;position:relative;width:min(320px,70vw);margin:auto}
.seal svg{width:100%;animation:spin 26s linear infinite}
.sealbg{fill:var(--red)}.sealtx{fill:var(--cream)}
.seal b{position:absolute;inset:0;display:grid;place-content:center;text-align:center;font:900 2.4rem/1 var(--ark);color:var(--cream)}
.seal small{font-size:.9rem;letter-spacing:.1em}
@media(max-width:800px){.hwrap{grid-template-columns:1fr}.hours{padding:6rem 1.2rem 7rem}}
/* ---------- visit + map ---------- */
.visit{--c:var(--teal);background:var(--teal);padding:7rem 1.4rem 8rem}
.vwrap{max-width:1150px;margin:auto;display:grid;grid-template-columns:1fr 1.15fr;gap:3rem;align-items:center}
.visit h2{color:var(--cream)}
.addr{font:800 clamp(1.2rem,2.4vw,1.8rem)/1.2 var(--ark);margin-top:2rem;text-transform:uppercase}
.addr.sm{font-size:.85rem;margin-top:1.4rem}.addr b{color:var(--yellow)}
.btnrow{display:flex;gap:.8rem;flex-wrap:wrap;margin-top:1.6rem}
.mapbox{position:relative;border-radius:30px;overflow:hidden;border:7px solid var(--cream);height:min(480px,80vw);box-shadow:0 24px 50px rgba(0,0,0,.3);background:#e8e4da}
.mapbox iframe{width:100%;height:100%;border:0;display:block}
.mapcard{position:absolute;left:1rem;right:1rem;bottom:1rem;display:flex;align-items:center;gap:.9rem;background:var(--cream);color:var(--red);border-radius:18px;padding:.8rem 1rem;box-shadow:0 10px 24px rgba(0,0,0,.3)}
.mapcard div{flex:1;min-width:0;display:grid;line-height:1.2}.mapcard b{font:900 1rem var(--ark);text-transform:uppercase}.mapcard small{font:600 .8rem var(--body);opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mapcard a{background:var(--red);color:var(--cream);font:800 .75rem var(--ark);padding:.55rem 1rem;border-radius:99px;white-space:nowrap}
.pin{width:30px;height:30px;border-radius:50% 50% 50% 0;background:var(--red);rotate:-45deg;position:relative;flex:none;animation:hop 1.8s ease-in-out infinite}
.pin:after{content:"";position:absolute;inset:9px;border-radius:50%;background:var(--cream)}
@keyframes hop{50%{translate:0 -6px}}
.perks{max-width:1150px;margin:4rem auto 0;display:flex;gap:2.5rem;flex-wrap:wrap;justify-content:center}
.perks li{opacity:0;transform:translate3d(0,40px,0) scale(.6);transition:opacity .6s,transform .8s var(--pop);transition-delay:calc(var(--i)*.1s)}
.perks.in li{opacity:1;transform:none}
.perks .pk{display:grid;justify-items:center;gap:.6rem;font:800 .72rem var(--ark);letter-spacing:.08em}
.perks i{font-style:normal;font-size:1.8rem;width:70px;height:70px;border-radius:50%;background:var(--cream);display:grid;place-items:center;transition:rotate .4s var(--pop),scale .4s var(--pop)}.perks .pk:hover i{rotate:-12deg;scale:1.15}
@media(max-width:800px){.vwrap{grid-template-columns:1fr}.visit{padding:6rem 1.2rem 7rem}.perks{gap:1.4rem}}
/* ---------- finale ---------- */
.finale{--c:var(--red);background:var(--red);padding:6rem 1.4rem 2rem;position:relative;overflow:hidden;min-height:115vh;display:flex;flex-direction:column}
.linkpill{align-self:center;background:var(--cream);color:var(--red);border-radius:20px;padding:1rem 1.6rem;max-width:560px;position:relative;z-index:3;font-size:.95rem;box-shadow:0 6px 0 rgba(0,0,0,.15);animation:wob 4s ease-in-out infinite}
.linkpill:hover{animation-play-state:paused;scale:1.05}
@keyframes wob{0%,100%{transform:rotate(-1.5deg) translate3d(0,0,0)}50%{transform:rotate(1.5deg) translate3d(0,-8px,0)}}
.linkpill b{display:block;font:900 clamp(1.6rem,4vw,2.4rem) var(--ark)}.linkpill em{font-style:normal;display:inline-block;animation:arrow 1.4s ease-in-out infinite}
@keyframes arrow{50%{transform:translate(5px,-5px)}}
.field{position:absolute;inset:0;pointer-events:none;z-index:2}
.fc{position:absolute;left:0;top:0;display:block;will-change:transform;pointer-events:auto}
.trans{margin-top:auto;text-align:center;color:var(--yellow);font:600 .95rem var(--body);position:relative;z-index:3}
.giant{text-align:center;font:900 clamp(3rem,13.2vw,14rem)/.9 var(--ark);letter-spacing:-.04em;color:var(--cream);position:relative;z-index:1;margin-bottom:1rem;text-shadow:0 .05em 0 rgba(0,0,0,.2)}
.finale #ftr{position:relative;z-index:3}
@media(max-width:700px){.finale{min-height:100vh;padding:5rem 1rem 1.4rem}.giant{font-size:clamp(2.6rem,14vw,5rem)}}
/* ---------- footer ---------- */
.sitefoot{background:var(--red);padding:5rem 1.4rem 2rem;color:var(--cream);margin-top:0}
.foot{max-width:1200px;margin:auto;display:grid;grid-template-columns:auto 1fr 1.4fr 1fr;gap:2rem 3rem;align-items:start;border-top:1px solid rgba(255,255,255,.25);padding-top:2rem}
.finale .foot{border-top:1px solid rgba(255,255,255,.25)}
.fcol{display:grid;gap:.45rem;font:600 .92rem/1.3 var(--body)}
.fcol h4{font:800 .72rem var(--ark);letter-spacing:.18em;text-transform:uppercase;color:var(--yellow);margin-bottom:.4rem}
.fcol a{transition:color .2s,transform .25s var(--out);justify-self:start}.fcol a:hover{color:var(--yellow);transform:translateX(4px)}
.copy{grid-column:1/-1;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap;font:600 .8rem var(--body);opacity:.85}
.psst{color:var(--yellow);font:800 .7rem var(--ark);letter-spacing:.14em}
@media(max-width:900px){.foot{grid-template-columns:1fr 1fr}.foot .logo{grid-column:1/-1}}
@media(max-width:520px){.foot{grid-template-columns:1fr}}
/* ---------- inner pages ---------- */
.inner{background:var(--cream)}
.phead{position:relative;background:var(--red);color:var(--cream);padding:9.5rem 0 5rem;overflow:hidden;text-align:center}
.phead+section{position:relative}
.phead+section:before{content:"";position:absolute;left:0;right:0;top:-27px;height:28px;background:radial-gradient(circle at 50% 100%,var(--cream) 0 14px,transparent 15px) 0 0/40px 28px repeat-x,linear-gradient(var(--cream),var(--cream)) 0 100%/100% 14px no-repeat;z-index:3}
.phead .wrap{position:relative;z-index:2}
.pbg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.22}
.phead h1{font-size:clamp(3rem,10vw,8rem);color:var(--cream);text-shadow:0 .05em 0 rgba(0,0,0,.18)}
.psub{max-width:560px;margin:1.2rem auto 0;font-size:1.1rem}
.msec{background:var(--cream);color:var(--red);padding:3rem 0 6rem}
.mtools{display:flex;justify-content:space-between;align-items:center;gap:1.2rem;flex-wrap:wrap;margin-bottom:2.4rem}
.tabs{display:flex;gap:.5rem;flex-wrap:wrap}
.tabs button{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.1rem;border-radius:99px;font:800 .78rem var(--ark);letter-spacing:.05em;text-transform:uppercase;box-shadow:inset 0 0 0 2px var(--red);color:var(--red);transition:background .2s,color .2s,transform .25s var(--pop)}
.tabs button small{font-size:.65rem;opacity:.7}.tabs button:hover{transform:translateY(-2px)}.tabs button.on{background:var(--red);color:var(--cream)}
.search{display:flex;align-items:center;gap:.6rem;background:var(--cream2);box-shadow:inset 0 0 0 2px var(--red);border-radius:99px;padding:.2rem 1.1rem;min-width:min(320px,100%)}
.search input{flex:1;border:0;background:none;box-shadow:none;border-radius:0;-webkit-appearance:none;appearance:none;font:600 1rem var(--body);color:var(--red);padding:.6rem 0;outline:0}.search input::placeholder{color:color-mix(in srgb,var(--red) 55%,transparent)}
.mgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}.mgrid.four{grid-template-columns:repeat(4,1fr)}
.mcard{display:flex;flex-direction:column;background:var(--cream2);border-radius:26px;overflow:hidden;box-shadow:0 10px 24px color-mix(in srgb,var(--red) 16%,transparent),inset 0 0 0 3px color-mix(in srgb,var(--red) 10%,transparent);transition:transform .4s var(--pop),box-shadow .3s,opacity .7s var(--out)}
.mcard[hidden]{display:none}
.mcard:hover{transform:translateY(-8px);box-shadow:0 22px 36px color-mix(in srgb,var(--red) 26%,transparent),inset 0 0 0 3px var(--yellow)}
.mi{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.mi img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--out)}.mcard:hover .mi img{transform:scale(1.08)}
.mcard .badge{top:.9rem;left:.9rem}
.mt{display:block;padding:1.2rem 1.4rem 1.5rem;color:var(--red)}
.mt small{font:800 .68rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
.mt h3{font:900 1.5rem/1 var(--ark);text-transform:uppercase;margin:.3rem 0 .5rem}
.mt p{font-size:.92rem;line-height:1.4;color:color-mix(in srgb,var(--red) 80%,#000);opacity:.85}
.vgo{display:inline-block;margin-top:.9rem;font:800 .72rem var(--ark);letter-spacing:.1em;transition:transform .3s var(--out)}.mcard:hover .vgo{transform:translateX(6px)}
.empty{display:none;text-align:center;font:800 1.2rem var(--ark);padding:3rem 0}
@media(max-width:1000px){.mgrid,.mgrid.four{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.mgrid,.mgrid.four{grid-template-columns:1fr}.tabs{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.4rem;scrollbar-width:none;width:100%}.tabs button{flex:none}.search{width:100%}}
/* item page */
.item{background:var(--cream);color:var(--red);padding:9rem 0 2rem}
.itemgrid{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center}
.ipic{position:relative;aspect-ratio:1;border-radius:34px;overflow:hidden;box-shadow:0 26px 50px color-mix(in srgb,var(--red) 28%,transparent);border:8px solid var(--cream2)}
.ipic img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--out)}.ipic:hover img{transform:scale(1.05)}
.ipic .badge{top:1.2rem;left:1.2rem;font-size:.8rem;padding:.4rem .9rem}
.crumb{font:700 .8rem var(--ark);letter-spacing:.08em;text-transform:uppercase;margin-bottom:1.2rem;opacity:.85}.crumb a:hover{text-decoration:underline}
.iinfo h1{font-size:clamp(2.6rem,6vw,5rem);color:var(--red)}
.iprice{font:900 2.6rem var(--ark);color:var(--red);margin:1rem 0 .5rem}
.idesc{font-size:1.2rem;max-width:46ch;line-height:1.5}
.tags{display:flex;gap:.5rem;flex-wrap:wrap;margin:1.4rem 0}.tags li{background:var(--yellow);color:var(--ink);font:800 .72rem var(--ark);letter-spacing:.08em;text-transform:uppercase;padding:.4rem .9rem;border-radius:99px}
.qty{display:flex;align-items:center;gap:1rem;margin-bottom:1.6rem}
.qty button{width:46px;height:46px;border-radius:50%;background:var(--red);color:var(--cream);font:900 1.4rem var(--ark);transition:transform .25s var(--pop)}.qty button:hover{transform:scale(1.12)}.qty button:active{transform:scale(.9)}
.qty b{font:900 1.6rem var(--ark);min-width:2ch;text-align:center}.qty span{font:700 .9rem var(--ark);letter-spacing:.04em;opacity:.8}
.ibtns{display:flex;gap:.8rem;flex-wrap:wrap}
.pn{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;font:800 .75rem var(--ark);letter-spacing:.06em;text-transform:uppercase}.pn a:hover{color:var(--red)}
@media(max-width:860px){.itemgrid{grid-template-columns:1fr;gap:2rem}.item{padding-top:7.5rem}}
/* about */
.story{background:var(--cream);color:var(--red);padding:4rem 0 6rem}
.sgrid{display:grid;grid-template-columns:1.2fr 1fr;gap:3.5rem;align-items:center}
.sgrid p{font-size:1.2rem;margin:1.2rem 0;max-width:52ch}
.statsg{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.stat{background:var(--red);color:var(--cream);border-radius:24px;padding:1.8rem 1rem;text-align:center;transition:transform .4s var(--pop)}.stat:hover{transform:rotate(-3deg) scale(1.05)}
.stat:nth-child(2),.stat:nth-child(3){background:var(--yellow);color:var(--ink)}
.stat b{display:block;font:900 clamp(2.4rem,5vw,3.6rem)/1 var(--ark)}.stat span{font:800 .72rem var(--ark);letter-spacing:.12em;text-transform:uppercase}
.vals{background:var(--teal);color:var(--cream);padding:6rem 0}
.vals h2{margin-bottom:2.6rem;text-align:center}
.vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.val{background:color-mix(in srgb,var(--cream) 8%,transparent);border:2px solid color-mix(in srgb,var(--cream) 18%,transparent);border-radius:26px;padding:2rem;transition:transform .4s var(--pop),border-color .3s}.val:hover{transform:translateY(-8px);border-color:var(--yellow)}
.val i{font-style:normal;font-size:2.4rem;display:block;margin-bottom:.8rem}.val h3{font:900 1.5rem var(--ark);text-transform:uppercase;color:var(--yellow);margin-bottom:.4rem}
.team{background:var(--cream);color:var(--red);padding:6rem 0}
.team h2{text-align:center;margin-bottom:2.6rem}
.tgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem}
.tm{display:block;text-align:center}
.ti{display:block;aspect-ratio:1;border-radius:50%;overflow:hidden;border:7px solid var(--cream2);box-shadow:0 16px 30px color-mix(in srgb,var(--red) 25%,transparent);margin:0 auto 1rem;max-width:280px;transition:transform .5s var(--pop)}.tm:hover .ti{transform:rotate(-4deg) scale(1.05)}
.ti img{width:100%;height:100%;object-fit:cover}
.tm h3{font:900 1.4rem var(--ark);text-transform:uppercase}.tm small{font:700 .8rem var(--ark);letter-spacing:.1em;text-transform:uppercase;color:var(--red)}
.cta2{background:var(--red);color:var(--cream);padding:6rem 0;text-align:center}
.cta2 h2{margin-bottom:2rem}.cta2 .ibtns{justify-content:center}
@media(max-width:860px){.sgrid,.vgrid,.tgrid{grid-template-columns:1fr}.tgrid{gap:2.4rem}}
/* events */
.evs{display:grid;gap:1.6rem}
.ev{display:grid;grid-template-columns:150px 1fr 1fr;align-items:stretch;background:var(--cream2);border-radius:28px;overflow:hidden;box-shadow:0 12px 26px color-mix(in srgb,var(--red) 16%,transparent);transition:transform .4s var(--pop)}.ev:hover{transform:translateY(-6px)}
.ed{background:var(--red);color:var(--cream);display:grid;place-content:center;text-align:center;padding:1.2rem}.ed b{font:900 3.6rem/1 var(--ark)}.ed span{font:800 .9rem var(--ark);letter-spacing:.2em;color:var(--yellow)}
.et{padding:1.8rem;display:grid;align-content:center;gap:.5rem;justify-items:start}.et small{font:800 .72rem var(--ark);letter-spacing:.16em;color:var(--red)}.et h3{font:900 1.8rem/1 var(--ark);text-transform:uppercase}.et p{max-width:40ch;margin-bottom:.6rem}
.ei{display:block;overflow:hidden;min-height:200px}.ei img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--out)}.ev:hover .ei img{transform:scale(1.07)}
@media(max-width:860px){.ev{grid-template-columns:1fr}.ed{grid-template-columns:auto auto;justify-content:start;align-items:center;gap:.8rem;padding:.9rem 1.4rem}.ed b{font-size:2.4rem}.ei{order:-1;min-height:180px;height:180px}}
/* quiz */
.quiz{max-width:720px;margin:auto;background:var(--cream2);border-radius:28px;padding:clamp(1.5rem,5vw,3rem);box-shadow:0 20px 40px color-mix(in srgb,var(--red) 18%,transparent);border:4px dashed var(--yellow);animation:pin .7s var(--pop)}
@keyframes pin{from{opacity:0;transform:scale(.9) translate3d(0,30px,0)}}
.quiz .bar{height:6px;background:color-mix(in srgb,var(--red) 15%,transparent);border-radius:6px;margin-bottom:2rem;overflow:hidden}.quiz .bar i{display:block;height:100%;background:var(--red);border-radius:6px;transition:width .5s var(--out)}
.quiz h2{font-size:clamp(1.6rem,4vw,2.4rem);margin-bottom:1.5rem}
.opt{display:block;width:100%;text-align:left;background:transparent;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--red) 35%,transparent);color:var(--red);padding:1rem 1.2rem;border-radius:14px;margin-bottom:.8rem;font:700 1.05rem var(--body);transition:transform .25s var(--pop),background .2s,box-shadow .2s}
.opt:hover:not(:disabled){transform:translateX(6px);box-shadow:inset 0 0 0 3px var(--red)}
.opt.right{background:#1f9d4a;color:#fff;box-shadow:none}.opt.wrong{background:#222;color:#fff;box-shadow:none}
.score{font:900 5rem/1 var(--ark);color:var(--red)}.qnote{margin-bottom:1.5rem}
/* contact */
.fgrid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;align-items:center}
.addr.big{color:var(--red);margin:1rem 0}
.perks2{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:1.8rem}.perks2 li{background:var(--yellow);color:var(--ink);font:800 .72rem var(--ark);letter-spacing:.06em;padding:.5rem 1rem;border-radius:99px;display:flex;gap:.4rem}.perks2 i{font-style:normal}
.hours2{background:var(--yellow);color:var(--red);padding:5rem 0 6rem}
.hours2 .hwrap{width:min(1100px,92%)}
.nowcard{background:var(--red);color:var(--cream);border-radius:30px;padding:2.4rem;text-align:center;display:grid;gap:.4rem;justify-items:center;box-shadow:0 14px 0 rgba(0,0,0,.15)}
.nowcard i{width:16px;height:16px;border-radius:50%;background:#2db84d;animation:pulse 1.6s infinite}.nowcard.c i{background:var(--orange)}
.nowcard b{font:900 clamp(2.6rem,6vw,4rem)/1 var(--ark)}.nowcard span{font:800 .8rem var(--ark);letter-spacing:.12em;color:var(--yellow)}
.book{background:var(--teal);color:var(--cream);padding:6rem 0}
.bgrid{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:start}
.bnote{margin-top:1.4rem;max-width:34ch}
.bform{background:var(--cream);color:var(--red);border-radius:30px;padding:clamp(1.4rem,4vw,2.4rem);box-shadow:0 20px 0 rgba(0,0,0,.2)}
form{display:grid;gap:1rem}.two{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
label{display:grid;gap:.35rem;font:800 .7rem var(--ark);letter-spacing:.1em;text-transform:uppercase}
input,select,textarea{width:100%;font:600 1rem var(--body);color:var(--ink);background:var(--cream2);border:0;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--red) 30%,transparent);border-radius:14px;padding:.85rem 1rem;transition:box-shadow .2s}
input:focus,select:focus,textarea:focus{outline:0;box-shadow:inset 0 0 0 3px var(--red)}
.err{color:#b00020;font:700 .9rem var(--body);min-height:1.2em}
.success{text-align:center;display:grid;gap:.8rem;justify-items:center;animation:pin .7s var(--pop)}.success[hidden]{display:none}
.success i{font-style:normal;width:72px;height:72px;border-radius:50%;background:#1f9d4a;color:#fff;display:grid;place-items:center;font-size:2.2rem;font-weight:900}
.success h3{font:900 2rem var(--ark);text-transform:uppercase}.code{font:800 .9rem var(--ark);letter-spacing:.14em;background:var(--yellow);color:var(--ink);padding:.4rem 1rem;border-radius:99px}
@media(max-width:860px){.fgrid,.bgrid{grid-template-columns:1fr}.two{grid-template-columns:1fr}.phead{padding:8rem 0 4rem}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.rv,.pop,.stag,.how li,.hl li,.perks li,.ptxt>*,.chars .c{opacity:1;transform:none}.wipe{clip-path:none}.sp .w i{transform:none}.real{clip-path:none;scale:1}}
/* ---------- colour switcher ---------- */
.sw{display:flex;gap:.35rem;align-items:center;padding:0 .3rem}
.swb{width:22px;height:22px;border-radius:50%;background:linear-gradient(135deg,var(--a) 50%,var(--b) 50%);box-shadow:0 0 0 2px var(--cream),0 0 0 3.5px color-mix(in srgb,var(--red) 35%,transparent);transition:transform .25s var(--pop),box-shadow .2s}
.swb:hover{transform:scale(1.18)}.swb.on{box-shadow:0 0 0 2px var(--cream),0 0 0 4px var(--red)}
.swl{display:flex;align-items:center;gap:.6rem;margin-bottom:.6rem;color:var(--cream)}
.swl .swb{width:30px;height:30px;box-shadow:0 0 0 2px var(--red),0 0 0 4px var(--cream)}
@media(max-width:960px){.bar>.sw{display:none}}

/* =====================================================================
   PREMIUM LAYER: elegant display serif, calmer motion, more air
   ===================================================================== */
:root{--disp:'Fraunces',Georgia,serif}
h1,h2,.bigword,.card h2,.giant,.trynote h3,.seal b,.hl2,.phead h1,.iinfo h1,.stat b,.ptxt h3,.cta2 h2,.score{font-family:var(--disp)!important;font-weight:600!important;font-variation-settings:'SOFT' 50,'opsz' 144;letter-spacing:-.015em!important}
.bigword{font-weight:500!important;text-shadow:none}
.giant{font-weight:500!important;text-shadow:none}
h2{line-height:1}
.script-bg{color:rgba(255,255,255,.045)}
.tilt.t1{rotate:-4deg}.tilt.t2{rotate:3deg}.polaroid{rotate:-2deg}
.row a:nth-child(odd),.row a:nth-child(even){rotate:0deg}
.dict{padding-bottom:9rem}.mucho2,.hours,.visit{padding-top:8.5rem;padding-bottom:9.5rem}
.btn{letter-spacing:.08em;border-radius:99px}
.eyebrow{letter-spacing:.2em}
/* cursor */
#cdot,#cring{position:fixed;left:0;top:0;z-index:300;pointer-events:none;opacity:0;transition:opacity .3s}
#cdot{width:6px;height:6px;margin:-3px 0 0 -3px;border-radius:50%;background:var(--red)}
#cring{width:36px;height:36px;margin:-18px 0 0 -18px;display:grid;place-items:center}
#cring:before{content:"";position:absolute;inset:0;border-radius:50%;border:1.5px solid var(--red);transition:transform .35s cubic-bezier(.2,.8,.2,1),background .3s,border-color .3s}
#cring span{position:relative;font:800 .6rem var(--ark);letter-spacing:.12em;text-transform:uppercase;color:var(--cream);opacity:0;transition:opacity .2s}
#cdot.show,#cring.show{opacity:1}
#cring.hov:before{transform:scale(1.5);background:color-mix(in srgb,var(--red) 10%,transparent)}
#cring.lab:before{transform:scale(2.1);background:var(--red);border-color:var(--red)}#cring.lab span{opacity:1}
#cring.down:before{transform:scale(.8)}
/* intro logo */
#intro .ilogo{display:grid;justify-items:center;gap:1rem;opacity:0;transform:scale(.85);transition:opacity .8s,transform 1s cubic-bezier(.2,.8,.2,1)}
#intro.show .ilogo{opacity:1;transform:none}
#intro .ilogo svg{width:110px;height:110px}
#intro .ilogo span{font:500 clamp(2rem,5vw,3.2rem) var(--disp);color:var(--cream);letter-spacing:-.01em}
/* cart button */
.cartbtn{position:relative;width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--red) 10%,transparent);color:var(--red);flex:none;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s}
.cartbtn:hover{background:var(--red);color:var(--cream)}
.cartbtn svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cartbtn b{position:absolute;top:-3px;right:-3px;min-width:20px;height:20px;padding:0 5px;border-radius:99px;background:var(--yellow);color:var(--ink);font:800 .66rem/20px var(--ark);text-align:center;transform:scale(0);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.cartbtn.has b{transform:scale(1)}
.cartbtn.bump{animation:bump .5s cubic-bezier(.34,1.56,.64,1)}@keyframes bump{40%{transform:scale(1.25) rotate(-8deg)}}
/* cart drawer */
.cbg{position:fixed;inset:0;z-index:180;background:rgba(30,10,6,.45);opacity:0;pointer-events:none;transition:opacity .4s}
.cart{position:fixed;z-index:181;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--cream);color:var(--ink);display:flex;flex-direction:column;transform:translate3d(105%,0,0);transition:transform .6s cubic-bezier(.65,0,.35,1);box-shadow:-20px 0 60px rgba(0,0,0,.2)}
.cart-open .cbg{opacity:1;pointer-events:auto}.cart-open .cart{transform:none}.cart-open{overflow:hidden}
.c-hd{display:flex;justify-content:space-between;align-items:center;padding:1.4rem 1.6rem;border-bottom:1px solid color-mix(in srgb,var(--red) 18%,transparent)}
.c-hd h2{font-size:1.8rem;color:var(--red);text-transform:none}
.c-x{width:42px;height:42px;border-radius:50%;font-size:1.6rem;color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red);transition:transform .3s}.c-x:hover{transform:rotate(90deg)}
.c-body{flex:1;overflow-y:auto;padding:1.2rem 1.6rem 2rem;overscroll-behavior:contain}
.c-empty{text-align:center;padding:3rem 0;display:grid;gap:1.2rem;justify-items:center;color:var(--red);font-weight:600}
.c-list li{display:grid;grid-template-columns:56px 1fr auto;gap:.9rem;align-items:center;padding:.8rem 0;border-bottom:1px solid color-mix(in srgb,var(--red) 12%,transparent);animation:cin .4s cubic-bezier(.2,.8,.2,1)}
@keyframes cin{from{opacity:0;transform:translateX(16px)}}
.c-list img{width:56px;height:56px;border-radius:14px;object-fit:cover}
.c-list b{display:block;font:700 .95rem/1.2 var(--body)}.c-list small{color:var(--red);font-weight:700}
.c-q{display:flex;align-items:center;gap:.5rem;font-weight:800}
.c-q button{width:30px;height:30px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--red);color:var(--red);font-weight:800;transition:background .2s,color .2s}.c-q button:hover{background:var(--red);color:var(--cream)}
.c-type{display:grid;grid-template-columns:1fr 1fr;gap:.4rem;margin:1.2rem 0;background:color-mix(in srgb,var(--red) 8%,transparent);padding:.3rem;border-radius:99px}
.c-type button{padding:.6rem;border-radius:99px;font:800 .75rem var(--ark);letter-spacing:.06em;text-transform:uppercase;color:var(--red);transition:background .25s,color .25s}.c-type button.on{background:var(--red);color:var(--cream)}
.c-sum{display:grid;grid-template-columns:1fr auto;gap:.3rem 1rem;font-weight:600}.c-sum dd{text-align:right}.c-sum .tot{font:700 1.2rem var(--disp);color:var(--red);padding-top:.4rem;border-top:1px solid color-mix(in srgb,var(--red) 18%,transparent);margin-top:.3rem}
.c-note,.c-warn{font-size:.9rem;margin:.6rem 0;color:color-mix(in srgb,var(--ink) 75%,transparent)}.c-warn{color:#b00020;font-weight:700}
.c-form{display:grid;gap:.6rem;margin-top:1rem}
.c-form input,.c-form textarea{border-radius:12px;padding:.75rem .9rem}
.btn.wa{background:#1f9d55;box-shadow:0 5px 0 #157a40}.btn.wa:disabled{opacity:.5;cursor:not-allowed}
.c-form .btn{width:100%;text-align:center}
.c-clear{margin-top:1rem;font:700 .8rem var(--body);text-decoration:underline;color:color-mix(in srgb,var(--ink) 60%,transparent)}
/* toast */
.toast{position:fixed;z-index:190;left:50%;bottom:1.4rem;transform:translate3d(-50%,160%,0);background:var(--ink);color:var(--cream);padding:.85rem 1rem .85rem 1.3rem;border-radius:99px;display:flex;align-items:center;gap:1rem;font:700 .9rem var(--body);box-shadow:0 14px 40px rgba(0,0,0,.3);transition:transform .5s cubic-bezier(.34,1.56,.64,1);max-width:92vw}
.toast.on{transform:translate3d(-50%,0,0)}
.toast button{background:var(--yellow);color:var(--ink);font:800 .7rem var(--ark);letter-spacing:.06em;text-transform:uppercase;padding:.5rem .9rem;border-radius:99px;white-space:nowrap}
/* menu card: link + add button */
.mcard{position:relative}
.mlink{display:flex;flex-direction:column;flex:1}
.mcard .add{position:absolute;right:1.1rem;bottom:1.2rem;background:var(--red);color:var(--cream);font:800 .72rem var(--ark);letter-spacing:.06em;padding:.65rem 1rem;border-radius:99px;transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s;z-index:2}
.mcard .add:hover{transform:scale(1.08);background:var(--ink)}
.mcard .mt{padding-bottom:3.6rem}
/* reviews */
.revs{background:var(--cream);color:var(--red);padding:8rem 0 9rem;overflow:hidden}
.rv-head{display:flex;justify-content:space-between;align-items:end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.rv-score{display:flex;align-items:center;gap:1rem;background:var(--cream2);padding:1rem 1.4rem;border-radius:20px;box-shadow:0 10px 30px color-mix(in srgb,var(--red) 12%,transparent)}
.rv-score b{font:600 3rem/1 var(--disp)}.rv-score small{display:block;font:700 .8rem var(--body);color:color-mix(in srgb,var(--ink) 70%,transparent)}
.stars{color:var(--yellow);letter-spacing:.12em;font-size:1.1rem;text-shadow:0 1px 0 color-mix(in srgb,var(--ink) 25%,transparent)}
.rv-track{display:grid;grid-auto-flow:column;grid-auto-columns:min(380px,82vw);gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:.5rem .2rem 1.5rem;scrollbar-width:none}.rv-track::-webkit-scrollbar{display:none}
.rv-card{scroll-snap-align:start;background:var(--cream2);border-radius:24px;padding:1.8rem;display:grid;gap:1rem;align-content:start;box-shadow:0 10px 30px color-mix(in srgb,var(--red) 10%,transparent);transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.rv-card:hover{transform:translateY(-6px)}
.rv-card blockquote{font:400 1.12rem/1.5 var(--disp);color:var(--ink)}
.rv-card figcaption b{display:block;font:800 .9rem var(--body);color:var(--red)}.rv-card figcaption small{color:color-mix(in srgb,var(--ink) 60%,transparent);font-weight:600}
.rv-nav{display:flex;gap:.6rem;margin-top:1rem}.rv-nav button{width:48px;height:48px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--red);color:var(--red);font-size:1.2rem;transition:background .2s,color .2s}.rv-nav button:hover{background:var(--red);color:var(--cream)}
/* gallery */
.tabs.center{justify-content:center;margin-bottom:2.6rem}
.gal{columns:3 280px;column-gap:1.2rem}
.gal-i{position:relative;display:block;width:100%;margin-bottom:1.2rem;break-inside:avoid;border-radius:22px;overflow:hidden;background:var(--cream2)}.gal-i[hidden]{display:none}
.gal-i img{width:100%;height:auto;transition:transform 1s cubic-bezier(.2,.8,.2,1)}
.gal-i:nth-child(3n+1) img{aspect-ratio:4/5;object-fit:cover}.gal-i:nth-child(3n+2) img{aspect-ratio:1;object-fit:cover}.gal-i:nth-child(3n) img{aspect-ratio:4/3;object-fit:cover}
.gal-i span{position:absolute;left:0;right:0;bottom:0;padding:2.4rem 1.1rem 1rem;background:linear-gradient(transparent,rgba(20,6,4,.7));color:#fff;font:700 .95rem var(--body);text-align:left;opacity:0;transform:translateY(8px);transition:opacity .35s,transform .35s}
.gal-i:hover img{transform:scale(1.06)}.gal-i:hover span,.gal-i:focus-visible span{opacity:1;transform:none}
@media(hover:none){.gal-i span{opacity:1;transform:none}}
.lb{position:fixed;inset:0;z-index:250;background:rgba(18,8,6,.92);display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:2rem}.lb[hidden]{display:none}
.lb figure{display:grid;justify-items:center;gap:1rem;max-height:100%}
.lb img{max-width:100%;max-height:78vh;border-radius:18px;opacity:0;transform:scale(.96);transition:opacity .4s,transform .5s cubic-bezier(.2,.8,.2,1)}.lb img.in{opacity:1;transform:none}
.lb figcaption{color:var(--cream);font:700 .95rem var(--body)}
.lb button{width:52px;height:52px;border-radius:50%;color:var(--cream);box-shadow:inset 0 0 0 1.5px var(--cream);font-size:1.3rem;transition:background .2s,color .2s}.lb button:hover{background:var(--cream);color:var(--ink)}
.lb-x{position:absolute;top:1.2rem;right:1.2rem}
.lb-on{overflow:hidden}
@media(max-width:700px){.lb{grid-template-columns:1fr;padding:4.5rem 1rem 1rem}.lb-p,.lb-n{position:absolute;bottom:1.2rem}.lb-p{left:1.2rem}.lb-n{right:1.2rem}}
/* faq */
.faqw{max-width:820px}
.search.wide{width:100%;margin-bottom:2.6rem}
.fgroup{margin-bottom:2.6rem}.fgroup[hidden]{display:none}.fgroup h2{font-size:1.8rem;margin-bottom:.8rem;text-transform:none}
.fqa{border-bottom:1px solid color-mix(in srgb,var(--red) 22%,transparent)}.fqa[hidden]{display:none}
.fqa summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 0;font:700 1.08rem var(--body);cursor:pointer}
.fqa summary::-webkit-details-marker{display:none}
.fqa summary i{flex:none;width:28px;height:28px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--red);position:relative}
.fqa summary i:before,.fqa summary i:after{content:"";position:absolute;left:8px;right:8px;top:13px;height:1.5px;background:var(--red)}.fqa summary i:after{transform:rotate(90deg);transition:transform .35s}
.fqa[open] summary i:after{transform:rotate(0)}
.fqa p{padding:0 0 1.2rem;color:color-mix(in srgb,var(--ink) 85%,transparent);line-height:1.6;animation:cin .4s}
.faq-cta{margin-top:3rem;background:var(--red);color:var(--cream);border-radius:28px;padding:2.2rem;text-align:center;display:grid;gap:1rem;justify-items:center}.faq-cta p{font:600 1.5rem var(--disp)}
.faq-cta .btn{background:var(--cream);color:var(--red)}.faq-cta .btn.ghost{background:transparent;color:var(--cream);box-shadow:inset 0 0 0 3px var(--cream)}

/* =====================================================================
   CURSOR, BRANCH FINDER AND PREMIUM MOTION
   ===================================================================== */
/* small cursor that stays visible on red, cream and photos */
#cdot{width:8px;height:8px;margin:-4px 0 0 -4px;background:var(--yellow);box-shadow:0 0 0 1.5px var(--ink),0 0 10px 2px color-mix(in srgb,var(--yellow) 70%,transparent)}
#cring{width:30px;height:30px;margin:-15px 0 0 -15px;mix-blend-mode:difference}
#cring:before{border:1.5px solid #fff}
#cring.hov:before{transform:scale(1.55);background:rgba(255,255,255,.12)}
#cring.lab{mix-blend-mode:normal}
#cring.lab:before{transform:scale(2.2);background:var(--red);border-color:var(--yellow);box-shadow:0 8px 24px rgba(0,0,0,.25)}
#cring span{display:inline-block;color:var(--cream);font-size:.56rem}
.cripple{position:fixed;z-index:299;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:1.5px solid var(--yellow);pointer-events:none;animation:ripple .65s cubic-bezier(.2,.8,.2,1) forwards}
@keyframes ripple{from{transform:scale(.4);opacity:1}to{transform:scale(2.4);opacity:0}}
/* branch chip in the bar */
.loc{display:flex;align-items:center;gap:.4rem;max-width:210px;padding:.55rem .9rem .55rem .7rem;border-radius:99px;font:800 .7rem var(--ark);letter-spacing:.04em;text-transform:uppercase;color:var(--red);box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--red) 30%,transparent);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s}
.loc svg,.c-branch svg,.lm-gps svg{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round}
.loc span{overflow:hidden;text-overflow:ellipsis}
.loc:hover,.loc.set{background:var(--red);color:var(--cream);box-shadow:none}
.loc:not(.set) svg{animation:hop 1.6s ease-in-out infinite}
@media(max-width:1180px){.loc span{max-width:110px}}
@media(max-width:960px){.loc{margin-left:auto}.pill.open{margin-left:0}}
@media(max-width:520px){.loc{padding:.55rem;width:40px;height:40px;justify-content:center}.loc span{display:none}.pill.open{padding:.6rem .7rem}}
/* location finder dialog */
.lm{position:fixed;inset:0;z-index:260;display:grid;place-items:center;padding:1rem;background:rgba(30,10,6,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);opacity:0;transition:opacity .4s}
.lm[hidden]{display:none}.lm.on{opacity:1}
.lm-card{position:relative;width:min(460px,100%);max-height:92vh;overflow-y:auto;background:var(--cream);color:var(--ink);border-radius:30px;padding:2.2rem 1.8rem 1.8rem;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.35);transform:translate3d(0,30px,0) scale(.96);transition:transform .6s cubic-bezier(.34,1.56,.64,1)}
.lm.on .lm-card{transform:none}
.lm-x{position:absolute;top:1rem;right:1rem;width:40px;height:40px;border-radius:50%;font-size:1.5rem;color:var(--red);box-shadow:inset 0 0 0 1.5px var(--red)}
.lm-radar{position:relative;width:86px;height:86px;margin:0 auto 1.2rem;display:grid;place-items:center;border-radius:50%;background:var(--red);color:var(--cream)}
.lm-radar svg{width:34px;height:34px;fill:none;stroke:currentColor;stroke-width:2;stroke-linejoin:round;position:relative;z-index:2}
.lm-radar i{position:absolute;inset:0;border-radius:50%;border:2px solid var(--red);animation:radar 2.4s cubic-bezier(.2,.6,.3,1) infinite}
.lm-radar i:nth-child(2){animation-delay:.8s}.lm-radar i:nth-child(3){animation-delay:1.6s}
@keyframes radar{from{transform:scale(1);opacity:.7}to{transform:scale(2.2);opacity:0}}
.lm.busy .lm-radar{animation:bob 1.2s ease-in-out infinite}.lm.busy .lm-radar i{animation-duration:1.2s}
.lm-card h2{font-size:clamp(1.6rem,5vw,2.1rem);color:var(--red);text-transform:none;line-height:1.1}
.lm-sub{margin:.6rem auto 1.4rem;max-width:34ch;color:color-mix(in srgb,var(--ink) 75%,transparent);font-weight:600}
.lm-gps{display:flex;align-items:center;justify-content:center;gap:.6rem;width:100%}
.lm-area{display:grid;gap:.4rem;margin-top:1.2rem;text-align:left;font:800 .66rem var(--ark);letter-spacing:.12em;text-transform:uppercase;color:var(--red)}
.lm-area select{border-radius:14px;padding:.8rem 1rem;font-weight:700}
.lm-skip{margin-top:1.2rem;font:700 .85rem var(--body);text-decoration:underline;color:color-mix(in srgb,var(--ink) 60%,transparent)}
.lm-best{display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;background:var(--cream2);border-radius:20px;padding:1.1rem 1.2rem;box-shadow:inset 0 0 0 2px var(--yellow);animation:cin .5s cubic-bezier(.2,.8,.2,1)}
.lm-best b{display:block;font:600 1.5rem var(--disp);color:var(--red)}.lm-best small{font-weight:600;color:color-mix(in srgb,var(--ink) 70%,transparent)}
.lm-km{flex:none;background:var(--red);color:var(--cream);font:800 .8rem var(--ark);padding:.45rem .8rem;border-radius:99px}
.lm-facts{display:grid;gap:.4rem;margin:1rem 0 1.2rem;text-align:left;font-weight:700;font-size:.92rem}
.lm-facts li{display:flex;gap:.5rem;align-items:center}.lm-facts li:before{content:"✓";width:22px;height:22px;flex:none;border-radius:50%;display:grid;place-items:center;font-size:.75rem;background:#1f9d55;color:#fff}
.lm-facts li.no:before{content:"!";background:#d97706}
.lm-go{width:100%}
.lm-more{margin-top:1.1rem;text-align:left}.lm-more summary{cursor:pointer;font:800 .75rem var(--ark);letter-spacing:.1em;text-transform:uppercase;color:var(--red);list-style:none;text-align:center}
.lm-more summary::-webkit-details-marker{display:none}
.lm-more ul{display:grid;gap:.4rem;margin-top:.8rem}
.lm-more button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;text-align:left;padding:.7rem .9rem;border-radius:14px;background:var(--cream2);transition:background .2s,transform .25s}
.lm-more button:hover{background:color-mix(in srgb,var(--yellow) 35%,var(--cream2));transform:translateX(4px)}
.lm-more span{font-weight:800;color:var(--red)}.lm-more small{display:block;font-weight:600;color:color-mix(in srgb,var(--ink) 60%,transparent)}.lm-more em{font-style:normal;font-weight:800;font-size:.8rem}
.lm-open{overflow:hidden}
/* branch line in the cart */
.c-branch{display:flex;align-items:center;gap:.6rem;width:100%;padding:.75rem 1rem;margin-bottom:.6rem;border-radius:14px;background:color-mix(in srgb,var(--yellow) 30%,var(--cream2));color:var(--ink);font-size:.9rem;text-align:left}
.c-branch span{flex:1}.c-branch em{font-style:normal;font:800 .68rem var(--ark);letter-spacing:.08em;text-transform:uppercase;color:var(--red)}
/* branches on the Find Us page */
.branches{background:var(--cream);color:var(--red);padding:6rem 0}
.br-head{display:flex;justify-content:space-between;align-items:end;gap:1.6rem;flex-wrap:wrap;margin-bottom:2.4rem}
.br-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.2rem}
.br{position:relative;background:var(--cream2);border-radius:24px;padding:1.6rem;display:grid;gap:.4rem;align-content:start;box-shadow:0 10px 30px color-mix(in srgb,var(--red) 10%,transparent);overflow:hidden}
.br h3{font:600 1.6rem var(--disp)}.br p{color:var(--ink);font-weight:600}.br small{font-weight:700;opacity:.75}
.br-btns{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.8rem}.br .pillb{background:var(--red);color:var(--cream);padding:.6rem 1rem}
/* buttons: light sweep on hover */
.btn,.pillb,.pill.go{position:relative;overflow:hidden;isolation:isolate}
.btn:after,.pillb:after,.pill.go:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);transform:skewX(-20deg);transition:left .7s cubic-bezier(.2,.8,.2,1);z-index:-1;pointer-events:none}
.btn:hover:after,.pillb:hover:after,.pill.go:hover:after{left:130%}
/* tilt glare on cards */
.tilting{transition:transform .15s ease-out!important;will-change:transform}
.mcard,.rv-card,.gal-i,.br,.stat{transition:transform .6s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.mcard:before,.rv-card:before,.br:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.35),transparent 55%);opacity:0;transition:opacity .3s;pointer-events:none;z-index:3}
.tilting:before{opacity:1}
.rv-card{position:relative}
/* page transition: logo on the curtain */
#pt .ptl{position:absolute;left:50%;top:50%;width:90px;height:90px;margin:-45px 0 0 -45px;opacity:0;transform:scale(.7);transition:opacity .3s,transform .5s cubic-bezier(.34,1.56,.64,1)}
#pt.on .ptl{opacity:1;transform:none;transition-delay:.25s}
#pt.instant .ptl{transition:none}
#pt.off .ptl{opacity:0;transform:scale(1.2)}
/* softer, more cinematic reveals */
.rv,.stag{transition-duration:1.1s}
.sp .w i{transition-duration:1.1s}

/* =====================================================================
   SKETCH -> PHOTO FRAME (like the inspiration) + EXTRA PREMIUM FINISH
   ===================================================================== */
.sk{max-width:1200px;margin:0 auto}
.sk-frame{position:relative;display:block;aspect-ratio:16/8.4;border-radius:28px;overflow:hidden;background:var(--cream2);box-shadow:0 30px 60px color-mix(in srgb,var(--red) 18%,transparent),inset 0 0 0 1px color-mix(in srgb,var(--red) 15%,transparent)}
.sk-frame img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sk-draw{filter:url(#sketch) contrast(1.05)}
.sk-real{clip-path:inset(0 100% 0 0);scale:1.12;transform-origin:left center;will-change:clip-path}
.sk-edge{position:absolute;top:0;bottom:0;left:0;width:3px;margin-left:-1.5px;background:var(--cream);box-shadow:0 0 30px rgba(0,0,0,.35);opacity:0;transition:opacity .3s;pointer-events:none}
.sk-edge:after{content:"";position:absolute;top:50%;left:50%;width:46px;height:46px;margin:-23px 0 0 -23px;border-radius:50%;background:var(--cream) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23DA291C' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 6l-6 6 6 6M15 6l6 6-6 6'/%3E%3C/svg%3E") center/22px no-repeat;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.sk-cap{display:flex;justify-content:space-between;gap:1rem;margin-top:1.1rem;font:800 .72rem var(--ark);letter-spacing:.18em;color:var(--red)}
.sk-cap span{position:relative;padding-left:1.4rem}.sk-cap span:before{content:"";position:absolute;left:0;top:50%;width:.9rem;height:1px;background:currentColor}
.sk-cap span:first-child{transition:opacity .5s}.sk.done .sk-cap span:first-child{opacity:.45}
.sk2{display:block;aspect-ratio:4/3;border-radius:24px;overflow:hidden;position:relative;background:var(--cream2);box-shadow:0 20px 40px color-mix(in srgb,var(--red) 14%,transparent)}
.sk2 img{width:100%;height:100%;object-fit:cover}
.sk2 .sk-draw{transition:filter .8s}
.sk2:after{content:"Tap to see it for real";position:absolute;right:1rem;bottom:1rem;font:800 .66rem var(--ark);letter-spacing:.12em;text-transform:uppercase;background:var(--red);color:var(--cream);padding:.45rem .9rem;border-radius:99px;opacity:0;transform:translateY(8px);transition:.35s}
.sk2:hover .sk-draw{filter:none}.sk2:hover:after{opacity:1;transform:none}
@media(max-width:700px){.sk-frame{aspect-ratio:4/5;border-radius:22px}.sk-cap{font-size:.6rem;letter-spacing:.1em}.sk-edge:after{width:38px;height:38px;margin:-19px 0 0 -19px}}
/* film grain on the big coloured sections for a richer, printed feel */
.hero:after,.pincho:after,.nomenu:after,.finale:after,.pasta:after{content:"";position:absolute;inset:0;pointer-events:none;z-index:1;opacity:.07;mix-blend-mode:overlay;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.pincho .stick{z-index:2}.pasta .pwrap,.nomenu>*,.finale>*{position:relative;z-index:2}
.finale .field{position:absolute;z-index:2}
/* little ornament on centred eyebrows */
.eyebrow.center:before,.eyebrow.center:after{content:"✦";margin:0 .7rem;color:var(--yellow);font-size:.7rem}
/* golden hairline on menu cards and reviews when hovered */
.mcard:hover{box-shadow:0 26px 44px color-mix(in srgb,var(--red) 22%,transparent),inset 0 0 0 2px var(--yellow)}
/* richer focus ring for keyboard users */
:focus-visible{outline:3px solid var(--yellow);outline-offset:3px;border-radius:8px}
@media(max-width:700px){.herolinks{flex-wrap:wrap;justify-content:center;gap:.35rem 1rem;padding:0 1rem;text-align:center;font-size:.58rem}.herotag{font-size:.78rem;max-width:15ch}.herohours{font-size:.62rem}}

/* =====================================================================
   FAST-FOOD SHOWCASE (home) + DEAL CARDS + OLD PRICES
   ===================================================================== */
.ff{--c:#140a07;--gold:#e9c46a;background:#140a07;color:var(--cream);padding:8rem 0 9rem;position:relative;overflow:hidden}
.ff-glow{position:absolute;inset:-20%;pointer-events:none;background:radial-gradient(40% 35% at 20% 25%,color-mix(in srgb,var(--red) 38%,transparent),transparent 70%),radial-gradient(35% 30% at 85% 70%,color-mix(in srgb,var(--yellow) 22%,transparent),transparent 70%);filter:blur(10px);animation:glow 14s ease-in-out infinite alternate}
@keyframes glow{to{transform:translate3d(4%,-3%,0) scale(1.08)}}
.ff .wrap{position:relative;z-index:2}
.ff-head{display:grid;grid-template-columns:1.2fr 1fr;gap:2rem 4rem;align-items:end;margin-bottom:2.6rem}
.ff-title{font-size:clamp(3rem,8vw,6.4rem)!important;line-height:.92!important;color:var(--cream);text-transform:none}
.ff-title em{font-style:italic;color:var(--gold);font-weight:500}
.ff-side p{color:color-mix(in srgb,var(--cream) 78%,transparent);font-size:1.08rem;max-width:40ch;margin-bottom:1.2rem}
.ff-from{display:inline-flex;align-items:center;gap:.6rem;border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);border-radius:99px;padding:.6rem 1.1rem;font:800 .72rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.ff-from b{font:600 1.25rem var(--disp);letter-spacing:0;text-transform:none;color:var(--cream)}
.ff-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.8rem}
.ff-tabs button{display:inline-flex;align-items:center;gap:.55rem;padding:.75rem 1.25rem;border-radius:99px;font:800 .76rem var(--ark);letter-spacing:.08em;text-transform:uppercase;color:var(--cream);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cream) 22%,transparent);transition:background .3s,color .3s,box-shadow .3s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.ff-tabs button small{font-size:.62rem;opacity:.6}
.ff-tabs button:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px var(--gold)}
.ff-tabs button.on{background:var(--gold);color:#1a0f0a;box-shadow:0 10px 30px color-mix(in srgb,var(--gold) 35%,transparent)}
.ff-show{display:grid;grid-template-columns:1.3fr 1fr;gap:1.6rem;align-items:stretch}
.ff-stage{position:relative;min-height:520px;border-radius:32px;overflow:hidden;background:#000;box-shadow:0 40px 80px rgba(0,0,0,.5),inset 0 0 0 1px rgba(255,255,255,.06)}
.ff-imgs img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transform:scale(1.1);transition:opacity 1s ease,transform 6s cubic-bezier(.2,.8,.2,1)}
.ff-imgs img.on{opacity:1;transform:scale(1)}
.ff-stage:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05) 30%,rgba(12,5,3,.92));pointer-events:none}
.ff-info{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:2rem 2.2rem}
.ff-info.ffswap>*{animation:ffin .7s cubic-bezier(.2,.8,.2,1) both}.ff-info.ffswap>*:nth-child(2){animation-delay:.05s}.ff-info.ffswap>*:nth-child(3){animation-delay:.1s}.ff-info.ffswap>*:nth-child(4){animation-delay:.15s}
@keyframes ffin{from{opacity:0;transform:translate3d(0,22px,0)}}
.ff-badge{display:inline-block;background:var(--gold);color:#1a0f0a;font:800 .66rem var(--ark);letter-spacing:.14em;text-transform:uppercase;padding:.35rem .8rem;border-radius:99px;margin-bottom:.8rem}
.ff-info h3{font:600 clamp(1.8rem,3.4vw,2.8rem)/1 var(--disp);color:#fff}
.ff-info p{color:rgba(255,255,255,.78);margin:.6rem 0 1.2rem;max-width:44ch}
.ff-buy{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.ff-price b{font:600 2.2rem var(--disp);color:var(--gold)}.ff-price s{margin-left:.7rem;font-weight:700;color:rgba(255,255,255,.5)}
.ff-dots{position:absolute;top:1.4rem;right:1.4rem;z-index:2;display:flex;gap:.45rem}
.ff-dots button{width:9px;height:9px;border-radius:99px;background:rgba(255,255,255,.4);transition:width .4s,background .3s}.ff-dots button.on{width:28px;background:var(--gold)}
.ff-list{display:grid;gap:.6rem;align-content:start}
.ff-list li{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;border-radius:22px;padding:.5rem .6rem .5rem .5rem;background:rgba(255,255,255,.035);box-shadow:inset 0 0 0 1px rgba(255,255,255,.06);transition:background .3s,box-shadow .3s,transform .4s cubic-bezier(.2,.8,.2,1);animation:ffin .6s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i)*.06s)}
.ff-list li.on{background:rgba(233,196,106,.1);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 60%,transparent);transform:translateX(6px)}
.ff-item{display:grid;grid-template-columns:72px 1fr auto;gap:1rem;align-items:center;text-align:left;color:var(--cream)}
.ff-item img{width:72px;height:72px;border-radius:18px;object-fit:cover}
.ff-item b{display:block;font:600 1.12rem/1.15 var(--disp)}.ff-item small{display:block;font-size:.82rem;color:rgba(255,255,255,.6);margin-top:.2rem}
.ff-item em{font-style:normal;font:800 .95rem var(--ark);color:var(--gold);text-align:right;white-space:nowrap}.ff-item em s{display:block;font:700 .72rem var(--body);color:rgba(255,255,255,.45)}
.ff-plus{width:44px;height:44px;border-radius:50%;background:var(--gold);color:#1a0f0a;font:800 1.4rem/1 var(--ark);transition:transform .3s cubic-bezier(.34,1.56,.64,1),background .2s}
.ff-plus:hover{transform:rotate(90deg) scale(1.1);background:#fff}
.ff-deals-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin:5rem 0 1.4rem}
.ff-deals-head h3{font:600 clamp(1.8rem,4vw,2.8rem) var(--disp);color:var(--cream)}
.ff-all{font:800 .74rem var(--ark);letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.ff-deals{display:grid;grid-auto-flow:column;grid-auto-columns:min(320px,82vw);gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1rem;scrollbar-width:none}.ff-deals::-webkit-scrollbar{display:none}
.deal{scroll-snap-align:start;display:flex;flex-direction:column;background:linear-gradient(180deg,#22140f,#180d0a);border-radius:26px;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(233,196,106,.18);transition:transform .5s cubic-bezier(.2,.8,.2,1),box-shadow .4s}
.deal:hover{transform:translateY(-8px);box-shadow:inset 0 0 0 1px var(--gold),0 30px 50px rgba(0,0,0,.45)}
.d-img{position:relative;display:block;aspect-ratio:4/3;overflow:hidden}
.d-img img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}.deal:hover .d-img img{transform:scale(1.08)}
.d-save{position:absolute;top:1rem;left:-.4rem;background:var(--red);color:#fff;font:800 .72rem var(--ark);letter-spacing:.06em;text-transform:uppercase;padding:.45rem .9rem .45rem 1.1rem;border-radius:0 99px 99px 0;box-shadow:0 8px 20px rgba(0,0,0,.35)}
.d-body{padding:1.3rem 1.3rem 1.4rem;display:flex;flex-direction:column;gap:.5rem;flex:1}
.d-body h4{font:600 1.45rem var(--disp);color:#fff}.d-body p{color:rgba(255,255,255,.66);font-size:.92rem;flex:1}
.d-row{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:.4rem}
.d-price b{display:block;font:600 1.55rem var(--disp);color:var(--gold)}.d-price s{font-weight:700;font-size:.8rem;color:rgba(255,255,255,.45)}
.d-row .btn{padding:.8rem 1.1rem;font-size:.72rem}
@media(max-width:900px){.ff-head,.ff-show{grid-template-columns:1fr}.ff-stage{min-height:440px}.ff{padding:6rem 0 7rem}}
@media(max-width:520px){.ff-stage{min-height:400px;border-radius:24px}.ff-info{padding:1.4rem}.ff-item{grid-template-columns:56px 1fr auto;gap:.7rem}.ff-item img{width:56px;height:56px}.ff-item small{display:none}.ff-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.ff-tabs button{flex:none}}
/* old price on menu cards and dish page */
.mi .was{position:absolute;top:4.55rem;right:.85rem;z-index:3;background:var(--ink);color:var(--cream);font:700 .72rem var(--body);padding:.2rem .55rem;border-radius:99px;opacity:.92}
.iprice s{font-size:1.3rem;opacity:.45;margin-left:.4rem}
.mi .price,.gc .price{min-width:0;height:auto;padding:.5rem .85rem;border-radius:99px;font-size:1rem;rotate:-4deg}
.mi .was{top:3.6rem}

/* =====================================================================
   ELITE GLASS LAYER: frosted glass surfaces, gold hairlines, soft depth
   ===================================================================== */
:root{--gold:#C9A24B;--glass:rgba(255,250,240,.58);--glass-b:rgba(255,255,255,.65);--glass-dark:rgba(32,16,11,.55);--blur:saturate(160%) blur(18px)}
.inner{background:radial-gradient(60% 40% at 85% 0%,color-mix(in srgb,var(--yellow) 18%,transparent),transparent 70%),radial-gradient(50% 35% at 0% 30%,color-mix(in srgb,var(--red) 8%,transparent),transparent 70%),var(--cream)}
.eyebrow{letter-spacing:.26em;font-weight:700}
/* nav bar */
.bar{background:var(--glass);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-b);box-shadow:0 10px 40px rgba(60,20,10,.18),inset 0 1px 0 rgba(255,255,255,.7)}
.top.scrolled .bar{background:rgba(255,250,240,.72);box-shadow:0 14px 44px rgba(60,20,10,.22),inset 0 1px 0 rgba(255,255,255,.7)}
.links a.on{background:var(--red);box-shadow:0 6px 16px color-mix(in srgb,var(--red) 35%,transparent)}
.pill.open{background:linear-gradient(180deg,#ffd75e,var(--yellow));box-shadow:inset 0 1px 0 rgba(255,255,255,.6)}
.loc{background:rgba(255,255,255,.45)}
/* buttons: soft, deep, glossy */
.btn{background:linear-gradient(180deg,color-mix(in srgb,var(--red) 82%,#fff),var(--red) 55%,color-mix(in srgb,var(--red) 85%,#000));box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 10px 26px color-mix(in srgb,var(--red) 35%,transparent)}
.btn:hover{box-shadow:inset 0 1px 0 rgba(255,255,255,.35),0 16px 34px color-mix(in srgb,var(--red) 45%,transparent)}
.btn:active{box-shadow:inset 0 2px 6px rgba(0,0,0,.25)}
.btn.y{background:linear-gradient(180deg,#ffe08a,var(--yellow) 55%,#e9a90f);box-shadow:inset 0 1px 0 rgba(255,255,255,.6),0 10px 26px rgba(201,162,75,.4)}
.btn.ghost{background:rgba(255,255,255,.35);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* glass cards on light backgrounds */
.mcard,.rv-card,.br,.stat,.c-branch,.rv-score,.lm-best,.lm-more button,.faq-cta~*{-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.mcard{background:rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(90,30,15,.12),inset 0 0 0 1px rgba(255,255,255,.75)}
.mcard:hover{box-shadow:0 30px 60px rgba(90,30,15,.2),inset 0 0 0 1px var(--gold)}
.mi{margin:.55rem .55rem 0;border-radius:20px}
.mt h3{font-family:var(--disp);font-weight:600;text-transform:none;font-size:1.45rem;letter-spacing:-.01em}
.mt small{letter-spacing:.2em}
.rv-card{background:rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(90,30,15,.1),inset 0 0 0 1px rgba(255,255,255,.8)}
.rv-score{background:rgba(255,255,255,.6);box-shadow:0 14px 34px rgba(90,30,15,.12),inset 0 0 0 1px var(--glass-b)}
.br{background:rgba(255,255,255,.55);box-shadow:0 18px 44px rgba(90,30,15,.1),inset 0 0 0 1px rgba(255,255,255,.8)}
.card{background:rgba(255,252,244,.8);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
.tabs button{background:rgba(255,255,255,.4);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.search{background:rgba(255,255,255,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur)}
/* glass drawers and dialogs */
.cart{background:rgba(255,248,236,.8);-webkit-backdrop-filter:saturate(160%) blur(26px);backdrop-filter:saturate(160%) blur(26px);border-left:1px solid var(--glass-b)}
.cbg,.lm{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.lm-card{background:rgba(255,248,236,.82);-webkit-backdrop-filter:saturate(160%) blur(26px);backdrop-filter:saturate(160%) blur(26px);box-shadow:0 40px 100px rgba(0,0,0,.35),inset 0 0 0 1px var(--glass-b)}
.toast{background:rgba(26,12,8,.78);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:0 18px 50px rgba(0,0,0,.35),inset 0 0 0 1px rgba(255,255,255,.12)}
.c-list img{box-shadow:0 6px 14px rgba(0,0,0,.15)}
/* glass on the dark fast-food section */
.ff-list li{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.deal{background:linear-gradient(180deg,rgba(48,26,18,.72),rgba(24,12,9,.72));-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);box-shadow:inset 0 0 0 1px rgba(201,162,75,.28),0 20px 40px rgba(0,0,0,.3)}
.ff-info{background:linear-gradient(180deg,transparent,rgba(10,4,2,.25))}
.ff-badge,.ff-tabs button.on,.ff-plus{background:linear-gradient(180deg,#f3d98f,var(--gold))}
.ff-from{background:rgba(255,255,255,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}
/* sketch slider */
.sk-frame{cursor:ew-resize;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.sk-frame img{pointer-events:none}
.sk-frame.dragging .sk-edge:after{transform:scale(1.12)}
.sk-edge{width:2px;margin-left:-1px;background:rgba(255,255,255,.9)}
.sk-edge:after{background-color:rgba(255,250,240,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px rgba(0,0,0,.3),inset 0 0 0 1px rgba(255,255,255,.8);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.sk-hint{position:absolute;left:50%;bottom:1.2rem;transform:translateX(-50%);z-index:3;font:800 .66rem var(--ark);letter-spacing:.18em;text-transform:uppercase;color:#fff;background:rgba(20,8,5,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.55rem 1rem;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25);transition:opacity .5s;pointer-events:none}
.sk.done .sk-hint{opacity:0}
.sk-cap{align-items:center}
.sk-gal{font:800 .7rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:var(--red);padding:.55rem 1rem;border-radius:99px;background:rgba(255,255,255,.55);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--red) 25%,transparent)}
.sk.done .sk-cap span:first-child{opacity:.4}
@media(max-width:700px){.sk-gal{display:none}}
/* dish page: full, uncropped photo on a blurred copy of itself */
.item{position:relative;overflow:hidden;isolation:isolate}
.item:before{content:"";position:absolute;inset:-60px;z-index:-1;background:var(--dish) center/cover;filter:blur(60px) saturate(1.3);opacity:.28;transform:scale(1.1)}
.item:after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,color-mix(in srgb,var(--cream) 40%,transparent),var(--cream))}
.ipic{display:grid;place-items:center;aspect-ratio:auto;min-height:clamp(320px,52vw,560px);padding:0;background:#140a07;cursor:zoom-in;border:1px solid rgba(255,255,255,.6);box-shadow:0 40px 80px rgba(60,20,10,.28)}
.ipic-bg{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(28px) brightness(.62) saturate(1.2)}
.ipic .ipic-main{position:relative;z-index:1;width:100%;height:100%;max-height:72vh;object-fit:contain;transition:transform 1.2s cubic-bezier(.2,.8,.2,1)}
.ipic:hover .ipic-main{transform:scale(1.03)}
.ipic-zoom{position:absolute;right:1rem;bottom:1rem;z-index:2;font:800 .66rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:rgba(20,8,5,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.55rem .9rem;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}
.ipic .badge{z-index:2}
.iinfo{background:rgba(255,252,244,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:30px;padding:clamp(1.4rem,3vw,2.4rem);box-shadow:0 30px 60px rgba(60,20,10,.12),inset 0 0 0 1px rgba(255,255,255,.75)}
.iinfo h1{font-size:clamp(2.4rem,5vw,4.2rem)!important;text-transform:none!important}
.iprice{font-family:var(--disp)!important;font-weight:600!important;color:var(--red)!important}
.tags li{background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px var(--gold)}
.lb.single{grid-template-columns:1fr}
.lb.single img{max-height:86vh}
/* phead on inner pages gets a glass sheen */
.phead .wrap{background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:32px;padding:2.4rem 1.6rem;box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);max-width:min(1000px,92%)}
.phead h1{text-transform:none!important}
/* footer: gold hairline and glass logo plate */
.foot{border-top:1px solid color-mix(in srgb,var(--gold) 55%,transparent)!important}
.fcol h4{color:#f3d98f}
.ipic{width:100%}

/* =====================================================================
   DISH QUICK VIEW, PREMIUM MENU, BOLD ELITE FINISH
   ===================================================================== */
/* ---- quick view popup ---- */
.qv{position:fixed;inset:0;z-index:240;display:grid;place-items:center;padding:1.2rem;background:rgba(18,8,5,.55);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .45s}
.qv[hidden]{display:none}.qv.on{opacity:1}
.qv-on{overflow:hidden}
.qv-card{position:relative;width:min(1040px,100%);max-height:min(680px,92vh);display:grid;grid-template-columns:1.15fr 1fr;border-radius:32px;overflow:hidden;background:rgba(255,248,236,.9);-webkit-backdrop-filter:saturate(160%) blur(26px);backdrop-filter:saturate(160%) blur(26px);box-shadow:0 50px 120px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.7);transform:translate3d(0,40px,0) scale(.94);transition:transform .7s cubic-bezier(.2,.9,.2,1)}
.qv.on .qv-card{transform:none}
.qv-x{position:absolute;top:1rem;right:1rem;z-index:5;width:46px;height:46px;border-radius:50%;font-size:1.6rem;color:var(--ink);background:rgba(255,255,255,.75);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 6px 20px rgba(0,0,0,.18);transition:transform .35s cubic-bezier(.34,1.56,.64,1)}
.qv-x:hover{transform:rotate(90deg) scale(1.08)}
.qv-media{position:relative;overflow:hidden;background:#120806;min-height:420px;display:grid;place-items:center;clip-path:inset(0 100% 0 0);transition:clip-path 1s cubic-bezier(.65,0,.25,1) .1s}
.qv.on .qv-media{clip-path:inset(0)}
.qv-bg{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(30px) brightness(.55) saturate(1.3)}
.qv-img{position:relative;z-index:1;width:100%;height:100%;max-height:92vh;object-fit:contain;opacity:0;transform:translate3d(var(--dx,0),0,0) scale(1.06);transition:opacity .6s ease,transform 1s cubic-bezier(.2,.8,.2,1)}
.qv-img.in{opacity:1;transform:none}
.qv-badge{position:absolute;top:1.2rem;left:1.2rem;z-index:2;background:linear-gradient(180deg,#f3d98f,var(--gold));color:#1a0f0a;font:800 .66rem var(--ark);letter-spacing:.14em;text-transform:uppercase;padding:.4rem .85rem;border-radius:99px}
.qv-badge[hidden]{display:none}
.qv-count{position:absolute;bottom:1.1rem;left:1.2rem;z-index:2;color:#fff;font:800 .7rem var(--ark);letter-spacing:.16em;background:rgba(0,0,0,.35);padding:.35rem .75rem;border-radius:99px}
.qv-count:empty{display:none}
.qv-body{padding:clamp(1.6rem,3vw,2.8rem);overflow-y:auto;display:flex;flex-direction:column;gap:.9rem;color:var(--ink)}
.qv-body.swap2>*{animation:qvin .7s cubic-bezier(.2,.8,.2,1) both}
.qv-body.swap2>*:nth-child(2){animation-delay:.05s}.qv-body.swap2>*:nth-child(3){animation-delay:.1s}.qv-body.swap2>*:nth-child(4){animation-delay:.15s}.qv-body.swap2>*:nth-child(5){animation-delay:.2s}.qv-body.swap2>*:nth-child(6){animation-delay:.25s}.qv-body.swap2>*:nth-child(7){animation-delay:.3s}
@keyframes qvin{from{opacity:0;transform:translate3d(0,18px,0)}}
.qv-cat{font:800 .7rem var(--ark);letter-spacing:.22em;text-transform:uppercase;color:var(--gold)}
.qv-body h2{font:700 clamp(2rem,3.6vw,3.2rem)/1 var(--disp)!important;color:var(--red);text-transform:none!important;padding-right:2.6rem}
.qv-desc{font-size:1.06rem;line-height:1.6;color:color-mix(in srgb,var(--ink) 82%,transparent)}
.qv-price b{font:700 2.4rem var(--disp);color:var(--ink)}.qv-price s{margin-left:.7rem;font-weight:700;opacity:.45}
.qv-tags{display:flex;gap:.45rem;flex-wrap:wrap}.qv-tags li{font:800 .64rem var(--ark);letter-spacing:.1em;text-transform:uppercase;padding:.4rem .8rem;border-radius:99px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px var(--gold)}
.qv-buy{display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;margin-top:auto;padding-top:.6rem}
.qv-qty{display:flex;align-items:center;gap:.9rem;background:rgba(255,255,255,.7);border-radius:99px;padding:.35rem;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.qv-qty button{width:40px;height:40px;border-radius:50%;background:var(--ink);color:var(--cream);font:800 1.2rem var(--ark);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.qv-qty button:active{transform:scale(.88)}
.qv-qty span{font:800 1.1rem var(--ark);min-width:1.4ch;text-align:center}
.qv-add{flex:1;min-width:200px;padding:1.1rem 1.4rem}
.qv-nav{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding-top:.8rem;border-top:1px solid color-mix(in srgb,var(--gold) 45%,transparent)}
.qv-nav button{width:44px;height:44px;border-radius:50%;box-shadow:inset 0 0 0 1.5px var(--ink);font-size:1.1rem;transition:background .2s,color .2s}.qv-nav button:hover{background:var(--ink);color:var(--cream)}
.qv-more{font:800 .72rem var(--ark);letter-spacing:.14em;text-transform:uppercase;color:var(--red)}
@media(max-width:720px){
 .qv{padding:0;place-items:end center}
 .qv-card{grid-template-columns:1fr;grid-template-rows:auto 1fr;width:100%;max-height:94vh;border-radius:28px 28px 0 0;transform:translate3d(0,100%,0)}
 .qv-media{min-height:0;aspect-ratio:4/3.2;clip-path:none}
 .qv-img{max-height:none}
 .qv-body{padding:1.3rem 1.2rem calc(1.2rem + env(safe-area-inset-bottom));gap:.7rem}
 .qv-body h2{font-size:1.9rem!important}.qv-price b{font-size:1.9rem}
 .qv-add{min-width:0}
}
/* ---- premium menu page ---- */
.tabs{position:relative;isolation:isolate}
.tabs button{position:relative;z-index:1;transition:color .35s,transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .3s}
.tabs button.on{background:transparent!important;color:var(--cream)!important;box-shadow:none}
.tab-ink{position:absolute;left:0;top:0;bottom:0;z-index:0;border-radius:99px;background:linear-gradient(180deg,color-mix(in srgb,var(--red) 85%,#fff),var(--red) 60%,color-mix(in srgb,var(--red) 85%,#000));box-shadow:0 10px 24px color-mix(in srgb,var(--red) 40%,transparent);transition:transform .55s cubic-bezier(.65,0,.25,1),width .55s cubic-bezier(.65,0,.25,1);pointer-events:none}
.mgrid{transition:opacity .22s,transform .22s}
.mgrid.fading{opacity:.15;transform:translate3d(0,14px,0)}
.mcard .mi:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(12,5,3,.55));opacity:0;transition:opacity .5s}
.mcard:hover .mi:after{opacity:1}
.qvchip{position:absolute;left:50%;top:50%;z-index:3;transform:translate(-50%,-30%) scale(.9);opacity:0;font:800 .7rem var(--ark);letter-spacing:.16em;text-transform:uppercase;color:#fff;background:rgba(20,8,5,.45);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:.75rem 1.2rem;border-radius:99px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);transition:opacity .4s,transform .5s cubic-bezier(.34,1.56,.64,1);pointer-events:none}
.mcard:hover .qvchip{opacity:1;transform:translate(-50%,-50%) scale(1)}
.mcard .mi img{transition:transform 1.2s cubic-bezier(.2,.8,.2,1),filter .6s}
.mcard:hover .mi img{transform:scale(1.1);filter:saturate(1.15)}
.mcard .add{box-shadow:0 8px 20px color-mix(in srgb,var(--red) 35%,transparent)}
.mcard .add:active{transform:scale(.92)}
@media(hover:none){.qvchip{opacity:1;transform:translate(-50%,-50%) scale(.85);top:auto;bottom:.6rem;left:auto;right:.6rem;transform:none;padding:.45rem .7rem;font-size:.56rem}}
@media(max-width:600px){
 .mgrid,.mgrid.four{grid-template-columns:1fr 1fr!important;gap:.8rem}
 .mcard{border-radius:20px}.mi{margin:.4rem .4rem 0;border-radius:15px;aspect-ratio:1}
 .mt{padding:.75rem .8rem 3.2rem}.mt h3{font-size:1.05rem!important;line-height:1.15}.mt p,.vgo,.mt small{display:none}
 .mi .price{top:.5rem;right:.5rem;font-size:.78rem;padding:.35rem .6rem}.mi .was{display:none}
 .mcard .badge{top:.5rem;left:.5rem;font-size:.55rem;padding:.2rem .5rem}
 .mcard .add{left:.8rem;right:.8rem;bottom:.8rem;text-align:center;padding:.55rem;font-size:.66rem}
 .qvchip{display:none}
}
/* ---- bold, elite finish ---- */
h1,h2,.bigword,.card h2,.giant,.trynote h3,.seal b,.phead h1,.iinfo h1,.ff-title,.cta2 h2{font-weight:700!important;letter-spacing:-.025em!important}
h2.red{color:color-mix(in srgb,var(--red) 88%,#000)}
.btn{font-size:.82rem;letter-spacing:.12em;padding:1.05rem 1.7rem}
.brand b{font-family:var(--disp);font-weight:700;text-transform:none;font-size:1.25rem;letter-spacing:-.01em}
.phead{background:#140a07;color:var(--cream)}
.phead .pbg{opacity:.5;filter:saturate(1.15)}
.phead:before{content:"";position:absolute;inset:0;z-index:1;background:radial-gradient(70% 90% at 50% 100%,rgba(20,10,7,.2),rgba(20,10,7,.85))}
.phead .eyebrow{color:#f3d98f}
.phead .wrap{background:rgba(255,255,255,.07);box-shadow:inset 0 0 0 1px rgba(243,217,143,.3)}
.phead h1{font-size:clamp(3rem,9vw,7rem)!important}
.phead+section:before{background:radial-gradient(circle at 50% 100%,var(--cream) 0 14px,transparent 15px) 0 0/40px 28px repeat-x,linear-gradient(var(--cream),var(--cream)) 0 100%/100% 14px no-repeat}
.sitefoot{background:#140a07;border-top:1px solid color-mix(in srgb,var(--gold) 50%,transparent)}
.sitefoot .ring{fill:var(--cream)}
.links a{font-weight:800}
@media(max-width:700px){.phead .wrap{padding:1.6rem 1.1rem;border-radius:24px}.btn{padding:.95rem 1.3rem}}
.mtools .tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 92%,transparent);mask-image:linear-gradient(90deg,#000 92%,transparent);padding:.3rem 2rem .3rem .1rem;max-width:100%;scroll-snap-type:x proximity}
.mtools .tabs::-webkit-scrollbar{display:none}
.mtools .tabs button{flex:none;scroll-snap-align:center}
.mtools{flex-direction:column;align-items:stretch}
.tab-ink{bottom:auto}
@media(max-width:720px){.qv-media{max-height:44vh;aspect-ratio:auto;height:44vh}.qv-card{grid-template-rows:auto minmax(0,1fr)}}
@media(min-width:721px) and (max-width:900px){.qv-card{grid-template-columns:1fr 1fr}.qv-media{min-height:360px}.qv-body h2{font-size:2rem!important}}
@media(max-width:600px){.mcard .badge{display:none}}

/* =====================================================================
   MENU CARD: quick view + full dish link | FULL DISH DETAILS | MINIMAL CURSOR
   ===================================================================== */
.mlink{display:flex;flex-direction:column;width:100%;text-align:left;font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;flex:1}
.mcard .mt{padding-bottom:.6rem}
.mfoot{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.4rem 1.2rem 1.2rem}
.mcard .mfoot .add{position:static}
.vgo{display:inline-flex;align-items:center;gap:.45rem;margin:0;font:800 .72rem var(--ark);letter-spacing:.12em;text-transform:uppercase;color:var(--red);padding:.55rem 0;position:relative}
.vgo:after{content:"";position:absolute;left:0;right:1.2rem;bottom:.35rem;height:1.5px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.vgo i{font-style:normal;display:inline-block;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}
.vgo:hover:after{transform:scaleX(1)}.vgo:hover i{transform:translateX(5px)}
@media(max-width:600px){
 .mcard .mt{padding:.7rem .75rem .2rem}
 .mfoot{flex-direction:column;align-items:stretch;gap:.35rem;padding:.2rem .7rem .75rem}
 .vgo{display:inline-flex!important;font-size:.58rem;letter-spacing:.08em;padding:.3rem 0;justify-content:center}
 .vgo:after{display:none}
 .mcard .mfoot .add{left:auto;right:auto;bottom:auto;width:100%}
}
/* full dish page details */
.ddet{padding:1rem 0 5rem}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.dd-card,.dd-how,.dd-pairs{background:rgba(255,255,255,.55);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-radius:28px;padding:clamp(1.3rem,3vw,2rem);box-shadow:0 20px 50px rgba(90,30,15,.1),inset 0 0 0 1px rgba(255,255,255,.8)}
.dd-ing{display:flex;flex-wrap:wrap;gap:.5rem}
.dd-ing li{padding:.55rem .95rem;border-radius:99px;background:rgba(255,255,255,.8);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--gold) 60%,transparent);font-weight:700;color:var(--ink);text-transform:capitalize}
.dd-facts{display:grid;grid-template-columns:1fr 1fr;gap:.9rem 1.4rem}
.dd-facts div{border-bottom:1px solid color-mix(in srgb,var(--gold) 40%,transparent);padding-bottom:.6rem}
.dd-facts dt{font:800 .62rem var(--ark);letter-spacing:.18em;text-transform:uppercase;color:color-mix(in srgb,var(--ink) 60%,transparent)}
.dd-facts dd{font:700 1.15rem var(--disp);color:var(--ink);margin-top:.15rem}
.dd-facts .spice span{opacity:.22}
.dd-how{margin-top:1.4rem}
.dd-how ol{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;counter-reset:s}
.dd-how li{display:grid;gap:.5rem;padding:1.2rem;border-radius:20px;background:rgba(255,255,255,.6)}
.dd-how b{font:700 2rem/1 var(--disp);color:var(--gold)}.dd-how span{font-weight:600;color:var(--ink);line-height:1.45}
.dd-pairs{margin-top:1.4rem}
.dd-plist{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.dd-p{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.6rem;padding:.5rem;border-radius:20px;background:rgba(255,255,255,.65);box-shadow:inset 0 0 0 1px rgba(255,255,255,.8);transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .3s}
.dd-p:hover{transform:translateY(-4px);box-shadow:inset 0 0 0 1px var(--gold),0 14px 30px rgba(90,30,15,.12)}
.dd-p a{display:grid;grid-template-columns:64px 1fr;gap:.8rem;align-items:center}
.dd-p img{width:64px;height:64px;border-radius:14px;object-fit:cover}
.dd-p b{display:block;font:700 1rem/1.15 var(--disp);color:var(--ink)}.dd-p small{font-weight:800;color:var(--red)}
.dd-add{width:40px;height:40px;border-radius:50%;background:var(--red);color:var(--cream);font:800 1.2rem var(--ark);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.dd-add:hover{transform:rotate(90deg) scale(1.1)}
@media(max-width:860px){.dd-grid,.dd-how ol,.dd-plist{grid-template-columns:1fr}.dd-facts{grid-template-columns:1fr 1fr}}
/* minimal cursor: a small dot and a fine ring that only grows a little over clickable things */
#cdot{width:6px;height:6px;margin:-3px 0 0 -3px;background:var(--red);box-shadow:0 0 0 1.5px #fff}
#cring{width:26px;height:26px;margin:-13px 0 0 -13px;mix-blend-mode:normal}
#cring:before{border:1px solid color-mix(in srgb,var(--red) 70%,transparent);background:transparent!important}
#cring.hov:before{transform:scale(1.45);border-color:var(--red);background:color-mix(in srgb,var(--red) 8%,transparent)!important}
#cring.lab:before{transform:scale(1.45);border-color:var(--red)}
#cring span{display:none}
#cring.down:before{transform:scale(.75)}
.cripple{width:22px;height:22px;margin:-11px 0 0 -11px;border:1px solid var(--red)}
.dd-ing li{text-transform:none}.dd-ing li::first-letter{text-transform:uppercase}
.dd-facts .spice{display:flex;align-items:center;gap:.25rem}
.chili{display:inline-block;width:10px;height:18px;border-radius:50% 50% 50% 50%/60% 60% 40% 40%;background:color-mix(in srgb,var(--red) 22%,transparent);rotate:18deg}.chili.on{background:linear-gradient(180deg,#2f8a33 0 18%,var(--red) 18%)}
